AI-modeller och plattformar

OpenVoice: Möjliggör Flexibel Instant Röstkloning

mm
Lägg till Unite.AI bland dina föredragna källor på Google

I Text-to-Speech-syntes (TTS) möjliggör Instant Voice Cloning (IVC) att TTS-modellen kan klona rösten hos en referensspeakare med hjälp av ett kort ljudprov, utan att kräva någon ytterligare utbildning för referensspeakaren. Denna teknik kallas också Zero-Shot Text-to-Speech Synthesis. Instant Voice Cloning-tillvägagångssättet möjliggör flexibel anpassning av den genererade rösten och visar sig vara värdefullt i en mängd olika situationer, inklusive anpassade chatbots, innehållsskapande och interaktioner mellan människor och stora språkmodeller (LLM).

Även om de nuvarande röstkloningsramverken fungerar bra, är de förknippade med några utmaningar inom området, inklusive Flexibel Röststilskontroll, dvs modellerna saknar förmågan att manipulera röststilar flexibelt efter kloning av rösten. En annan stor utmaning som möter de nuvarande instantkloningsramverken är Zero-Shot Cross-Lingual Voice Cloning, dvs för utbildningsändamål kräver nuvarande modeller tillgång till en omfattande stor-speakermulti-lingual eller MSML-dataset, oavsett språk.

För att tackla dessa problem och bidra till förbättringen av instant röstkloningsmodeller har utvecklare arbetat med OpenVoice, ett flexibelt instant röstkloningsramverk som replikerar rösten hos en användare och genererar tal i flera språk med hjälp av ett kort ljudklipp från referensspeakaren. OpenVoice visar att Instant Voice Cloning-modeller kan replikera tonfärgen hos referensspeakaren och uppnå granulär kontroll över röststilar, inklusive accent, rytm, intonation, pauser och till och med känslor. Vad som är ännu mer imponerande är att OpenVoice-ramverket också visar på anmärkningsvärda förmågor i att uppnå zero-shot cross-lingual röstkloning för språk utanför MSML-datasetet, vilket möjliggör för OpenVoice att klonera röster till nya språk utan omfattande förutbildning för det språket. OpenVoice lyckas leverera överlägsna instant röstkloningsresultat samtidigt som det är beräkningsmässigt genomförbart med driftskostnader som är upp till 10 gånger lägre än nuvarande tillgängliga API:er med sämre prestanda.

I den här artikeln kommer vi att prata om OpenVoice-ramverket i detalj och vi kommer att avslöja dess arkitektur som möjliggör att det levererar överlägsen prestanda över instant röstkloningsuppgifter. Så låt oss komma igång.

OpenVoice: Möjliggör Flexibel Instant Röstkloning

Som nämnts tidigare möjliggör Instant Voice Cloning, också kallat Zero-Shot Text to Speech Synthesis, att TTS-modellen kan klona rösten hos en referensspeakare med hjälp av ett kort ljudprov utan behov av någon ytterligare utbildning för referensspeakaren. Instant Voice Cloning har alltid varit ett hett forskningsområde med befintliga arbeten som inkluderar XTTS- och VALLE-ramverk som extraherar speakar-embedding och/eller akustiska token från referensljudet som tjänar som en villkor för den auto-regressiva modellen. Den auto-regressiva modellen genererar sedan akustiska token sekventiellt och dekoderar sedan dessa token till en rå ljudvåg.

Även om auto-regressiva instant röstkloningsmodeller klonar tonfärgen anmärkningsvärt, brister de i att manipulera andra stilparametrar, inklusive accent, känslor, pauser och rytm. Dessutom upplever auto-regressiva modeller låg inferenshastighet och deras driftskostnader är ganska höga. Befintliga tillvägagångssätt som YourTTS-ramverket använder ett icke-auto-regressivt tillvägagångssätt som visar på betydligt snabbare inferens tal över auto-regressiva ramverk, men kan fortfarande inte erbjuda användarna flexibel kontroll över stilparametrar. Dessutom behöver både auto-regressiva och icke-auto-regressiva instant röstkloningsramverk tillgång till en stor MSML- eller massive-speakermulti-lingual dataset för cross-lingual röstkloning.

För att tackla utmaningarna som möter de nuvarande instant röstkloningsramverken har utvecklare arbetat med OpenVoice, ett öppen källkods instant röstkloningsbibliotek som syftar till att lösa följande utmaningar som möter nuvarande IVC-ramverk.

  1. Den första utmaningen är att möjliggöra för IVC-ramverk att ha flexibel kontroll över stilparametrar utöver tonfärg, inklusive accent, rytm, intonation och pauser. Stilparametrar är avgörande för att generera naturliga samtal och tal snarare än att berätta inmatningstexten monotonously.
  2. Den andra utmaningen är att möjliggöra för IVC-ramverk att klona cross-linguala röster i en zero-shot-inställning.
  3. Den tredje utmaningen är att uppnå hög realtidsinferenshastighet utan att försämra kvaliteten.

För att tackla de två första hindren är arkitekturen i OpenVoice-ramverket utformad för att koppla loss komponenter i rösten så mycket som möjligt. Dessutom genererar OpenVoice tonfärg, språk och andra röstfunktioner oberoende, vilket möjliggör för ramverket att flexibelt manipulera enskilda språktyper och röststilar. OpenVoice-ramverket tacklar den tredje utmaningen som standard eftersom den kopplade strukturen minskar beräkningskomplexitet och modellstorlekskrav.

OpenVoice: Metodik och Arkitektur

Det tekniska ramverket för OpenVoice är effektivt och förvånansvärt enkelt att implementera. Det är ingen hemlighet att kloning av tonfärg för en speakare, lägga till ett nytt språk och möjliggöra flexibel kontroll över röstparametrar samtidigt kan vara utmanande. Det är så eftersom utförandet av dessa tre uppgifter samtidigt kräver att de kontrollerade parametrarna skär varandra med hjälp av en stor mängd kombinatoriska dataset. Dessutom är det i vanliga fall med en enskild speakare text-to-speech-syntes lättare att lägga till kontroll över andra stilparametrar. Utifrån detta syftar OpenVoice-ramverket till att koppla loss Instant Voice Cloning-uppgifterna i underuppgifter. Modellen föreslår att använda en bas-speakare Text-to-Speech-modell för att kontrollera språk och stilparametrar och använder en tonfärgsomvandlare för att inkludera referenstonfärgen i den genererade rösten.

I sin kärna använder OpenVoice-ramverket två komponenter: en tonfärgsomvandlare och en bas-speakare Text-to-Speech-modell. Bas-speakare Text-to-Speech-modellen är antingen en enkel-speakare eller en multi-speakare som tillåter exakt kontroll över stilparametrar, språk och accent. Modellen genererar en röst som sedan skickas till tonfärgsomvandlaren, som ändrar bas-speakarens tonfärg till referensspeakarens tonfärg.

OpenVoice-ramverket erbjuder en hel del flexibilitet när det gäller bas-speakare Text-to-Speech-modellen, eftersom den kan använda VITS-modellen med mindre ändringar som tillåter den att acceptera språk- och stilinbäddningar i dess varaktighetsprediktor och textkodare. Ramverket kan också använda modeller som Microsoft (MSFT ) TTS som är kommersiellt billiga eller det kan distribuera modeller som InstructTTS som kan acceptera stilprompt. För tillfället använder OpenVoice-ramverket VITS-modellen, även om de andra modellerna också är ett genomförbart alternativ.

När det gäller den andra komponenten är tonfärgsomvandlaren en encoder-decoder-komponent som innehåller en inverserbar normaliseringsflöde i mitten. Encoder-komponenten i tonfärgsomvandlaren är en en-dimensionell CNN som accepterar den kort-tids-Fourier-transformerade spektren av bas-speakare Text-to-Speech-modellen som indata. Encodern genererar sedan funktionella kartor som utdata. Tonfärgsextraheraren är en enkel två-dimensionell CNN som opererar på mel-spektrogrammet av inmatningsrösten och genererar en enda funktionell vektor som utdata som kodar informationen om tonfärgen. Normaliseringsflödeslagren accepterar de funktionella kartorna som genereras av encodern som indata och genererar en funktionell representation som bevarar alla stilparametrar men eliminerar tonfärgsinformationen. OpenVoice-ramverket tillämpar sedan normaliseringsflödeslagren i den inversa riktningen och tar de funktionella representationerna som indata och utdata normaliseringsflödeslagren. Ramverket dekoderar sedan normaliseringsflödeslagren till råa vågor med hjälp av en stapel av transponerade en-dimensionella konvolutioner.

Hela arkitekturen för OpenVoice-ramverket är feed-forward utan användning av någon auto-regressiv komponent. Tonfärgsomvandlarkomponenten är liknande röstkonvertering på ett konceptuellt plan men skiljer sig i termer av funktionalitet, utbildningsmål och en induktiv bias i modellstrukturen. Normaliseringsflödeslagren delar samma struktur som flödesbaserade text-to-speech-modeller men skiljer sig i termer av funktionalitet och utbildningsmål.

Dessutom finns det en annan metod för att extrahera funktionella representationer, den metod som implementeras av OpenVoice-ramverket levererar bättre ljudkvalitet. Det är också värt att notera att OpenVoice-ramverket inte har för avsikt att uppfinna komponenter i modellarkitekturen, utan båda huvudkomponenterna, dvs tonfärgsomvandlaren och bas-speakare Text-to-Speech-modellen, är båda källor från befintliga arbeten. Det primära målet för OpenVoice-ramverket är att forma ett kopplat ramverk som separerar språkkontrollen och röststilen från tonfärgskloningen. Även om tillvägagångssättet är ganska enkelt, är det ganska effektivt, särskilt på uppgifter som kontrollerar stilar och accenter eller nya språkgeneraliseringsuppgifter. Att uppnå samma kontroll när man använder ett kopplat ramverk kräver en stor mängd beräkningar och data, och det generaliserar inte väl till nya språk.

I sin kärna är den huvudsakliga filosofin för OpenVoice-ramverket att koppla loss genereringen av språk och röststilar från genereringen av tonfärg. En av de stora styrkorna med OpenVoice-ramverket är att den klonade rösten är flytande och av hög kvalitet så länge som den enskilda speakarens TTS talar flytande.

OpenVoice: Experiment och Resultat

Att utvärdera röstkloningsuppgifter är ett svårt objekt på grund av många skäl. Först och främst använder befintliga arbeten ofta olika tränings- och testdata, vilket gör det omöjligt att jämföra dessa arbeten på ett rättvist sätt. Även om crowd-sourcing kan användas för att utvärdera metriker som Mean Opinion Score, kommer svårigheten och mångfalden av testdatat att påverka det övergripande resultatet avsevärt. För det andra har olika röstkloningsmetoder olika träningsdata, och mångfalden och skalan av denna data påverkar resultaten avsevärt. Slutligen skiljer sig det primära målet för befintliga arbeten från varandra, och de skiljer sig därför i sin funktionalitet.

På grund av de tre skäl som nämns ovan är det orättvist att jämföra befintliga röstkloningsramverk numeriskt. Istället är det mer meningsfullt att jämföra dessa metoder kvalitativt.

Exakt Tonfärgskloning

För att analysera dess prestanda bygger utvecklare en testuppsättning med anonyma individer, spelkaraktärer och kändisar som utgör referensspeakarbasen och har en bred röstdistribution, inklusive både neutrala prover och unika uttrycksfulla röster. OpenVoice-ramverket kan klona referenstonfärgen och generera tal i flera språk och accenter för någon av referensspeakarna och de 4 bas-speakarna.

Flexibel Kontroll över Röststilar

Ett av de mål som OpenVoice-ramverket har är att kontrollera talstilarna flexibelt med hjälp av tonfärgsomvandlaren som kan ändra tonfärgen samtidigt som den bevarar alla andra röstfunktioner och egenskaper.

Experiment visar att modellen bevarar röststilarna efter omvandling till referenstonfärgen. I vissa fall neutraliserar modellen känslorna något, ett problem som kan lösas genom att skicka mindre information till flödeslagren så att de inte kan bli av med känslan. OpenVoice-ramverket kan bevara stilarna från basrösten tack vare användningen av en tonfärgsomvandlare. Det möjliggör för OpenVoice-ramverket att manipulera bas-speakare Text-to-Speech-modellen för att enkelt kontrollera röststilarna.

Cross-Lingual Röstklon

OpenVoice-ramverket innehåller inte någon stor-speakermulti-lingual data för ett osynligt språk, men det kan ändå uppnå nästan cross-lingual röstkloning i en zero-shot-inställning. Cross-lingual röstkloningsförmågorna för OpenVoice-ramverket är tvåfaldiga:

  1. Modellen kan klona tonfärgen hos referensspeakaren exakt när språket för referensspeakaren inte syns i den multi-speakermulti-linguala eller MSML-datasetet.
  2. Dessutom, i samma händelse som språket för referensspeakaren inte syns, kan OpenVoice-ramverket klona rösten hos referensspeakaren och tala på språket under förutsättning att bas-speakare Text-to-Speech-modellen stöder språket.

Slutliga Tankar

I den här artikeln har vi pratat om OpenVoice, ett flexibelt instant röstkloningsramverk som replikerar rösten hos en användare och genererar tal i flera språk med hjälp av ett kort ljudklipp från referensspeakaren. Den primära intuitionen bakom OpenVoice är att så länge en modell inte behöver utföra tonfärgskloning av referensspeakaren, kan ett ramverk använda en bas-speakare Text-to-Speech-modell för att kontrollera språk och röststilar.

OpenVoice visar att Instant Voice Cloning-modeller kan replikera tonfärgen hos referensspeakaren och uppnå granulär kontroll över röststilar, inklusive accent, rytm, intonation, pauser och till och med känslor. OpenVoice lyckas leverera överlägsna instant röstkloningsresultat samtidigt som det är beräkningsmässigt genomförbart med driftskostnader som är upp till 10 gånger lägre än nuvarande tillgängliga API:er med sämre prestanda.

En ingenjör till yrket, en författare av hjärtat. Kunal är en teknisk skribent med ett djupt kärlek och förståelse för AI och ML, dedikerad till att förenkla komplexa begrepp inom dessa områden genom sin engagerande och informativa dokumentation.