MetaVoice-1B

MetaVoice-1B est un modèle de base de 1,2 milliard de paramètres entraîné sur 100 000 heures de parole pour le TTS (text-to-speech). Il a été construit avec les priorités suivantes :

  • Rythme et ton émotionnels de la parole en anglais. Pas d'hallucinations.
  • Clonage zéro pour les voix américaines et britanniquesavec un son de référence de 30 secondes.
  • Prise en charge (multilingue) clonage vocal avec réglage fin.
    • Nous avons obtenu de bons résultats avec des données d'entraînement d'une minute seulement pour les locuteurs indiens.
  • Soutien aux Synthèse longue.

Nous publions MetaVoice-1B sous la licence Apache 2.0, il peut être utilisé sans restriction.

Essayez le démo!

Installation

Pré-requis : Python >=3.10,=24GB RAM.# install ffmpeg wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz.md5 md5sum -c ffmpeg-git-amd64-static.tar.xz.md5 tar xvf ffmpeg-git-amd64-static.tar.xz sudo mv ffmpeg-git-*-static/ffprobe ffmpeg-git-*-static/ffmpeg /usr/local/bin/ rm -rf ffmpeg-git-* pip install -r requirements.txt pip install -e .

Utilisation

  1. Téléchargez-le et utilisez-le n'importe où (y compris localement) avec notre la mise en œuvre de référence,

python fam/llm/sample.py -huggingface_repo_id="metavoiceio/metavoice-1B-v0.1″ -spk_cond_path="assets/bria.mp3″

  1. Déployez-le sur n'importe quel cloud (AWS/GCP/Azure), à l'aide de notre serveur d'inférence

python fam/llm/serving.py -huggingface_repo_id="metavoiceio/metavoice-1B-v0.1″

  1. Utilisez-le via Visage étreint

Bientôt

  • Forme longue TTS
  • Affiner le code

Architecture

Nous prédisons les jetons EnCodec à partir du texte et des informations sur le locuteur. Ces informations sont ensuite diffusées au niveau de la forme d'onde, et un post-traitement est appliqué pour nettoyer l'audio.

  • Nous utilisons un GPT causal pour prédire les deux premières hiérarchies de jetons EnCodec. Le texte et l'audio font partie du contexte LLM. Les informations sur le locuteur sont transmises par le biais d'un conditionnement au niveau de la couche d'intégration des jetons. Ce conditionnement du locuteur est obtenu à partir d'un réseau de vérification du locuteur formé séparément.
    • Les deux hiérarchies sont prédites d'une manière "entrelacée aplatie", nous prédisons le premier token de la première hiérarchie, puis le premier token de la deuxième hiérarchie, puis le deuxième token de la première hiérarchie, et ainsi de suite.
    • Nous utilisons l'échantillonnage sans condition pour renforcer la capacité de clonage du modèle.
    • Le texte est tokenisé à l'aide d'un tokeniseur BPE formé sur mesure avec 512 tokens.
    • Il est à noter que nous avons renoncé à prédire les jetons sémantiques, comme le font d'autres travaux, car nous avons constaté que cela n'était pas strictement nécessaire.
  • Nous utilisons un transformateur non causal (de type encodeur) pour prédire le reste des 6 hiérarchies à partir des deux premières hiérarchies. Il s'agit d'un très petit modèle (~10 millions de paramètres), qui présente une généralisation étendue à la plupart des locuteurs que nous avons essayés. Comme il n'est pas causal, nous sommes également en mesure de prédire tous les pas de temps en parallèle.
  • Nous utilisons la diffusion multibande pour générer des formes d'onde à partir des jetons EnCodec. Nous avons remarqué que la parole est plus claire qu'en utilisant le décodeur RVQ original ou VOCOS. Cependant, la diffusion au niveau de la forme d'onde laisse des artefacts en arrière-plan qui sont assez désagréables à l'oreille. Nous nettoyons ces artefacts dans l'étape suivante.
  • Nous utilisons DeepFilterNet pour éliminer les artefacts introduits par la diffusion multibande.

Optimisations

Le modèle prend en charge :

  1. Mise en cache KV via le décodage Flash
  2. Mise en lots (y compris des textes de longueurs différentes)

Contribuer

Remerciements

Nous sommes reconnaissants à Together.ai pour son aide 24/7 dans l'organisation de notre cluster. Nous remercions les équipes d'AWS, GCP et Hugging Face pour le support de leurs plateformes cloud.

fr_FRFrench