Modèle / jeu de données
OpenMOSS/MOSS-TTS avatar
OpenMOSS/MOSS-TTS

MOSS-TTS : une famille de modèles vocaux à choisir avant d'installer

An open-source model family for long-form speech, dialogue synthesis, voice design, sound effects, and real-time streaming TTS

4 107 étoiles373 forksPythonApache-2.0

En bref

De quoi s’agit-il ?
MOSS-TTS regroupe sous un même dépôt plusieurs modèles de synthèse vocale et de génération de sons, du clonage multilingue au streaming temps réel. Le vrai travail consiste à identifier lequel correspond à votre cas d'usage, car les architectures et les backends d'inférence diffèrent.
À qui s’adresse-t-il ?
MOSS-TTS convient aux équipes qui ont besoin de plusieurs régimes vocaux dans un même projet et qui acceptent de choisir un modèle par tâche plutôt qu'un modèle unique. Il ne convient pas à qui cherche un point d'entrée unique, documenté et stable, avec un seul chemin d'installation.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 10 jours.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Un dépôt, sept problèmes distincts

Le README ne présente pas un modèle mais une famille, et il le dit explicitement : synthèse longue et stable, dialogue multi-locuteurs, conception de voix, effets sonores environnementaux, streaming temps réel. Le tableau de sélection en début de README oriente vers MOSS-TTS-Nano pour le clonage sur CPU ou dans un navigateur, vers MOSS-TTS-v1.5 et MOSS-TTS-Local-Transformer-v1.5 pour la narration multilingue longue, vers MOSS-TTSD pour le podcast et le doublage, vers MOSS-TTS-Realtime pour le flux, et vers MOSS-SoundEffect v2 pour les sons d'ambiance. Cette dispersion est le fait principal du projet. Elle signifie qu'une équipe qui arrive avec une seule phrase de besoin doit d'abord trancher entre plusieurs architectures incompatibles entre elles, chacune avec son checkpoint et parfois son propre sous-dossier. Le public visé n'est donc pas le développeur qui veut brancher une API vocale en une après-midi, mais celui qui construit une chaîne audio où la narration, le dialogue et l'ambiance sont trois problèmes séparés.

MossTTSLocal, MossTTSDelay, MossTTSRealtime : trois architectures, pas trois tailles

Les notes de version nomment trois architectures distinctes prises en charge par vLLM-Omni : MossTTSDelay, MossTTSRealtime et MossTTSNano. SGLang-Omni, de son côté, est présenté comme le premier backend à supporter l'architecture MossTTSLocal, avec un endpoint compatible OpenAI /v1/audio/speech, le streaming et le clonage de voix. Ces noms ne désignent pas des variantes de taille du même modèle, mais des familles de graphes d'inférence. MOSS-TTS-Local-Transformer-v1.5 est décrit comme un checkpoint 4B de type MossTTSLocal, qui remplace le backbone Qwen3-1.7B par Qwen3-4B et s'appuie sur MOSS-Audio-Tokenizer-v2 pour une sortie stéréo native à 48 kHz. Autrement dit, le choix du backend précède le choix du modèle : si votre infrastructure est déjà bâtie autour de vLLM-Omni, la liste des modèles accessibles n'est pas la même que si vous partez sur SGLang-Omni. Le README renvoie à des cookbooks séparés pour moss_tts_local et moss_tts, ce qui confirme que les chemins d'intégration divergent.

Le tokenizer audio comme pièce maîtresse

MOSS-Audio-Tokenizer-v2 est publié séparément, dans son propre dépôt, et il est décrit comme supportant nativement l'entrée et la sortie stéréo à 48 kHz. Sa version antérieure équipait les modèles de la génération précédente. Ce découpage a une conséquence pratique : la qualité et le format de sortie dépendent autant du tokenizer que du modèle de langage qui le pilote. Une équipe qui dispose déjà de pipelines en 24 kHz mono devra vérifier si le passage à 48 kHz stéréo lui apporte quelque chose, ou si cela représente surtout du volume de données supplémentaire à stocker et à transmettre. Le README ne donne pas de tableau comparatif entre les deux versions du tokenizer, ni d'indication sur le coût de calcul de l'un par rapport à l'autre. C'est une zone où la documentation reste en retrait par rapport à l'ambition affichée.

Ce que le README ne dit pas sur l'installation

Le README fournit des liens vers les poids sur Hugging Face et ModelScope, vers une documentation API hébergée sur studio.mosi.cn, et vers des cookbooks externes. Il ne contient pas, dans l'extrait disponible, de commande pip install, de fichier de configuration d'exemple, ni de bloc de code d'inférence local. Les seuls éléments concrets d'intégration sont les noms d'architectures à déclarer côté backend (MossTTSLocal, MossTTSDelay, MossTTSRealtime, MossTTSNano) et l'endpoint /v1/audio/speech côté SGLang-Omni. Pour le reste, il faut se rendre dans les sous-dossiers : moss_tts_realtime/README.md pour le streaming, moss_soundeffect_v2/README.md pour les effets sonores. C'est une organisation de monorepo qui a du sens pour les mainteneurs, mais qui oblige le lecteur à reconstituer lui-même le chemin d'installation. Un projet qui revendique cinq cas d'usage et ne fournit pas de quickstart unique prend un risque : celui que chaque utilisateur réinvente la même étape de mise en route.

Contrôle des pauses et balises de langue : le détail qui compte

MOSS-TTS-v1.5 est présenté avec plusieurs améliorations nommées : synthèse multilingue plus solide lorsque des balises de langue sont fournies, clonage de voix plus stable, meilleur clonage à partir de longues références pour des textes courts, prosodie qui suit la ponctuation, et contrôle explicite des pauses via la syntaxe [pause X.Ys]. Cette dernière est la seule syntaxe de contrôle documentée dans l'extrait fourni, et elle mérite attention. Elle implique que le texte d'entrée n'est pas du texte brut : il faut l'instrumenter, ce qui suppose une étape de préparation en amont de l'inférence. Pour une application de lecture d'articles, cette étape est un surcoût de développement. Pour du doublage ou du podcast, elle peut remplacer un travail manuel de montage. La documentation ne précise pas comment la balise se comporte si la valeur demandée dépasse la durée naturelle de la phrase, ni si plusieurs balises consécutives sont acceptées.

La licence Apache-2.0 et ce qu'elle n'couvre pas

Le dépôt est publié sous Apache-2.0, une licence permissive qui autorise l'usage commercial, la modification et la redistribution, avec obligation de conserver les mentions de copyright et le texte de licence, et avec une clause de brevets. Cette licence s'applique au code du dépôt. Elle ne dit rien du statut des poids, qui sont hébergés sur Hugging Face et ModelScope et qui peuvent avoir leurs propres conditions. Elle ne dit rien non plus des voix utilisées pour le clonage : le clonage de voix soulève des questions de consentement et de droit à l'image sonore qui relèvent du cadre juridique applicable, pas de la licence du logiciel. Le README ne mentionne aucune restriction d'usage des poids ni aucune politique d'usage acceptable. C'est un point à éclaircir auprès des mainteneurs avant un déploiement commercial, et non un point que la licence Apache-2.0 règle à votre place.

Face à un modèle TTS unique auto-hébergé

L'alternative la plus directe est un modèle TTS unique, auto-hébergé, qui couvre la synthèse standard et rien d'autre. La différence n'est pas qualitative mais structurelle. Un modèle unique vous donne un seul checkpoint à télécharger, un seul format d'entrée, une seule courbe de latence à surveiller. MOSS-TTS vous donne un choix par tâche : MossTTSRealtime pour le flux, MossTTSLocal pour la narration longue, MOSS-SoundEffect-v2 pour l'ambiance, avec un tokenizer partagé mais des backends qui ne se recouvrent pas entièrement. Si votre produit n'a besoin que de lire du texte à voix haute, cette famille ajoute de la surface de configuration sans bénéfice correspondant. Si votre produit doit passer d'une narration à un dialogue puis à un effet sonore dans la même session, l'alternative mono-modèle vous obligera de toute façon à empiler plusieurs systèmes, et la question devient alors de savoir si vous préférez les empiler vous-même ou adopter un ensemble déjà assemblé par un même éditeur.

Coût de maintenance et de mise à jour

Le rythme des publications est soutenu : le README liste des entrées datées de mars à juin 2026, dont plusieurs versions majeures de modèles et de tokenizers. MOSS-TTS 2.0 est annoncé comme à venir, avec un formulaire de collecte de retours ouvert. Pour une équipe en production, cela implique deux choses. D'abord, la compatibilité entre versions n'est pas garantie par la documentation fournie : passer de MOSS-TTS-v1.5 à MOSS-TTS-Local-Transformer-v1.5 change le backbone et le tokenizer, donc probablement les sorties. Ensuite, l'écosystème d'inférence évolue en parallèle : vLLM-Omni a ajouté le support de la série en juin 2026, SGLang-Omni a ajouté MossTTSLocal le même jour. Une montée de version du backend peut donc précéder ou suivre celle du modèle. La conséquence pratique est qu'il faut figer les versions de modèle et de backend ensemble, et non séparément, et prévoir un test d'écoute de non-régression à chaque changement de l'un ou de l'autre.

Conclusion éditoriale

MOSS-TTS convient aux équipes qui ont besoin de plusieurs régimes vocaux dans un même projet et qui acceptent de choisir un modèle par tâche plutôt qu'un modèle unique. Il ne convient pas à qui cherche un point d'entrée unique, documenté et stable, avec un seul chemin d'installation. Avant tout engagement, vérifiez le README du sous-modèle visé (moss_tts_realtime/README.md, moss_soundeffect_v2/README.md), la disponibilité du backend correspondant dans vLLM-Omni ou SGLang-Omni, et la compatibilité de MOSS-Audio-Tokenizer-v2 avec votre fréquence d'échantillonnage cible.

Sources officielles

  1. Issues
  2. License: Apache-2.0
  3. OpenMOSS/MOSS-TTS on GitHub
  4. Project website
  5. README
Notes de la communauté

Notes de la communauté