From a130114554adf854cfeed2044ec30241db013e7a Mon Sep 17 00:00:00 2001 From: jonsd Date: Wed, 20 Jun 2007 16:20:47 +0000 Subject: [PATCH] [1.26.09] UriCallback() "base" parameter has empty string rather than NULL pointer. lang=pt character names for accentented letters. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@52 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/de_list | 8 ++- dictsource/de_rules | 29 +++++++-- dictsource/dict_phonemes | 12 ++-- dictsource/hu_list | 3 - dictsource/hu_rules | 4 ++ dictsource/pt_list | 84 +++++++++++++++----------- dictsource/pt_rules | 42 +++++++++++-- phsource/compile_report | 6 +- phsource/{ph_af => ph_afrikaans} | 0 phsource/ph_german | 9 +++ phsource/{ph_portugual => ph_portugal} | 0 phsource/phonemes | 4 +- src/extras.cpp | 6 +- src/readclause.cpp | 3 +- src/synthdata.cpp | 2 +- src/voices.cpp | 3 +- 16 files changed, 147 insertions(+), 68 deletions(-) rename phsource/{ph_af => ph_afrikaans} (100%) mode change 100644 => 100755 rename phsource/{ph_portugual => ph_portugal} (100%) diff --git a/dictsource/de_list b/dictsource/de_list index 05f38cd2..dd4b7731 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -490,6 +490,7 @@ heimat haImat herberg hE*bE*g historie $alt hm h@m +horsam ho:zA:m hostie $alt illegitim Ile:gi:t'i:m @@ -513,9 +514,11 @@ januar janu:A:* kamelie $alt kastanie $alt kid kId -kommend kOm'@nd komödie $alt konkret k%ONk@-*e:t +konservativ $1 +konstatier kOnStat'i:* +konsul $1 kurie $alt lakaienhaft l%akaInhaft @@ -549,6 +552,7 @@ oboe o:bo:@ orgie $alt ok o:k'e: +paradies $3 passage pas'aZ@ perplex $2 petersilie $alt @@ -573,6 +577,7 @@ sofort $2 sogar $2 soweit $2 sowohl $2 +sparsam SpA:*zA:m spinozaisch spi:n'o:tsaIS stalagmit stalagm'It system z%IstEm @@ -581,6 +586,7 @@ tag tA:g the D@ // English theater te:'A:t3 train t@-*e:n +turin $2 tuerei tu:*aI unten Unt@n diff --git a/dictsource/de_rules b/dictsource/de_rules index a6a5edbe..4203d91a 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -122,6 +122,11 @@ _) ba (lA b%a _) ba (ll@ b%a &) bar (_S3 bA:* + &) bare (_S4 bA:*@ + &) barem (_S5 bA:*@m + &) baren (_S5 bA:*@n + &) barer (_S5 bA:*3 + &) bares (_S5 bA:*@s _) b (ebC b _) b (ecC b _) b (eet b @@ -242,6 +247,7 @@ eg (t_ e:k ell (_ 'El + ll) e (l e: &) e (_S1 @ @t) e (_S1 @ &) e (BB_ E2 @@ -284,7 +290,8 @@ &) er (r_ E w) er (k_ E* &) er (nd_ @* - @) erin (_ @rIn + &) erin (_ @*In + &) erisch (_ @*IS @) es (_S2 @s &) et (_ @t ig) et (_S2 @t @@ -322,6 +329,8 @@ _) emph (@ %Emf _) emp (ir %Emp _) ene (rg %e:nE + @) en (i e:n + @) e (nsi E _) ent (@P3 _|%Ent _) enten Ent@n _) ent (er Ent @@ -341,6 +350,7 @@ _) er (stC E* _) er (ste E* _) er (ste@@P2 _|%E* + @) er (v E* mod) er (n E* _) entert _^_EN @@ -406,7 +416,7 @@ ge (rman gE ge (rät g@ @) ght (_ _^_EN - graph g@-*A:f + graph g@-*Af graph (_ g@-*'A:f green _^_EN guide _^_EN @@ -511,6 +521,9 @@ @) ing (_N _^_EN _) in (k %In _) inter Int@* + &) in (_ i2n + l) in (_ 'i:n + s) in (_ 'i:n @) ion (_ j'o:n @) io (n Io: io Io: @@ -572,18 +585,20 @@ k) k // @) keit (_$4 kaIt +// @) keiten (_$6 kaIt@n kolleg k%Ole:g + _) komme (C@ k%OmE _) ko (mp k%O _) ko (mpost kO + _) ko (n@ k%O + _) ko (nter kO .group l _) l (_ El l l l) l - lin (_ l'i:n - l) lin (_ 'i:n lady _^_EN _) land (C@P4 l'ant @@ -650,6 +665,7 @@ // ng (l Ng o) ng (e ng o) ng (A Ng + u) ng (i Ng ng (r Ng nk Nk nk (A nk @@ -691,6 +707,7 @@ t) ogen (_ o:g'e:n @) o (gin_ 'o: o (l_ 'o: + o (lsam o: o (m_ 'o: @A) o (n_ 'o: @) oo (_ u: @@ -710,6 +727,7 @@ pf pF ph f + _) para (@ p,a*a passagie pasaZ'i: _) pay _^_EN _) peri p,e:*i: @@ -765,7 +783,6 @@ sch (en_ sC _) sh S sh (K S - sou (nd saU p) s (a s p) s (i s @@ -930,6 +947,8 @@ _) vehe ve:he: _) ver (@P3 f%E* _) ver (bal v%E* + @) versich fE*z,IC + @) vergess fE*g,Es _) viel (@P4 f'i:l _) vier (g@P4 f'i:* _) viet vIEt diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index a46fe656..ba446c81 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -43,8 +43,8 @@ x z Dictionary de_dict 3 @ @- a A A: aI aU -E E2 E: e: I i: O o: -OY U u: W y y: Y: +E E2 E: e: I i2 i: O +o: OY U u: W y y: Y: * : ; b C C2 d D dZ f g h j k l m @@ -156,10 +156,10 @@ Dictionary hu_dict A a: E e e: i i: o o: u u: y Y y: Y: -* : b c C d dZ f -g h j J k l m n -N n^ p R s S s2 t -tS ts v z Z +: b c C d dZ f g +h j J k l m n N +n^ p R s S s2 t tS +ts v z Z Dictionary it_dict diff --git a/dictsource/hu_list b/dictsource/hu_list index 911edf34..a36e7c88 100644 --- a/dictsource/hu_list +++ b/dictsource/hu_list @@ -284,6 +284,3 @@ _. pont -// Names -ricárd RiCa:Rd -richard RiCa:Rd diff --git a/dictsource/hu_rules b/dictsource/hu_rules index 60e78560..246fd6d8 100644 --- a/dictsource/hu_rules +++ b/dictsource/hu_rules @@ -202,6 +202,10 @@ szamue) ly lli r (C R rr RR + _) richa (rd RiCa: + _) richá (rd RiCa: + + .group s s S sz s diff --git a/dictsource/pt_list b/dictsource/pt_list index 7f6b0d4a..d97594fe 100755 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -1,4 +1,4 @@ - + // This file in UTF8 encoded // Options @@ -6,28 +6,10 @@ // ?2 Brazilian Portuguese -// Letters -// If a letter has a "word" pronunciation which is different from its -// "letter" name, then include the letter name here, with the letter -// prefixed by a _ character. // character names -_á ,a&g'udU -_à ,agR'avi -_â ,asirkuNfl'EksU -_ã ,atS'iU -_ç s,esed'elj& -_é ,e&g'udU -_ê ,asirkuNfl'EksU -_í ,i&g'udU -_ó ,o&g'udU -_ô ,osirkuNfl'EksU -_õ ,otS'iU -_ú ,u&g'udU -_ü ,utR'em& - _cap maI'uskulU _?A l'etR& _?? s'imbolU @@ -42,10 +24,10 @@ _$ s,ifR'&U~ _% pors'eINtU _& 'e ?1 _' ap'Ost@-*,ofy -?2 _' ap'Ost@-*,ofU -_( ,ab@-*ipa*'eINtezi +?2 _' ap'OstR,ofU +_( ,abRipa*'eINtezi _) f,ES&pa*'eINtezi -_* ,aste*'isku +_* ,aste*'iskU _+ m'aIs# _, v'irgul& @@ -81,7 +63,7 @@ _" 'abRi;'asp&||d'upl&s# //******** ?1_0 z'Eru -?2_0 z'E*u +?2_0 z'E*U ?1_1 'um ?2_1 'uN _2 d'oIs# @@ -200,13 +182,20 @@ ue $abbrev unts $abbrev usb $abbrev +// roman numerals +?1 ii d'oIs# $abbrev +?1 iii tr'es# $abbrev +?1 iv kw'atru $abbrev -dr $dot -mr $dot -mrs $dot -prof pr'Of $dot -sr $dot -sra ,Es;'Errj'a $dot + +dr $dot +dra $dot +mr $dot +mrs $dot +prof pr'Of $dot +sr $dot +?1 sra ,Es;'Errj'a $dot +?2 sra $dot // articles @@ -513,12 +502,34 @@ há $u+ // Letter names +// If a letter has a "word" pronunciation which is different from its +// "letter" name, then include the letter name here, with the letter +// prefixed by a _ character. +// a e o à é can also be words + _a a _e E _o O +_à ,agR'avi +_é ,e&g'udU a a $atend e E $atend // assume letter-e at end of sentence o O $atend +à ,agR'avi $atend +é ,e||&g'udU $atend + +á ,a||&g'udU +â ,a||sirkuNfl'EksU +ã ,atS'iU +ç s,esed'elj& +è ,egR'avi +ê ,e||sirkuNfl'EksU +í ,i&g'udU +ó ,o&g'udU +ô ,o||sirkuNfl'EksU +õ ,otS'iU +ú ,u&g'udU +ü ,utR'em& // some common adjectives and adverbs @@ -578,7 +589,7 @@ roxo x'oSU ?1 cancel k'&ns'El ?1 caps k'aps ?1 com kom - ctrl k'oNt:r,Ol +?1 ctrl k'oNt:r,Ol ?1 dat d'at ?1 doc d'Ok ?1 delete d'il'it @@ -589,6 +600,7 @@ roxo x'oSU ?1 end 'end ?1 escape Sk'eIpy ?1 explorer ,ekspl'O:r&r- +?2 explorer ekspl'O*er ?1 eyes 'aiz ?1 frame fr'eImy ?2 frame fR'eImi @@ -615,6 +627,7 @@ roxo x'oSU ?2 maior maI'Or ?1 menor myn'Or- ?2 menor men'Or +?2 mouse m'aUzi ?1 menu menu ?1 next n'Ekst ok Ok'eI @@ -632,8 +645,8 @@ roxo x'oSU ?1 scroll sk:r'ol ?1 site s'aIt ?2 site s'aItSi -?1 software s'Oft,w'Er- -?2 software s'Oftwe@- +?1 software s'Oft,w'Er- +?2 software s'Oftwe@- ?1 space sp'eIsy ?1 sporting sp'Ort,ing ?1 tab t'ab @@ -660,8 +673,8 @@ louis _^_FR espeak isp'i:k ?1 espeakedit isp'i:kEd,it ?1 fedora _^_EN -?1 firefox f'ai&rfOks -?2 firefox f'ai@fOks +?1 firefox f'ai&rfOks +?2 firefox f'ai@fOks ?1 front fr'ont ?1 jaws dZ'au:z ?2 jaws dZ'Os @@ -686,7 +699,7 @@ louis _^_FR ?1 Publisher p'&bl,iS&r- ?1 reader r'id,&r- ?1 setup s'Et'&p -?1 scout sk'aut // Nero scout +?1 scout sk'aut // Nero scout ?1 skype sk'aip slackware sl'akwe@ ?1 smart sm'art // nero StartSmart @@ -763,3 +776,4 @@ volkmann f'Olkman + diff --git a/dictsource/pt_rules b/dictsource/pt_rules index 93425821..5669ee60 100755 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -1,4 +1,4 @@ -// translation rules Brazilian +// translation rules Brazilian // This file is UTF-8 encoded // Options @@ -137,10 +137,23 @@ e (be_ E e (bem_ E e (bes_ E + e (ca_ E e (ce_ E e (cem_ E e (ces_ E + + e (clA_ E + e (clAs_ E + e (clAm_ E + e (co_ E + e (la_ E + e (las_ E + + e (rA_ E + e (rAm_ E + e (rAs_ E + e (stA_ E e (stAm_ E e (stAs_ E @@ -148,14 +161,28 @@ e (rnA_ E e (rnAm_ E - e (rnAs_ E - e (rtA_ E + e (rnAs_ E + +e (rtA_ E e (rtAm_ E e (rtAs_ E - e (rrA_ E + +e (rrA_ E e (rrAm_ E e (rrAs_ E + e (rvA_ E + e (rvAm_ E + e (rvAs_ E + + e (ve_ E + e (vem_ E + e (ves_ E + + e (rrAs_ E + + + e (x_ E e (xA_ E e (xAm_ E @@ -384,7 +411,12 @@ on (K oN o (na_ o onh on^ - o (rCA_ O + + o (brA_ O + o (brAm_ O + o (brAs_ O + +o (rCA_ O o (rCAm_ O o (rCAs_ O o (stA_ O diff --git a/phsource/compile_report b/phsource/compile_report index 2a9a17a5..a1016fe1 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -10,7 +10,7 @@ en_wm 30 144 af 38 128 cy 29 122 - de 30 121 + de 31 122 eo 13 108 fi 40 127 fr 32 118 @@ -456,7 +456,7 @@ 1 vowel/@_hgh no 19 vowel/i base2 en_n en_rp en_wm cy eo fr hu pl it pt pt_pt ++ 1 vowel/i# cy - 4 vowel/i_2 de nl la sv + 5 vowel/i_2 de nl la sv 2 vowel/i_3 af sk 4 vowel/i_4 fi hu it is 5 vowel/i_5 en_sc @@ -607,7 +607,7 @@ 1 w/wa base 1 w/we base 3 w/wi base vi zh_yue - 11 w/wi2 en en_n en_us en_sc en_rp en_wm de nl la sv no + 12 w/wi2 en en_n en_us en_sc en_rp en_wm de nl la sv no 1 w/wo base 1 w/wu base 5 w/xw base diff --git a/phsource/ph_af b/phsource/ph_afrikaans old mode 100644 new mode 100755 similarity index 100% rename from phsource/ph_af rename to phsource/ph_afrikaans diff --git a/phsource/ph_german b/phsource/ph_german index 8dfadb15..c99f8c09 100755 --- a/phsource/ph_german +++ b/phsource/ph_german @@ -105,6 +105,15 @@ phoneme i: before * DFT+40 endphoneme +phoneme i2 + vowel starttype (i) endtype (i) + length 180 + formants vowel/i_2 + after w w/wi2 + before * DFT+40 + reduceto I 4 +endphoneme + phoneme u: vowel starttype (u) endtype (u) diff --git a/phsource/ph_portugual b/phsource/ph_portugal similarity index 100% rename from phsource/ph_portugual rename to phsource/ph_portugal diff --git a/phsource/phonemes b/phsource/phonemes index 713ee767..5642638c 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1147,7 +1147,7 @@ phonemetable en_wm en include ph_english_wm phonemetable af base -include ph_af +include ph_afrikaans phonemetable cy base include ph_welsh @@ -1208,7 +1208,7 @@ phonemetable pt base2 include ph_pt_brazil phonemetable pt_pt pt -include ph_portugual +include ph_portugal phonemetable ro base2 include ph_romanian diff --git a/src/extras.cpp b/src/extras.cpp index 9b57423f..c30e5c68 100644 --- a/src/extras.cpp +++ b/src/extras.cpp @@ -1165,7 +1165,7 @@ int x; } #endif -char* text1 = "Hello World. This is the second sentence"; +char* text1 = "Hello World2. This is the second sentence"; void TestTest(int control) {//======================= @@ -1174,7 +1174,7 @@ void TestTest(int control) unsigned int ix=0; char textbuf[2000]; espeak_VOICE voice; - espeak_VOICE *voice2; + unsigned int unique_identifier=0; //FindPhonemesUsed(); //return; @@ -1211,8 +1211,6 @@ if(control==2) espeak_SetSynthCallback(TestSynthCallback); espeak_SetUriCallback(TestUriCallback); - unsigned int unique_identifier=0; - int index=0; espeak_Synth(text1, strlen(text1)+1, 0, POS_CHARACTER, 0, espeakSSML|espeakCHARS_UTF8, &unique_identifier, NULL); espeak_SetParameter(espeakPUNCTUATION, 1, 0); diff --git a/src/readclause.cpp b/src/readclause.cpp index edcb3d74..7d91199d 100644 --- a/src/readclause.cpp +++ b/src/readclause.cpp @@ -38,7 +38,7 @@ espeak_VOICE *SelectVoice(espeak_VOICE *voice_select, int *variant); -char *xmlbase = NULL; // base URL from +char *xmlbase = ""; // base URL from int namedata_ix=0; int n_namedata = 0; @@ -1316,6 +1316,7 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outb case SSML_AUDIO + SSML_CLOSE: if(uri_callback == NULL) break; + PopParamStack(tag_type, outbuf, outix); return(CLAUSE_NONE); case SSML_BREAK: diff --git a/src/synthdata.cpp b/src/synthdata.cpp index c63921f8..e31c4e57 100755 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.26.08 19.Jun.07"; +const char *version_string = "1.26.09 20.Jun.07"; const int version_phdata = 0x012601; int option_device_number = -1; diff --git a/src/voices.cpp b/src/voices.cpp index fb77ba0d..d0b30ad0 100755 --- a/src/voices.cpp +++ b/src/voices.cpp @@ -52,8 +52,7 @@ int tone_points[10] = {600,170, 1200,135, 2000,110, 3000,110, -1,0}; // limit the rate of change for each formant number //static int formant_rate_22050[9] = {50, 104, 165, 230, 220, 220, 220, 220, 220}; // values for 22kHz sample rate -static int formant_rate_22050[9] = {250, 200, 200, 200, 200, 200, 200, 200, 200}; // values for 22kHz sample rate -//static int formant_rate_22050[9] = {50, 100, 165, 200, 200, 200, 200, 200, 200}; // values for 22kHz sample rate +static int formant_rate_22050[9] = {240, 180, 180, 180, 180, 180, 180, 180, 180}; // values for 22kHz sample rate int formant_rate[9]; // values adjusted for actual sample rate