Contenido del curso

Texto a voz y voz a texto con OpenAI

Resumen

Convertir texto a voz y voz a texto con la API de OpenAI te permite crear flujos de audio sin entrenar modelos propios. Con TTS1 generas audio a partir de texto y con Whisper transcribes audio a texto, incluso cuando la grabación no es de calidad de estudio. Es ideal si quieres prototipar asistentes de voz, transcribir notas o experimentar con voces sintéticas en Python.

Cómo convierto texto a voz con el modelo TTS1 de OpenAI

El primer paso es crear una carpeta dedicada, por ejemplo text-to-speech, y dentro un archivo script.py donde inicializas el cliente de OpenAI igual que en clases anteriores [00:35].

Desde ahí, accedes al módulo client.audio.speech y abres un stream de respuesta para guardar el audio en disco. La estructura básica usa un with que escribe el resultado en un archivo speech.mp3.

¿Qué modelo uso para generar voz con OpenAI? El modelo se llama TTS1 (Text-to-Speech 1) y acepta varias voces predefinidas. Le pasas el modelo, la voz y el texto de entrada, y devuelve el audio listo para guardar.

Qué voces ofrece el modelo TTS1 y cuál elegir

El modelo TTS1 incluye seis voces que puedes intercambiar según el tono que busques [01:15]:

  • Alloy, la más usada en ejemplos por su versatilidad.
  • Echo, con un timbre más neutro.
  • Fable, pensada para narrativas.
  • Nova, con un registro fresco.
  • Onyx, más grave y profunda.
  • Shimmer, suave y clara.

Un detalle importante: estas voces no están limitadas a un idioma. Alloy funciona igual de bien en inglés, en español o en otros idiomas, así que no necesitas cambiar de voz al traducir tu input.

Cómo ejecuto el script de texto a voz en la terminal

Una vez tienes el input definido, por ejemplo la frase "me despierto y hay nuevos avances en tecnología", te posicionas sobre la carpeta text-to-speech y ejecutas el archivo Python [02:30]. El proceso tarda un par de segundos y genera el speech.mp3 que puedes reproducir directamente desde el editor de código.

Cómo transcribo audio a texto con Whisper de OpenAI

Para el flujo inverso, creas una carpeta speech-to-text con su propio script.py. La idea es tomar el audio que generaste antes y devolverlo a texto usando Whisper versión 1, el único modelo de transcripción disponible en la API [03:10].

Abres el archivo speech.mp3 en modo lectura binaria y llamas a client.audio.transcriptions.create pasando el modelo whisper-1 y el archivo de audio. El objeto transcript que devuelve OpenAI incluye varios campos, pero normalmente solo necesitas imprimir transcript.text.

¿Qué tan precisa es la transcripción de Whisper? Muy fiel. En el ejemplo, transcribe "Me despierto y hay nuevos avances de tecnología" sin errores, y mantiene la calidad incluso con audios ruidosos o de baja fidelidad que un asistente de voz tradicional no podría procesar.

Por qué Whisper funciona con audios de baja calidad

Whisper no depende de grabaciones de estudio. Puedes alimentarlo con audios capturados desde un celular, con ruido de fondo o con dicción imperfecta, y aun así obtener una transcripción usable [04:20]. Esto abre la puerta a casos prácticos donde la fuente no es controlada.

Qué aplicaciones reales puedo construir combinando TTS1 y Whisper

La combinación de ambos modelos habilita pipelines completos de audio. Un flujo común consiste en grabarte hablando ideas sueltas con el celular, pasar el archivo por la API de Whisper para obtener la transcripción y luego enviar ese texto a un modelo como GPT 4, GPT 4 mini o GPT 4-o para que conceptualice y organice esas ideas.

Algunas aplicaciones que puedes prototipar con esta base:

  • Asistentes de voz personalizados que respondan en distintos timbres usando Alloy, Nova u Onyx.
  • Transcriptores de notas de voz para convertir grabaciones rápidas en texto editable.
  • Sistemas de dictado para capturar ideas y resumirlas con un modelo de lenguaje.
  • Lectores automáticos que conviertan artículos largos en audio para escucharlos después.

Italics aparte, el potencial creativo de combinar transcripción y síntesis es donde realmente se nota la diferencia frente a soluciones más limitadas. ¿Con qué proyecto vas a empezar tú? Compártelo en los comentarios.