From fd8a3da7ea7f1fd535e7e7cb1548ccbed65c8779 Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Fri, 27 Apr 2018 16:50:16 +0300 Subject: [PATCH 01/16] de: improvements for German language (with shortened commit history) --- dictsource/de_list | 326 +++++++++++++++++++++++------- dictsource/de_rules | 20 +- phsource/ph_german | 51 ++++- tests/language-phonemes.test | 2 +- tests/language-pronunciation.test | 2 +- 5 files changed, 312 insertions(+), 89 deletions(-) diff --git a/dictsource/de_list b/dictsource/de_list index 610252f0..23b3a482 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -15,23 +15,23 @@ // Include a _ before a character if it's name should only be // spoken when "speak punctuation" option is on. -_. pUnkt +_. pUNkt * StErn $max3 % pro:ts'Ent $max3 + plUs $max3 = glaIC $max3 # nUm3 $max3 € OYro: -£ paUnd +£ fUnd & Unt -@ kl'am3_,af@ +@ 'Et ~ tIld@ -\ bakslaS +\ bEkslES ° grA:t ± pl'Us||m'i:nUs -_, kOma -_| paIp +_, kOmA: +_| St'A:b _: d'Op@lp,UNkt _; Str'ICpUNkt __ ,Unt3Str'IC @@ -61,21 +61,21 @@ _— g@d'aNk@nStr,IC _#9 t,abu:l'A:to:3 _#32 l'e:rts'aIC@n _?? zymb'o:l -_?A b'u:xstA:b@ +_?A b'u:xStA:b@ _cap gr'o:s -_sub 'Unt@R|3_!,IndEks|| -_sup 'o:b@R|3_!,IndEks|| +_sub t'i:fg@StElt +_sup h'o:xg@stElt // accent names -_lig l'i:gat,u:3 -_acu ak'u:t +_lig li:gat'u:r +_acu aksA~tEg'y: _ac2 d'Op@lak,u:t -_brv b@-*'E:v@ +_brv br'E:v@ _ced se:d'i:j _cir ts'IrkUmflEks _dia 'UmlaUt -_dot p'Unkt +_dot p'UNkt _grv gr'A:vIs _hac h'atSEk _mcn m'A:krOn @@ -125,23 +125,60 @@ _16 'zECtse:n _17 'zi:ptse:n _18 '_axtse:n _19 'nOYntse:n -_2X 'tsvantsIC -_3X 'draIsIC -_4X 'fIrtsIC -_5X 'fynftsIC -_6X 'zECtsIC -_7X 'zi:ptsIC -_8X '_axtsIC -_9X 'nOYntsIC -_0C 'hUnd3t -_0M1 'taUz@nt -_0M2 ||mIlI'o:n@n -_1M2 _'aIn@||mIlI'o:n -_0M3 ||mIlI'ard@n -_1M3 _'aIn@||mIlI'ard@ -_0M4 bIlI'o:n +_2X 'tsvantsIg# +_3X 'draIsIg# +_4X 'fIrtsIg# +_5X 'fynftsIg# +_6X 'zECtsIg# +_7X 'zi:ptsIg# +_8X '_axtsIg# +_9X 'nOYntsIg# + +_0C 'h,Und3t +_0M1 't,aUz@nt +_0M2 ||mIlj'o:n@n +_1M2 _'aIn@||mIlj'o:n +_0M3 ||mIlj'ard@n +_1M3 _'aIn@||mIlj'ard@ +_0M4 bIlj'o:n@n +_1M4 'aIn@||bIlj'o:n +_0M5 bIlj'ard@n +_1M5 'aIn@||bIlj'ard@ +_0M6 trIlj'o:n@n +_1M6 'aIn@||trIlj'o:n +_0M7 trIlj'ard@n +_1M7 'aIn@||trIlj'ard@ +_0M8 kvadrIlj'o:n@n +_1M8 'aIn@||kvadrIlj'o:n +_0M9 kvadrIlj'ard@n +_1M9 'aIn@||kvadrIlj'ard@ +_0M10 kvIntIlj'o:n@n +_1M10 'aIn@||kvIntIlj'o:n +_0M11 kvIntIlj'ard@n +_1M11 'aIn@||kvIntIlj'ard@ +_0M12 zEkstIlj'o:n@n +_1M12 'aIn@||zEkstIlj'o:n +_0M13 zEkstIlj'ard@n +_1M13 'aIn@||zEkstIlj'ard@ +_0M14 zEptIlj'o:n@n +_1M14 'aIn@||zEptIlj'o:n +_0M15 zEptIlj'ard@n +_1M15 'aIn@||zEptIlj'ard@ +_0M16 _OktIlj'o:n@n +_1M16 'aIn@||OktIlj'o:n +_0M17 _OktIlj'ard@n +_1M17 'aIn@||OktIlj'ard@ +_0M18 n,o:nIlj'o:n@n +_1M18 'aIn@||n,o:nIlj'o:n +_0M19 n,o:nIlj'ard@n +_1M19 'aIn@||n,o:nIlj'ard@ +_0M20 de:tsIlj'o:n@n +_1M20 'aIn@||de:tsIlj'o:n _0and ||_|Unt -_dpt _kOma +_roman rY:mIS +_dpt _kOmA: +_#er 3 +_#ern 3n // ordinal numbers _ord t@ // default ending @@ -158,8 +195,8 @@ _0Co 'hUnd3tst@ allg 'alg@maIn abb 'abb,IldUN anm 'anm,ErkUN -bd band -bde bEnd@ +bd band $capital +bde bEnd@ $capital bzw b@tsi:UNsvaIz@ chr k@rIstUs dr dOkt'o:r @@ -170,7 +207,7 @@ frl frOYlaIn hr hEr hrsg hEr'aUsge:b3 inkl Inklu:z'i:v@ -km ki:lo:me:t3 +km ki:lo:m'e:t3 nr nUm3 st 'Este: usf %Untzo:f'Ort @@ -191,8 +228,8 @@ derselb $2 desselb dEsz'Elb dieselb $2 dasselb dasz'Elb -demselb $2 -denselb $2 +demselb de:mz'Elb +denselb de:nz'Elb // conjunctions und Unt $u+ $pause @@ -245,7 +282,7 @@ vor ,fOr $strend zu tsu: $u+ $brk zum tsUm $u+ $pause zur tsu:r $u+ $pause -über ,yb3 $pause $strend +über ,y:b3 $pause $strend unter ,Unt3 $pause $strend $only um Um $u+ $brk //(um die) %Umd%i: $brk @@ -322,8 +359,9 @@ seine $u+ unsre Unzr@ $u unsere Unzr@ $u unser Unz3 $u -unserm Uns3m $u -unserem Uns@r@m $u +unserm Unz3m $u +unserem Unz@r@m $u +unseren Unz@r@n $u ihre i:r@ $u @@ -361,14 +399,14 @@ sind zInt $u seit zaIt $u $only habe %hA:b@ $only -habest hA:bEst $only $u +habest hA:b@st $only $u hast %hast $only hat %hat $only haben h,A:b@n $only $strend2 hatte h,at@ $only hatten h,at@n $only hätte h,Et@ $only -hättest h,EtEst $only +hättest h,Et@st $only hättet h,Et@t $only hätten h,Et@n $only @@ -389,7 +427,7 @@ wird v,Ird werdet v,Erd@t wurden v,Urd@n wurde v,Urd@ -wurdest v,UrdEst +wurdest v,Urd@st wurdet v,Urd@t können ,kWn@n $only $strend2 @@ -419,36 +457,57 @@ apple _^_EN association _^_EN baseball _^_EN bbc _^_EN -beat _^_EN $only +beat _^_EN browser _^_EN byte _^_EN +bytes _^_EN camcorder _^_EN +cancel _^_EN +certificate _^_EN change _^_EN chart _^_EN chat _^_EN +chicken _^_en +chrome _^_EN +cleaner _^_EN coach _^_EN coke _^_EN -computer _^_EN +computer kOmpj'u:t3 cool _^_EN +copy _^_EN couch _^_EN cursor _^_EN +daisy _^_EN +date _^_EN debugger _^_EN -dj _^_EN +desktop d'EsktOp +dj d'i:dZEI download _^_EN +downloads _^_EN email _^_EN enterprise _^_EN +escape _^_EN +espeak _^_EN event _^_EN +execute _^_EN +explorer Ekspl'Or3r +file _^_EN +firefox _^_EN firewall _^_EN foul _^_EN foyer _^_EN frame _^_EN freak _^_EN +german _^_EN gin _^_EN +google _^_EN groupie _^_EN hip _^_EN homepage _^_EN hooligan _^_EN +house _^_EN interface _^_EN +jaws _^_EN jean _^_EN jet _^_EN job _^_EN @@ -459,28 +518,41 @@ junkie _^_EN laptop _^_EN laser _^_EN level _^_EN +like _^_EN login _^_EN look _^_EN macho _^_EN mail _^_EN +mailbox _^_EN message _^_EN +move _^_EN my _^_EN mysql _^_EN +notebook _^_EN +notepad _^_EN +nugget _^_EN +nvda _^_EN offline _^_EN online _^_EN out _^_EN +overwrite _^_EN pair _^_EN penthouse _^_EN pidgin _^_EN plot _^_EN poster _^_EN receiver _^_EN -research _^_EN +registry _^_EN +release _^_EN remake _^_EN +research _^_EN roadie _^_EN roastbeef _^_EN quiz _^_EN +reader _^_EN run _^_EN +running _^_EN +save _^_EN scanner _^_EN science _^_EN server _^_EN @@ -489,31 +561,48 @@ sex _^_EN sexy _^_EN shirt _^_EN show _^_EN +showdown _^_EN single _^_EN +size _^_EN slip _^_EN slum _^_EN small _^_EN +smiley _^_EN snob _^_EN song _^_EN sorry _^_EN source _^_EN spam _^_EN +speak _^_EN spirit _^_EN squaw _^_EN +stream _^_EN suite _^_EN sweatshirt _^_EN +sync _^_EN talk _^_EN +team _^_EN teaser _^_EN tech _^_EN terminal _^_EN +thunderbird _^_EN time _^_EN +timer _^_EN +to _^_EN $only trip _^_EN tuner _^_EN unix _^_EN update _^_EN +updates _^_EN venture _^_EN +verify _^_EN +voice _^_EN +voices _^_EN +weather _^_EN +web w'Eb $only website _^_EN window _^_EN +wipe _^_EN word _^_EN @@ -522,50 +611,71 @@ word _^_EN abort ab'Ort absentier apzEnt'i:r abstinent $3 +accessoire asEsw'A:r achso axz'o: +adress $2 akazie $alt +alarm $2 allein $2 +allgemein 'alg@maIn +amerika $2 andre andr@ // andere +aneinander an1aIn'and3 anomalie $2 antik ant'i:k archaik arC'A:Ik arie $alt arpeggier arpEdZ'i:r -arrangier araNZ'i:@ -Art A:rt // capital +arrangier araNZ'i:r +Art A:rt $capital arterie $alt asphalt $2 -atommüll $1 +atommüll at'o:mmyl ausgeschamt aUsg@SA:mt außerdem 'aUs3d,e:m +automatisch $3 aventurin avEntu:r'i:n ave A:vE +bebung b'e:bUN +baguette bag'Et balkan $1 balkon $2 -bandagier bandaZ'i:@ +bandagier bandaZ'i:r beben be:b@n beere be:r@ bestie bEstI@ best bEst +bestem b'Est@m +beta b'e:tA: beten be:t@n +bibliothek bi:bli:o:t'e:k +bisschen b'IsC@n bizarr $2 blamage $alt +braille _^_FR bronchie $alt buch b'u:x buchen b'u:x@n +buchstabierfunktion $3 bucht b'u:xt bucht b'Uxt $capital $verbf buchte b'u:xt@ buchten b'u:xt@n buchten b'Uxt@n $capital $verbf +bürostuhl by:r'o:Stu:l changier SaNZ'i:r +cembalo tS'Embalo: +champagner Samp'anj3 +champignon S'ampInjON ciao tSaU clique klIk@ +cognac k'Onjak coup ku: dahlie $alt +dazwishen $2 debatte $2 deshalb $2 detail de:t'aI @@ -575,6 +685,7 @@ dient di:nt dividend di:vi:d'Ent dragier draZ'i:r dritte drIt@ +dschungel dZ'UN@l duett du:'Et ebendaher e:b@ndah'e:r @@ -583,38 +694,45 @@ ebenso $1 einander aIn'and3 einerlei aIn@rlaI einher aInh'e:r -einig aInIC $only +einig aInIg# einige aInIg@ $u+ einiges aInIg@s $u+ +einzig 'aIntsIg# +elektronisch e:lEktr'o:nIS +elementansicht e:l@m'Ent_|anzICt engagier aNgaZ'i:r endivie $alt endlich EntlIC -ensemble Ons'Omb@l +ensemble A~s'A~b@l episkopal e:pIsko:p'A:l erde e:rd@ erst e:rst ersten e:rst@n -erstmal e:rstma:l -erzgebirg e:rtsg@bIrg +erstmal e:rstmA:l +erzgebirg Ertsg@bIrg expedient Ekspe:dI'Ent extravagant $1 extrem Ekstr'e:m -feuerrot $3 +fenster f'Enst3 +foyer fOj'e: friedvoll fr'i:tf,Ol furchen fUrC@n furie $alt geben ge:b@n gebt ge:bt -gegenüber ge:g@n'y:b3 +gegenstand $1 +gegenständ $1 +gegenüber ge:g@n_|'y:b3 geglichen g@glIC@n gemein g@maIn -genial ge:nI'al +genial ge:nj'A:l geranie ge:r'A:nI@ gessen gEs@n geste ge:st@ gestern gEst3n +gitarre $2 glorie $alt grazie $alt @@ -628,6 +746,7 @@ historie $alt hm h@m horsam hO3zA:m hostie $alt +humor $2 hrhr harhar husten h'u:st@n @@ -640,7 +759,7 @@ inden Ind'e:n inder Ind3 indes Ind'Es indessen Ind'Es@n -ingenieur IndZ@nj'u:r +ingenieur IndZ@nj'Y:r injurie $alt inka INkA: inkaisch INkA:IS @@ -649,19 +768,28 @@ insbesondere $3 interess Int@r'Es intern Int'Ern internet Int@rnEt +internetzugriff 'Int3nEtts,u:grIf +inzwischen $2 +jahrhundert $2 januar janu:A:r +Kamel kam'e:l kamelie $alt +kanäl $2 kanoe kan'u: kartonage $alt kastanie $alt kid kId +klops kl'Ops +kombinationsfeld $4 komödie $alt -konservativ $1 +kompass $1 +konservativ k'OnzErvat,i:v konsul $1 -kuchen k'u:x@n +konto $1 kurie $alt +küchentisch k'yC@ntIS kwaß kvas lappalie $alt @@ -671,14 +799,23 @@ lucent lu:sEnt luetisch lu:'e:tIS machen max@n +magnet magn'e:t +mannequin man@k'W marginalie $alt +massage $2 materie $alt +medaille me:d'alI@ +meldung m'EldUN menuette mEnu:'Et +menü $2 minut $2 mikrofiche mi:kro:fi:S miteinander $1 modell mo:d'El modem mo:dEm +modern $2 +monat $1 +monitor $1 monoton $3 monsun $2 montag mo:ntA:k @@ -689,16 +826,21 @@ nachdem naxd'e:m nage $alt nebulos $3 negligent ne:gli:dZ'Ent +netzbetrieb n'Etsb@tri:b nisch ni:S +normal $2 +november $2 numero $1 oboe o:b'o:@ orgie $alt ok o:k'e: +oktober $2 +optimal $3 ödem Y:d'e:m paradies $3 -passage pas'aZ@ +passage $alt perplex $2 petersilie $alt pinie $alt @@ -707,26 +849,41 @@ pochier pOS'i:r pochs pOxs präsident $3 prämie $alt -privatisier $4 -problematisier $3 //pro:ble:m'a:tIzi:r +prinzip $2 +prinzipien prInts'i:pI@n +privatisier pri:vA:ti:z'i:r +problematisier $5 +protokoll $3 +refrain rEfr'W reliquie $alt +rendezvous rA~de:v'u: +restaurant rEsto:r'A~ risik $1 rupie $alt sabbat zabat sagt zA:gt salopp $2 +schieberegler S'i:b@re:gl3 +schreibung Sr'aIbUN schult Su:lt +schulter S'Ult3 +schultern S'Ult3n +sekund $2 selbst zElpst -serie se:rI;@ -service sErvIs +september $2 +serie $alt +service _^_EN +ski S'i: +sodass %zo:d,as soeben zo:_'e:b@n sofort $2 sogar $2 soweit $2 sowohl $2 sparsam SpA:rzA:m +spezies Sp'e:tsI@s spinozaisch spi:n'o:tsaIS spionage $alt stalagmit stalagm'It @@ -734,52 +891,73 @@ subjekt $1 tag tA:g telegen te:le:g'e:n +temporär $3 +terrain tEr'W the D@ // English theater te:'A:t3 tja tjA: tonnage $alt tragödie $alt train tre:n -tsunami tsu:n'a:mi: -turin $2 +trolley tr'Oli: +trost tr'o:st +tsunami tsu:n'A:mi: +turin tu:r'i:n -umweg $1 +umgehen $2 +umrahmen $2 unten Unt@n +untermenü 'Unt3me:n,y: +urin u:r'i:n +übrig 'y:brIg# -verein fEr'aIn +verein fEr_|'aIn vielbesprochen $3 -vielleicht $2 +vielleicht fIl'aICt vorherig fo:rh'e:rIg# vorig fo:rIg# -//wahrscheinlich $2 +wahrscheinlich $2 warum vA:r'Um wasserung vas@rUN // because -ung isn't marked as a suffix -weiterung vaIt@rUN +Weg v'e:g $capital weither vaIth'Er weitum vaIt_|'Um +willkommen $2 woher vo:h'e:r zloty slOti: zoom zu:m -zugegen tsu:g'e:g@n zudem tsu:'de:m zugegen tsu:g'e:g@n zurück $2 +zustand ts'u:Stand $only +zuständ ts'u:StEnd zymbal $1 // Names +Armin $1 Djakarta dZak'artA: -Djibouti dZib'u:ti: +Djibouti dZi:b'u:ti: +Fruecht fr'yCt Georg ge:Ork $only George dZO:rdZ +ines 'i:n@s +john dZ'On +Josef j'o:zEf +Klango kl'aNgo: Khmer kme:r -Mc m@-k +liam _^_EN +Mc %mEk +Moradi $2 Neumexiko $2 Neuseeland $2 Rwanda rU'andA: -Sri sr,i: +Sri %sri: +steve _^_EN Tom tOm $only Tim tIm $only +vera v'e:rA: +verena ve:r'e:nA: diff --git a/dictsource/de_rules b/dictsource/de_rules index 2376bb5f..94e40d8d 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -23,6 +23,12 @@ .L03 a ä .L04 o ö +// Hours +.L05 0 1 2 3 4 5 6 7 8 9 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 + +// Minutes +.L06 0 1 2 3 4 5 + // This file is UTF-8 encoded @@ -503,7 +509,7 @@ _) farb (l@P4 f'arb _) farc fars _) fein (@P4 f'aIn - _) fertig (C@P6 f'ErtiC + _) fertig (C@P6 f'ErtIC _) fest (@P4 f'Est _) flug fl'u:g foto fo:to: @@ -908,7 +914,7 @@ formal) ie =I@ @A) o (n_ 'o: one (_ 'o:n@ onen (_ 'o:n@n - zitr) on 'on + zitr) on 'o:n @) oo (_ u: r) oo (m u: z) oo (m u: @@ -1161,9 +1167,9 @@ formal) ie =I@ _pa) th t the (era te: _) tief (@P4 t'i:f - @) tient (_ tsI'Ent - @) tion tsI,o:n - @) tion (_ tsI'o:n + @) tient (_ tsj'Ent + @) tion tsj,o:n + @) tion (_ tsj'o:n _) trail _^_EN _) tranqu _^_EN traver tr%avEr @@ -1315,7 +1321,7 @@ formal) ie =I@ _) voraus (P6 fo:r'aUs _) vorbei (P6 fo:r'baI _) vorher (P6 fo:rh'e:r - _) vorüber (P7 fo:r'yb3 + _) vorüber (P7 fo:r'y:b3 .group w @@ -1428,6 +1434,7 @@ formal) ie =I@ _) über (@P4 _|,y:b3 _) über (be@P4 _!'y:b3 _) über (gangs y:b3 + übrig y:brIg# .group ß @@ -1453,3 +1460,4 @@ formal) ie =I@ D_) - (_D StrIC _) - (_D _ +_L05_) : (_L06D_ %u:r // Say time diff --git a/phsource/ph_german b/phsource/ph_german index f4de4273..a17d9057 100644 --- a/phsource/ph_german +++ b/phsource/ph_german @@ -23,10 +23,7 @@ endphoneme phoneme 3 // open Schwa+r vwl starttype #@ endtype #@ unstressed flag1 - length 160 - IF thisPh(isFinalVowel) THEN - length 210 - ENDIF + length 140 FMT(vowel/a#_3) // in eSpeak 1.44, this used vowel/V_3 at end-of-word endphoneme @@ -166,9 +163,7 @@ endphoneme phoneme EI - vwl starttype #e endtype #i - length 210 - FMT(vdiph/eei) +import_phoneme en-us/eI endphoneme @@ -440,3 +435,45 @@ phoneme g ENDIF CALL base1/g endphoneme + + +phoneme k + vls vel stp + voicingswitch g + lengthmod 2 + Vowelin f1=0 f2=2300 200 300 f3=-200 80 + Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20 + + IF KlattSynth THEN + Vowelout f1=0 f2=2300 200 300 f3=-200 80 rms=20 + ENDIF + + IF nextPh(isPause2) THEN + WAV(ustop/k_) + ELIF nextPh(r) THEN + WAV(ustop/k, 70) +ELIF nextPh(R) OR nextPh(R2) THEN + WAV(ustop/k_) + ELIF nextPh(i:) OR nextPh(;) THEN + WAV(ustop/ki) + ELIF nextPh(l) THEN + WAV(ustop/kl) + ELIF nextPh(@-) THEN + WAV(ustop/k_unasp) + ENDIF + WAV(ustop/k) +endphoneme + + +phoneme x + vls vel frc + voicingswitch Q + lengthmod 3 + Vowelin f1=0 f2=2300 200 400 f3=-100 80 + Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20 + + IF nextPh(isPause) THEN + WAV(ufric/x2, 60) + ENDIF + WAV(ufric/x_hr, 20) +endphoneme diff --git a/tests/language-phonemes.test b/tests/language-phonemes.test index 9ddde439..509011e1 100755 --- a/tests/language-phonemes.test +++ b/tests/language-phonemes.test @@ -48,7 +48,7 @@ test_lang cmn e7831fc783f79f1505e90d81d193dc591cb6f54e "na Na la ja pa pha fa ta test_lang cs 73d5bdeebdab81c629d34f76c87930bb6a188c50 "ma na n^a pa ta ca ka ba da Ja ga tsa tSa dza dZa fa sa Sa xa va za Za ha r-a Ra R^a R^/a la ja _:_ mi mi: me me: ma ma: mo mo: mu mu: maU meU moU" test_lang cy 5c5c7ab1c1b531dcacbbe072d5ee9cef3467d945 "ma na Na pa ta ka ba da ga tSa dZa fa Ta sa Sa xa ha ca Da za ra Ca la l/2a ja wa _:_ ma mE mI mY mO mU mV mi: my: mu: me: mo: mA: mAY maI maY maU m@I m@Y meU mIu mYu mOI mOY muI muY" test_lang da c55842af4f63fd67e6e48b97903b77223b6a4d77 "ma na Na pa ta ka ba da ga fa sa ha S;a tS;a va Da ja ra Ra _:_ m@ m@- m3 m3- mi m?i mI me m?e mE m?E m& m?& m&# m?&# mA m?A mu m?u mo m?o mO m?O mV m?V m0 m?0 my m?y mY mW m?W mW# m?W# maI" -test_lang de ffddc443b8acedd5e4c8f30a2763b28fee0d8019 "ma na Na pa ta ka ?a ba da ga pFa tsa tSa dZa sa Sa za Za fa Ta Ca xa ha ca Da ja la ra g#a l/a l2a _:_ m@ m3 ma mE mE2 mI mO mU mA mi2 my mW mI: mA: mi: mu: mE: me: mo: my: mY: maU maI mEI mOY moU mA~ miR mUR" +test_lang de 051ebf007e299c2e44dff53c30e4bfd3ab5be86d "ma na Na pa ta ka ?a ba da ga pFa tsa tSa dZa sa Sa za Za fa Ta Ca xa ha ca Da ja la ra g#a l/a l2a _:_ m@ m3 ma mE mE2 mI mO mU mA mi2 my mW mI: mA: mi: mu: mE: me: mo: my: mY: maU maI mEI mOY moU mA~ miR mUR" test_lang el b01fb02420612ea59c43bf6aff4175063bd93bcb "ma na pa ta ka ba da ga fa Ta sa xa va Da za Qa ra la _:_ ma me mi mo mu" test_lang en c4ed41c6ef4a43bae30f3469fe886c7b456dd02d "ma na Na pa ta ka ba da ga fa Ta sa Sa xa ha va Da za Za tSa dZa la ra ja wa t2a t#a d#a z#a r-a z/2a w#a m- n- N- _:_ mI mE ma m0 mV mU mi: mA: mO: mu: m3: mA@ mO@ mo@ mU@ mi@3 mIR mVR mi@ me@ mi m@ m3 me# mI# mI2 meI maI mOI moU maU maa mO2 maI@ maI3 maU@" test_lang en-029 cfd13bc57be7f495935c662472eae3d2c7200ebd "ma na Na pa ta ka ba da ga fa Ta sa Sa xa ha va Da za Za tSa dZa la ra ja wa t2a t#a d#a z#a r-a z/2a w#a m- n- N- _:_ mI mE ma m0 mV mU mi: mA: mO: mu: m3: mA@ mO@ mo@ mU@ mi@3 mIR mVR mi@ me@ mi m@ m3 me# mI# mI2 meI maI mOI moU maU maa mO2 maI@ maI3 maU@" diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 46bad339..7d72e623 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -13,7 +13,7 @@ test_phonemes() { } test_phonemes de \ - " dr'Uk3 l'amp@ (en)k@mpj'u:t3(de) St'Ern St'Ern@" \ + " dr'Uk3 l'amp@ kOmpj'u:t3 St'Ern St'Ern@" \ "drucker lampe computer stern sterne" test_phonemes en \ " k'It dr'Es tr'ap l'0t str'Vt f'Ut fl'i:s p'A:m T'O:t g'u:s n'3:s st'A@t n'O@T f'o@s kj'U@ n,i@3 skw'e@ t'3:m b'3:d h'api k'0m@ l'Et3r- Ekspl'o@ r'oUzI2z r'abIt f'eIs pr'aIs tS'OIs g'oUt m'aUT b'aaT kl'0T m'Ili@n dI2v'aIdI2d" \ From 5fcb3b40ccfebf6a7853562bea6f6f7c9778110c Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Fri, 27 Apr 2018 20:13:56 +0200 Subject: [PATCH 02/16] Slight change to the aau6 formant sequence used for the aU phoneme --- phsource/vdiph/aau_6 | Bin 22465 -> 22465 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/phsource/vdiph/aau_6 b/phsource/vdiph/aau_6 index 899d3cc3ae10f397b6550a87d2f1848b3ea83f9e..ff5f8cea427f0928006e4c4889478b927f72ae37 100644 GIT binary patch delta 68 zcmV-K0K5OeuK~fY0kBIJ0T{DP7GVSd5VNit^9%!@mWq?`K^wEbCtw-@n6n^4VFVMH a0e}+}0{#J70001502c$*09><_MlBIM#})Sg delta 65 zcmX@Op7G#%#tq(Lj2xSN#1dJ6)H Date: Fri, 27 Apr 2018 20:13:56 +0200 Subject: [PATCH 03/16] Slight change to the aau6 formant sequence used for the aU phoneme --- phsource/vdiph/aau_6 | Bin 22465 -> 22465 bytes tests/language-phonemes.test | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/phsource/vdiph/aau_6 b/phsource/vdiph/aau_6 index 899d3cc3ae10f397b6550a87d2f1848b3ea83f9e..ff5f8cea427f0928006e4c4889478b927f72ae37 100644 GIT binary patch delta 68 zcmV-K0K5OeuK~fY0kBIJ0T{DP7GVSd5VNit^9%!@mWq?`K^wEbCtw-@n6n^4VFVMH a0e}+}0{#J70001502c$*09><_MlBIM#})Sg delta 65 zcmX@Op7G#%#tq(Lj2xSN#1dJ6)H Date: Fri, 27 Apr 2018 21:38:35 +0200 Subject: [PATCH 04/16] change news in rules to new, add word nuance in rules --- dictsource/de_rules | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dictsource/de_rules b/dictsource/de_rules index 94e40d8d..703831c3 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -1,4 +1,4 @@ - + // *************************************************************************** // * Copyright (C) 2006 to 2010 by Jonathan Duddington * // * email: jonsd@users.sourceforge.net * @@ -871,10 +871,11 @@ formal) ie =I@ neglig ne:gli:Z neglige ne:gli:Z &) ness (_N _^_EN - news _^_EN + new _^_EN nieder ni:d3 nord (L04st n%Ort nord (west n%Ort + nuance ny:'A~s@ .group o _) o (_ o: From 412c5aab98ef20a82726be7a48a2670800fdc947 Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Fri, 27 Apr 2018 21:54:55 +0200 Subject: [PATCH 05/16] Remove rules for "hinweg" and "weg", added better treatments for those in list --- dictsource/de_list | 5 ++++- dictsource/de_rules | 2 -- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dictsource/de_list b/dictsource/de_list index 23b3a482..0ac63989 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -1,4 +1,4 @@ -// This file is UTF-8 encoded +// This file is UTF-8 encoded // all words lower case // Uses of $alt: @@ -742,6 +742,8 @@ hausier haUz'i:r heimat $1 herberg hErbErg hi haI +hinweg hInv'Ek +hinweg h'Inve:g $capital historie $alt hm h@m horsam hO3zA:m @@ -920,6 +922,7 @@ vorig fo:rIg# wahrscheinlich $2 warum vA:r'Um wasserung vas@rUN // because -ung isn't marked as a suffix +weg v'Ek Weg v'e:g $capital weither vaIth'Er weitum vaIt_|'Um diff --git a/dictsource/de_rules b/dictsource/de_rules index 703831c3..f955b1ce 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -612,7 +612,6 @@ _) hinüber (P7 hIn'y:b3 _) hinum (P5 hIn'Um _) hinunter (P8 hIn'Unt3 - _) hinweg (P6 hInv'e:g _) hinzu (P5 hInts'u: _) hinge (@P5 h'Ing@ @@ -1337,7 +1336,6 @@ formal) ie =I@ &) ware (_ _^_EN _) wasch (@P5 v'aS _) wasser (@P6 v'as@r - _) weg (C@P3 v'e:k _) weit (C@P4 v'aIt _) weiter (@P6 v'aIt@r _) weither vaIthe:r From 54bcc25efe2910e01d50579512f6e65093cec733 Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sat, 28 Apr 2018 15:17:20 +0200 Subject: [PATCH 06/16] Add word "Zitat" in rules --- dictsource/de_rules | 1 + 1 file changed, 1 insertion(+) diff --git a/dictsource/de_rules b/dictsource/de_rules index f955b1ce..dc306f0b 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -1376,6 +1376,7 @@ formal) ie =I@ _) zere (m tse:re: ziell tsj'El _) zie (ge@P3 ts'i: + zitat tsi:t'A:t _) zeit (@P4 ts'aIt _) ziel (@P4 ts'i:l _) zier (@P4 ts'i:r From 45bb1ac3cac9753b3fbfa7ee3c4c5b80f13c6f02 Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sat, 28 Apr 2018 22:22:09 +0200 Subject: [PATCH 07/16] Fix pronunciation of the letter name for "c" --- dictsource/de_rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dictsource/de_rules b/dictsource/de_rules index dc306f0b..055c3219 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -223,7 +223,7 @@ .group c - _) c (_ se: + _) c (_ tse: _) c (L01A k // allow cl cr at start of word c k c) c From 7735fb3944df744fd173a8eefc4dc61b50ef9661 Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sun, 29 Apr 2018 11:05:59 +0200 Subject: [PATCH 08/16] Made some more changes to various rules --- dictsource/de_rules | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/dictsource/de_rules b/dictsource/de_rules index 055c3219..1c7a4b76 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -186,7 +186,6 @@ _) beige (_ be:S _) beige (@ baIg@ _) be (inhP2 b@ - _) beo (b b,@o: _) ba (lA b%a _) ba (ll@ b%a @@ -363,7 +362,7 @@ eb (t_ e:p eg (t_ e:k - een (_ 'e:n- + een (_ 'e:@n ell (_ 'El ll) e (l e: &) e (_S1 @ @@ -532,8 +531,8 @@ g (sA g gd (_N kt _) gh (A g - _) g (nA g@- // allow _gn - B) gn (A g@-n + _) g (nA g // allow _gn + B) gn (A gn i) gt (_ Ct ei) gt (_ kt @@ -571,10 +570,11 @@ _) ge (nK gE _) ge (L01K gE ge (tr g@ - general ge:nEr'al + general ge:n@r'A:l general (is ge:n@ral _) ge (ner gE _) geo g,e:o: + _) geo (pf g@'O _) ge (orP2 g@ _) ge (org g%e: ge (rman gE @@ -659,6 +659,7 @@ i (i i:_! +ik _( Ik s) ik (_ 'i:k @r) ik (_ Ik br) ik (_ 'i:k @@ -1092,6 +1093,7 @@ formal) ie =I@ _) schul (d S'Ul schwer Sve:r +screen _^_EN _) sechs (P5 z'Eks seku (nden ze:k'U _) selbst (@@P6 z'Elpst @@ -1162,6 +1164,7 @@ formal) ie =I@ _) teen _^_EN _) tele (@ t,e:le: _) thermo tErmo: + touch _^_EN tuerei (_ tu:@r'aI thrill _^_EN _pa) th t From 33d518aa5309fb50a037a5376118acd77ff141e1 Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sun, 29 Apr 2018 11:17:03 +0200 Subject: [PATCH 09/16] Correct mistake in rule "ik" at end of word --- dictsource/de_rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dictsource/de_rules b/dictsource/de_rules index 1c7a4b76..94d1eef9 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -659,7 +659,7 @@ i (i i:_! -ik _( Ik +ik (_ Ik s) ik (_ 'i:k @r) ik (_ Ik br) ik (_ 'i:k From 0d6bd0b67bccaf0ec3579a58370ea5f3a76a4642 Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sun, 29 Apr 2018 11:38:32 +0200 Subject: [PATCH 10/16] Added one more rule: "Gedulds" --- dictsource/de_rules | 1 + 1 file changed, 1 insertion(+) diff --git a/dictsource/de_rules b/dictsource/de_rules index 94d1eef9..33cd809a 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -557,6 +557,7 @@ _) ge (beX ge: geben ge:b@n gebirge (_S7 g@bIrg@ + gedulds %g@dUlts _) gegen (@P5 ge:g@n gegen ge:g@n gegn ge:gn From 4261894ed70d2d7e6c6580de6c72bbea530ad60e Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sun, 29 Apr 2018 11:56:35 +0200 Subject: [PATCH 11/16] Add word "summe" in rules for correct compound word pronunciation I hope that will be my last change. Most of them, like Zitat, gedulds, etc have been added for correct compound word pronunciation. The A: phoneme in komma and beta sounds more natural for me; I also did Komma this way because it matches the way espeak reads it when written as an actual word. --- dictsource/de_rules | 1 + 1 file changed, 1 insertion(+) diff --git a/dictsource/de_rules b/dictsource/de_rules index 33cd809a..0e0e1799 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -1103,6 +1103,7 @@ screen _^_EN _) sky _^_EN soldat z%OldA:t &) so (rt_ s_|O + summe zUm@ speed _^_EN stau) ss s From fb8b4a0e8d1f07bdd8bf97bb8bea4bf1f0b44af2 Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sun, 29 Apr 2018 12:54:55 +0200 Subject: [PATCH 12/16] At last 2 rules for correct compound word pronunciation --- dictsource/de_rules | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dictsource/de_rules b/dictsource/de_rules index 0e0e1799..0180ce95 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -204,6 +204,7 @@ _) b (esen b _) b (ess b _) b (esten b + bestem bEst@m bestia bEsti:'A: _) b (eug b _) b (eul b @@ -213,6 +214,7 @@ baby _^_EN beten be:t@n _) bike _^_EN + binde bInd@ // for compound words, EG. Bindestrich _) bis (hP3 b%Is _) blue _^_EN board _^_EN @@ -1068,9 +1070,11 @@ formal) ie =I@ ste (ll StE a) ste (ll stE st (ah St + st (art St st (ä St st (eh St st (ö St + st (rich St st (ü St st (uh St st (ung st From abdf5d2c887a2d52e309e23e70f8d0e6df00add7 Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sun, 29 Apr 2018 15:29:08 +0200 Subject: [PATCH 13/16] Add W~ phoneme, more changes to list and rules --- dictsource/de_list | 8 ++++---- dictsource/de_rules | 1 + phsource/ph_german | 7 +++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/dictsource/de_list b/dictsource/de_list index 0ac63989..49d5b354 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -198,8 +198,8 @@ anm 'anm,ErkUN bd band $capital bde bEnd@ $capital bzw b@tsi:UNsvaIz@ -chr k@rIstUs -dr dOkt'o:r +chr krIstUs +dr d'Okto:r evtl e:vEntu:'El od o:d3 $only fr fraU @@ -209,11 +209,11 @@ hrsg hEr'aUsge:b3 inkl Inklu:z'i:v@ km ki:lo:m'e:t3 nr nUm3 -st 'Este: +strg St'OY@rUN usf %Untzo:f'Ort usw %Untzo:v'aIt3 $pause vgl fErgl'aIC@ -(z . b .) tsUmb'aISpi:l +(z. b.) tsUmb'aISpi:l // definite article diff --git a/dictsource/de_rules b/dictsource/de_rules index 0180ce95..915b5cac 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -220,6 +220,7 @@ board _^_EN _) boom _^_EN bo (sh bo: + buchstab bu:xStA:b _) bundes b'Und@s diff --git a/phsource/ph_german b/phsource/ph_german index a17d9057..3a3972d0 100644 --- a/phsource/ph_german +++ b/phsource/ph_german @@ -390,6 +390,13 @@ phoneme A~ endphoneme +phoneme W~ + vowel starttype #@ endtype #@ +length 200 +FMT(vnasal/W_n) +endphoneme + + phoneme l2 // as [l] but devoice previous phoneme liquid lengthmod 7 ChangePhoneme (l) From e1af75c12d789af9811c15efdad74cbfdd7000d1 Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sun, 29 Apr 2018 15:34:44 +0200 Subject: [PATCH 14/16] Correct mistake in phoneme definition for W~ --- phsource/ph_german | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phsource/ph_german b/phsource/ph_german index 3a3972d0..812e9ce2 100644 --- a/phsource/ph_german +++ b/phsource/ph_german @@ -1,4 +1,4 @@ - + //========================================================= // German @@ -391,7 +391,7 @@ endphoneme phoneme W~ - vowel starttype #@ endtype #@ + vwl starttype #@ endtype #@ length 200 FMT(vnasal/W_n) endphoneme From f9474e81ea190c75ab7705c727cd0ae1818fb4fb Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sun, 29 Apr 2018 16:00:08 +0200 Subject: [PATCH 15/16] Correct 2 entries in list --- dictsource/de_list | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dictsource/de_list b/dictsource/de_list index 49d5b354..ad944566 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -857,7 +857,7 @@ privatisier pri:vA:ti:z'i:r problematisier $5 protokoll $3 -refrain rEfr'W +refrain rEfr'W~ reliquie $alt rendezvous rA~de:v'u: restaurant rEsto:r'A~ @@ -894,7 +894,7 @@ subjekt $1 tag tA:g telegen te:le:g'e:n temporär $3 -terrain tEr'W +terrain tEr'W~ the D@ // English theater te:'A:t3 tja tjA: From be8cbecbd4f7248663309b73c686e21e494f94be Mon Sep 17 00:00:00 2001 From: Karl Eick Date: Sun, 29 Apr 2018 16:09:59 +0200 Subject: [PATCH 16/16] Yet another correction in the list where the tilde was omitted --- dictsource/de_list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dictsource/de_list b/dictsource/de_list index ad944566..85bc508e 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -802,7 +802,7 @@ luetisch lu:'e:tIS machen max@n magnet magn'e:t -mannequin man@k'W +mannequin man@k'W~ marginalie $alt massage $2 materie $alt