Présentation de Kokoro

Kokoro est un modèle de synthèse vocale qui produit des résultats réalistes avec seulement 82M de paramètres. Il prend en charge plusieurs langues, dont l'anglais, le mandarin et le hindi, et offre environ 50 voix distinctes, principalement optimisées pour l'anglais.

Fonctionnement de Kokoro

Le modèle peut être déployé à l'aide d'une image de conteneur appelée Kokoro-FastAPI, qui inclut des modèles de voix pré-téléchargés. L'image du conteneur est d'environ 5 Go. Pour lancer le conteneur, utilisez la commande suivante :

podman run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu

Le conteneur propose une interface web simple à l'adresse localhost:8880/web, où vous pouvez générer et jouer de l'audio à partir d'un texte. Il prend également en charge une interface TTS compatible avec l'API de parole d'OpenAI.

Performances et exemples d'utilisation

Les performances de la synthèse vocale sont rapides, même sur des processeurs plus anciens. Par exemple, la génération d'un paragraphe court avec la voix am_eric prend environ 4,7 secondes sur un Intel Core i7-4770K, 4,5 secondes sur un Apple M2 Pro et 1,5 seconde sur un AMD Ryzen 7 8745HS.

Vous pouvez utiliser des commandes comme celles-ci pour générer de l'audio :

export TTS_API_BASE_URL=http://127.0.0.1:8880/v1; ./speak.js "Good morning! How are you today?"
ou
export TTS_API_BASE_URL=http://127.0.0.1:8880/v1; ./speak.py "Good morning! How are you today?"

Implications et limites

Kokoro offre une excellente qualité de synthèse vocale locale sans compromettre la vie privée. Cependant, pour les applications nécessitant à la fois la synthèse vocale et la reconnaissance vocale, d'autres solutions comme Speaches pourraient être plus appropriées en raison de leur prise en charge de Whisper, le système de reconnaissance vocale d'OpenAI.