Saltar al contenido principal
InicioTutorialesInteligencia Artificial (IA)

Cómo utilizar la API de conversión de texto a voz de OpenAI

La API TTS de OpenAI es un punto final que permite a los usuarios interactuar con su modelo de inteligencia artificial TTS, que convierte el texto en lenguaje hablado con sonido natural.
may 2024  · 12 min leer

Imagina que has pasado horas escribiendo un contenido.

Estás satisfecho con el producto final y lo pones a disposición del público.

Al cabo de un tiempo de ser de dominio público, te das cuenta de que estás rechazando a un público enorme, ya que mucha gente no cree tener tiempo para sentarse a leer tu obra.

Te planteas narrar tú mismo el contenido, pero el tiempo no está de tu parte. Coqueteas con la idea de contratar a un narrador, pero los presupuestos que has ido recibiendo se salen de tu presupuesto, y el tiempo que se tarda en encontrar a alguien con la voz "adecuada" también es una carga.

A la manera típica del siglo XXI, buscas una solución en la tecnología. Es entonces cuando conoces la API de texto a voz (TTS) de OpenAI.

Durante el resto de este tutorial, cubriremos la API TTS de OpenAI, es decir, sus características clave, cómo empezar, personalización y casos de uso en el mundo real.

¿Qué es la API TTS de OpenAI?

La conversión de texto a voz (TTS) es un tipo de tecnología de apoyo que convierte el lenguaje natural, en formato de texto, en voz. Es decir, los sistemas de conversión de texto a voz toman palabras escritas en un ordenador (o cualquier otro dispositivo digital) y leen el texto en voz alta.

La API TTS de OpenAI es un punto final que permite a los usuarios interactuar con su modelo de inteligencia artificial TTS, que convierte el texto en lenguaje hablado con sonido natural. El modelo tiene dos variantes:

  • TTS-1: El último modelo de IA optimizado para casos de uso de texto a voz en tiempo real.
  • TTS-1-HD: El último modelo de IA optimizado para la calidad.

El endpoint viene preconfigurado con seis voces y, según la documentación de OpenAI TTS, puede utilizarse para:

  • Narrar una entrada de blog escrita
  • Producir audio hablado en varios idiomas
  • Salida de audio en tiempo real mediante streaming

Sin embargo, es importante tener en cuenta que las políticas de uso de OpenAI exigen que se informe claramente a los usuarios finales de que la voz TTS que oyen está generada por IA y no es una voz humana.

Primeros pasos con la API TTS

Veamos cómo puedes empezar a utilizar la API de texto a voz de OpenAI, cubriendo los requisitos previos y los pasos que debes seguir:

Requisitos previos

  • Una cuenta de OpenAI con fondos - ver más abajo en Comprender los límites y precios de la API. 
  • Python 3.7+
  • IDE

Paso 1: Generar una clave API

Una vez que hayas iniciado sesión en tu cuenta de OpenAI, accederás a la pantalla de inicio. Desde aquí, desplázate hasta el logotipo de OpenAI en la esquina superior izquierda de la página para activar la barra lateral.

Seleccione "Claves API".

Creación de una clave de API de OpenAI

Selecciona "Crear nueva clave secreta" y dale un nombre a tu clave API: nosotros hemos llamado a la nuestra "tts-example".

Cuando cree su clave API, se generará una clave secreta. Asegúrese de guardar la llave en un lugar seguro.

Ahora que ya tienes la llave, ¡estás listo para empezar!

Paso 2: Crear un entorno virtual

Un Entorno Virtual se utiliza para crear un contenedor o entorno aislado donde se instalan las dependencias relacionadas con Python para un proyecto específico. Se puede trabajar con muchas versiones diferentes de Python con sus distintos paquetes.

Profundizar en los entornos virtuales queda fuera del alcance de este artículo. Consulta el tutorial Entorno virtual en Python para aprender más sobre cómo crear uno.

Paso 3: El código

Hay tres entradas clave que toma el terminal de voz:

En la documentación de texto a voz de OpenAI hay un ejemplo de solicitud; así no tenemos que reinventar la rueda.

He aquí un ejemplo de solicitud:

from pathlib import Path
from openai import OpenAI

client = OpenAI()

speech_file_path = Path(__file__).parent / "speech.mp3"
response = client.audio.speech.create(
  model="tts-1",
  voice="alloy",
  input="Today is a wonderful day to build something people love!"
)

response.stream_to_file(speech_file_path)

Tal y como están las cosas, el código no se ejecutará.

La razón por la que no se ejecuta es que no hemos pasado la clave API que generamos en el paso uno a nuestro cliente OpenAI...

Paso 4: Pasar la clave API

La forma más sencilla de resolver este problema es añadir un parámetro api_key donde podemos pasar nuestra clave secreta al objeto OpenAI().

Por ejemplo:

client = OpenAI(api_key="secret key goes here") 

Hacer esto es una mala práctica en Python.

En su lugar, utilizaremos dotenv para leer la clave secreta de un archivo .env.

Paso 4.1: Instalación de dotenv

Lo primero que debe hacer es instalar dotenv en su entorno virtual. Ejecute este comando desde su entorno virtual:

pip install python-dotenv

Paso 4.2: Llamada a las variables de entorno

Ahora que dotenv está instalado, podemos crear un archivo .env, que contiene pares clave-valor, y establecer los valores como variables de entorno.

Esto nos permite ocultar nuestra clave secreta, incluso si el código se comparte públicamente.

Lo primero es lo primero, debemos crear un archivo .env e insertar lo siguiente:

SECRET_KEY = "insert your secret key token here" 

En nuestro archivo main.py, ahora podemos llamar a nuestras variables de entorno utilizando dotenv.

Este es el aspecto del código.

import os
from pathlib import Path
from openai import OpenAI
from dotenv import load_dotenv

load_dotenv() 
SECRET_KEY = os.getenv("SECRET_KEY")

client = OpenAI(api_key=SECRET_KEY)

speech_file_path = Path(__file__).parent / "speech.mp3"
response = client.audio.speech.create(
  model="tts-1",
  voice="alloy",
  input="Today is a wonderful day to build something people love!"
)

response.stream_to_file(speech_file_path)

Ahora el código se ejecuta.

El comportamiento por defecto del código es emitir un archivo MP3 del audio hablado. Si prefiere otro formato de archivo, puede configurar la salida en cualquiera de los formatos admitidos.

Personalizar la voz y la salida

Hay montones de voces y acentos diferentes en el mundo.

Aunque sea imposible captar todas y cada una de ellas, el TTS de OpenAI ha intentado reflejar la diversidad del mundo en que vivimos integrando en la API seis voces únicas incorporadas:

  • Aleación
  • Echo
  • Fábula
  • Ónice
  • Nova
  • Shimmer

Estos pueden transmitir diferentes personalidades, o puede utilizarlos según sus preferencias. Todo lo que tienes que hacer es establecer el voice que deseas utilizar utilizando el parámetro de voz en el objeto cliente.

response = client.audio.speech.create(
  model="tts-1",
  voice="alloy", # Update this to change voice
  input="Today is a wonderful day to build something people love!"
)

Consulta la documentación de la API de texto a voz de OpenAI para obtener más información sobre las voces disponibles.

También puedes modificar el formato de salida.

La respuesta por defecto de la API es un archivo MP3 con el texto convertido. Sin embargo, OpenAI ofrece otros formatos para satisfacer sus necesidades y preferencias. Como por ejemplo:

  • Codificación de audio avanzada (AAC). AAC es ideal para la compresión de audio digital, ya que es ampliamente adoptado y reconocido por su eficacia de compresión. De ahí que sea el formato de archivo preferido para programas y aplicaciones como YouTube, Android e iOS. Es una buena opción optar por el formato AAC si se requiere un equilibrio entre calidad y tamaño del archivo. También es una buena solución si esperas que los usuarios escuchen audio en varios dispositivos.
  • Free Lossless Audio Coded (FLAC). En cuanto a la compresión de audio sin pérdidas, FLAC es la mejor opción, lo que significa que puede reducir el tamaño del archivo sin perder calidad. Los entusiastas del audio suelen decantarse por FLAC, ya que es ideal para archivar y en eventos en los que hay suficiente ancho de banda para manejar archivos de mayor tamaño.
  • Opus. Si quieres baja latencia y buena compresión a varias velocidades de bits para la transmisión y comunicación por Internet, elige el formato de archivo Opus.
  • MP3. No hace falta ser un experto en tecnología para conocer el MP3. Es el formato de archivo de audio más universal y es conocido por su compatibilidad con todos los dispositivos y programas. Es una gran opción por defecto, ya que es ideal para uso general.

TLDR: el tipo de salida que elijas puede influir en la calidad del audio, el tamaño del archivo y su compatibilidad con distintos dispositivos y aplicaciones.

En cuanto a la compatibilidad lingüística, el modelo de conversión de texto a voz sigue el modelo Whisper utilizado para la conversión de voz a texto; las voces están optimizadas para el inglés, pero son compatibles con otros idiomas.

Casos reales de uso de la API de conversión de texto a voz de OpenAI

Ahora que ya sabemos cómo configurar la API TTS, veamos algunos ejemplos de cómo utilizarla.

Narrar una entrada de blog o un libro

Supongamos que has escrito un libro o una entrada de blog y quieres ampliar su alcance a un público más amplio convirtiéndolo a audio. Si lo hicieras a la antigua usanza, tendrías que encontrar un narrador (o narrarlo tú mismo), lo que puede ser un proceso largo.

La API OpenAI TTS puede utilizarse para acortar este proceso; todo lo que hay que hacer es pasar el documento de texto a la API, y ésta lo convertirá en voz.

Produce audio hablado en varios idiomas.

En lugar de impartir clases en grupo, los profesores de idiomas pueden utilizar la API de conversión de texto a voz de OpenAI para crear lecciones personalizadas para alumnos que utilicen varios idiomas y dialectos. A pesar de que las voces están optimizadas para el inglés, la API puede utilizarse para generar contenidos de audio en varios idiomas.

Salida de audio en tiempo real mediante streaming

La API OpenAI TTS puede utilizarse para crear voces de IA que suenen más realistas y expresivas que los sistemas TTS tradicionales. Los desarrolladores de videojuegos pueden aprovechar esta capacidad y aplicarla a los personajes para que la experiencia sea más envolvente para los jugadores.

Otro caso de uso puede ser la creación de asistentes virtuales y chatbots más atractivos que los tradicionales existentes.

Comprender los límites y precios de la API

Los límites de velocidad de la API TTS de OpenAI comienzan en 50 solicitudes por minuto (RPM) para las cuentas de pago, y el tamaño máximo de entrada es de 4096 caracteres, lo que equivale a aproximadamente 5 minutos de audio a la velocidad predeterminada.

En cuanto a los modelos TTS, los precios son los siguientes:

  • Modelo TTS estándar: A 0,015 dólares por cada 1.000 caracteres.
  • Modelo TTS HD: Por 0,030 $ por cada 1.000 caracteres.

Si buscas una forma rentable de integrar la API TTS en un proyecto pequeño, quizá sea mejor que optes por el modelo TTS estándar. El modelo TTS HD es un poco más caro, pero ofrece audio de alta definición, lo que resulta ideal cuando la calidad del audio es primordial. Obtenga más información sobre los precios de los modelos de audio de OpenAI.

Conclusión

La API de conversión de texto a voz de OpenAI es un punto final para que los usuarios generen audio hablado de alta calidad a partir de texto. Viene con seis voces incorporadas, y los usuarios pueden seleccionar uno de los dos modelos, TTS-1 y TTS-1-HD, en función de su caso de uso; el modelo TTS-1 está optimizado para la conversión de texto a voz en tiempo real, mientras que el TTS-1-HD está optimizado para la calidad.

En esta entrada del blog, hemos cubierto:

  • ¿Qué es la API TTS de OpenAI?
  • Cómo utilizarlo
  • Personalizar la voz y la salida
  • Casos reales
  • Límites y precios de la API

Echa un vistazo a estos interesantes recursos para seguir aprendiendo:

Temas

Comience hoy mismo su viaje a la IA

Certificación disponible

Course

Trabajar con la API de OpenAI

3 hr
12.9K
Empiece a desarrollar aplicaciones basadas en IA con la API OpenAI. Conozca las funciones en las que se basan aplicaciones de IA tan populares como ChatGPT.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

blog

Todo lo que sabemos sobre GPT-5

Predecir cómo podría ser la próxima evolución de la tecnología de IA de OpenAI y qué avances podría tener el modelo GPT-5.
Josep Ferrer's photo

Josep Ferrer

10 min

blog

Los 16 mejores marcos y bibliotecas de IA: Guía para principiantes

Explore los mejores marcos y bibliotecas de IA y sus fundamentos en esta guía definitiva para profesionales de datos noveles que comienzan su carrera profesional.
Yuliya Melnik's photo

Yuliya Melnik

15 min

blog

¿Qué es la tokenización?

La tokenización divide el texto en partes más pequeñas para facilitar el análisis mecánico y ayudar a las máquinas a comprender el lenguaje humano.
Abid Ali Awan's photo

Abid Ali Awan

9 min

tutorial

Primeros pasos con Claude 3 y la API de Claude 3

Conozca los modelos Claude 3, las pruebas de rendimiento detalladas y cómo acceder a ellas. Además, descubra la nueva API Python de Claude 3 para generar texto, acceder a funciones de visión y streaming.
Abid Ali Awan's photo

Abid Ali Awan

tutorial

Guía introductoria para perfeccionar los LLM

La puesta a punto de grandes modelos lingüísticos (LLM) ha revolucionado el Procesamiento del Lenguaje Natural (PLN), ofreciendo capacidades sin precedentes en tareas como la traducción de idiomas, el análisis de sentimientos y la generación de textos. Este enfoque transformador aprovecha modelos preentrenados como GPT-2, mejorando su rendimiento en dominios específicos mediante el proceso de ajuste fino.
Josep Ferrer's photo

Josep Ferrer

12 min

tutorial

Tutorial de la API de OpenAI Assistants

Una visión completa de la API Assistants con nuestro artículo, que ofrece una mirada en profundidad a sus características, usos en la industria, guía de configuración y las mejores prácticas para maximizar su potencial en diversas aplicaciones empresariales.
Zoumana Keita 's photo

Zoumana Keita

14 min

See MoreSee More