Miso TTS 8B : Un modèle de synthèse vocale open-source de haute qualité

Miso TTS 8B est un modèle de synthèse vocale open-source de pointe avec 8 milliards de paramètres, offrant une génération vocale très émotive et des capacités de clonage vocal.

Miso Labs a publié Miso TTS 8B, un modèle de synthèse vocale open-source qui repousse les limites de ce qui est possible avec la parole générée par IA. Avec 8 milliards de paramètres, ce modèle est conçu pour produire une parole très émotive et naturelle, pouvant être utilisée pour diverses applications, de l'IA conversationnelle à la création de contenu.

Qu'est-ce qui rend Miso TTS 8B spécial ?

Miso TTS 8B n'est pas un modèle TTS ordinaire. Il est construit sur une architecture sophistiquée qui combine un grand transformateur principal avec un décodeur audio plus petit, lui permettant de générer une parole à la fois expressive et contextuellement consciente. Le modèle s'inspire de l'architecture Sesame CSM et utilise la quantification vectorielle résiduelle (RVQ) pour produire des codes audio de haute qualité à partir d'entrées textuelles.

Caractéristiques principales :

  • 8 milliards de paramètres : La grande taille du modèle lui permet de capturer des nuances subtiles dans la parole, ce qui en fait l'un des modèles TTS les plus expressifs disponibles.
  • Clonage vocal : Miso TTS peut se conditionner sur un audio préalable pour cloner des voix, ce qui le rend idéal pour les applications nécessitant une identité de locuteur cohérente.
  • Contexte conversationnel : Le modèle peut prendre des jetons de texte et d'audio entrelacés, lui permettant de générer une parole qui s'intègre naturellement dans un historique de conversation.
  • Filigrane : L'audio généré est filigrané par défaut à l'aide de SilentCipher, aidant à prévenir les abus et l'usurpation d'identité.

Plongée dans l'architecture

Miso TTS 8B utilise deux composants transformateurs :

  1. Transformateur principal (8B paramètres) : Ce grand modèle consomme des embeddings de texte et de trames audio, traitant la séquence entrelacée pour comprendre le contexte et générer des motifs de parole appropriés.

  2. Décodeur audio (300M paramètres) : Un transformateur plus petit qui prédit de manière autorégressive des codebooks audio d'ordre supérieur dans chaque trame, affinant la sortie du transformateur principal.

Le modèle utilise le tokenizer audio Mimi avec 32 codebooks audio et un vocabulaire de 2 051 jetons audio. Le vocabulaire textuel est de 128 256 jetons, et la longueur maximale de séquence est de 2 048 jetons.

Pour commencer

Pour exécuter Miso TTS 8B localement, vous aurez besoin d'un GPU avec au moins 24 Go de VRAM pour l'inférence bfloat16. Voici comment commencer :

Installation

Tout d'abord, installez uv si vous ne l'avez pas :

curl -LsSf https://astral.sh/uv/install.sh | sh

Ensuite, clonez le dépôt et configurez l'environnement :

git clone https://github.com/MisoLabsAI/MisoTTS.git
cd MisoTTS
uv sync --python 3.10
source .venv/bin/activate

Utilisation de base

Exécutez le script d'exemple pour générer une conversation :

uv run python run_misotts.py

Cela créera un fichier nommé full_conversation.wav à la racine du dépôt.

API Python

Pour plus de contrôle, vous pouvez utiliser directement l'API Python :

import torch
import torchaudio
from generator import load_miso_8b

device = "cuda" if torch.cuda.is_available() else "cpu"
generator = load_miso_8b(
    device=device,
    model_path_or_repo_id="MisoLabs/MisoTTS",
)

audio = generator.generate(
    text="Bonjour de Miso.",
    speaker=0,
    context=[],
    max_audio_length_ms=10_000,
)

torchaudio.save("miso.wav", audio.unsqueeze(0).cpu(), generator.sample_rate)

Clonage vocal

Pour cloner une voix, fournissez un segment audio de référence :

import torchaudio
from generator import Segment, load_miso_8b

generator = load_miso_8b(device="cuda")

prompt_audio, sample_rate = torchaudio.load("prompt.wav")
prompt_audio = torchaudio.functional.resample(
    prompt_audio.squeeze(0),
    orig_freq=sample_rate,
    new_freq=generator.sample_rate,
)

context = [
    Segment(
        speaker=0,
        text="Ceci est la transcription de l'audio de référence.",
        audio=prompt_audio,
    )
]

audio = generator.generate(
    text="Ceci est la phrase suivante à synthétiser.",
    speaker=0,
    context=context,
    max_audio_length_ms=10_000,
)

Configuration système requise

Miso TTS 8B est un grand modèle et nécessite du matériel important :

Précision Poids (approx.) VRAM recommandée Exemples de GPU
bfloat16/fp16 ~16 Go 24 Go RTX 3090/4090, A5000, L4
float32 ~33 Go 40 Go+ A100 40 Go, A6000 48 Go, H100
  • CPU : L'inférence fonctionne mais est lente. Prévoyez au moins ~20 Go de RAM pour bfloat16 et ~40 Go pour float32.
  • Disque : La première exécution télécharge ~30–40 Go au total (point de contrôle du modèle, codec Mimi, filigrane SilentCipher, tokenizer Llama 3.2).

Sécurité et utilisation éthique

Miso Labs met l'accent sur une utilisation responsable de cette technologie. Le modèle ne doit pas être utilisé pour usurper l'identité de personnes, créer un audio trompeur, commettre une fraude ou générer du contenu nuisible. L'audio généré est filigrané par défaut, et si vous déployez ce modèle, vous devez utiliser votre propre clé de filigrane privée.

Conclusion

Miso TTS 8B représente une avancée significative dans la technologie de synthèse vocale open-source. Sa combinaison d'un nombre élevé de paramètres, de capacités de clonage vocal et de contexte conversationnel en fait un outil puissant pour les développeurs et les chercheurs. Bien qu'il nécessite un matériel conséquent, la qualité de la sortie vaut bien l'investissement.

Pour plus d'informations, visitez le site web de Miso Labs ou consultez le modèle sur Hugging Face.

Source

MisoLabsAI/MisoTTS : Miso TTS est un modèle de synthèse vocale très émotif de 8 milliards de paramètres