diff --git a/dictsource/es_list b/dictsource/es_list index f85b4107..8aaff08f 100644 --- a/dictsource/es_list +++ b/dictsource/es_list @@ -1,6 +1,10 @@ // This file in UTF8 encoded +// letters +ch tSe +ll Ejje + // numbers _0 TE*o diff --git a/dictsource/es_rules b/dictsource/es_rules index 7dcb5855..82272aff 100644 --- a/dictsource/es_rules +++ b/dictsource/es_rules @@ -24,7 +24,6 @@ .group c _) c (_ Te - _) ch (_ tSe c k c (Y T // ce, ci ch tS @@ -87,9 +86,8 @@ .group l _) l (_ Ele - _) ll (_ Eje l l - ll l^ + ll jj .group m diff --git a/dictsource/fr_list b/dictsource/fr_list index 34f49eb8..29fc6729 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -76,12 +76,10 @@ _3 tRw'a _4 k'atR _5 s'E~c _6 s'iz3 -six siz2 _7 s'Et _8 'w^it _9 n'@f _10 d'iz3 -dix diz2 _11 O~z _12 d'uz _13 tR'Ez @@ -89,8 +87,8 @@ _14 kat'ORz _15 k'E~z _16 s'Ez _17 d'is:'Et -_18 d'is:'w^it -_19 d'is:n'@f +_18 d'iz'w^it +_19 d'izn'@f _20 v'E~ _21 v'E~te:E~ _22 v'E~td'Y @@ -117,8 +115,8 @@ _74 swas'A~t:kat'ORz _75 swas'A~t:k'E~z _76 swas'A~t:s'Ez _77 swas'A~t:d'is:'Et -_78 swas'A~t:d'is:'w^it -_79 swas'A~t:d'is:n'@f +_78 swas'A~t:d'iz'w^it +_79 swas'A~t:d'izn'@f _8X k'atR@v'E~ _80 k'atR@v'E~z2 _9X k'atR@v'E~d'is @@ -129,8 +127,8 @@ _94 k'atR@v'E~:kat'ORz _95 k'atR@v'E~:k'E~z _96 k'atR@v'E~:s'Ez _97 k'atR@v'E~:d'is:'Et -_98 k'atR@v'E~:d'is:'w^it -_99 k'atR@v'E~:d'is:n'@f +_98 k'atR@v'E~:d'iz'w^it +_99 k'atR@v'E~:d'izn'@f _0C s'A~ _1C0 s'A~t2 _0M1 m'il @@ -389,7 +387,6 @@ boeufs bY bus bys choeur kWr discident disidA~ -dix diz3 echo Eko fils fis haillon _|ajO~ @@ -404,7 +401,6 @@ pays pEi prudent pRydA~ secret sYkRE secrets sYkREz2 -six siz3 @@ -605,3 +601,4 @@ vincent vE~sA~ + diff --git a/dictsource/fr_rules b/dictsource/fr_rules index 87f45623..b78eb466 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -730,7 +730,9 @@ _au) x (quel // auxquels _di) x (_neuf z // liaison: dix-neuf + _di) x (_ z3 _si) x (_neu s // liaison: six-neuf + _si) x (_ z3 di) x (iè z // dixième si) x (iè z // sixième diff --git a/phsource/compile_report b/phsource/compile_report index 64826894..059d2376 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -30,7 +30,7 @@ ru 38 126 it 17 118 la 21 114 - es 6 115 + es 7 115 pt 27 131 pt_pt 20 131 ro 36 139 @@ -1049,6 +1049,7 @@ voc/v_ [B] base [v2] nl [v;] ro [v] is +voc/v2 [v] es vocw/dh [D] base [D] es vocw/Q [Q] base @@ -1061,6 +1062,7 @@ vocw/v [B] base [v] base [v] fr [v] ta + [v] es [v;] ro vocw/zh [Z] base [Z;] ro diff --git a/phsource/ph_spanish b/phsource/ph_spanish index 7fb35eda..166874fa 100644 --- a/phsource/ph_spanish +++ b/phsource/ph_spanish @@ -55,3 +55,14 @@ phoneme s switchvoicing z endphoneme + +phoneme v + vcd lbd frc + vowelin f1=0 f2=1000 -300 -200 f3=-300 100 + vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50 + lengthmod 6 + formants voc/v2+vocw/v // shorter +endphoneme + + + diff --git a/phsource/voc/bh b/phsource/voc/bh index c6c773b6..44ef51cb 100644 Binary files a/phsource/voc/bh and b/phsource/voc/bh differ diff --git a/src/phonemelist.cpp b/src/phonemelist.cpp index 75cfa948..7fd57122 100755 --- a/src/phonemelist.cpp +++ b/src/phonemelist.cpp @@ -552,7 +552,7 @@ void Translator::MakePhonemeList(int post_pause, int start_sentence) next2 = phoneme_tab[(plist2+2)->phcode]; - if((insert_ph == 0) && (ph->link_out != 0) && !(ph->phflags && phBEFOREPAUSE) && (((plist2+1)->synthflags & SFLAG_EMBEDDED)==0)) + if((insert_ph == 0) && (ph->link_out != 0) && !(ph->phflags & phBEFOREPAUSE) && (((plist2+1)->synthflags & SFLAG_EMBEDDED)==0)) { if(ph->phflags & phAPPENDPH) { diff --git a/src/speak_lib.cpp b/src/speak_lib.cpp index 46e08994..d105f24e 100644 --- a/src/speak_lib.cpp +++ b/src/speak_lib.cpp @@ -433,6 +433,8 @@ static espeak_ERROR Synthesize(unsigned int unique_identifier, const void *text, length = (out_ptr - outbuf)/2; count_samples += length; event_list[event_list_ix].type = espeakEVENT_LIST_TERMINATED; // indicates end of event list + event_list[event_list_ix].unique_identifier = my_unique_identifier; + event_list[event_list_ix].user_data = my_user_data; count_buffers++; if (my_mode==AUDIO_OUTPUT_PLAYBACK) @@ -460,6 +462,8 @@ static espeak_ERROR Synthesize(unsigned int unique_identifier, const void *text, // This ensures that