MetaVoice-1B

MetaVoice-1B er en basismodel med 1,2B parametre, der er trænet på 100.000 timers tale til TTS (tekst-til-tale). Den er blevet bygget med følgende prioriteter:

  • Følelsesmæssig talerytme og tone på engelsk. Ingen hallucinationer.
  • Nul-shot-kloning af amerikanske og britiske stemmermed 30 sekunders referencelyd.
  • Understøttelse af (tværsproglig) stemmekloning med finjustering.
    • Vi har haft succes med så lidt som 1 minuts træningsdata for indiske talere.
  • Støtte til Syntese i lang form.

Vi udgiver MetaVoice-1B under Apache 2.0-licensen, den kan bruges uden begrænsninger.

Prøv den demo!

Installation

Forudsætninger: 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 .

Anvendelse

  1. Download det, og brug det hvor som helst (også lokalt) med vores referenceimplementering,

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

  1. Implementer det i enhver sky (AWS/GCP/Azure) ved hjælp af vores inferens-server

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

  1. Brug den via Krammende ansigt

Snart

  • Lang form for TTS
  • Finjustering af kode

Arkitektur

Vi forudsiger EnCodec-tokens ud fra tekst og højttalerinformation. Dette spredes derefter op til bølgeformniveauet, hvor efterbehandling anvendes til at rydde op i lyden.

  • Vi bruger en kausal GPT til at forudsige de to første hierarkier af EnCodec-tokens. Tekst og lyd er en del af LLM-konteksten. Højttalerinformation sendes via konditionering i tokenindlejringslaget. Denne højttalerkonditionering fås fra et separat trænet højttalerverificeringsnetværk.
    • De to hierarkier forudsiges på en "flad interleaved" måde, vi forudsiger det første token i det første hierarki, derefter det første token i det andet hierarki, derefter det andet token i det første hierarki, og så videre.
    • Vi bruger betingelsesfri sampling til at øge modellens kloningsevne.
    • Teksten er tokeniseret ved hjælp af en specialtrænet BPE tokeniser med 512 tokens.
    • Bemærk, at vi har sprunget forudsigelsen af semantiske tokens over, som det gøres i andre værker, da vi fandt ud af, at det ikke er strengt nødvendigt.
  • Vi bruger en ikke-kausal (encoder-style) transformer til at forudsige resten af de 6 hierarkier ud fra de to første hierarkier. Dette er en super lille model (~10Mn parametre), og den har en omfattende zero-shot generalisering til de fleste højttalere, vi har prøvet. Da den ikke er kausal, er vi også i stand til at forudsige alle tidsskridt parallelt.
  • Vi bruger multi-band diffusion til at generere bølgeformer fra EnCodec-tokens. Vi bemærkede, at talen er klarere end ved brug af den originale RVQ-dekoder eller VOCOS. Diffusionen på bølgeformsniveau efterlader dog nogle baggrundsartefakter, som er ret ubehagelige for øret. Det rydder vi op i i næste trin.
  • Vi bruger DeepFilterNet til at rydde op i de artefakter, der introduceres af multi-band diffusion.

Optimeringer

Modellen understøtter:

  1. KV-caching via Flash-afkodning
  2. Batching (herunder tekster af forskellig længde)

Bidrage

Taknemmelighed

Vi er taknemmelige over for Together.ai for deres 24/7 hjælp med at samle vores cluster. Vi takker holdene hos AWS, GCP & Hugging Face for support med deres cloud-platforme.

da_DKDanish