Best practices
Deze gids biedt technieken om text-to-speechuitvoer met ElevenLabs-modellen te verbeteren. Experimenteer met deze methoden om te ontdekken wat het beste werkt voor jouw behoeften.
Bediening
We werken actief aan Director’s Mode om je nog meer controle over de output te geven.
Deze technieken bieden een praktische manier om genuanceerde resultaten te bereiken totdat geavanceerde functies zoals Director’s Mode worden uitgerold.
Pauzes
Eleven v4 en Eleven v3 ondersteunen geen SSML-breaktags. Gebruik de technieken die worden beschreven in de sectie Eleven v4 prompten om pauzes te regelen.
Gebruik <break time="x.xs" /> voor natuurlijke pauzes van maximaal 3 seconden.
Te veel breaktags in één generatie gebruiken kan instabiliteit veroorzaken. De AI kan sneller gaan spreken of extra ruis of audioartefacten toevoegen. We werken eraan om dit op te lossen.
- Consistentie: Gebruik
<break>-tags consequent om een natuurlijke spraakstroom te behouden. Overmatig gebruik kan tot instabiliteit leiden. - Stemspecifiek gedrag: Verschillende stemmen kunnen pauzes anders verwerken, vooral stemmen die zijn getraind met opvulgeluiden zoals “uh” of “ah”.
Alternatieven voor <break> zijn streepjes (- of —) voor korte pauzes of beletseltekens (…) voor aarzelende tonen. Deze zijn echter minder consistent.
Uitspraak
IPA met Eleven v4
Eleven v4 (eleven_v4) bevat verbeterde ingebouwde ondersteuning voor het International Phonetic Alphabet, oftewel IPA, waarmee je de uitspraak van namen, technische termen en andere woorden die speciale behandeling nodig hebben nauwkeuriger kunt regelen. De IPA-uitspraak is consistenter dan in eerdere modellen, maar de resultaten kunnen nog steeds per stem en frase verschillen. We raden aan belangrijke uitspraken met je gekozen stem te testen voordat je erop vertrouwt in productie.
In tegenstelling tot oudere modellen die foneme-tags in XML-stijl vereisen, begrijpt Eleven v4 IPA-symbolen wanneer je ze tussen schuine strepen in je tekst plaatst:
De IPA-transcriptie moet:
- Aan het begin en einde tussen schuine strepen (
/) staan - Met standaard-IPA-symbolen worden geschreven
- Tussen dubbele aanhalingstekens staan wanneer deze als stringparameter wordt doorgegeven
Codevoorbeelden
Je kunt meerdere IPA-transcripties in één tekststring opnemen:
Aanbevolen werkwijzen
- Gebruik standaard-IPA-symbolen uit de tabel van het International Phonetic Alphabet
- Neem klemtoonmarkeringen op: primaire klemtoon (ˈ) en secundaire klemtoon (ˌ) voor woorden met meerdere lettergrepen
- Pas dit selectief toe: plaats alleen specifieke woorden of zinnen die uitspraakcontrole nodig hebben tussen schuine strepen
- Test met je stem: verschillende stemmen kunnen IPA iets anders interpreteren
Problemen oplossen
De uitspraak is nog steeds onjuist
Controleer met een IPA-woordenboek of je IPA-transcriptie correct is. Gebruik klemtoonmarkeringen (ˈ voor primaire klemtoon, ˌ voor secundaire klemtoon) voor woorden met meerdere lettergrepen. Test met verschillende stemmen, omdat sommige IPA nauwkeuriger kunnen interpreteren dan andere.
Inconsistente resultaten met dezelfde IPA
De IPA-uitspraak is consistenter dan in eerdere modellen, maar de resultaten kunnen nog steeds per stem en frase verschillen. We raden aan belangrijke uitspraken met je gekozen stem te testen voordat je erop vertrouwt in productie. Als je een consistent resultaat nodig hebt, genereer dan meerdere keren en selecteer het beste resultaat.
Foneme-tags voor v2-modellen
Geef de uitspraak op met SSML-foneme-tags in v2-modellen. Ondersteunde alfabetten zijn onder meer CMU Arpabet en het International Phonetic Alphabet (IPA).
Foneme-tags zijn alleen compatibel met het eleven_flash_v2-model.
We raden aan CMU Arpabet te gebruiken voor consistente en voorspelbare resultaten met v2-modellen. Hoewel IPA effectief kan zijn, biedt CMU Arpabet over het algemeen betrouwbaardere prestaties.
Foneme-tags werken alleen voor afzonderlijke woorden. Als je een naam met een voor- en achternaam hebt die je op een bepaalde manier wilt laten uitspreken, moet je voor elk woord een foneme-tag maken.
Zorg voor een correcte klemtoonmarkering bij woorden met meerdere lettergrepen om een nauwkeurige uitspraak te behouden:
Alias-tags
Voor modellen die geen foneme-tags ondersteunen, kun je woorden fonetischer proberen te schrijven. Je kunt ook verschillende trucs gebruiken, zoals hoofdletters, streepjes, apostrofs of zelfs enkele aanhalingstekens rond een letter of letters.
Een woord als “trapezii” kun je bijvoorbeeld schrijven als “trapezIi” om de “ii” in het woord meer nadruk te geven.
Je kunt het woord rechtstreeks in je tekst vervangen. Als je bij het gebruik van een uitspraakwoordenboek de uitspraak met andere woorden of zinnen wilt opgeven, kun je hiervoor alias-tags gebruiken. Dit kan nuttig zijn wanneer je genereert met Multilingual v2, dat geen foneme-tags ondersteunt. Je kunt uitspraakwoordenboeken gebruiken met ElevenCreative Studio, Dubbing Studio en Speech Synthesis via de API.
Als je tekst bijvoorbeeld een naam bevat met een ongebruikelijke uitspraak waar de AI moeite mee kan hebben, kun je een alias-tag gebruiken om op te geven hoe je wilt dat deze wordt uitgesproken:
Als je zeker wilt weten dat een acroniem altijd op een bepaalde manier wordt uitgesproken wanneer het in je tekst voorkomt, kun je dit met een alias-tag opgeven:
Uitspraakwoordenboeken
Met sommige van onze tools, zoals ElevenCreative Studio en Dubbing Studio, kun je een uitspraakwoordenboek maken en uploaden. Hiermee kun je de uitspraak van bepaalde woorden, zoals namen van personages of merken, opgeven, of aangeven hoe acroniemen moeten worden uitgesproken.
Uitspraakwoordenboeken bieden deze functionaliteit doordat je een lexicon- of woordenboekbestand kunt uploaden waarin paren van woorden en hun uitspraak zijn opgegeven, met een fonetisch alfabet of woordvervangingen.
Wanneer een van deze woorden in een project wordt aangetroffen, spreekt het AI-model het woord uit met de opgegeven vervanging.
Als je een uitspraakwoordenboekbestand wilt toevoegen, open je de instellingen van een project en upload je een bestand in TXT of PLS-indeling. Wanneer een woordenboek aan een project wordt toegevoegd, wordt automatisch opnieuw berekend welke delen van het project met het nieuwe woordenboekbestand opnieuw moeten worden geconverteerd. Deze worden vervolgens gemarkeerd als niet geconverteerd.
Momenteel ondersteunen we alleen uitspraakwoordenboeken die vervangingen opgeven met foneme- of alias-tags.
Zowel fonemen als aliassen zijn reeksen regels die opgeven naar welk woord of welke zin ze zoeken, een grafeem genoemd, en waarmee dit wordt vervangen. Let op: zoekopdrachten zijn hoofdlettergevoelig. Bij het controleren op een vervangend woord in een uitspraakwoordenboek wordt het woordenboek van begin tot eind doorlopen en alleen de allereerste vervanging gebruikt.
Voorbeelden van uitspraakwoordenboeken
Hier zijn voorbeelden van uitspraakwoordenboeken in zowel CMU Arpabet als IPA, met een foneem om de uitspraak van “Apple” op te geven en een alias om “UN” te vervangen door “United Nations”:
Er zijn enkele open-sourcetools beschikbaar om een .pls-bestand voor een uitspraakwoordenboek te genereren:
- Sequitur G2P - Open-sourcetool die uitspraakregels leert uit data en fonetische transcripties kan genereren.
- Phonetisaurus - Open-source G2P-systeem dat is getraind op bestaande woordenboeken zoals CMUdict.
- eSpeak - Spraaksynthesizer die fonemische transcripties uit tekst kan genereren.
- CMU Pronouncing Dictionary - Een kant-en-klaar Engels woordenboek met fonetische transcripties.
Emotie
Breng emoties over via narratieve context of expliciete dialoogtags. Deze aanpak helpt de AI de toon en emotie te begrijpen die moeten worden nagebootst.
Expliciete dialoogtags leveren voorspelbaardere resultaten op dan uitsluitend op context vertrouwen. Het model spreekt de aanwijzingen voor de emotionele voordracht echter nog steeds uit. Je kunt deze indien gewenst in de postproductie met een audio-editor verwijderen.
Tempo
Het tempo van de audio wordt sterk beïnvloed door de audio die is gebruikt om de stem te maken. Wanneer je je stem maakt, raden we aan langere, doorlopende samples te gebruiken om tempoproblemen zoals onnatuurlijk snelle spraak te voorkomen.
Om de snelheid van de gegenereerde audio te regelen, kun je de snelheidsinstelling gebruiken. Hiermee kun je de snelheid van de gegenereerde spraak verhogen of verlagen. De snelheidsinstelling is beschikbaar in Text to Speech via de website en API, en in ElevenCreative Studio en Agents Platform. Je vindt deze in de steminstellingen.
De standaardwaarde is 1.0, wat betekent dat de snelheid niet wordt aangepast. Waarden onder 1.0 vertragen de stem, tot minimaal 0.7. Waarden boven 1.0 versnellen de stem, tot maximaal 1.2. Extreme waarden kunnen de kwaliteit van de gegenereerde spraak beïnvloeden.
Je kunt het tempo ook regelen door in een natuurlijke, narratieve stijl te schrijven.
Tips
Veelvoorkomende problemen
Inconsistente pauzes: zorg dat de syntaxis
<break time=“x.xs” />voor pauzes wordt gebruikt.- Uitspraakfouten: gebruik CMU Arpabet- of IPA-foneme-tags voor een nauwkeurige uitspraak.
- Niet-passende emotie: voeg narratieve context of expliciete tags toe om de emotie te sturen. Vergeet niet alle tekst met emotionele aanwijzingen in de postproductie te verwijderen.
Tips om de output te verbeteren
Experimenteer met alternatieve formuleringen om het gewenste tempo of de gewenste emotie te bereiken. Deel prompts voor complexe geluidseffecten op in kleinere, opeenvolgende elementen en combineer de resultaten handmatig.
Creatieve controle
Hoewel we actief werken aan een “Director’s Mode” om gebruikers nog meer controle over de output te geven, volgen hier enkele tijdelijke technieken om creativiteit en precisie te maximaliseren:
Narratieve stijl
Schrijf prompts in een narratieve stijl, vergelijkbaar met scriptschrijven, om toon en tempo effectief te sturen.
Gelaagde output
Genereer geluidseffecten of spraak in segmenten en voeg deze met audiobewerkingssoftware samen voor complexere composities.
Fonetisch experimenteren
Als de uitspraak niet perfect is, experimenteer dan met alternatieve spellingen of fonetische benaderingen om de gewenste resultaten te bereiken.
Tekstnormalisatie
Wanneer je Text to Speech gebruikt met complexe elementen zoals telefoonnummers, postcodes en e-mails, kunnen deze verkeerd worden uitgesproken. Dit komt vaak doordat de specifieke elementen niet in de trainingsset staan en kleinere modellen niet goed kunnen generaliseren hoe ze moeten worden uitgesproken. Deze handleiding verduidelijkt wanneer deze verschillen optreden en hoe je ze correct laat uitspreken.
Normalisatie is standaard ingeschakeld voor alle TTS-modellen om de uitspraak van cijfers, datums en andere complexe tekstelementen te verbeteren.
Waarom lezen modellen invoer anders voor?
Bepaalde modellen zijn getraind om cijfers en zinnen op een menselijkere manier voor te lezen. Zo wordt de zin “$1,000,000” door het model Eleven Multilingual v2 correct voorgelezen als “one million dollars”. Dezelfde zin wordt door het model Eleven Flash v2.5 echter voorgelezen als “one thousand thousand dollars”.
De reden hiervoor is dat het model Multilingual v2 groter is en het voorlezen van cijfers beter kan generaliseren op een manier die natuurlijker is voor menselijke luisteraars, terwijl het model Flash v2.5 veel kleiner is en dat daarom niet kan.
Veelvoorkomende voorbeelden
Text to Speech-modellen kunnen moeite hebben met het volgende:
- Telefoonnummers (“123-456-7890”)
- Valuta (“$47,345.67”)
- Agenda-afspraken (“2024-01-01”)
- Tijd (“9:23 AM”)
- Adressen (“123 Main St, Anytown, USA”)
- URL’s (“example.com/link/to/resource”)
- Afkortingen voor eenheden (“TB” in plaats van “Terabyte”)
- Sneltoetsen (“Ctrl + Z”)
Beperken
Gebruik getrainde modellen
De eenvoudigste manier om dit te beperken is een TTS-model te gebruiken dat is getraind om cijfers en zinnen op een menselijkere manier voor te lezen, zoals het model Eleven Multilingual v2. Dit is echter niet altijd mogelijk, bijvoorbeeld als je een use case hebt waarbij lage latentie essentieel is (zoals conversationele agents).
Pas normalisatie toe in LLM-prompts
Wanneer je een LLM gebruikt om de tekst voor TTS te genereren, kun je normalisatie-instructies aan de prompt toevoegen.
Gebruik duidelijke en expliciete prompts
LLM’s reageren het best op gestructureerde en expliciete instructies. Je prompt moet duidelijk aangeven dat je tekst wilt laten omzetten naar een leesbare indeling voor spraak.
Verwerk verschillende getalnotaties
Niet alle getallen worden op dezelfde manier voorgelezen. Overweeg hoe verschillende typen getallen moeten worden uitgesproken:
- Hoofdtelwoorden: 123 → “one hundred twenty-three”
- Rangtelwoorden: 2nd → “second”
- Geldbedragen: $45.67 → “forty-five dollars and sixty-seven cents”
- Telefoonnummers: “123-456-7890” → “one two three, four five six, seven eight nine zero”
- Decimalen en breuken: “3.5” → “three point five”, “⅔” → “two-thirds”
- Romeinse cijfers: “XIV” → “fourteen” (of “the fourteenth” als het een titel is)
Verwijder of schrijf afkortingen voluit
Veelvoorkomende afkortingen moeten voor duidelijkheid worden uitgeschreven:
- “Dr.” → “Doctor”
- “Ave.” → “Avenue”
- “St.” → “Street” (maar “St. Patrick” moet behouden blijven)
Je kunt in je prompt expliciet vragen om uit te schrijven:
Expand all abbreviations to their full spoken forms.
Alfanumerieke normalisatie
Niet alle normalisatie gaat over cijfers; bepaalde alfanumerieke zinnen moeten ook voor de duidelijkheid worden genormaliseerd:
- Sneltoetsen: “Ctrl + Z” → “control z”
- Afkortingen voor eenheden: “100km” → “one hundred kilometers”
- Symbolen: “100%” → “one hundred percent”
- URL’s: “elevenlabs.io/docs” → “eleven labs dot io slash docs”
- Agenda-afspraken: “2024-01-01” → “January first, two-thousand twenty-four”
Houd rekening met randgevallen
Verschillende contexten kunnen verschillende omzettingen vereisen:
- Datums: “01/02/2023” → “January second, twenty twenty-three” of “the first of February, twenty twenty-three” (afhankelijk van de landinstelling)
- Tijd: “14:30” → “two thirty PM”
Als je een specifiek formaat nodig hebt, vermeld dit dan expliciet in de prompt.
Alles samenvoegen
Deze prompt is een goed startpunt voor de meeste use cases:
Gebruik reguliere expressies voor preprocessing
Als je code gebruikt om een LLM te prompten, kun je reguliere expressies gebruiken om de tekst te normaliseren voordat je deze aan het model geeft. Dit is een geavanceerdere techniek en vereist enige kennis van reguliere expressies. Hier zijn enkele eenvoudige voorbeelden:
Prompts voor Eleven v4
Dit gedeelte is geschreven voor Eleven v4. Veel van de onderstaande technieken zijn ook van toepassing op Eleven v3. Over het algemeen is Eleven v4 een duidelijke verbetering ten opzichte van Eleven v3 en levert het in bijna alle gevallen betere resultaten. We raden sterk aan om over te stappen op v4 en het met je eigen stemmen en content te testen, zodat je zelf het verschil kunt ervaren. Hoewel sommige uitzonderlijke gevallen om een andere keuze kunnen vragen, zullen de meeste gebruikers v4 de betere keuze vinden.
Zie Eleven v4 voor de veranderingen in het model — stemklonen, accentverwerking, varianten en vergelijkingen.
Eleven v4 en Eleven v3 ondersteunen geen SSML-breaktags. Gebruik audiotags, interpunctie (weglatingstekens) en tekststructuur om pauzes en tempo te regelen.
Stemselectie
De stem blijft belangrijk. Een voordracht die al in de trainingsdata aanwezig is — fluisteren, schreeuwen, een bepaalde voordracht — is voor het model makkelijker te reproduceren. Iets vragen dat buiten die data valt, is moeilijker. Eleven v4 volgt audiotags betrouwbaarder dan eerdere modellen, ook wanneer de stem niet op die voordracht is getraind. Een stem die nooit heeft gefluisterd, zou [whispering] nog steeds moeten kunnen volgen, en een stem die nooit heeft geschreeuwd, zou [shouting] nog steeds moeten kunnen volgen. Dit kan echter minder betrouwbaar zijn en het resultaat is mogelijk niet optimaal. Uit vroege tests blijkt dat het behoorlijk goed werkt. We raden sterk aan om dit zelf te testen met de stem die je wilt gebruiken en voor je specifieke toepassing.
Audiotags
Met audiotags (bijv. [whispering], [shouting], [laughing]) kun je de voordracht nauwkeurig aansturen, en Eleven v4 verwerkt ze met meer nuance dan eerdere modellen. Ze zijn nog niet perfect en we blijven verbeteren hoe betrouwbaar het model taginstructies volgt — dit is een gebied waarin we actief blijven investeren en het zal steeds beter worden.
Duidelijk aangeven wat je wilt, helpt enorm. Omdat Eleven v4 is getraind om zowel vocale voordrachtstijlen als geluidseffecten te genereren, kan een tag soms worden geïnterpreteerd als een verzoek om een geluidseffect in plaats van een voordrachtsinstructie (of andersom). Tags schrijven die de gewenste stemkwaliteit duidelijk beschrijven (bijv. [low, gravelly voice] in plaats van iets dat als geluidssignaal kan worden gelezen) helpt het model te leveren wat je bedoelde. We raden aan om je specifieke tags en formuleringen voor je toepassing te testen; dit zal naar verwachting blijven verbeteren.
Tags werken beter wanneer de voordracht al in de trainingsdata van de stem aanwezig is. Eleven v4 kan
nog steeds een tag volgen waarop de stem niet is getraind, zoals [whispering] of [shouting], al
is het resultaat mogelijk niet optimaal.
Stemgerelateerd
Deze tags regelen de vocale voordracht en emotionele expressie:
[laughs],[laughs harder],[starts laughing],[wheezing][whispers][sighs],[exhales][sarcastic],[curious],[excited],[crying],[snorts],[mischievously]
Geluidseffecten
Voeg omgevingsgeluiden en effecten toe:
[gunshot],[applause],[clapping],[explosion][swallows],[gulps]
Uniek en speciaal
Experimentele tags voor creatieve toepassingen:
[strong X accent](vervang X door het gewenste accent)[sings],[woo],[fart]
Sommige experimentele tags kunnen minder consistent werken voor verschillende stemmen. Test grondig vóór gebruik in productie.
Interpunctie
Interpunctie heeft in v4 grote invloed op de voordracht:
- Weglatingstekens (…) voegen pauzes en nadruk toe
- Hoofdletters versterken de nadruk
- Standaardinterpunctie zorgt voor een natuurlijk spraakritme
Voorbeelden met één spreker
Gebruik tags bewust en laat ze passen bij het karakter van de stem. Een meditatieve stem hoort niet te schreeuwen; een enthousiaste stem fluistert niet overtuigend.
Expressieve monoloog
Dynamisch en humoristisch
Simulatie van klantenservice
Dialoog met meerdere sprekers
v4 kan prompts met meerdere stemmen effectief verwerken. Wijs elke spreker een afzonderlijke stem uit je Voice Library toe om realistische gesprekken te creëren.
Dialoogdemonstratie
Glitchkomedie
Overlappende timing
Invoer verbeteren
In de ElevenLabs-UI kun je automatisch relevante audiotags voor je invoertekst genereren door op de knop “Enhance” te klikken. Achter de schermen wordt hiervoor een LLM gebruikt om je invoertekst met de volgende prompt te verbeteren:
Tips
Tagcombinaties
Je kunt meerdere audiotags combineren voor complexe emotionele voordracht. Experimenteer met verschillende combinaties om te ontdekken wat het beste werkt voor je stem.
Stemmatching
Laat tags aansluiten op het karakter en de trainingsdata van je stem. Een serieuze, professionele stem reageert mogelijk niet
goed op speelse tags zoals [giggles] of [mischievously].
Tekststructuur
Tekststructuur heeft grote invloed op de output van v4. Gebruik natuurlijke spreekpatronen, correcte interpunctie en een duidelijke emotionele context voor de beste resultaten.
Experimenteren
Er zijn waarschijnlijk veel meer effectieve tags dan in deze lijst. Experimenteer met beschrijvende emotionele toestanden en handelingen om te ontdekken wat werkt voor je specifieke toepassing.
Voorbeelden
Stemacteren
Langdurige vertelling
Prompts voor Eleven v3
De prompttechnieken in Prompts voor Eleven v4 zijn ook van toepassing op Eleven v3, waaronder stemselectie, audiotags, interpunctie en dialoog met meerdere sprekers.
Professional Voice Clones (PVC’s) zijn niet volledig geoptimaliseerd voor Eleven v3, waardoor de kloonkwaliteit mogelijk lager is dan bij eerdere modellen. PVC’s worden ondersteund in v4. Als je een Professional Voice Clone of een stem uit de Voice Library wilt gebruiken, raden we aan om in plaats daarvan Eleven v4 te proberen.