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)