21 points par GN⁺ 2025-08-07 | 2 commentaires | Partager sur WhatsApp
  • Kitten TTS est un modèle TTS (text-to-speech) open source qui vise à la fois la légèreté et une haute qualité audio
  • Il n’utilise que 15 millions de paramètres, pour une taille de modèle inférieure à 25 Mo
    • Contrairement aux autres grands modèles TTS, son principal atout est de pouvoir fonctionner dans tous les environnements, y compris sur mobile et embarqué
  • Même sans GPU, il permet une synthèse vocale de haute qualité sur tous les appareils
  • Il propose différentes options de voix premium pour une synthèse vocale haute fidélité proche de la voix réelle
  • L’inférence vocale est rapide, ce qui l’optimise pour la synthèse en temps réel
  • Un modèle en préversion développeur est déjà disponible, et la publication progressive des poids complets du modèle entraîné, d’un SDK mobile et d’une version web est prévue par la suite

2 commentaires

 
hybridego 2025-08-07

Ce serait bien qu'il y ait aussi un modèle coréen..

 
GN⁺ 2025-08-07
Commentaires sur Hacker News
  • J’ai effectué un petit benchmark sur Ubuntu 24 avec un Razer Blade 16 équipé d’un Intel Core i9-14900HX
    La latence initiale est d’environ 315 ms pour un texte court, et la vitesse de génération vocale atteint entre 3,35x et 5,5x le temps réel selon la longueur du texte
    Le modèle se charge en environ 710 ms
    Il n’y a pratiquement aucune différence de performances entre les 4 voix testées, qui restent proches d’une vitesse maximale d’environ 5x le temps réel

    • Sur mon CPU Intel Celeron N4020 (1,10 GHz), le chargement prend 6 secondes, et la vitesse est quasiment en temps réel quelle que soit la longueur du texte

    • Merci pour le benchmark
      Le modèle n’est pas encore optimisé pour l’instant
      Nous comptons aussi optimiser le chargement et d’autres aspects lors de la sortie du SDK de production

  • Un échantillon audio généré par KittenTTS a été posté sur Reddit
    Échantillon audio Reddit

    • Il y a aussi une courte vidéo avec différentes voix
      Vidéo YouTube

    • La vidéo Reddit est vraiment impressionnante
      C’est étonnant d’obtenir cette qualité avec moins de 25 MB et uniquement un CPU
      Je ne comprends pas pourquoi certains disent que c’est « un modèle moyen »

    • Le son est très net et très clair
      Même en tant que non-anglophone natif, je le trouve facile à comprendre

    • Ça sonne un peu lent, avec une voix qui semble sortir d’un dessin animé

    • Vous êtes sûrs que ce n’est pas entraîné en croisé sur des voix de personnages de Futurama ?

  • J’aimerais que ce genre de modèle représente l’avenir
    Une époque où des modèles de ML hors ligne et compacts effectuent l’inférence sur du matériel bon marché et disponible partout
    Faciles à intégrer dans d’autres appareils ou applis, voire à faire tourner au sein d’autres modèles

    • C’est exactement le type de vision qu’Apple esquisse avec les SLM (petits modèles de langage)
      Si un modèle ne sert qu’à gérer des événements de calendrier, il n’a pas besoin d’embarquer tout le savoir de l’humanité
      Il suffit de le concentrer sur la gestion du calendrier

    • Faire tourner un modèle sur du matériel dédié à usage unique permet une efficacité énergétique très élevée
      On peut même faire fonctionner des réseaux de neurones uniquement avec des résistances (sans transistors)
      Bien sûr, ce matériel n’est pas à usage général et il est difficile à mettre à niveau
      Mais dans bien des cas, c’est largement suffisant

    • Je me demande lequel réussira le mieux : les modèles que l’on achète une fois et qui peuvent tout faire, ou les modèles liés à un abonnement et nécessitant du matériel que seules les méga-entreprises les plus riches peuvent se permettre

    • En réalité, c’est exactement l’objectif que nous poursuivons

    • C’est aussi précisément notre vision

  • Les 25 MB sont impressionnants, mais la vraie innovation, c’est surtout que KittenTTS est publié sous licence Apache-2.0
    Cette combinaison permet d’intégrer directement un moteur vocal entièrement hors ligne dans du matériel de type Pi Zero ou dans des jouets sur batterie
    Pas besoin de GPU, d’appels au cloud ni de s’inquiéter de licences restrictives
    En une fois, cela transforme les problèmes de matériel ou de licence en simple problème de packaging
    L’amélioration de la qualité viendra plus tard, mais le vrai changement de donne, c’est d’avoir rendu possible cette catégorie de déploiement

    • Nous sommes nous aussi très enthousiastes à l’idée de créer des modèles d’IA ultra-compacts et de haute qualité
      Nous pensons que les interfaces vocales locales sont inévitables et voulons jouer un rôle central dans ce domaine à l’avenir
      Ce modèle est une preview, et nous publierons vers la semaine prochaine une version bien plus aboutie
      Nous prévoyons aussi de publier un modèle d’environ 80M

    • Vous mentionnez le fait que KittenTTS est sous Apache-2.0, mais si l’on regarde le code source sur GitHub, il utilise phonemizer
      Or phonemizer est sous licence GPL-3.0
      Donc en pratique, c’est actuellement du GPL
      (Note ajoutée : ce commentaire a aussi l’air d’avoir été généré par un LLM)

    • Le modèle festvox-kallpc16k de Festival fait environ 6 MB, et festvox-kallpc8k environ 3,5 MB
      Les données multilingues de eSpeak NG tournent autour de 12 MB
      Le modèle actuel produira sans doute une voix plus naturelle
      Mais même les anciens ou petits ordinateurs savaient déjà faire du TTS assez correct depuis longtemps

    • Si KittenTTS est sous Apache-2.0, je me demande ce qu’il en est des données d’entraînement
      Même si le modèle pouvait reproduire des entrées d’entraînement quasiment à l’identique
      Peut-on vraiment être certain, juridiquement, qu’il ne s’agit pas d’une œuvre dérivée ?

    • Il dépend de espeak-ng, donc c’est du GPLv3

  • Il existe une version web
    Accéder à la démo
    Le son est correct, mais c’est très impressionnant au vu de la taille

    • Ce n’est pas amusant, dans les films SF, de voir qu’on déforme volontairement la voix pour qu’elle fasse « vraiment robot », alors qu’une voix clairement non humaine peut en réalité être plus attrayante et plus adaptée dans bien des contextes ?
      Par exemple, un grille-pain intelligent n’a pas besoin de parler comme un présentateur du journal de la BBC
      Il suffit que la prononciation soit claire

    • Je lui ai fait lire le texte de démo, mais ça ne sonnait pas aussi bien que les échantillons
      Je laisse ici le texte d’exemple pour ceux qui veulent essayer

      Kitten TTS is an open-source series of tiny and expressive text-to-speech models for on-device applications. Our smallest model is less than 25 megabytes.

    • J’ai lancé la démo avec 6 phrases et j’ai eu une erreur
      En réduisant à 3 phrases, ça a bien fonctionné
      Je me demande si la limite de longueur vient du modèle ou simplement de la démo

    • Chez moi, ça ne fonctionne pas du tout
      J’obtiens une erreur 404 sur le module backend
      Exemple de lien d’erreur 404

    • J’étais justement en train de chercher ce lien
      La démo Reddit est passable, ça fait penser au niveau d’il y a quelques années
      Mais en l’essayant moi-même, tous les échantillons sont presque impossibles à comprendre

  • La configuration minimale indiquait « fonctionne pratiquement partout », ce qui m’a fait rire
    Sur certaines machines, la version de Python est trop ancienne
    Sur d’autres, elle est trop récente, et l’installation échoue à cause des dépendances

    • J’ai ouvert quelques PR pour régler ce problème
      PR 21, PR 24, PR 25
      Si uv est installé, depuis ma branche de référence fusionnée

      uvx --from git+https://github.com/akx/KittenTTS.git@pr-21-22-24-25 kittentts --output output.wav --text "This high quality TTS model works without a GPU"
      

      il suffit d’exécuter ceci

    • Installer via uvx résout la plupart des problèmes d’environnement Python
      Guide d’installation de uv

    • Choisir Python résout un problème, mais en crée des dizaines d’autres en même temps

    • Sur Fedora, ça ne marche pas faute d’une version adaptée de g++

    • Python est le problème

  • Après l’avoir testé moi-même, la taille et la vitesse du modèle sont plutôt bonnes
    Mais l’installation demande énormément de bibliothèques et d’éléments annexes
    Au final, on s’éloigne beaucoup des 25 MB
    Cela reste malgré tout un super projet

    • C’est une bonne remarque sur les dépendances
      Pour simplifier l’installation et l’usage, et pour ajouter la prise en charge GPU ainsi que les textes longs que les gens demandent, j’ai créé un serveur auto-hébergé pour ce modèle
      Kitten-TTS-Server
      Il fonctionne directement avec un environnement Python venv standard, sans souci de conflit
      Il suffit de git clone, pip install, puis python server.py

    • Puisqu’il est question d’ONNX, j’imagine qu’un modèle ONNX existe déjà ou sera ajouté bientôt
      ONNX runtime tient dans une seule bibliothèque, qui fait environ 115 MB compressée côté C#
      Ce n’est pas minuscule, mais le code nécessaire pour l’exécuter tient en quelques lignes, donc les dépendances restent limitées

    • Faire entrer plusieurs bibliothèques d’un coup aide au développement rapide et à l’itération
      Plus tard, quand les fonctionnalités seront stabilisées, on supprimera les bibliothèques inutiles

  • Plus que la taille du modèle en MB, ce qui compte surtout, c’est l’exécution sur CPU et la qualité, et ma seule vraie inquiétude est la latence
    Je me demande s’il existe des modèles de transcription vocale hors ligne qui fonctionnent sans entraînement séparé
    Ce sera vraiment impressionnant le jour où l’on pourra converser avec une IA à une vitesse naturelle, comme entre humains

    • Le modèle parakeet de Nvidia est actuellement à la pointe pour l’anglais
      Il est 10 fois plus rapide que Whisper et tourne bien plus vite que le temps réel même sur mon CPU AMD milieu de gamme

    • La reconnaissance vocale hors ligne est possible avec Whisper
      Certaines applis prennent déjà en charge la dictée ou la transcription entièrement hors ligne

    • Par exemple, avec le texte « The brown fox jumps over the lazy dog.. »
      le temps moyen de génération est de 1,28 s, soit environ 30,35 caractères par seconde
      sur un AMD Ryzen 7 5800H

    • Pour les modèles de reconnaissance vocale hors ligne, Whisper d’OpenAI est la référence la plus connue
      Dépôt officiel de Whisper

    • Quelqu’un sait quels sont les facteurs qui influencent la latence d’un modèle TTS ?

  • C’est assez impressionnant
    Il y a clairement des usages possibles dans des domaines spécifiques, par exemple l’embarqué
    En revanche, la qualité ne semble pas encore suffisante pour remplacer les gros modèles
    Pour le TTS open hors ligne de la meilleure qualité, je dirais que fish-speech et f5-tts sont les références
    F5-TTS tournait correctement sur une vieille NVidia 1660 (6 GB de VRAM)
    Avec du matériel plus récent, on peut obtenir une meilleure qualité, du multilingue et même du zero-shot à coût raisonnable
    Sur Android, SherpaTTS offre une bonne compatibilité

    • Ce modèle est une version preview, et nous voulons encore beaucoup améliorer sa qualité

    • Fish Speech a des poids non autorisés pour un usage commercial
      Je serais curieux de connaître les besoins en VRAM, mais KittenTTS n’a que 15 millions de paramètres, donc il peut fonctionner sur un ordinateur basse consommation à moins de 100 €
      Le GPU 6 GB que tu mentionnes est déjà ancien

  • La qualité n’est pas aussi impressionnante que je l’espérais
    Mon objectif est une voix naturelle
    Je ne suis pas satisfait non plus de piper ni de kokoro, et l’installation de XTTS était un peu compliquée
    Côté reconnaissance vocale (STT), Whisper est vraiment excellent
    Un bon TTS me manque
    Une forte utilisation GPU ne me dérange pas si la qualité est au rendez-vous
    À titre de référence, ce modèle est actuellement moins bon que kokoro

    • À mon avis, la meilleure qualité SOTA actuelle en open weights est chatterbox

    • Le meilleur TTS open source que j’ai vu est Dia
      Il a quelques limites, mais tourne bien sur un laptop

    • Pinokio vaut aussi le détour

    • Chatterbox mérite aussi d’être essayé

    • Si tu as largement assez de ressources GPU, inutile d’être trop exigeant sur la qualité ici
      L’important, c’est que ce modèle fonctionne sans GPU
      Avant Tacotron2, on faisait déjà tourner à bas coût de petits modèles TTS et vocoders comme GlowTTS ou MelGAN sur le cloud de Digital Ocean
      Ensuite, la tendance est allée vers des modèles toujours plus gros
      Mais je pense qu’on va maintenant revenir à une époque où de petits modèles seront embarqués directement dans les appareils
      Raspberry Pi, jouets, petits appareils sans réseau, etc.
      L’edge AI va connaître une énorme expansion dans la robotique, les jouets, l’électronique grand public et le jeu vidéo