Bättre svenska i espeak-ng

Jag har skickat en pull request till espeak-ng med stora förbättringar av det svenska uttalet. espeak-ng är den talsyntes som används av bland annat Orca (skärmläsaren i GNOME/Linux) och ligger till grund för i princip all TTS på Linux.

Vad var fel?

Svenska i espeak-ng har länge haft problem. Det mest uppenbara var att sje-ljudet (ɧ) — det karakteristiska svenska ljudet i ord som "sjö", "skjorta" och "stjärna" — var felmappat till tj-ljud (ɕ). Det innebar att "sju" lät som "tju" och "sjuk" som "tjuk". Inte direkt begripligt.

Dessutom saknades regler för vanliga svenska ljudkombinationer: dj (djur, djup), hj (hjärta, hjälm) och lj (ljus, ljud) uttalades bokstavligt istället för som /j/. Och suffixet -tion (station, funktion) fick helt fel uttal.

Fas 1 — Grundläggande uttalsregler

  • sje-ljud: skj → /ɧ/ (var felaktigt /ɕ/)
  • -tion/-tions: korrekta regler för detta vanliga suffix
  • dj/hj/lj: nya regler för → /j/
  • 230+ nya ord i ordlistan (nu totalt 899): veckodagar, månader, siffror, vanliga ord, förkortningar, ortnamn, tekniktermer
  • 16 nya symboler: £, §, °, bråk, pilar, euro med mera

Fas 2 — Retroflexer ✅

Retroflexerna är nu implementerade och mergade. Svenska retroflexer (rt → ʈ, rd → ɖ, rn → ɳ, rl → ɭ) fungerar korrekt — det som gör att "barn" uttalas med ɳ och "gården" med ɖ, precis som i naturligt tal.

Fas 3–10 — Massiv expansion ✅

Efter retroflexerna fortsatte arbetet i åtta ytterligare faser:

  • Fas 3–4: Vokalkorrigeringar — lång u (ʉː), bättre vokallängder, sje-ljud (ɧ) fixat genomgående
  • Fas 5–6: Grammatik och prosodi — ”de/dem” → /dɔm/, ”det” → /deː/, fyra svenska intonationsmönster
  • Fas 7–8: Egennamn och ortnamn — Göteborg, Trollhättan, Malmö, Karin, Andersson m.fl.
  • Fas 9–10: IT-termer och lånord — browser, screenshot, wifi, offline, IT-säkerhet
  • 1 197 ord i sv_list (från ~170 i originalet)
  • ~50 nya uttalsregler i sv_rules
  • Prosodijustering — bredare tonhöjdsvariation, naturligare vokallängder och förbättrad frågeintonation

🔊 Lyssna — före och efter (fas 3–10)

Dessa meningar visar förbättringarna från de senare faserna. Jämför systemets espeak-ng med vår förbättrade version:

Mening Före Efter
”De gick till Göteborg på onsdag för att handla köttbullar.”
de→/dɔm/, Göteborg, köttbullar
”Det är riktigt viktigt att barnen äter frukost varje dag.”
det→/deː/, riktigt, viktigt
”Karin Andersson bor i Trollhättan och jobbar med IT-säkerhet.”
Egennamn, ortnamn, IT-termer
”Vill du starta din browser och ladda ner appen?”
Frågeintonation, lånord

Fas 11–13 — Sammansatta ord, lånord och prosodi ✅

  • Fas 11: Sammansatta ord — 37 vanliga sammansättningar: köttbullar, busshållplats, parkeringsplats, vardagsrum, mataffär m.fl.
  • Fas 12: Lånord — 11 vanliga lånord: restaurang, garage, parfym, journalist m.fl.
  • Fas 13: Prosodiregler och suffix — 18 suffix-uttal och ordinaltal (13:e–31:a), vokalpar (glas/glass, ful/full)

🔊 Nya ljudexempel (fas 13)

Lyssna på den förbättrade svenska rösten med espeak-ng:

Text espeak-ng (vår)
”Hej, jag heter Alma och jag pratar svenska.”
”Sjuksköterskan skötte sjuttiosju sjösjuka sjömän.”
sje-ljud (ɧ)
”Kött och potatis med lingonsylt är en klassisk svensk rätt.”
sammansatta ord
”Stockholm är Sveriges huvudstad med över en miljon invånare.”
”Flygande bäckasiner söka hwila på mjuka tuvor.”
pangram
”Trettiotre trista tråkiga trollungar trampade trettiofyra trappsteg.”
tungvrickare
”God morgon! Hur mår du idag?”
frågeintonation
”Barnen leker i parken medan solen skiner.”

Statistik

  • 1 197 ord i sv_list (från ~170 i originalet)
  • Retroflexer: ɖ, ɳ, ɭ, ʈ — alla implementerade
  • 4 svenska intonationsmönster (deklarativ, fråga, uppräkning, emfas)
  • Fonemfixar: sje-ljud ɧ korrigerat, lång u (ʉː) fixat
  • ”de/dem” → /dɔm/, ”det” → /deː/
  • ~50 nya uttalsregler i sv_rules
  • 42 vokalpar med korrekt kvantitetsdistinktion (glas/glass, ful/full)
  • Ordinaltal 13:e–31:a med korrekt uttal
  • 13 faser av förbättringar

Status

Alla CI-tester gröna. Pull requesten väntar nu på review från espeak-ng-teamet. Detta är den största förbättringen av det svenska uttalet i espeak-ng:s historia — ordlistan har gått från ~170 till 1 197 ord i 13 faser, med helt nya uttalsregler, retroflexer, prosodijusteringar, sammansatta ord, lånord och korrekt sje-ljud.

Varför det spelar roll

espeak-ng är inte den snyggaste talsyntesen, men den är den viktigaste. Den är fri, öppen källkod, och den enda TTS som alla Linux-användare har tillgång till utan extra kostnad eller molntjänster. För synskadade användare som förlitar sig på Orca är detta deras röst. Att den rösten ska uttala svenska korrekt borde vara en självklarhet.

👉 Pull request #2364 på GitHub

Kommentarer

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig om hur din kommentarsdata bearbetas.