| |
|
|
| import sounddevice as sd |
| from scipy.io.wavfile import write |
| import whisper |
| import os |
|
|
| |
| 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() |
| write(AUDIO_PATH, sample_rate, audio_data) |
| 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. |
| """ |
| |
| model = whisper.load_model("base") |
| |
| |
| print("Transcribiendo el audio...") |
| result = model.transcribe(AUDIO_PATH) |
| print("Transcripci贸n completada.") |
| return result["text"] |
|
|
| if __name__ == "__main__": |
| |
| record_audio() |
|
|
| |
| texto = transcribe_audio() |
| print("Texto extra铆do:", texto) |
|
|