Spaces:
Runtime error
Runtime error
File size: 1,886 Bytes
87d4428 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# Import the required libraries
import streamlit as st
import whisper
import speech_recognition as sr
import os
# Function to transcribe audio using OpenAI Whisper
def transcribe_whisper(model_name, file_path):
model = whisper.load_model(model_name)
result = model.transcribe(file_path)
return result["text"]
# Function to transcribe audio using Google Speech API
def transcribe_speech_recognition(file_path):
r = sr.Recognizer()
with sr.AudioFile(file_path) as source:
r.adjust_for_ambient_noise(source)
audio = r.record(source)
result = r.recognize_google(audio)
return result
# Streamlit App
st.title('Transcriptor de Audio')
uploaded_file = st.file_uploader("Sube tu archivo de audio para transcribir", type=['wav', 'mp3'])
if uploaded_file is not None:
file_details = {"FileName":uploaded_file.name, "FileType":uploaded_file.type, "FileSize":uploaded_file.size}
st.write(file_details)
# Make sure the temp directory exists
if not os.path.exists('temp'):
os.makedirs('temp')
with open(os.path.join("temp",uploaded_file.name), "wb") as f:
f.write(uploaded_file.getbuffer())
st.write("Archivo de audio cargado correctamente. Por favor, selecciona el método de transcripción.")
transcription_method = st.selectbox('Escoge el método de transcripción', ('OpenAI Whisper', 'Google Speech API'))
if transcription_method == 'OpenAI Whisper':
model_name = st.selectbox('Escoge el modelo de Whisper', ('base', 'small', 'medium', 'large', 'tiny'))
if st.button('Transcribir'):
if transcription_method == 'OpenAI Whisper':
transcript = transcribe_whisper(model_name, os.path.join("temp",uploaded_file.name))
else:
transcript = transcribe_speech_recognition(os.path.join("temp",uploaded_file.name))
st.write(transcript)
|