Coqui: Un sintetizador de voz avanzado con IA

Qu茅 es Coqui 馃惛

Coqui es una biblioteca avanzada de generaci贸n de Text-to-Speech (TTS) basada en la 煤ltima investigaci贸n, similar al TTS de Mozilla. Est谩 dise帽ada para lograr el mejor equilibrio entre facilidad de entrenamiento, velocidad y calidad. Coqui incluye modelos preentrenados, herramientas para medir la calidad de los conjuntos de datos y se utiliza en m谩s de 20 idiomas para productos y proyectos de investigaci贸n.

Es de c贸digo abierto y libre. OpenSource Sealed 馃

Pero tambi茅n es una plataforma online que vende el servicio de sintetizar voz.

Caracter铆sticas de Coqui

Caracter铆sticas principales de Coqui:

  • Modelos de Deep Learning de alto rendimiento para tareas de Text2Speech.
  • Modelos Text2Spec (Tacotron, Tacotron2, Glow-TTS, SpeedySpeech).
  • Codificador de altavoces para calcular las incrustaciones de altavoces de manera eficiente.
  • Modelos de vocoder (MelGAN, Multiband-MelGAN, GAN-TTS, ParallelWaveGAN, WaveGrad, WaveRNN).
  • Entrenamiento r谩pido y eficiente de modelos.
  • Registros detallados de entrenamiento en la terminal y Tensorboard.
  • Soporte para TTS multi-idioma y multi-altavoz.
  • API Trainer eficiente, flexible y ligera pero completa en caracter铆sticas.
  • Modelos lanzados y listos para usar.
  • Herramientas para curar conjuntos de datos de Text2Speech.
  • Utilidades para usar y probar modelos.
  • C贸digo base modular (pero no demasiado) que permite la f谩cil implementaci贸n de nuevas ideas.

Modelos implementados en Coqui:

  • Modelos de espectrograma (Tacotron, Tacotron2, Glow-TTS, Speedy-Speech, Align-TTS, FastPitch, FastSpeech, FastSpeech2, SC-GlowTTS, Capacitron, OverFlow, Neural HMM TTS).
  • Modelos de extremo a extremo (VITS, YourTTS).
  • M茅todos de atenci贸n (Guided Attention, Forward Backward Decoding, Graves Attention, Double Decoder Consistency, Dynamic Convolutional Attention, Alignment Network).
  • Codificador de altavoces (GE2E, Angular Loss).
  • Vocoders (MelGAN, MultiBandMelGAN, ParallelWaveGAN, GAN-TTS discriminators, WaveRNN, WaveGrad, HiFiGAN, UnivNet).
  • Conversi贸n de voz (FreeVC).

Coqui se puede instalar mediante pip o clonando el repositorio de GitHub y ejecutando un comando de instalaci贸n. Tambi茅n es posible utilizar una imagen de Docker para probar Coqui sin instalarlo. La biblioteca proporciona una API en Python y una interfaz de l铆nea de comandos para sintetizar voz con los modelos preentrenados y personalizados.

En resumen, Coqui es una biblioteca completa y avanzada para la generaci贸n de voz a partir de texto, que ofrece una amplia gama de modelos y caracter铆sticas para facilitar la creaci贸n y el uso de sistemas de TTS de alta calidad.

C贸mo instalar Coqui 馃崳

Aqu铆 te voy a guiar en la instalaci贸n de Coqui en un sistema operativo Linux, concretamente Fedora, para CentOS ser铆a igual. Si usas una distro basado en .deb como Ubuntu o Debian solo tienes que cambiar el instalador “dnf install” por “apt-get install”. No olvides hacer todo esto como root, para ello usa el comando “su” en la terminal.

Paso 1: Instala o actualiza Python

Comprueba que versi贸n tienes instalada:

python --version

Si es inferior a la versi贸n 3.7. Actualiza usando el siguiente comando:

sudo dnf install python3-devel

Paso 2: Instalar las dependencias de Coqui

sudo dnf install espeak-ng libsndfile

Paso 3: Clona el repositorio de Coqui

git clone https://github.com/coqui-ai/TTS

Y navega al directorio donde lo has clonado

cd TTS

Paso 4: Instala TTS Coqui

sudo pip install -e .[all,dev,notebooks]

C贸mo sintetizar voz con Coqui 馃摙

Realmente se puede hacer de manera gr谩fica desde el navegador, pero aqui lo vamos a hacer desde la terminal, de dos maneras. La simple, abre la terminal y usa este comando:

tts --text "Texto que deseas sintetizar" --out_path "ruta/del/archivo/output.wav"

Solo tienes que cambiar el texto entre comillas por el texto que deseas sintetizar y la ruta la tienes que cambiar por la tuya. Y crear谩 un archivo de audio con ese texto. Si lo que quieres es elegir el modelo y configurarlo usa el siguiente comando:

from TTS.utils.synthesizer import Synthesizer

# Configuraci贸n del modelo
tts_model = "tts_models/es/forward_tacotron/tts.pt"
tts_config = "tts_models/es/forward_tacotron/config.json"
vocoder_model = "vocoder_models/universal/libri-tts/wavegrad.pt"
vocoder_config = "vocoder_models/universal/libri-tts/config.json"

# Crear una instancia del sintetizador
synthesizer = Synthesizer(tts_model, tts_config, vocoder_model, vocoder_config)

# Sintetizar el texto y guardar el archivo de audio
texto = "Texto que deseas sintetizar"
ruta_salida = "ruta/del/archivo/output.wav"
synthesizer.tts(texto, ruta_salida)

Like