Clonare de voce cu F5 și emoții cu Matcha, antrenate de la zero pe limba română
În octombrie am antrenat șase modele de sinteză pe 488 de ore de vorbire românească. Pagina prezintă cele două direcții principale. F5 v1 clonează o voce dintr-un singur clip. Matcha emotions v4 vorbește o emoție cerută în text, de exemplu [fericit] sau [furios: 0.5]. Pentru fiecare găsiți mostrele cele mai reușite, cazurile în care modelul greșește, datele de antrenare, jurnalul antrenării și metricile obiective.
Ce am antrenat și pe ce date
Toate modelele folosesc același frontend de text (normalizare, transcriere fonetică cu accent) și același vocoder pre-antrenat, Vocos (24 kHz). Diferă arhitectura și setul de date.
Rândurile evidențiate sunt modelele principale ale paginii. „Fine-tune” înseamnă că modelul pornește de la ponderile modelului de bază și continuă antrenarea pe un amestec de seturi; ponderea fiecărui set dintr-o trecere este dată în paranteză.
Clonarea vocii dintr-un singur clip
F5 v1 (158 M parametri, flow matching, 200 000 de pași) primește un clip de câteva secunde cu o voce și textul de rostit. Vocea nu trebuie să fi fost văzută la antrenare. Pentru fiecare voce, modelul a citit 14 texte: textul unei înregistrări reale a aceleiași persoane, 11 propoziții pe care niciun model nu le-a văzut și 2 propoziții din antrenare.
Cele mai reușite clone
Pentru fiecare voce: clipul primit de model, înregistrarea reală a unei propoziții și clona aceleiași propoziții, apoi o propoziție nouă. Sub fiecare clip apare ce a auzit Whisper.
Emoții cerute în text
Matcha emotions v4 pornește de la Matcha base v2, cel mai inteligibil model al lunii, și a fost antrenat 50 000 de pași pe un amestec de date. Jumătate dintr-o trecere este română neutră, ca modelul să nu uite limba, 30 % vorbire emoțională în engleză și 20 % în română. Emoția se cere ca etichetă cu intensitate și se traduce în valori arousal/dominance/valence relative la vocea neutră a vorbitorului.
Codificatorul este clasificatorul pe care l-a folosit modelul. Judecătorul este un clasificator independent (HuBERT-large, SUPERB) care cunoaște doar neutru, fericit, trist și furios; calmul și frica nu au judecător.
Intensitatea emoției
Cele mai reușite emoții
Fiecare mostră este însoțită de aceeași voce și propoziție rostite neutru, pentru comparație directă.
Cum au fost antrenate
Toate antrenările au rulat pe serverul prosys01, pe 4 plăci RTX 2080 Ti, în precizie de 16 biți. Fiecare antrenare a fost validată la fiecare 5 000 de pași. Experimentele de ascultare de la pașii intermediari măsoară cum crește calitatea pe parcursul antrenării.
F5 v1 · de la zero · 13–18 octombrie
- Pasul 15 000: ritm de vorbire și vocea corectă, dar fără cuvinte.
- Pasul 55 000: cuvintele încep să se înțeleagă (WER 89 %).
- Pasul 135 000: 64 de pași de eșantionare aduc un câștig de 3,1 puncte WER, dar dublează timpul de generare.
- Pasul 200 000: WER 15,4 % pe cele 9 voci, similaritate 0,961, aceeași ca a înregistrărilor reale.
- 79 de depășiri în virgulă mobilă de 16 biți au fost sărite automat, fără efect asupra antrenării.
Matcha base v2 · de la zero · 23–25 octombrie · baza lui Matcha emotions v4
Matcha emotions v4 · fine-tune · 25–26 octombrie
Toate cele șase modele, pe aceleași 51 de voci și 14 texte
Fiecare model a rostit aceleași texte în aceleași voci: 714 clipuri pe model. Barele arată media, iar liniile subțiri intervalul de încredere bootstrap de 95 %. Modelele principale ale paginii sunt în albastru.
PESQ, STOI și MCD pe clipuri aliniate în timp
PESQ și STOI compară cadru cu cadru două semnale care trebuie să aibă aceeași durată. De aceea se măsoară doar pentru Matcha, sintetizat cu duratele înregistrării reale. F5 generează liber, așa că pentru el aceste metrici nu au sens. Plafonul este înregistrarea trecută prin vocoder.
WER pe fiecare voce și model
Cele 41 de voci pe care le rostesc toate modelele, ordonate după WER-ul lui F5 v1. Cu cât celula este mai închisă, cu atât modelul greșește mai multe cuvinte.
Unde greșesc modelele și cum le putem îmbunătăți
Mostrele de mai jos au fost alese după metrici, nu după ureche: vocile cu cel mai mare WER la F5 și emoțiile pe care Matcha nu le redă. Fiecare are o explicație și o direcție concretă de îmbunătățire.
F5 v1: vocea e corectă, cuvintele nu
Matcha emotions v4: emoții slabe sau greșite
Planul pentru luna următoare
Mai multă emoție în română
Corpusul înregistrat cu aplicația din septembrie (8 vorbitori, 6 emoții) înlocuiește cele 3,7 ore de CATA și TIBI. Fine-tuning-ul se oprește la primul semn de supraînvățare pe emotion_dev.
F5 de la un model pre-antrenat
Problema lui F5 este alinierea text–sunet, nu vocea. Pornind de la un F5-TTS pre-antrenat multilingv, modelul păstrează clonarea și învață româna mai repede.
Un judecător pentru toate emoțiile
Judecătorul actual cunoaște doar 4 emoții și aude 58 % din clipurile neutre ca nefiind neutre. Un test de ascultare cu evaluatori umani (MOS și recunoașterea emoției) va completa metricile.