File size: 1,483 Bytes
d4757ae |
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 |
# whisper_audio_extractor.py
import sounddevice as sd
from scipy.io.wavfile import write
import whisper
import os
# Ruta para guardar el archivo de audio temporalmente
AUDIO_PATH = os.path.join("..", "assets", "audio", "recorded_audio.wav")
def record_audio(duration=5, sample_rate=44100):
"""
Graba el audio del micrófono durante un tiempo específico y lo guarda como archivo WAV.
Args:
duration (int): Duración de la grabación en segundos.
sample_rate (int): Frecuencia de muestreo del audio.
"""
print("Grabando...")
audio_data = sd.rec(int(duration * sample_rate), samplerate=sample_rate, channels=2)
sd.wait() # Espera a que finalice la grabación
write(AUDIO_PATH, sample_rate, audio_data) # Guarda el audio en el directorio especificado
print(f"Grabación completa. Archivo guardado en {AUDIO_PATH}")
def transcribe_audio():
"""
Usa el modelo Whisper para transcribir el audio grabado y devuelve el texto.
Returns:
str: Texto transcrito del audio.
"""
# Cargar el modelo de Whisper
model = whisper.load_model("base")
# Transcribir el audio
print("Transcribiendo el audio...")
result = model.transcribe(AUDIO_PATH)
print("Transcripción completada.")
return result["text"]
if __name__ == "__main__":
# Paso 1: Grabar audio
record_audio()
# Paso 2: Transcribir audio
texto = transcribe_audio()
print("Texto extraído:", texto)
|