À propos du projet
MOSS-TTS-Nano est un modèle open-source de génération vocale multilingue développé par MOSI.AI et l'équipe OpenMOSS. Avec environ 0,1 milliard de paramètres, il vise la génération vocale en temps réel et peut fonctionner sur CPU sans GPU, simplifiant le déploiement pour les démos locales, le service web et l'intégration légère.
Caractéristiques principales décrites dans le README :
- Taille de modèle réduite d'environ 0,1 milliard de paramètres.
- Sortie audio native 48 kHz, 2 canaux (stéréo).
- Support multilingue couvrant 20 langues, dont le chinois, l'anglais, l'allemand, l'espagnol, le français, le japonais, l'italien, le hongrois, le coréen, le russe, le persan, l'arabe, le polonais, le portugais, le tchèque, le danois, le suédois, le grec et le turc.
- Architecture purement autorégressive basée sur un pipeline Audio Tokenizer plus LLM.
- Inférence en streaming avec faible latence en temps réel et premier audio rapide.
- Compatible CPU : la génération en streaming peut fonctionner sur un CPU à 4 cœurs.
- Capacité de texte long avec clonage vocal automatique par segments.
- Chemins de déploiement open-source via des scripts Python directs et une CLI packagée.
Démarrage rapide : le README recommande un environnement Python propre, le clonage du dépôt, l'installation des dépendances et l'installation du projet en mode éditable pour que la commande moss-tts-nano soit disponible. Le chargement du modèle par défaut utilise OpenMOSS-Team/MOSS-TTS-Nano et OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano. Le clonage vocal est le flux de travail principal recommandé, démontré avec infer.py utilisant un chemin audio d'invite et un texte d'entrée. Une démo web FastAPI locale peut être lancée avec app.py et ouverte à 127.0.0.1:18083.
Inférence CPU ONNX : une version CPU ONNX est recommandée pour un déploiement local léger. Elle supprime la dépendance PyTorch pendant l'inférence, fonctionne sur ONNX Runtime CPU, prend en charge l'audio de référence direct, les voix intégrées et le décodage en streaming en temps réel, et est décrite comme presque 2 fois plus efficace en traitement que la version originale dans les tests du projet. Sur un MacBook Air M4, une inférence fluide a été observée avec un seul cœur CPU. Les points d'entrée ONNX incluent infer_onnx.py, app_onnx.py et la CLI packagée avec --backend onnx. L'exécution CUDA est optionnelle via onnxruntime-gpu et --execution-provider cuda. Les fichiers de modèle manquants sont téléchargés au premier lancement depuis les dépôts Hugging Face ONNX.
Outils supplémentaires : un exemple Android ONNX Runtime sous examples/android_onnx_runtime charge les graphes ONNX exportés sur l'appareil et écrit un fichier WAV. Un exportateur sous onnx/ convertit un point de contrôle local au format Hugging Face en un répertoire de modèle ONNX uniquement TTS. La CLI packagée propose les commandes moss-tts-nano generate et moss-tts-nano serve, avec des options pour la parole d'invite, les fichiers texte, la sélection du backend et du fournisseur d'exécution. Le code de fine-tuning et les tutoriels sont fournis dans le répertoire finetuning.
Le dépôt documente également MOSS-Audio-Tokenizer-Nano, un tokenizer léger d'environ 20 millions de paramètres basé sur l'architecture Cat (Causal Audio Tokenizer with Transformer). Il prend en charge l'entrée et la sortie stéréo 48 kHz, compresse l'audio en un flux de jetons à 12,5 Hz et utilise RVQ avec 16 codebooks à des débits variables de 0,125 kbps à 2 kbps. Des tableaux et graphiques d'évaluation comparent la qualité de reconstruction avec des tokenizers open-source de pas plus de 120 millions de paramètres sur des données de parole, d'audio et de musique.
La famille plus large MOSS-TTS est également décrite, y compris MOSS-TTS, MOSS-TTS-Local-Transformer, MOSS-TTSD-v1.0, MOSS-VoiceGenerator, MOSS-SoundEffect et MOSS-TTS-Realtime, avec des liens vers les poids des modèles sur Hugging Face et ModelScope.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.