Cómo implementar transcript audio con OpenAI
Clase 10 de 20 • Curso de Fundamentos de Node.js
Contenido del curso
Módulos y gestión de paquetes
Módulos nativos en Node.js
- 8

CRUD de archivos con Node.js fs
10:20 min - 9

Script Node.js fs y Whisper API
16:31 min - 10

Cómo implementar transcript audio con OpenAI
Viendo ahora - 11

Console API en Node.js: métodos básicos
10:22 min - 12

Console.count y console.group en JavaScript
09:16 min - 13

Node.js: módulo os para datos del sistema
04:57 min - 14

Crypto de Node.js: hash SHA-256 completo
05:41 min - 15

Módulo process de Node.js en detalle
17:04 min - 16

Módulo timers en Node.js: setTimeout y setInterval
11:05 min - 17

Streams en Node.js para archivos grandes
10:47 min - 18

Buffers en Node.js: crear y transformar datos binarios
06:44 min
Servidores con Node.js
Implementa una transcripción de audio confiable con Whisper en Node.js y evita fallos comunes desde el primer intento. Aquí verás cómo preparar variables, llamar a la función de transcript audio, manejar errores con try/catch y validar resultados en la terminal de Visual Studio Code.
¿Cómo implementar transcript audio con OpenAI en Node.js?
Para iniciar, se definen las variables esenciales: la ruta del archivo MP3 y la API key. Luego, se hace la llamada a la función de transcript audio pasando ambos valores y se imprime el resultado en consola.
- Define la ruta del audio con una constante: audioPath apunta al MP3 en la carpeta local.
- Crea la API key de OpenAI y asígnala a una variable de tipo string.
- Invoca la función transcript audio con: audioPath y openAIAPIKey.
- Usa una arrow function para confirmar: “transcripción completada con éxito.”
- Muestra en consola la transcripción con console.log.
- Añade un catch para capturar y mostrar errores con console.error.
Ejemplo de implementación en JavaScript:
// fs.openai
const audioPath = './audio/mi-archivo.mp3';
const openAIAPIKey = 'tu_api_key_aqui';
transcriptAudio(audioPath, openAIAPIKey)
.then((transcription) => {
console.log('Transcripción completada con éxito.');
console.log(transcription);
})
.catch((error) => {
console.error('Falló la transcripción.');
console.error(error);
});
¿Qué errores comunes y cómo manejarlos con try/catch?
Los errores son aliados: muestran dónde ajustar la lógica. Aquí, el log reveló que el path estaba recibiendo un buffer en lugar de la ruta del archivo. El mensaje indicó revisar [37:12], lo que llevó a cambiar de audioFile (buffer) a audioFilePath (ruta válida).
- Identifica el tipo incorrecto: buffer vs ruta de archivo.
- Corrige el argumento esperado: usa audioFilePath en la llamada.
- Asegura manejo completo con try/catch, catch y posible throw para propagar contexto.
- Muestra mensajes claros con console.error para depurar más rápido.
Patrón de manejo de errores:
try {
const transcription = await transcriptAudio(audioPath, openAIAPIKey);
console.log('Transcripción completada con éxito.');
console.log(transcription);
} catch (error) {
console.error('Falló la transcripción.');
console.error(error); // referencia útil: [37:12]
}
¿Cómo ejecutar en Visual Studio Code y validar la transcripción con Whisper?
La prueba se realiza desde la terminal integrada de Visual Studio Code. Tras corregir el error, la ejecución confirma que el archivo se guarda y que la transcripción se imprime correctamente.
- Ejecuta en la terminal:
node fs openai. - Espera la respuesta y verifica: “transcripción guardada en audio transcription.”
- Confirma el mensaje: “Transcripción completada con éxito.”
- Revisa el texto devuelto por Whisper desde el blob de audio.
- Comprueba que el guardado funciona con el módulo de file system y el manejo de path para operar en cualquier sistema.
Ejemplo de salida de la transcripción:
- “Bajo el brillo tenue del amanecer, sueñan las hojas con el canto del viento...”.
- “En su dorada caricia, florece la esperanza y el día se viste de luz nueva.”
Conceptos y habilidades clave aplicadas:
- Uso de variables y constantes para configurar audioPath y API key.
- Invocación de transcript audio con dos parámetros requeridos.
- Patrón con arrow function para procesar respuestas y errores.
- Manejo de errores con try/catch, catch, throw y mensajes con console.log y console.error [37:12].
- Diferencia entre buffer y ruta de archivo (path), y su impacto en la función [37:12].
- Integración del módulo de file system y manejo de path para guardar el resultado.
- Ejecución en Visual Studio Code con la terminal y comando
node fs openai.
¿Te surgió otra duda o te topaste con un error distinto?: cuéntalo en los comentarios para que lo resolvamos juntos.