Modele și platforme AI

OpenVoice: Clonare Versatilă a Vocii Instantanee

mm
Adaugă Unite.AI la sursele tale preferate pe Google

În sinteza text-to-speech (TTS), clonarea vocii instantanee (IVC) permite modelului TTS să cloneze vocea oricărui vorbitor de referință utilizând un exemplar audio scurt, fără a necesita antrenament suplimentar pentru vorbitorul de referință. Această tehnică este cunoscută și sub numele de sinteză text-to-speech zero-shot. Abordarea clonării vocii instantanee permite personalizarea flexibilă a vocii generate și demonstrează o valoare semnificativă într-o gamă largă de situații din lumea reală, inclusiv chatbot-uri personalizate, crearea de conținut și interacțiuni între oameni și modelele de limbaj mare (LLM).

Deși cadrele actuale de clonare a vocii își fac treaba bine, ele sunt pline de câteva provocări în domeniu, inclusiv Controlul flexibil al stilului vocii, adică modelele lipsesc capacitatea de a manipula stilurile vocii în mod flexibil după clonarea vocii. O altă piedică majoră întâlnită de cadrele actuale de clonare instantanee este Clonarea vocii cross-linguale zero-shot, adică pentru scopuri de antrenament, modelele actuale necesită acces la un set de date masiv de vorbitori multi-linguali sau MSML, indiferent de limbă.

Pentru a aborda aceste provocări și a contribui la îmbunătățirea modelului de clonare a vocii instantanee, dezvoltatorii au lucrat la OpenVoice, un cadru de clonare a vocii instantanee versatil care replică vocea oricărui utilizator și generează vorbire în multiple limbi utilizând un clip audio scurt de la vorbitorul de referință. OpenVoice demonstrează că modelele de clonare a vocii instantanee pot replica culoarea tonală a vorbitorului de referință și pot obține un control granular asupra stilurilor vocii, inclusiv accent, ritm, intonație, pauze și chiar emoții. Ceea ce este și mai impresionant este că cadru OpenVoice demonstrează, de asemenea, capacități remarcabile în realizarea clonării vocii cross-linguale zero-shot pentru limbi externe setului de date MSML, permițând OpenVoice să cloneze voci în limbi noi fără antrenament prealabil extins pentru acea limbă. OpenVoice reușește să ofere rezultate superioare de clonare a vocii instantanee, fiind în același timp viabil din punct de vedere computațional, cu costuri de operare de până la 10 ori mai mici decât API-urile actuale disponibile cu performanțe inferioare.

În acest articol, vom discuta despre cadru OpenVoice în profunzime și vom descoperi arhitectura care îi permite să ofere o performanță superioară în sarcinile de clonare a vocii instantanee. Deci, să începem.

OpenVoice: Permițând Clonarea Versatilă a Vocii Instantanee

Așa cum s-a menționat anterior, clonarea vocii instantanee, cunoscută și sub numele de sinteză text-to-speech zero-shot, permite modelului TTS să cloneze vocea oricărui vorbitor de referință utilizând un exemplar audio scurt, fără a necesita antrenament suplimentar pentru vorbitorul de referință. Clonarea vocii instantanee a fost întotdeauna un subiect de cercetare fierbinte, cu lucrări existente care includ cadrele XTTS și VALLE, care extrag încorporarea vorbitorului și/sau tokenii acustici din audio-ul de referință, care servește ca o condiție pentru modelul auto-regresiv. Modelul auto-regresiv generează apoi tokeni acustici în mod secvențial și decodifică acești tokeni într-un val de audio brut.

Deși modelele de clonare a vocii instantanee auto-regresive clonează culoarea tonală în mod remarcabil, ele nu reușesc să manipuleze alți parametri de stil, inclusiv accent, emoție, pauze și ritm. Mai mult, modelele auto-regresive experimentează, de asemenea, o viteză de inferență scăzută, iar costurile lor de operare sunt destul de ridicate. Abordări existente, cum ar fi cadru YourTTS, utilizează o abordare non-auto-regresivă care demonstrează o inferență a vorbirii semnificativ mai rapidă decât cadrele de clonare a vocii instantanee auto-regresive, dar nu pot oferi utilizatorilor lor un control flexibil asupra parametrilor de stil. Mai mult, atât cadrele de clonare a vocii instantanee auto-regresive, cât și cele non-auto-regresive necesită acces la un set de date masiv de vorbitori multi-linguali sau MSML pentru clonarea vocii cross-linguale.

Pentru a aborda provocările cu care se confruntă cadrele actuale de clonare a vocii instantanee, dezvoltatorii au lucrat la OpenVoice, o bibliotecă de clonare a vocii instantanee deschisă care își propune să rezolve următoarele provocări cu care se confruntă cadrele actuale IVC.

  1. Prima provocare este să permită cadrelor IVC să aibă un control flexibil asupra parametrilor de stil, în plus față de culoarea tonală, inclusiv accent, ritm, intonație și pauze. Parametrii de stil sunt cruciali pentru a genera conversații și vorbire naturale în context, și nu pentru a narata textul de intrare în mod monoton.
  2. A doua provocare este să permită cadrelor IVC să cloneze voci cross-linguale într-un mediu zero-shot.
  3. Ultima provocare este să atingă viteze de inferență în timp real ridicate fără a deteriora calitatea.

Pentru a aborda primele două obstacole, arhitectura cadru OpenVoice este proiectată pentru a decupa componente în voce în cel mai bun mod posibil. Mai mult, OpenVoice generează culoarea tonală, limba și alte caracteristici ale vocii în mod independent, permițând cadru să manipuleze individual tipurile de limbă și stilurile vocii în mod flexibil. OpenVoice abordează a treia provocare prin definiție, deoarece structura decupată reduce complexitatea computațională și cerințele de dimensiune a modelului.

OpenVoice: Metodologie și Arhitectură

Cadru tehnic al OpenVoice este eficient și surprinzător de simplu de implementat. Nu este un secret că clonarea culorii tonale pentru orice vorbitor, adăugarea unei noi limbi și permițând un control flexibil asupra parametrilor vocii simultan poate fi o provocare. Acest lucru se datorează faptului că executarea acestor trei sarcini simultan necesită parametrii controlați să se intersecteze utilizând o cantitate mare de seturi de date combinatoriale. Mai mult, în sinteza text-to-speech standard pentru un singur vorbitor, pentru sarcini care nu necesită clonarea vocii, este mai ușor să se adauge control asupra altor parametri de stil.

OpenVoice propune să utilizeze un model de sinteză text-to-speech de bază pentru a controla limba și parametrii de stil și să angajeze un convertor de culoare tonală pentru a include culoarea tonală de referință în vocea generată. Următoarea figură demonstrează arhitectura cadru.

La nivel fundamental, OpenVoice utilizează două componente: un convertor de culoare tonală și un model de sinteză text-to-speech de bază. Modelul de sinteză text-to-speech de bază poate fi un model pentru un singur vorbitor sau un model pentru mai mulți vorbitori, permițând un control precis asupra parametrilor de stil, limbă și accent. Modelul generează o voce care este apoi transmisă convertorului de culoare tonală, care schimbă culoarea tonală a vorbitorului de bază în culoarea tonală a vorbitorului de referință.

OpenVoice oferă o mare flexibilitate atunci când vine vorba de modelul de sinteză text-to-speech de bază, deoarece poate angaja modelul VITS cu modificări minore care îi permit să accepte încorporări de limbă și stil în predictorul de durată și în codificatorul de text. Cadru poate, de asemenea, să angajeze modele cum ar fi Microsoft (MSFT ) TTS, care sunt comercial ieftine, sau să implementeze modele cum ar fi InstructTTS, care pot accepta prompturi de stil. Pentru moment, OpenVoice utilizează modelul VITS, deși și alte modele sunt opțiuni fezabile.

Referitor la a doua componentă, convertorul de culoare tonală este o componentă encoder-decoder care găzduiește un flux normalizator inversabil în centru. Componenta encoder din convertorul de culoare tonală este o rețea CNN unidimensională care acceptă spectrul Fourier transformat în timp scurt al modelului de sinteză text-to-speech de bază ca intrare. Encoderul generează apoi hărți de caracteristici ca ieșire. Extratorul de culoare tonală este o rețea CNN bidimensională simplă care operează asupra mel-spectrogramului vocii de intrare și generează un singur vector de caracteristici ca ieșire, care codifică informația culorii tonale. Straturile de flux normalizator acceptă hărțile de caracteristici generate de encoder ca intrare și generează o reprezentare a caracteristicilor care păstrează toate proprietățile de stil, dar elimină informația culorii tonale. OpenVoice aplică apoi straturile de flux normalizator în direcția inversă și ia reprezentările caracteristicilor ca intrare și produce straturile de flux normalizator. Cadru decodifică apoi straturile de flux normalizator în valuri brute utilizând o stivă de convoluții unidimensionale transpuse.

Arhitectura întreagă a OpenVoice este feed-forward, fără utilizarea niciunui component auto-regresiv. Componenta convertor de culoare tonală este similară conversiei vocii la nivel conceptual, dar se diferențiază în ceea ce privește funcționalitatea, obiectivele de antrenament și o predispoziție inductivă în structura modelului. Straturile de flux normalizator au aceeași structură ca modelele de sinteză text-to-speech bazate pe flux, dar se diferențiază în ceea ce privește funcționalitatea și obiectivele de antrenament.

Mai mult, există o abordare diferită pentru a extrage reprezentări caracteristice, metoda implementată de OpenVoice oferă o calitate a sunetului mai bună. De asemenea, este demn de remarcat faptul că OpenVoice nu are intenția de a inventa componente în arhitectura modelului, ci ambele componente principale, adică convertorul de culoare tonală și modelul de sinteză text-to-speech de bază, sunt ambele surse din lucrări existente. Obiectivul principal al OpenVoice este să formeze un cadru decupat care separă controlul limbii și al stilului vocii de clonarea culorii tonale. Deși abordarea este destul de simplă, ea este foarte eficientă, în special în sarcinile care controlează stiluri și accente sau în sarcinile de generalizare a limbilor noi. Atingerea aceluiași control atunci când se utilizează un cadru cuplat necesită o cantitate mare de calcul și date și nu se generalizează bine pentru limbi noi.

La nivel fundamental, filozofia principală a OpenVoice este să decupleze generarea limbii și a stilurilor vocii de la generarea culorii tonale. Una dintre principalele puteri ale OpenVoice este că vocea clonată este fluentă și de calitate ridicată, atâta timp cât modelul de sinteză text-to-speech pentru un singur vorbitor vorbește fluent.

OpenVoice: Experiment și Rezultate

Evaluarea sarcinilor de clonare a vocii este un obiectiv dificil din cauza numeroaselor motive. În primul rând, lucrările existente utilizează adesea seturi de date de antrenament și testare diferite, ceea ce face ca compararea acestor lucrări să fie în mod inerent injustă. Deși crowd-sourcing poate fi utilizat pentru a evalua metrice cum ar fi Scorul de Opinie Medie, dificultatea și diversitatea datelor de testare vor influența rezultatul final în mod semnificativ. În al doilea rând, diferitele metode de clonare a vocii au seturi de date de antrenament diferite, iar diversitatea și scala acestor date influențează rezultatele în mod semnificativ. În cele din urmă, obiectivul principal al lucrărilor existente diferă unele de altele, astfel încât ele diferă în funcționalitate.

Din cauza acestor trei motive, este injust să se compare numeric cadrele de clonare a vocii existente. În schimb, are mai mult sens să se compare aceste metode calitativ.

Clonarea Exactă a Culorii Tonale

Pentru a analiza performanța sa, dezvoltatorii construiesc un set de test cu indivizi anonimi, personaje de joc și celebrități care formează baza vorbitorului de referință și are o distribuție largă de voci, incluzând atât mostre neutre, cât și voci expresive unice. OpenVoice este capabil să cloneze culoarea tonală de referință și să genereze vorbire în multiple limbi și accente pentru oricare dintre vorbitorii de referință și cei 4 vorbitori de bază.

Control Flexibil asupra Stilurilor Vocii

Unul dintre obiectivele OpenVoice este să controleze stilurile vocii în mod flexibil utilizând convertorul de culoare tonală, care poate modifica culoarea tonală în timp ce păstrează toate celelalte caracteristici și proprietăți ale vocii.

Experimentele indică faptul că modelul păstrează stilurile vocii după conversia la culoarea tonală de referință. În unele cazuri, modelul neutralizează emoțiile ușor, o problemă care poate fi rezolvată prin transmiterea mai puține informații către straturile de flux, astfel încât acestea să nu poată elimina emoția. OpenVoice este capabil să păstreze stilurile de la vocea de bază datorită utilizării convertorului de culoare tonală. Acesta permite OpenVoice să manipuleze modelul de sinteză text-to-speech de bază pentru a controla ușor stilurile vocii.

Clonarea Vocii Cross-Linguale

OpenVoice nu include niciun set de date masiv de vorbitori pentru o limbă necunoscută, și totuși este capabil să atingă o clonare a vocii cross-linguale aproape zero-shot. Capabilitățile de clonare a vocii cross-linguale ale OpenVoice sunt duble:

  1. Modelul este capabil să cloneze culoarea tonală a vorbitorului de referință cu acuratețe atunci când limba vorbitorului de referință nu este văzută în setul de date multi-vorbitori multi-linguali sau MSML.
  2. Mai mult, în același eveniment în care limba vorbitorului de referință nu este văzută, OpenVoice este capabil să cloneze vocea vorbitorului de referință și să vorbească în limba respectivă, cu condiția ca modelul de sinteză text-to-speech de bază să suporte limba.

Gânduri Finale

În acest articol, am discutat despre OpenVoice, un cadru de clonare a vocii instantanee versatil care replică vocea oricărui utilizator și generează vorbire în multiple limbi utilizând un clip audio scurt de la vorbitorul de referință. Intuiția principală din spatele OpenVoice este că atâta timp cât un model nu trebuie să efectueze clonarea culorii tonale a vorbitorului de referință, un cadru poate angaja un model de sinteză text-to-speech de bază pentru a controla limba și stilurile vocii.

OpenVoice demonstrează că modelele de clonare a vocii instantanee pot replica culoarea tonală a vorbitorului de referință și pot obține un control granular asupra stilurilor vocii, inclusiv accent, ritm, intonație, pauze și chiar emoții. OpenVoice reușește să ofere rezultate superioare de clonare a vocii instantanee, fiind în același timp viabil din punct de vedere computațional, cu costuri de operare de până la 10 ori mai mici decât API-urile actuale disponibile cu performanțe inferioare.

Kunal Kejriwal este un inginer backend specializat în Python, PostgreSQL, Redis și infrastructură cloud pe GCP și AWS. Cu trei ani de experiență în construirea și scalarea sistemelor de producție, el scrie despre infrastructura AI, sistemele distribuite și arhitectura din spatele implementării sarcinilor de învățare automată.