Kokoro: Síntesis de voz local de alta calidad optimizada para CPU
Local, CPU-Friendly, High-Quality TTS (Text-to-Speech) with Kokoro

Presento Kokoro, un modelo de texto a voz de 82 millones de parámetros que genera audio realista en múltiples idiomas utilizando solo la CPU. Este sistema permite mantener la privacidad al ejecutarse localmente, ofreciendo compatibilidad con la API de OpenAI y un rendimiento impresionante incluso en hardware antiguo. Con una configuración sencilla mediante contenedores, es ideal para complementar modelos de lenguaje locales.
Si una CPU de hace 12 años puede hacer el trabajo perfectamente, sabes que este es un sistema de síntesis de voz altamente capaz.
- sudobash1
He utilizado Kokoro bastante extensivamente para un producto de accesibilidad. Me ha encantado trabajar con él (especialmente porque no tengo una GPU de Nvidia, como requieren muchas TTS de calidad similar).
Aprecio especialmente el hecho de que permite añadir manualmente guías de pronunciación IPA. Ha habido casos en los que una palabra importante era un homógrafo y Kokoro asumía la pronunciación incorrecta.
El punto donde se queda un poco corto es al decir solo una o dos palabras. Intenta que diga simplemente "six" y casi siempre dice algo como "ah-six-ah". Sin embargo, encontré una forma de sortearlo. Si le das una oración más larga para que diga (por ejemplo, "The word is: six"), la pronunciará bien. El truco es que la API de Kokoro te da la marca de tiempo de cada palabra en la oración. Así que puedes tener un script de Python que recorte solo la palabra que te interesa. La entonación es un poco plana de esta manera, pero es muy fiable.
Pregunté sobre esto en el Discord y me dijeron que es una limitación del pequeño tamaño de los parámetros. Pero, siendo justos con Kokoro, incluso las voces de eleven-labs sufren de esto ocasionalmente.
- dmayle
Interesante... Esto es algo que realmente me importa...
Soler mantener una versión de whisperx a mano, porque creo que es importante tener no solo la transcripción, sino también el tiempo y la identificación del hablante (por ejemplo, para subtítulos)... Depende de pyannote, aunque, que tiene una licencia un poco extraña (y es más difícil de scriptear la instalación por eso), así que quería buscar algo que tuviera una mejor transcripción y que también soportara la diarización (el hablante y el tiempo). Me decidé por parakeet para la transcripción con softformer (para la diarización), pero la mayoría de los motores disponibles para él no incluyen softformer.
Programé un servidor compatible con OpenAI para parakeet-rs (https://github.com/altunenes/parakeet-rs) (que sí soporta softformer) y lo he estado usando con OpenWhispr (una aplicación de escritorio para transcripción que maneja todo tipo de cosas interesantes).
Estoy haciendo transcripción solo con CPU (porque uso mis GPUs para otras cosas y aún no he tenido tiempo de añadir la ruta de GPU), pero es increíblemente empoderador poder tener transcripciones locales a voluntad.
- SambhavGupta
Hace un par de meses escribí una extensión de Chrome que hace esto en cualquier página web, con resaltado simultáneo de la oración que se está leyendo. Omite tanto el paso de lanzamiento del contenedor como el paso de copiar y pegar el contenido del sitio web. Podría ser útil para cualquiera que intente usar kokoro de manera ergonómica.
https://chromewebstore.google.com/detail/local-reader-ai-on-...