Curso
En una era de innovación tecnológica, el poder de las aplicaciones basadas en la voz está transformando nuestra forma de interactuar con el mundo. Desde mejorar la accesibilidad de las personas con discapacidad visual hasta crear experiencias de usuario más dinámicas y atractivas, la versatilidad de la tecnología de voz es amplia e impactante.
ElevenLabs, un generador de voz de IA líder, ofrece capacidades punteras en la síntesis de texto a voz y de voz a voz.
En esta guía, exploraremos estas funciones y demostraremos cómo puedes aprovechar su potencial para transformar texto escrito y grabaciones de voz en voz real.
Tanto si eres un desarrollador que quiere integrar funciones de voz en sus aplicaciones, como si eres un creador de contenidos que quiere producir locuciones multilingües o una empresa que quiere mejorar las interacciones con los clientes mediante sistemas automatizados, este artículo te proporcionará los conocimientos esenciales para empezar.
¿Qué son los motores de texto a voz?
Un motor de texto a voz (TTS) es una tecnología sofisticada que recibe texto escrito como entrada y lo transforma en audio hablado. Esto permite a los usuarios oír el texto en lugar de leerlo, haciendo que el contenido digital sea más accesible e interactivo. Si te interesa explorar más a fondo los motores TTS, puedes encontrar información detallada en esta guía sobre los mejores motores de texto a voz.
¿Qué es ElevenLabs?
ElevenLabs es una de las principales plataformas que ofrecen síntesis de texto a voz (TTS) y de voz a voz (STS). Esta tecnología aprovecha modelos avanzados de aprendizaje automático para generar audio realista y natural a partir de texto escrito o incluso de una voz a otra.
Su capacidad para ofrecer audio de alta calidad lo convierte en la opción preferida de desarrolladores, creadores de contenidos y empresas que pretenden mejorar la participación del usuario mediante experiencias de audio dinámicas.
En este tutorial, nos centraremos en cómo utilizar la API de ElevenLabs en Python. Lo cubriremos todo, desde la obtención de tus claves API, la configuración de tu entorno de desarrollo, la inicialización de la biblioteca y el uso de sus funciones para producir voz. Para hacerte una idea de lo que puedes conseguir, escucha este clip de audio que se generó utilizando su funcionalidad. Vamos a aprender a crear algo parecido, paso a paso.
Tanto si quieres integrar voz en off en contenidos multimedia como desarrollar aplicaciones accesibles para usuarios con discapacidad visual, ElevenLabs te proporciona las herramientas necesarias para dar vida a tu audio. Al final de esta guía, conocerás a fondo cómo utilizar su API para transformar texto en voz con una claridad y un realismo inigualables.
Texto a voz utilizando la API de ElevenLabs en Python
1. Crear una clave API
El primer paso es registrarte para obtener una cuenta ElevenLabs gratuita. Una vez que hayamos iniciado sesión, podemos hacer clic en el icono de perfil y seleccionar la opción "Perfil + clave API". Aquí, nuestra clave API ya estará generada para nosotros. Debemos asegurarnos de guardar esta clave, ya que la necesitaremos para autenticar nuestras peticiones.
2. Instala e importa el paquete Python de ElevenLabs
Para interactuar con la API de ElevenLabs utilizando Python, necesitamos instalar su paquete oficial. Podemos hacerlo utilizando pip, el instalador de paquetes de Python:
$ pip install elevenlabs
Ahora podemos importar los componentes necesarios del paquete a un nuevo archivo Python.
from elevenlabs.client import ElevenLabs
from elevenlabs import play, save, stream, Voice, VoiceSettings
3. Generar audio
Una vez configurado nuestro entorno, podemos generar nuestro primer clip de audio creando una instancia del cliente ElevenLabs utilizando nuestra clave API.
client = ElevenLabs(api_key="YOUR_API_KEY")
A continuación, utilizamos el método .generate para convertir el texto en audio.
audio = client.generate(
text="Welcome to Datacamp's beginner's guide to the ElevenLabs API",
voice="Brian"
)
Podemos reproducir inmediatamente el audio generado:
play(audio)
O guárdalo como archivo:
save(audio, "output.mp3")
4. Personalizar las voces
ElevenLabs proporciona numerosas opciones de personalización para adaptar la voz a tus preferencias. Podemos ajustar parámetros como la estabilidad, el aumento de la similitud y el estilo. Por ejemplo:
audio = client.generate(
text="Welcome to Datacamp's beginner's guide to the ElevenLabs API.",
voice=Voice(
voice_id='nPczCjzI2devNBz1zQrb',
settings=VoiceSettings(
stability=0.8, similarity_boost=0.6, style=0.2, use_speaker_boost=True)
)
)
La dirección voice_id corresponde a voces específicas prefabricadas por ElevenLabs; en la página de voces de ElevenLabs encontrarás una lista completa, junto con detalles como caso de uso, acento y descripciones.
5. Generación de voz multilingüe
ElevenLabs ofrece dos modelos principales: eleven_multilingual_v2, capaz de generar habla en 29 idiomas, y: eleven_monolingual_v1, que está optimizado específicamente para el habla inglesa. He aquí cómo podemos utilizar el modelo multilingüe para producir audio en varias lenguas simultáneamente:
audio = client.generate(
text="Hello! Hola! Hallo 你好! नमस्ते! Bonjour! こんにちは! مرحبا! 안녕하세요! Ciao!",
voice="Arnold",
model="eleven_multilingual_v2"
)
Generación de voz en streaming
Mientras que el método .generate del que hablamos procesa y devuelve toda la salida de voz una vez que se ha convertido todo el texto, la API de ElevenLabs también ofrece una potente función de streaming. Esto es especialmente útil para aplicaciones que requieren la generación de audio en tiempo real, ya que permite reproducir el audio casi inmediatamente mientras se sigue procesando el resto del texto.
NOTA: Para el streaming de audio, necesitamos tener instalado el mpv media player, en mac, puedes instalarlo con el comando brew install mpv. Para Linux y Windows, puedes instalarlo desde la página principal de mpv.
Cómo funciona el streaming
Para utilizar la función de streaming, tenemos que establecer el parámetro stream en True en el método .generate. Esto indica a la API que empiece a entregar el audio en trozos tan pronto como estén listos:
audio_stream = client.generate(
text="Welcome... I am speaking to you in real-time. Let’s get started!.",
stream=True
)
stream(audio_stream)
Streaming con introducción dinámica de texto
La vaporización no se limita al texto estático. También puede gestionar entradas dinámicas, en las que los trozos de texto se introducen en la API a medida que están disponibles. Esto es especialmente útil para aplicaciones interactivas, como la retransmisión en directo o la creación de diálogos interactivos basados en IA. Así es como podemos transmitir texto dinámico:
def text_stream():
yield "Hi! I'm Brian "
yield "I'm an artificial voice made by ElevenLabs "
audio_stream = client.generate(
text=text_stream(),
voice="Brian",
model="eleven_monolingual_v1",
stream=True
)
stream(audio_stream)
En esta configuración text_stream() actúa como una función generadora que proporciona fragmentos de texto a la API. Cada fragmento se procesa inmediatamente, lo que ayuda a mantener un flujo natural del discurso sin pausas ni retrasos incómodos. Esta función refleja las capacidades conversacionales demostradas por los asistentes de voz avanzados y los dispositivos de traducción en tiempo real.
Generación de voz a voz
Otra potente función de la plataforma ElevenLabs es la síntesis STS, que es esencialmente clonación de voz.
El flujo de trabajo es similar al que hemos comentado hasta ahora para el TTS, siendo la principal diferencia el tipo de entrada. En lugar de texto, proporcionamos archivos de audio de la voz que queremos clonar.
Para una clonación de voz instantánea, ElevenLabs sugiere utilizar 60 segundos de contenido con datos libres de ruido de fondo y efectos, para una clonación de voz profesional se recomienda un mínimo de 30 minutos de audio limpio.
Añadir una descripción no es necesario, pero puede ser útil para organizar y distinguir entre varios proyectos o modelos de voz.
He aquí un ejemplo de cómo podemos clonar una voz.
voice = client.clone(
name="Emily",
description="A young British female voice with a clear, melodic tone, ideal for storytelling or educational content",
files=["./sample_1.mp3", "./sample_2.mp3", "./sample_3.mp3"],
)
Aplicaciones de la API ElevenLabs en Python
La API de ElevenLabs ofrece una serie de potentes funciones de síntesis de voz que pueden transformar la forma en que las organizaciones y las personas interactúan con su público. Al convertir el texto en voz o clonar voces mediante la conversión de voz a voz, esta tecnología proporciona soluciones innovadoras para diversos campos.
He aquí tres aplicaciones clave que demuestran el potencial de esta herramienta:
Sistemas interactivos de respuesta vocal (IVR)
- Soporte multilingüe: Las organizaciones que operan en mercados multilingües pueden utilizar el sistema para ofrecer atención al cliente en varios idiomas sin necesidad de personal multilingüe.
- Atención al cliente: Las empresas pueden implementar la API en sus operaciones de atención al cliente para proporcionar interacciones más parecidas a las humanas en los sistemas telefónicos automatizados, mejorando la experiencia del cliente con respuestas de voz personalizadas.
Elementos de accesibilidad en los contenidos digitales
- Herramientas de lectura mejoradas: La API puede utilizarse para crear audiolibros a partir de material escrito, haciendo que la literatura sea más accesible para las personas con deficiencias visuales o discapacidades lectoras.
- Navegación por voz: La integración en sitios web y aplicaciones para la navegación guiada por voz puede ayudar a los usuarios que necesitan asistencia auditiva, mejorando la usabilidad de las plataformas digitales.
Creación de contenidos
- Locuciones automatizadas para vídeos: Los productores de contenidos digitales, como los creadores de YouTube y los cineastas, pueden aprovechar la tecnología para generar voces en off que suenen naturales en varios idiomas, reduciendo significativamente los costes y el tiempo de producción.
- Tutoría educativa y módulos de teleformación: Con el TTS y el STS, podemos vocalizar los contenidos educativos, haciendo que el aprendizaje sea más interactivo y accesible, especialmente en entornos de aprendizaje remotos.
Conclusión
La API de ElevenLabs es una herramienta robusta y versátil para cualquiera que desee incorporar la síntesis de voz avanzada a sus aplicaciones.
Ya sea para la accesibilidad, la creación de contenidos o la mejora de las interacciones con los clientes, esta API proporciona una serie de soluciones para satisfacer diversas necesidades.
Con la opción de síntesis de texto a voz y de voz a voz, facilita la creación de experiencias de usuario más inclusivas y atractivas.
Si te entusiasman las posibilidades de la tecnología del habla y quieres profundizar en tus conocimientos, considera la posibilidad de realizar el curso de Procesamiento del Lenguaje Hablado en Python en DataCamp. Este completo curso abarca desde los fundamentos del preprocesamiento y la manipulación del audio hasta la conversión de voz a texto y el análisis de los datos transcritos. Al matricularte, adquirirás experiencia práctica con aplicaciones del mundo real, lo que te dotará de las habilidades necesarias para construir sofisticados sistemas de voz y crear soluciones innovadoras en este dinámico campo.
Preguntas frecuentes
¿Existe algún coste de uso asociado a la API de ElevenLabs?
ElevenLabs ofrece diferentes niveles de precios, incluido un nivel gratuito para uso básico, que es ideal para experimentar y para pequeños proyectos. Para un uso extensivo, sobre todo en aplicaciones comerciales, existen planes de pago que proporcionan límites de uso más elevados y funciones adicionales.
¿Cuáles son las limitaciones de la API ElevenLabs?
Las principales limitaciones son la dependencia de la calidad de los datos de entrada (texto o audio), la conectividad a Internet para las llamadas a la API y los matices del habla sintetizada, que puede no captar perfectamente las inflexiones emocionales del habla humana.
¿Puede la API de ElevenLabs manejar diferentes acentos y dialectos?
Sí, la API de ElevenLabs admite diversos acentos y dialectos dentro de sus funciones TTS y STS, lo que la hace versátil para aplicaciones globales.
¿Puedo utilizar la API de ElevenLabs con fines comerciales?
Sí, la API de ElevenLabs está diseñada tanto para uso personal como comercial. Puede integrarse en productos y servicios siempre que cumplas las condiciones del servicio y los acuerdos de licencia pertinentes.
¿Cómo puedo solucionar problemas con la API de ElevenLabs?
ElevenLabs proporciona documentación y asistencia completas. Para solucionar problemas, consulta su documentación oficial y las FAQ sobre problemas comunes. Si necesitas más ayuda, puedes ponerte en contacto con su equipo de asistencia a través de su sitio web.



