diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/ChangeLog /tmp/FYWarWUISc/espeak-1.15/ChangeLog --- /tmp/OUeX2G7HQN/espeak-1.11/ChangeLog 2006-08-07 21:11:10.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/ChangeLog 2006-09-26 12:13:22.000000000 +1000 @@ -1,26 +1,88 @@ -eSpeak 1.11 07.Aug.2006 +eSpeak 1.15 25.Sep.2006 + +1. Added "length" field to espeak_EVENT structure in + speak_lib.h. + + +eSpeak 1.14 21.Sep.2006 + +NOTE: The contents of the files in the espeak-dat + directory, and the format of their contents has changed + for this version. Please delete your old espeak-dat + directory and replace it with the new one in this + package. + +1. Makefile now produces both the "speak" program and + the shared library version: libespeak.so.1.1.14 + +2. Most languages now speak groups of digits rather than + just single digits. + Translating groups of digits into spoken numbers is now + done by a program function: TranslateNumber() rather + than by a large number of rules in the xx_rules file. + The number fragments used by TranslateNumber() are + found in the xx_list file and their labels all begin + with underscore followed by a digit. + +3. Improvements to Italian, German. + Initial version of Welsh and Russian (note, a larger + Russian dictionary file is available as a separate + download). + +4. Added functions to libespeak API (see speak_lib.h): + void espeak_SetPhonemes(int value, FILE *stream); + void espeak_CompileDictionary(const char *path, FILE *log); + +5. Added some additional experimental intonation types. + To try these add a line to the end of a voices file: + intonation + + 0 is the default, the other values are 1, 2, 3, 16. + + Let me know if you want to experiment with writing a + different intonation algorithm. + -NOTE: The contents of the files in the espeak-dat directory, - and the format of their contents has changed for this version. - Please delete your old espeak-dat directory and replace it - with the new one in this package. -1. Recognise and obey some SSML (Speak synthesis markup language) - and HTML tags, and ignore unrecognised tags. +eSpeak 1.13 30.Aug.2006 +1. Now compiles for use with either V18 or V19 of + PortAudio. Copy either portaudio18.h or portaudio19.h + to portaudio.h. + +2. Can be used as a library rather than a separate + process. Compile with source file speak_lib.cpp + rather than speak.cpp. + The API is described in speak_lib.h. + +3. Added language: Greek (just guesswork, it needs work by + a native speaker). + +4. Various improvements, including the Italian voice. + + +eSpeak 1.12 29.Aug.2006 + Withdrawn due to an error. + + +eSpeak 1.11 07.Aug.2006 + +1. Recognise and obey some SSML (Speak synthesis markup + language) and HTML tags, and ignore unrecognised tags. Use with the -m option. 2. Added language: Afrikaans. -3. Added initial draft implementation of languages which need - word and advice from native speakers: +3. Added initial draft implementation of languages which + need work and advice from native speakers: Spanish, Italian, Polish, as well as previous: German, Esperanto. 4. English languages variants (Voice file now renamed to: en-n, en-rp, en-wm) are improved. -5. Added --voices command option to list voices. Voice files - can now be in subdirectories in espeak-data/voices. +5. Added --voices command option to list voices. Voice + files can now be in subdirectories in + espeak-data/voices. @@ -43,12 +105,12 @@ 6. Added command option --punct to speak punctuation within the input text. -7. Added command option -k to indicate capital letters within - the input text by either a click, raised pitch, or spoken - word "capital". +7. Added command option -k to indicate capital letters + within the input text by either a click, raised pitch, + or spoken word "capital". -8. Changed command options for phoneme display from -p -P to - -x -X. Added new option -p to adjust pitch. +8. Changed command options for phoneme display from -p -P + to -x -X. Added new option -p to adjust pitch. 9. Improvements to Esperanto language, including numbers. @@ -69,19 +131,13 @@ 1. Added command syntax to speak text string: speak [options] "this is some text" -2. Added command option --stdout to write speech output to stdout +2. Added command option --stdout to write speech output to + stdout -3. Change SpeakNextClause() function to take input from either - a file or memory. +3. Change SpeakNextClause() function to take input from + either a file or memory. 4. Changed compiler options in Makefile 5. Added phonemes @- Q o- u- - -eSpeak 1.07 - -1. Minor improvements in tonal quality. - -2. Added some support in the source code for tone languages. - diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/debian/changelog /tmp/FYWarWUISc/espeak-1.15/debian/changelog --- /tmp/OUeX2G7HQN/espeak-1.11/debian/changelog 2006-09-26 19:36:35.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/debian/changelog 2006-09-26 19:36:36.000000000 +1000 @@ -1,3 +1,14 @@ +espeak (1.15-0ubuntu1) edgy; urgency=low + + * New upstream release. + * Updated manpage. + * Break out synthesizer data files into new package, espeak-data. + * Created libespeak1 and libespeak-dev library packages. + * debian/control: Removed ${misc:Depends} from the espeak package + Depends field as it isn't needed. + + -- Luke Yelavich Tue, 26 Sep 2006 18:58:56 +1000 + espeak (1.11-0ubuntu1) edgy; urgency=low * New upstream release. diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/debian/control /tmp/FYWarWUISc/espeak-1.15/debian/control --- /tmp/OUeX2G7HQN/espeak-1.11/debian/control 2006-09-26 19:36:35.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/debian/control 2006-09-26 19:36:36.000000000 +1000 @@ -7,9 +7,9 @@ Package: espeak Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends} Description: A multi-lingual software speech synthesizer - eSpeak is a software speech synthesizer for English, and potentially other + eSpeak is a software speech synthesizer for English, and some other languages. . eSpeak produces good quality English speech. It uses a different synthesis @@ -32,3 +32,31 @@ attempts at German and Esperanto are included. * Compact size. The program and its data total about 350 kbytes. * Written in C++. + +Package: espeak-data +Architecture: all +Conflicts: espeak (<= 1.11) +Replaces: espeak (<= 1.11) +Recommends: espeak (= ${Source-Version}) +Suggests: libespeak1 (= ${Source-Version}) +Description: A multi-lingual software speech synthesizer: speech data files + eSpeak is a software speech synthesizer for English, and some other + languages. This package contains necessary synthesizer data files needed + for the espeak program, and the shared library. + +Package: libespeak1 +Architecture: any +Section: libs +Depends: ${shlibs:Depends} +Description: A multi-lingual software speech synthesizer: shared library + eSpeak is a software speech synthesizer for English, and some other + languages. This package contains the espeak program in a shared library. + +Package: libespeak-dev +Architecture: any +Section: libdevel +Depends: libespeak1 (= ${Source-Version}) +Description: A multi-lingual software speech synthesizer: development files + eSpeak is a software speech synthesizer for English, and some other + languages. This package contains the eSpeak development files needed to + build against the espeak shared library. diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/debian/dirs /tmp/FYWarWUISc/espeak-1.15/debian/dirs --- /tmp/OUeX2G7HQN/espeak-1.11/debian/dirs 2006-09-26 19:36:35.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/debian/dirs 2006-09-26 19:36:36.000000000 +1000 @@ -1,2 +1 @@ -usr/share usr/bin diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/debian/docs /tmp/FYWarWUISc/espeak-1.15/debian/docs --- /tmp/OUeX2G7HQN/espeak-1.11/debian/docs 2006-09-26 19:36:35.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/debian/docs 2006-09-26 19:36:36.000000000 +1000 @@ -1 +1,2 @@ docs/* +ReadMe diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/debian/espeak.1 /tmp/FYWarWUISc/espeak-1.15/debian/espeak.1 --- /tmp/OUeX2G7HQN/espeak-1.11/debian/espeak.1 2006-09-26 19:36:35.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/debian/espeak.1 2006-09-26 19:36:36.000000000 +1000 @@ -22,7 +22,7 @@ .RI [ options ]\ [ "" ] .SH DESCRIPTION .B espeak -is a software speech synthesizer for English, and potentially other languages. +is a software speech synthesizer for English, and some other languages. .SH OPTIONS .TP .B \-h @@ -34,8 +34,7 @@ .B \-\-stdin Read text input from stdin instead of a file .TP -If neither -f nor --stdin, are spoken, or if none then text is -spoken from stdin, each line separately. +If neither -f nor --stdin, are spoken, or if none then text is spoken from stdin, each line separately. .TP .B \-q Quiet, don't produce any speech (may be useful with -x) @@ -56,6 +55,9 @@ .B \-v Use voice file of this name from espeak-data/voices .TP +.B -m +Indicates that the text contains SSML (Speech Synthesis Markup Language) tags or other XML tags. Those SSML tags which are supported are interpreted. Other tags, including HTML, are ignored, except that some HTML tags such as

and
  • ensure a break in the speech. +.TP .B \-w Write output to this WAV file, rather than speaking it directly .TP @@ -69,18 +71,17 @@ Write speech output to stdout .TP .B \-\-compile= -Compile the pronunciation rules and dictionary in the current -directory. = is optional and specifies which language +Compile the pronunciation rules and dictionary in the current directory. = is optional and specifies which language .TP .B \-\-punct="" -Speak the names of punctuation characters during speaking. If -= is omitted, all punctuation is spoken. +Speak the names of punctuation characters during speaking. If = is omitted, all punctuation is spoken. .TP .B \-k -Indicate capital letters with: 1=sound, 2=the word "capitals", -higher values = a pitch increase (try -k20). +Indicate capital letters with: 1=sound, 2=the word "capitals", higher values = a pitch increase (try -k20). +.TP +.B \-\-voices[=] +Lists the available voices. If = is present then only those voices which are suitable for that language are listed. .SH AUTHOR -eSpeak was written by Jonathan Duddington . +eSpeak was written by Jonathan Duddington . The webpage for this package can be found at http://espeak.sourceforge.net/. .PP -This manual page was written by Luke Yelavich , -for the Ubuntu project (but may be used by others). +This manual page was written by Luke Yelavich , for the Ubuntu project (but may be used by others). diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/debian/espeak-data.dirs /tmp/FYWarWUISc/espeak-1.15/debian/espeak-data.dirs --- /tmp/OUeX2G7HQN/espeak-1.11/debian/espeak-data.dirs 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/debian/espeak-data.dirs 2006-09-26 19:36:36.000000000 +1000 @@ -0,0 +1 @@ +usr/share diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/debian/libespeak1.dirs /tmp/FYWarWUISc/espeak-1.15/debian/libespeak1.dirs --- /tmp/OUeX2G7HQN/espeak-1.11/debian/libespeak1.dirs 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/debian/libespeak1.dirs 2006-09-26 19:36:36.000000000 +1000 @@ -0,0 +1 @@ +/usr/lib diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/debian/libespeak-dev.dirs /tmp/FYWarWUISc/espeak-1.15/debian/libespeak-dev.dirs --- /tmp/OUeX2G7HQN/espeak-1.11/debian/libespeak-dev.dirs 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/debian/libespeak-dev.dirs 2006-09-26 19:36:36.000000000 +1000 @@ -0,0 +1,2 @@ +usr/include +usr/lib diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/debian/rules /tmp/FYWarWUISc/espeak-1.15/debian/rules --- /tmp/OUeX2G7HQN/espeak-1.11/debian/rules 2006-09-26 19:36:35.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/debian/rules 2006-09-26 19:36:36.000000000 +1000 @@ -9,7 +9,8 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 - +soname=libespeak.so.1 +version=1.15 CFLAGS = -Wall -g @@ -56,9 +57,14 @@ # Add here commands to install the package into debian/espeak. install -m 755 -o root -g root src/speak $(CURDIR)/debian/espeak/usr/bin/espeak - cp -r espeak-data $(CURDIR)/debian/espeak/usr/share - find $(CURDIR)/debian/espeak/usr/share -type f -exec chmod 644 {} \; - find $(CURDIR)/debian/espeak/usr/share -type d -exec chmod 755 {} \; + cp -r espeak-data $(CURDIR)/debian/espeak-data/usr/share + find $(CURDIR)/debian/espeak-data/usr/share -type f -exec chmod 644 {} \; + find $(CURDIR)/debian/espeak-data/usr/share -type d -exec chmod 755 {} \; + install -m 644 -o root -g root src/$(soname).$(version) $(CURDIR)/debian/libespeak1/usr/lib/$(soname).$(version) + cd $(CURDIR)/debian/libespeak1/usr/lib && ln -s $(soname).$(version) $(soname) + cd $(CURDIR)/debian/libespeak1/usr/lib && ln -s $(soname).$(version) libespeak.so + mv $(CURDIR)/debian/libespeak1/usr/lib/libespeak.so $(CURDIR)/debian/libespeak-dev/usr/lib + install -m 644 -o root -g root src/speak_lib.h $(CURDIR)/debian/libespeak-dev/usr/include # Build architecture-independent files here. binary-indep: build install diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/af_list /tmp/FYWarWUISc/espeak-1.15/dictsource/af_list --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/af_list 2006-08-04 16:39:42.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/af_list 2006-09-20 17:52:17.000000000 +1000 @@ -1,373 +1,462 @@ -//maintainer: Willem van der Walt -// email: wvdwalt@csir.co.za -// tel: +27 12 8413996 -// Meraka Institute, CSIR - -// This file is UTF-8 encoded -// all words lower case - - - -// Place names - -afrika 'A:frika - -johannesburg juh'an@sbWrx2 -pretoria prit'o@ria - - - -// People names -botha b'o@ta -jacques ZA:k -johan juh'an -grange x2r'A:nsi -louis l'uI -viljoen $2 -marais mar'E: -mandela mand'E:la -celliers sIlj'e@ -chris kr'Is -christo kr'Istu -christian kr'Istian -joubert jub'&:r -pleses pl@s'i -schalkwyk sk'alkveIk -xhosa k'O:za - -toit toI -khumalo kum'A:lu - - - - -// article - -die $u - - - -// unstressed verbs - -is $u -het $u -sal $u -sou $u -kan $u $strend -kon $u $strend -wil $u $strend -word $u -kry $u -gaan $u - - -// conjunctions and questions - -//maar -toe $u -//tog - -en $u $pause -want $pause -of $u $pause -dan $pause -anders $pause -al $pause -daarom $pause -dus $pause -gevolglik $pause -daarna $pause -verder f'&rd@r $pause -nogtans $pause -intussen $pause -omdat $pause -sodat $pause -voordat $pause -nadat $pause -totdat $pause -as ,as $pause -soos $pause -solank $pause -sodra $pause -sedert $pause -alhoewel $pause -tensy $pause -aangesien $pause -wie $pause -wanneer $pause -waar $pause -waarom $pause -waarheen $pause -hoe $pause -hoekom $pause -hoeveel $pause -wat $pause -watter $pause - - -// prepositions -aan $u $strend2 -agter $u $strend2 -bo $u $strend2 -by $u -in $u -met $u -na $u -om $u $strend2 -onder $u $strend2 -op $u $strend2 -van $u -vir $u -voor $u $strend2 - - -// misc unstressed -de d@ -du $u -dat $u $strend -te t@ -nie $unstressend - -soos $u -beker b,e@k@r -bekers b,e@k@rs - - - -// pronouns -ek &k $u -jy $u -u $u -hy $u -sy $u -dit $u -ons $u -julle $u -hulle $u -my $u -jou $u -hom $u -haar $u -se s@ - -dis $u - - - -// phrase with words spoken together - -(nie waar nie) n,i||v,A:r||n'i - - -// abbreviations - -mnr mIn'e@r -mej m@jWfr@U -dr d'Okt@r -prof pruf'Es@r -supt suprEntEnd'Ent -pres pr@s@d'Ent - - - -// main word list - -aangaan 'A:nx2A:n -aanstaande $2 -aanvaar $2 -aanvanklik $2 -afrikaans $3 -afrikaner $3 -agenda ax2'Enda -algehele 'alx2@h,e@l@ -alleen $2 -alles 'al@s -alternatiewe $4 -asof asOf -asook aso@k - -bedjie b'E:ici -beide b'eId@ -belangriker b@l'aNr@k,Ir -belangrikst@ b@l'aNr@kst@ -bene b'e@n@ -bêre b'&:r@ -beste b'Est@ -bestes b'Est@s -beter b'e@t@r -bewe b'e@v@ -biblioteek $4 - -dadelik d'A:d@lIk -darem d'ar@m -demokrasie d,EmOkras'i -dikwels d'Ikv@ls -diplomasie d@plo@mas'i - -ekonomie Ekuno@m'i -elders '&ld@rs -enige e@nIx2@ -erger '&rg@r -erken &rk'En -ervare $2 -ervaring &rf'A:r@N - -figuur f@x2'yr -finaal $2 -finale $2 -finalis $3 -finaliste $3 - -garages g@r'A:dZ@s -gee x2e@ -geen x2'e@n -gegewens x2@x2'e@v@ns -geldelike x2'&ld@l@k@ -gesamentlik x2@s'A:m@ntl@k -geskiedenis x2@skid@n@s -geur x2'Y@r -gooi x2OI -gunsteling x2'Wnst@l@N - -hallo h'Il,@U -hanteer $2 -heeltemal h'e@lt@mal -hek h'&k -hekke h'&k@ -hele h'e@l@ -here he@r@ -hoewel huv'&l -hoofsaaklik $2 -hotel hut'&l - -idee $2 -ignoreer ix2no@r'e@r -inagneming @n'ax2n,e@m@N -ingang 'Inx2aN -intensiteit $4 - -kabinet kabin'Et -kafee kaf'e@ -kantoor $2 -kapitaal kapit'A:l -kategorie kat@x2ur'i -koevert kuf'&rt -kollega kul'e@x2a -komberse kOmb'&rs@ -kombers kOmb'&rs -krediet kr@d'it -kritiek krIt'ik -kultuur $2 -kunsmatige kWnsm'A:t@x2@ - -lekker l'&k@r -lughawe l'Wx2h,A:v@ - -manier $2 -matige m'A:t@x2@ -meegee m'e@x2e@ -mense m'e:ns@ -mens m'e:ns -militêre mIl@t'&:r@ -minister m@n'Ist@r -minute m@n'yt@ -minuut m@n'yt -miskien $2 -monitor m'OnitOr -motore mo@t'o@r@ -motor m'o@t@r -motors m'o@t@rs -motortjie m'o@t@rki - -natuurlik nat'yrl@k -natuur nat'yr -netjies n'E:icis -nogal n'Ox2al -normaal $2 -normale nOrm'A:l@ -november $2 - -omtrent Omtr'Ent -onderstebo On@rst@b,o@ -onlangs $1 -oorkom $2 -oorspronklike $2 -oortref $2 -oortuig $2 -oorweeg $2 -oranje $2 - -parlement parl@m'Ent -party $2 -per p'Ir -polisie pul'isi -presies pr@s'is -probeer prube@r -probleem prubl'e@m -probleme prubl'e@m@ -program prux2r'am - -redelik r'e@d@l@k -reeds r'e@ts -regverdig r&x2f'&rd@x2 -resep r@s'Ep -resepte r@s'Ept@ - -samelewing s'A:m@l,e@v@N -sekere s'e@k@r@ -sekonde s@k'Ond@ -sekondes s@k'Ond@s -sektore $2 -september s@pt'Emb@r -silinder s@l'Ind@r -s'n s'@n -sodra so@dr'A: -sogenaamde s'o@x2@n,A:md@ -soldaat $2 -soldate $2 -sononder s'On,On@r -sonop s'On,Op -spesiale spiSi'A:l@ -stabiel stab'il - -tema t'e@ma -terug t@-r'Wx2 -terwyl t@rv'eIl -toegee t'ux2e@ -toenemend $2 -totale tut'A:l@ - -uitdagings 'YydA:x2@Ns -uitdaging 'YydA:x2@N -uiteindelik $2 - -vanaf fanaf -vandag $2 -vanjaar $2 -vanoggend fan'Ox2@nt -vanuit fan'Yyt -veraf f'&r_af -verantwoordelikheid f@rantv'o@rd@l@keIt -verdere f'&rd@r@ -vere f'e@r@ -vererger f@r'&rg@r -ver f'&r -vergete f@rx2'e@t@ -verre f'&:r@ -verse f'&:rs@ -vers f'&:rs -verste f'&rst@ -verte f'&rt@ -via v'ia -volwassenes fOlv'as@n@s -voorgee f'o@rx2e@ -voorkom $2 -voormalige fo@rm'A:l@x2@ -voorsien $2 -voorspel fo@rsp'&l -vorige f'o@r@x2@ - -waarskynlik $2 -waarskynlike $2 -weg v&x2 - +//maintainer: Willem van der Walt +// email: wvdwalt@csir.co.za +// tel: +27 12 8413996 +// Meraka Institute, CSIR + +// This file is UTF-8 encoded +// all words lower case + + +// abbreviations +(http ://) hA:te@te@p'e@_ +e.a _:En_'and@r + +// letter names +// any letter which also appear as words should be prefixed by a _ here +a A: +b be@ +c se@ +d de@ +e e@ +f Ef +g x2e@ +h hA: +i i +j je@ +k kA: +l &l +m Em +n En +o o@ +p pe@ +q kwu +//r &r +s Es +t te@ +_u y +v fe@ +w ve@ +x Eks +y eI +z zEd + + +// numeric +_0 'nWl +_1 _'e@n +_1a _'e@n +_2 'twe@ +_3 'dri +_4 'fir +_5 'feIf +_6 'sEs +_7 'se@v@ +_8 _'axt +_9 'ne@x@ +_10 'tin +_11 _'&lf +_12 'tw'A:lf +_13 'd&rtin +_14 'fe@rtin +_15 'feIftin +_16 'sEstin +_17 'se@vEntin +_18 _'ax2tin +_19 'ne@x2@ntin +_20 'twIntIx2 +_30 'd&rtIx2 +_40 'fe@rtIx2 +_50 'feIftIx2 +_60 'sEstIx2 +_70 'se@vEntIx2 +_80 'tax2tIx2 +_90 'ne@x2@ntIx2 +_0H 'hOn@rt +_0T1 'd'Yys@nt +_0T2 'mIljun +_0T3 mIlj'art +_0and _!En +_dpt 'pWnt + + + + + +// Place names + +afrika 'A:frika + +johannesburg juh'an@sbWrx2 +pretoria prit'o@ria + + + +// People names +André 'andreI +botha b'o@ta +der d@r +eugene judZ'i:n +jacques ZA:k +johan juh'an +grange x2r'A:nsi +louis l'uI +louise luw'i:z +paul p'@Ul +phoebe f'i:bi +rousseau r@s'@U +viljoen $2 +marais mar'E: +mandela mand'E:la +celliers sIlj'e@ +chris kr'Is +christo kr'Istu +christian kr'Istian +joubert jub'&:r +plessis pl@s'i +schalkwyk sk'alkveIk +xhosa k'O:za + +toit toI +khumalo kum'A:lu + + + + +// article + +die $u + + + +// unstressed verbs + +is $u +het $u +sal $u +sou $u +kan $u $strend +kon $u $strend +wil $u $strend +word $u +kry $u +gaan $u + + +// conjunctions and questions + +//maar +toe $u +//tog + +en $u $pause +want $pause +of $u $pause +dan $pause +anders $pause +al $pause +daarom $pause +dus $pause +gevolglik $pause +daarna $pause +verder f'&rd@r $pause +nogtans $pause +intussen $pause +omdat $pause +sodat $pause +voordat $pause +nadat $pause +totdat $pause +as ,as $pause +soos $pause +solank $pause +sodra $pause +sedert $pause +alhoewel $pause +tensy $pause +aangesien $pause +wie $pause +wanneer $pause +waar $pause +waarom $pause +waarheen $pause +hoe $pause +hoekom $pause +hoeveel $pause +wat $pause +watter $pause + + +// prepositions +aan $u $strend2 +agter $u $strend2 +bo $u $strend2 +by $u +in $u +met $u +na $u +om $u $strend2 +onder $u $strend2 +op $u $strend2 +van $u +vir $u +voor $u $strend2 + + +// misc unstressed +de d@ +du $u +dat $u $strend +te t@ +nie $unstressend + +soos $u +beker b,e@k@r +bekers b,e@k@rs + + + +// pronouns +ek &k $u +jy $u +u $u +hy $u +sy $u +dit $u +ons $u +julle $u +hulle $u +my $u +jou $u +hom $u +haar $u +se s@ + +dis $u + + + +// phrase with words spoken together + +(nie waar nie) n,i||v,A:r||n'i + + +// abbreviations + +mnr mIn'e@r +mej m@jWfr@U +dr d'Okt@r +prof pruf'Es@r +supt suprEntEnd'Ent +pres pr@s@d'Ent + + + +// main word list + +aangaan 'A:nx2A:n +aanstaande $2 +aanvaar $2 +aanvanklik $2 +afrikaans $3 +afrikaner $3 +agenda ax2'Enda +algehele 'alx2@h,e@l@ +alleen $2 +alles 'al@s +alternatiewe $4 +asof asOf +asook aso@k + +bedjie b'E:ici +beide b'eId@ +belangriker b@l'aNr@k,Ir +belangrikst@ b@l'aNr@kst@ +bene b'e@n@ +bêre b'&:r@ +beste b'Est@ +bestes b'Est@s +beter b'e@t@r +bewe b'e@v@ +biblioteek $4 + +dadelik d'A:d@lIk +darem d'ar@m +demokrasie d,EmOkras'i +dikwels d'Ikv@ls +diplomasie d@plo@mas'i +dusver d'Wsf&r + +ekonomie Ekuno@m'i +elders '&ld@rs +energie En@rx2'i +enige e@nIx2@ +erger '&rg@r +erken &rk'En +ervare $2 +ervaring &rf'A:r@N +espeak i:;spi:k + +figuur f@x2'yr +finaal $2 +finale $2 +finalis $3 +finaliste $3 + +garages g@r'A:dZ@s +gee x2e@ +geen x2'e@n +gegewens x2@x2'e@v@ns +geldelike x2'&ld@l@k@ +gesamentlik x2@s'A:m@ntl@k +geskiedenis x2@skid@n@s +geur x2'Y@r +gooi x2OI +genade $2 +gunsteling x2'Wnst@l@N + +hallo h'Il,@U +hanteer $2 +heeltemal h'e@lt@mal +hek h'&k +hekke h'&k@ +hele h'e@l@ +here he@r@ +hoewel huv'&l +hoofsaaklik $2 +hotel hut'&l + +idee $2 +ignoreer ix2no@r'e@r +inagneming @n'ax2n,e@m@N +ingang 'Inx2aN +intensiteit $4 + +kabinet kabin'Et +kafee kaf'e@ +kantoor $2 +kapitaal kapit'A:l +kategorie kat@x2ur'i +koevert kuf'&rt +kollega kul'e@x2a +komberse kOmb'&rs@ +kombers kOmb'&rs +krediet kr@d'it +kritiek krIt'ik +kultuur $2 +kunsmatige kWnsm'A:t@x2@ + +lekker l'&k@r +lughawe l'Wx2h,A:v@ + +manier $2 +matige m'A:t@x2@ +meegee m'e@x2e@ +mense m'e:ns@ +mens m'e:ns +militêre mIl@t'&:r@ +minister m@n'Ist@r +minute m@n'yt@ +minuut m@n'yt +miskien $2 +monitor m'OnitOr +motore mo@t'o@r@ +motor m'o@t@r +motors m'o@t@rs +motortjie m'o@t@rki + +natuurlik nat'yrl@k +natuur nat'yr +netjies n'E:icis +netjiese n'Eicis@ +nogal n'Ox2al +normaal $2 +normale nOrm'A:l@ +november $2 + +omtrent Omtr'Ent +onderstebo On@rst@b,o@ +onlangs $1 +oorkom $2 +oorspronklike $2 +oortref $2 +oortuig $2 +oorweeg $2 +oranje $2 + +parlement parl@m'Ent +party $2 +per p'Ir +polisie pul'isi +presies pr@s'is +probeer prube@r +probleem prubl'e@m +probleme prubl'e@m@ +program prux2r'am + +redelik r'e@d@l@k +reeds r'e@ts +regverdig r&x2f'&rd@x2 +resep r@s'Ep +resepte r@s'Ept@ + +samelewing s'A:m@l,e@v@N +sekere s'e@k@r@ +sekonde s@k'Ond@ +sekondes s@k'Ond@s +sektore $2 +september s@pt'Emb@r +silinder s@l'Ind@r +s'n s'@n +sodra so@dr'A: +sogenaamde s'o@x2@n,A:md@ +soldaat $2 +soldate $2 +sononder s'On,On@r +sonop s'On,Op +sover s'o@f&r +spesiale spiSi'A:l@ +stabiel stab'il + +tema t'e@ma +terug t@-r'Wx2 +terwyl t@rv'eIl +toegee t'ux2e@ +toenemend $2 +totale tut'A:l@ + +uitdagings 'YydA:x2@Ns +uitdaging 'YydA:x2@N +uiteindelik $2 + +vanaf fanaf +vandag $2 +vanjaar $2 +vanoggend fan'Ox2@nt +vanuit fan'Yyt +veraf f'&r_af +verantwoordelikheid f@rantv'o@rd@l@keIt +verdere f'&rd@r@ +vere f'e@r@ +vererger f@r'&rg@r +ver f'&r +vergete f@rx2'e@t@ +vermy $2 +verre f'&:r@ +verse f'&:rs@ +vers f'&:rs +verste f'&rst@ +verte f'&rt@ +via v'ia +volwassenes fOlv'as@n@s +voorgee f'o@rx2e@ +voorkom $2 +voormalige fo@rm'A:l@x2@ +voorsien $2 +voorspel fo@rsp'&l +vorige f'o@r@x2@ + +waarskynlik $2 +waarskynlike $2 +weg v&x2 + + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/af_rules /tmp/FYWarWUISc/espeak-1.15/dictsource/af_rules --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/af_rules 2006-08-04 16:43:14.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/af_rules 2006-09-20 17:49:14.000000000 +1000 @@ -1,477 +1,511 @@ -//maintainer: Willem van der Walt -// email: wvdwalt@csir.co.za -// tel: +27 12 8413996 -// Meraka Institute, CSIR - - -.group a - _) a (_ A: - a A: - agent ax2'Ent - algemeen 'alx2@m,e@n - - a (C a - a (CA A: -// a (r_ A: // ?? - aa A: - ae 'A: //should be A:@ but sounds wrong - ai aI - aai AI - au aU // ?? - - &) a (_S1 A: - - _) aange (@P5 A:nx@ - _) afge (@P4 afx2@ - _) agterge (@P7 'ax2t@rx2@ - a (dj aI - aan (djie AIN - aan (tjie AIN - adjie AIci - atjie aIci - aadjie AIci - aatjie AIci - &) asie (_S4 'A:si - &) asies (_S5 'A:sis - adjunk adj'WNk - -.group an - an (djie+ aIN - an (tjie aIN - - -.group b - _) b (_ be@ - b b - b (b - b (_ p - _) be (@P2 b@ - _) byge (@P4 b'eIx2@ - - badjie baIci - - baba b'A:ba - bee be@ - bederf b@d'&rf - beur b'Y@r - besig b'e@s@x2 - bessie bEsi - bekommer b@k'Om@r - berg b&rx2 - besem b,e@s@m - -.group c - _) c (_ se@ - c k - c (c - c (e s - c (i s - c (y s - ch x - _) ch x2 - ch (ro k - -.group d - _) d (_ de@ - d d - d (d - - &) ding (_S4 dIN - &) de (_S2 d@ - - d (_N t // - dj c // palatal stop - - d (_dN // next word starts with d, drop the d - - @) dge (_ _^_EN //words ending in dge are English - &) dele (_ de@l@ - &) ddele (_ d@l@ - doku dOky - -.group e - _) e (_ e@ - e e@ - e (C E - - e (CA e@ - ee e@ - eeu iu - ei eI - ey eI - eu Y@ - - &) e (_ @ - e (gK & - &) e (l_ @ - e (lK & - &) e (lC_ @ - - - &) ele (_ @l@ - - &) e (m_ @ - &) e (n_ @ - &) e (nC_ @ - - &) e (r_ @ - &) ers (_ @rs - &) erei (_ @reI - e (r & - - &d) e (r@ @ // not initial or final syllable - &t) e (r@ @ - &b) e (s@ @ - - entjie EiNci - edjie 'E:ici - etjie ici - &) elik (_S4 @l@k - &) ere (_S3 @r@ - - -.group f - _) f (_ Ef - f f - f (f - - familie fam'ili - - -.group g - _) g (_ x2e@ - g x2 - g (g - ge (_ g@ - gh g - gh (_ k - _) ge (@P2 x2@ - - gee x2e@ - gegee =x2@x2'e@ - - ght _^_EN - gesels x2@s'&ls - generaal x2@n@r'A:l - garage g@r'A:dZ - - -.group h - _) h (_ hA: - h h - h (h - _) her (@P3 h%&r - - hel h&l - heg h&x2 - -.group i - _) i (_ i - i i - i (C I - i (CA i - ie i - ieu iu - ij (C eI - _) inge (@P4 @nx2@ - &) ige (_S1 @ - &) iger (_S2 @r - &) ike (_S3 @k@ - &) ing (_ @N - - indjie 'IiNci - intjie IiNci - idjie Iici - itjie Iici - - igheid @x2eIt - &) igheid (_S6 Ix2eIt - &) ighede (_S6 Ix2e@d@ - - ingenieur @nx2@n'y@r - interessant Int;r@s'ant - - ity (_N _^_EN - - -.group j - _) j (_ je@ - j j - j (j - -.group k - _) k (_ kA: - k k - k (k - kk k - - karakter kar'akt@r - koeël k'ul - kombuis kOmb'Yys - - -.group l - _) l (_ &l - l l - l (l - &) lede (_S4 le@d@ - &) lik (_S3 l@k - &) like (_S4 l@k@ - &) likste (_S6 l@kst@ - _) losge (@P5 l'Osx2@ - - -.group m - _) m (_ Em - m m - m (m - - &) mal (_S3 mal - _) meege (@P5 m'e@x2@ - mekaar m@k'A:r - mekaarge m@k'A:rx2@ - mment m@nt - ment m'Ent - - metaal m@t'A:l - metale m@t'A:l@ - mikro mikru - ministers m@n'Ist@rs - musiek m'Wsik - - -.group n - _) n (_ En - n n - n (n - n (c N - n (k N - n (q N - n (x N - ng N - n (_g N - - - &) ning (_S4 n@N - _) nage (@P4 n'A:x2@ - - nasionale naSEun'A:l@ - &) nele (_ n'e@l@ - -.group o - _) o (_ o@ - o o@ - o (C O - o (CA o@ - oo o@ - oe u - oei uI - oi OI - ooi oI - oy OI - ou @U - - oetjie uIci - oentjie uINci - oedjie uIci - odjie OIci - otjie OIci - ondjie OINci - ontjie OINci - ontjie OINci - oodjie oIci - ootjie oIci - - _) omge (@P4 Omx2@ - omgewing Omx2'e@vIN - - _) on (@P2 %On - _) ont (@P3 %Ont - _) onge (@P4 Onx2@ - onder 'On@r - _) onderge (@P7 'On@rx2@ - _) opge (@P4 Opx2@ - organisasie Orx2anis'A:si - -.group p - _) p (_ pe@ - p p - p (p - - persoon p@rs'o@n - politiek pOl@t'ik - president pr@s@d'Ent - plek pl'&k - posisie puz'isi - produk prud'Wk - projek pruj'Ek - proses prus'Es - - -.group q - _) q (_ kwu - q kw - q (q - - que _^_EN - - -.group r - _) r (_ &r - r r - r (r - - &) ring (_S4 rIN - &) rm (K r@-m - &) rn (K r@-n - - reg r&x2 - rekenaar r'e@k@nA:r - rekord r'EkOrt - rivier r@f'ir - regering r@x2'e@r@N - respek r@spEk - &) rele (_ r'e@l@ - - -.group s - _) s (_ Es - s s - s (s - sch S - sj S - - self s'&lf - sio Siu - sioe Si'u - - situasie sItSu'A:si - skerp sk&rp - smelt sm< - spesialiseer spESialis'e@r - stel st&l - sistem sIst'e@m - stem stEm - &) sele (_ s'e@l@ - &) spele (_ sp'e@l@ - storm stOrm - streke str'e@k@ - -.group t - _) t (_ te@ - t t - t (t - t (_dN // final t, and next word starts with d - - tj tS - tj (ie c - _) tj (ie tS - @) th (_N _^_EN - - &) tel (_S3 t@l - &) tels (_S4 t@ls - tel t&l - _) toege (@P5 tux2@ - - _) terug (@P5 t@-r'Wx2 - _) terugge (@P7 t@-r'Wx2@ - @) tele (_ t'e@l@ - tenis t@nIs - toneel tun'e@l - - &) trede (_S5 tr,e@d@ - trek tr&k - tuur t'yr - - -.group u - _) u (_ y - u y - u (C W - u (CA y - uu y - ui Yy - uy Yy - - _) uitge (@P5 Yytx2@ - uitgewer 'Yytx2,e@v@r - utjie Yyci - - -.group v - _) v (_ fe@ - v f - v (v - - vel f'&l - vele f'e@l@ - ver f@r - _) ver (@P3 f@r - verfyn f@rf'eIn - verf f'&rf - _) veronge (@P7 f@r'Onx2@ - - ville _^_EN - _) vasge (@P5 f'asx2@ - - _) voorge (@P6 f'o@rx2@ - vorm f'Or@m - - -.group w - _) w (_ ve@ - w v - w (w - d) w w - k) w w - s) w w - t) w w - - werp v'&rp - wêreld v'&:r@ld - - worth _^_EN - wood _^_EN - @) ws (_N _^_EN - @) w (_N _^_EN - - -.group x - _) x (_ Eks - x ks - x (x - -.group y - _) y (_ eI - y eI - -.group z - _) z (_ zEd - z z - z (z - -.group 9 - 0 'nWl_ - 1 'e@n_ - 2 'twe@_ - 3 'dri_ - 4 'fir_ - 5 'feIf_ - 6 'sEs_ - 7 'se@v@_ - 8 'axt_ - 9 'ne@x@_ - -.group - ə @ // char.replacement for 'n - - ê e: - ê (r E - îe 3: - ô O: - - - - - - +//maintainer: Willem van der Walt +// email: wvdwalt@csir.co.za +// tel: +27 12 8413996 +// Meraka Institute, CSIR + + +.group a + a A: + agent ax2'Ent + algemeen 'alx2@m,e@n + + a (C a + a (CA A: +// a (r_ A: // ?? + aa A: + ae 'A: //should be A:@ but sounds wrong + ai aI + aai AI + au aU // ?? + + &) a (_S1 A: + + _) aange (@P5 A:nx@ + _) afge (@P4 afx2@ + _) agterge (@P7 'ax2t@rx2@ + a (dj aI + aan (djie AIN + aan (tjie AIN + adjie AIci + atjie aIci + aadjie AIci + aatjie AIci + &) asie (_S4 'A:si + &) asies (_S5 'A:sis + adjunk adj'WNk + +.group an + an (djie+ aIN + an (tjie aIN + + +.group b + b b + b (b + b (_ p + _) be (@P2 b@ + _) byge (@P4 b'eIx2@ + + badjie baIci + + baba b'A:ba + bee be@ + bederf b@d'&rf + beur b'Y@r + besig b'e@s@x2 + bessie bEsi + bekommer b@k'Om@r + berg b&rx2 + berge b&rg@ + besem b,e@s@m + +.group c + c k + c (c + c (e s + c (i s + c (y s + ch x + _) ch x2 + ch (ro k + +.group d + d d + d (d + + &) ding (_S4 dIN + &) de (_S2 d@ + + d (_N t // + dj c // palatal stop + + d (_dN // next word starts with d, drop the d + @) dge (_ _^_EN //words ending in dge is English + + &) dele (_ de@l@ + &) ddele (_ d@l@ + doku dOky + +.group e + e e@ + e (C E + + e (CA e@ + ee e@ + eeu iu + ei eI + ey eI + eu Y@ + + &) e (_ @ + e (gK & + &) e (l_ @ + e (lK & + &) e (lC_ @ + + + &) ele (_ @l@ + + &) e (m_ @ + &) e (n_ @ + &) e (nC_ @ + + &) e (r_ @ + &) ers (_ @rs + &) erei (_ @reI + e (r & + + &d) e (r@ @ // not initial or final syllable + &t) e (r@ @ + &b) e (s@ @ + eenge 'e@nx2@ + entjie EiNci + edjie 'E:ici + etjie ici + &) elik (_S4 @l@k + &) ere (_S3 @r@ + + +.group f + f f + f (f + + familie fam'ili + foto f'o@tu + + +.group g + g x2 + g (g + ge x2@ +//re-enable following rule to get [g@] at end of words + ge (_ g@ + gh g + gh (_ k + _) ge (@P2 x2@ + + gee x2e@ + gegee =x2@x2'e@ + geld x2< + gelde x2&ld@ + geldi x2&ld@ + geldjie x2'&lci + gemmer x2'Em@r + ght _^_EN + gesels x2@s'&ls + generaal x2@n@r'A:l + garage g@r'A:dZ + + +.group h + h h + h (h + _) her (@P3 h%&r + + hel h&l + &) hede (_ he@d@ + heg h&x2 + +.group i + i i + i (C I + i (CA i + ie i + ieu iu + ij (C eI + _) inge (@P4 @nx2@ + &) ige (_ Ix2@ + &) iges (_ Ix2@s + &) iger (_S2 @r + &) ike (_S3 @k@ + &) ing (_ @N + + indjie 'IiNci + intjie IiNci + idjie Iici + itjie Iici + + igheid @x2eIt + &) igheid (_S6 Ix2eIt + &) ighede (_S6 Ix2e@d@ + + ingenieur @nx2@n'y@r + interessant Int;r@s'ant + + ity (_N _^_EN + + +.group j + j j + j (j + +.group k + k k + k (k + kk k + + karakter kar'akt@r + koeël k'ul + kombuis kOmb'Yys + + +.group l + l l + l (l + &) lede (_S4 le@d@ + ligen l@x2'En + &) lik (_S3 l@k + &) like (_S4 l@k@ + &) likste (_S6 l@kst@ + _) losge (@P5 l'Osx2@ + &) lm (K l@-m + +.group m + m m + m (m + + &) mal (_S3 mal + _) meege (@P5 m'e@x2@ + mekaar m@k'A:r + mekaarge m@k'A:rx2@ + mment m@nt + ment m'Ent + + metaal m@t'A:l + metale m@t'A:l@ + mikro mikru + ministers m@n'Ist@rs + musiek m'Wsik + + +.group n + n n + n (n + n (c N + n (k N + n (q N + n (x N + ng N + n (_g N + + + &) ning (_S4 n@N + _) nage (@P4 n'A:x2@ + + nasionale naSEun'A:l@ + &) nele (_ n'e@l@ + +.group o + o o@ + o (C O + o (CA o@ + oo o@ + oe u + oei uI + oi OI + ooi oI + oy OI + ou @U + + oetjie uIci + oentjie uINci + oedjie uIci + odjie OIci + otjie OIci + ondjie OINci + ontjie OINci + ontjie OINci + oodjie oIci + ootjie oIci + + _) omge (@P4 Omx2@ + omgewing Omx2'e@vIN + + _) on (@P2 %On + _) ont (@P3 %Ont + _) onge (@P4 Onx2@ + onder 'On@r + _) onderge (@P7 'On@rx2@ + _) opge (@P4 Opx2@ + organisasie Orx2anis'A:si + +.group p + p p + p (p + + persoon p@rs'o@n + politiek pOl@t'ik + president pr@s@d'Ent + plek pl'&k + posisie puz'isi + produk prud'Wk + projek pruj'Ek + proses prus'Es + prosedure prOs@d'yr@ + + +.group q + q kw + q (q + + que _^_EN + + +.group r + _) r (_ &r + r r + r (r + _) r (_D. rant + _) r (_DD. rant + _) r (_DDD rant + + &) ring (_S4 rIN + &) rm (K r@-m + &) rn (K r@-n + + reg r&x2 + rekenaar r'e@k@nA:r + rekord r'EkOrt + rivier r@f'ir + regering r@x2'e@r@N + respek r@spEk +rugby r'Wgbi + &) rele (_ r'e@l@ + + +.group s + s s + s (s + sch S + sj S + + self s'&lf + sio Siu + sioe Si'u + + situasie sItSu'A:si + skerp sk&rp + smelt sm< + spesialiseer spESialis'e@r + stel st&l + sistem sIst'e@m + stem stEm + &) sele (_ s'e@l@ + &) spele (_ sp'e@l@ + storm stOr@-m + streke str'e@k@ + +.group t + t t + t (t + t (_dN // final t, and next word starts with d + + tj tS + tj (ie c + _) tj (ie tS + @) th (_N _^_EN + + &) tel (_S3 t@l + &) tels (_S4 t@ls + tel t&l + _) toege (@P5 tux2@ + + _) terug (@P5 t@-r'Wx2 + _) terugge (@P7 t@-r'Wx2@ + @) tele (_ t'e@l@ + telefoon t&l@f'o@n + telegram t&l@x2r'am + televisie t&l@v'isi + telekom t&l@kOm + teleskoop t&l@sk'o@p + + tenis t@nIs + @) tion (_ _^_EN //words ending in tion is English + @) tions (_ _^_EN //words ending in tions is English + toneel tun'e@l + + &) trede (_S5 tr,e@d@ + trek tr&k + tuur t'yr + + +.group u + u y + u (C W + u (CA y + uu y + ui Yy + uy Yy + + _) uitge (@P5 Yytx2@ + uitgewer 'Yytx2,e@v@r + utjie Yyci + universiteit yniv&rsit'eIt + + +.group v + v f + v (v + + vel f'&l + vele f'e@l@ + ver f@r + _) ver (@P3 f@r + verfyn f@rf'eIn + verf f'&rf + _) veronge (@P7 f@r'Onx2@ + + ville _^_EN + _) vasge (@P5 f'asx2@ + + _) voorge (@P6 f'o@rx2@ + vorm f'Or@m + + +.group w + w v + w (w + d) w w + k) w w + s) w w + t) w w + + werp v'&rp + wêreld v'&:r@ld + + worth _^_EN + wood _^_EN + @) ws (_N _^_EN + @) w (_N _^_EN + +.group x + x ks + x (x + +.group y + y eI + +.group z + z z + z (z + +.group 9 + 0 'nWl_ + 1 'e@n_ + 2 'twe@_ + 3 'dri_ + 4 'fir_ + 5 'feIf_ + 6 'sEs_ + 7 'se@v@_ + 8 'axt_ + 9 'ne@x@_ + +.group + ə @ // char.replacement for 'n + + ê e: + ê (r E + îe 3: + ô O: + +// punctution + ! _:eItrup_: + !) ! + $ dOl@r + % p&rs'Ent + & _|amp&rsant + £ p@Unt + / stre@p + @ beI_: + \\ trystre@p + +// punctuation, but don't speak multiple occurrances + = _:x2@l'eIk_: + = (== + =) = (= + ==) = (_ _:: + + * st&r + *) * (* + ** + **) * (_ _:: + + + plus + _) ++ (_ pluspl'us + \+\+\+) + // ignore + after the first 3 + + __) - (_D minWs + A_) - (_D _ + C_) - (_D _ + --) - + + . pWnt + . (. _: + \.) . + + + + + + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/cy_list /tmp/FYWarWUISc/espeak-1.15/dictsource/cy_list --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/cy_list 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/cy_list 2006-09-19 05:00:25.000000000 +1000 @@ -0,0 +1,224 @@ + +// 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. +_a A: +_e e: +_I i: +_o o: +_y V + + +// numbers +_0 n'Ul +_1 'Yn +_2 d'aY +_3 tr'i: +_4 p'Edwar +_5 p'Ymp +_6 xw'e:C +_7 s'aIT +_8 w'YT +_9 n'aU +_10 d'e:g +_20 d'aYD,e:g +_30 tr'i:D,e:g +_40 p'EdwarD,e:g +_50 p'YmD,e:g +_60 xw'e:D,e:g +_70 s'aITD,e:g +_80 w'YTD,e:g +_90 n'aUD,e:g +_0H k'ant +_2H d'aYg,ant +_3H tr'i:x,ant +_0T1 m'i:l_ +_1T1 m'i:l_ // no '1' before thousand +_0T2 m'i:lIun_ +_0T3 b'i:lIun_ +_dpt puYnt + + +// articles +y @ +yr @r + +// conjunctions +a %a $pause // and +ac $u $pause // and +os $u $pause // if +er $u $pause // although +achos $pause // because +felly $pause // so, therefore +mor $pause // as,so +neu $pause // or(not) +oherwydd $pause // because +ond $pause // but +petai $pause // if it were +sy $u $pause // which is +sydd $u $pause // which are + +// prepositions +//yn @n // in (cy_rules) +ym @ // in (+nasal word) +yng @ // in (+nasal word) +ynddi $u $strend // in it (f) +ynddo $u $strend // in it (m) + +o _%o: // of,from,out of +(o hyd) o:h'y:d $pause // until +â _%A: // with +am _%am // for +ar _%ar // on +at _%at // to,towards +ap _%ap +gan $u $strend // by,with,from +mewn $u $strend // in(a) +tu $u $strend +wrth $u $pause $strend // by,with,while + +heb $u // without,not +gyda $u $strend // with +ers $u $pause $strend // since +cyn $u $pause $strend // before,as +nes $pause $strend // until +tan $pause $strend // until +dan $pause $strend // until,under + +agos _A:gOs $u $strend // near +blaen $u $strend // in front of +ôl _%o:l $strend // behind +rhwng $u $strend // between +dan $u $strend // under +dros $u $strend // over,for,on behalf of +//draws // across +drwy $u $strend // through +erbyn $u $strend // by, against +ymhen $pause $strend // within + + +// pronouns +i %I +ti %ti: +e %E +hi %hi: +ni %ni: +chi %xi: +nhw %nhu: + +hon $u $strend // this one (f) +honna $u $strend // that one (f) +hwn $u $strend // this one (m) +hwnna $u $strend // that one (m) +hwnnw $u $strend // that one (m) +hyn $u $strend // this, these +hynny $u $strend // that, those + +rhain $u $strend // these +rheina $u $strend // those +rheini $u $strend // those + +taw $u $strend // that + +mai $u $strend // that +Mai $capital // May: month + +'na $u $strend // that +yna $u $strend // that + +'ma $u $strend // this +yma $u $strend // this + +// possessives +fy $u // my +ei $u // his, her +ein $u // our +eu $u // their + +// questions +shwd $u $pause $strend // how +sud $u $pause $strend // how + +// adverbs etc. +fel $u // like,as +na $u // than +nag $u // than +//bron // almost +//cwbl // all +pob $u // each +rhywfaint $u // some (amount) +rhywrai $u // some (pl) +unrhyw $u // any + +// verbs +yn @n +wedi $u // perfect tense +fe $u $strend // positive marker + +bod $u // to be +rydw $u +rwyt $u +mae $u +mae $u +rydyn $u +rydych $u +maen $u + +dwy $u // to be, contractions +dan $u +dach $u +rwy $u +ryn $u +rych $u + +roedd $u // was + +fod $u + +oes $u // is there? +yw %Yu // is,are + +dyma $u // here is +dyna $u // there is, that's + +cael $u $strend // to get,have +ga $u $strend + +gafodd $u $strend // past +gawson $u $strend +gawsoch $u $strend +gas $u $strend +geson $u $strend +gesoch $u $strend + + +gallu $u // can, to be able to +alla $u +alli $u +all $u +allwn $u +allwch $u +allan $u +galla $u +galli $u +gall $u +gallwn $u +gallwch $u +gallan $u + +//gorfod // must, to have to +//gorffod + +gwneud $u $strend // to do, make +neud $u $strend // to do, make + +//myna // to go + + +bangor baNgOr +cymraeg kVmr'AYg +ysbryd $2 + +Hughes hIu:s +Jones dZo:ns diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/cy_rules /tmp/FYWarWUISc/espeak-1.15/dictsource/cy_rules --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/cy_rules 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/cy_rules 2006-09-09 09:32:48.000000000 +1000 @@ -0,0 +1,288 @@ +// translation rules for Welsh language +// This file is UTF-8 encoded + +.group a + _) a (_ A: + a A: + a (C a + a (CC a + aa A: + + a (b A: + a (d A: + a (g A: + a (ch A: + a (th A: + a (ff A: + a (s A: + a (f A: + a (dd A: + + ae AY + ai aI + au aY + @) au (_ a + aw (+ aU + +.group b + _) b (_ bi: + b b + +.group c + _) c (_ Ek + _) ch (_ Ex + c k + ch x + e) ch C + i) ch C + u) ch C + +.group d + _) d (_ di: + _) dd (_ ED + d d + dd D + +.group e + _) e (_ e: + e e: + e (C E + e (CC E + ee e: + e (b e: + e (d e: + e (g e: + e (ch e: + e (th e: + e (ff e: + e (s e: + e (f e: + e (dd e: + + ei @I + ey @I + eu @Y + ew (+ eU + e (wA E + +.group f + _) f (_ Ev + _) ff (_ Ef + f v + ff f + +.group g + _) g (_ Eg + g g + gwl gw@-l + gwn gw@-n + +.group h + _) h (_ hA: + h h + +.group i + _) i (_ i: + i i: + i (C I + i (CC I + ii i: + i (b i: + i (d i: + i (g i: + i (ch i: + i (th i: + i (ff i: + i (s i: + i (f i: + i (dd i: + i (l i: + i (n i: + i (r i: + + i (A j + iw (+ Iu + +.group j + _) j (_ dZV + j dZ + +.group k + _) k (_ kV + k k + +.group l + _) l (_ El + _) ll (_ EL + l l + ll L + +.group m + _) m (_ Em + m m + +.group n + _) n (_ En + _) ng (_ EN + n n + ng N + +.group o + _) o (_ o: + o o: + o (C O + o (CC O + oo o: + + o (b o: + o (d o: + o (g o: + o (ch o: + o (th o: + o (ff o: + o (s o: + o (f o: + o (dd o: + + oe OY + oi OI + ou OY + +.group p + _) p (_ pi: + _) ph (_ fi: + p p + ph f + +.group q + _) q (_ kwA: + q k + qu kw + +.group r + _) r (_ Er + _) rh (_ hro: + r r + rh hr + +.group s + _) s (_ Es + s s + si (A S + +.group t + _) t (_ ti: + _) th (_ ET + t t + th T + +.group u + _) u (_ ,Ib'EdOl // ??? + u y: + u (C Y + u (CC Y + uu y: + + u (b y: + u (g y: + u (d y: + u (ch y: + u (th y: + u (ff y: + u (s y: + u (f y: + u (dd y: + u (ll y: + u (l y: + u (n y: + u (r y: + + uw (+ Yu + +.group v + _) v (_ vi: + v v + +.group w + _) w (_ u: + g) w w + w u: + &) w (K+ U + w (C U + w (CC U + ww u: + + w (b u: + w (d u: + w (g u: + w (ch u: + w (th u: + w (ff u: + w (s u: + w (f u: + w (dd u: + + w (A w + wy uY + +.group x + _) x (_ Eks + x ks + +.group y + _) y (_ V + y (@+ V + y y: + y (C Y + y (CC Y + + y (d y: + y (s y: + y (th y: + y (ch y: + y (g y: + y (dd y: + + _) y (w j + yw (+ Yu + _) yn (_ @n + _) yn (_n @ + +.group z + _) z (_ zu: + z z + +.group + â A: + ê e: + î i: + ô o: + û y: + ŵ u: + ŷ y: + + à a + è E + ì I + ò O + ù Y + ẁ U + ỳ Y + + ï i: + + 'ch (_S3 x + 'n (_S2 n + 'r (_S2 r + +.group 9 + 0 n'Ul // just a guess + 1 'Yn + 2 d'aY + 3 tr'i: + 4 p'Edwar + 5 p'Ymp + 6 xvEC + 7 s'aIT + 8 wYT + 9 naU diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/de_list /tmp/FYWarWUISc/espeak-1.15/dictsource/de_list --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/de_list 2006-08-04 21:03:08.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/de_list 2006-09-19 05:03:52.000000000 +1000 @@ -1,24 +1,85 @@ // This file is UTF-8 encoded // all words lower case +// 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. + + +// Numbers +_0 'nUl +_1 _'aIn +_1a _'aIns +_2 'tsvaI +_3 'draI +_4 'fi:r +_5 'fynf +_6 'zEks +_7 'zi:b@n +_8 '_axt +_9 'nOIn +_10 'tse:n +_11 '_Elf +_12 'tsvWlf +_13 'draItse:n +_14 'fi:rtse:n +_15 'fynftse:n +_16 'zEktse:n +_17 'zi:btse:n +_18 '_axttse:n +_19 'nOIntse:n +_20 'tsvantsIC +_30 'draItsIC +_40 'fi:rtsIC +_50 'fynftsIC +_60 'zEktsIC +_70 'zi:btsIC +_80 '_axttsIC +_90 'nOIntsIC +_0H 'hUnd3t +_0T1 'taUz@nt +_1T1 'taUz@nt // no '1' before thousand +_0T2 ||mIlI'o:n@n +_1T2 _'aIn@||mIlI'o:n +_0T3 ||mIlI'ard@n +_1T3 _'aIn@||mIlI'ard@ +_0T4 bIlI'o:n +_0and ||Unt +//_dpt _pUnkt +_dpt _kOma + +// abbreviations +dm d'OItSm,A:rk $capital $only $abbrev +dr dOkt'o:r +z.b tsUmb'aISpi:l + + allein $2 andre andr@ // andere +außerdem aUs3de:m beben be:b@n beere be:r@ best bEst beten be:t@n -damit $2 +deshalb $2 +dezember $2 + direkt $2 dritte drIt@ einander $2 +einig aInIC erde Erd@ erst Erst erste Erst@ ersten Erst@n erstens Erst@ns +erster Erst3 + +familie fam'i:lI@ geben ge:b@n geber ge:b3 @@ -31,19 +92,42 @@ hm h@m +insbesondere $3 +interess Int@r'Es + +kommend kOm'End + machen max@n mitte mIt@ +oberen o:b@r@n + +präsident $3 problem prObl'e:m + sagt zA:gt selbst zElpst sofort $2 +sogar $2 +soweit $2 +sowohl $2 +system z%IstEm + tag tA:g +the D@ // English +theater te:'A:t3 + unten Unt@n + +verein fEr'aIn vielleicht $2 vorbei fOrb'aI + wahrscheinlich $2 +warum vA:r'Um + zuerst tsu:'Erst +zudem tsu:'de:m zurück $2 @@ -67,23 +151,25 @@ denn %dEn $pause $strend weil $pause $strend als $pause +bevor be:f'o:r $pause also $pause $strend wenn ,vEn $pause $strend -sowie $pause +sowie $2 $pause deren _,dEr@n // prepositions +ab %ap $strend an %an $strend am %am -auf _,aUf $strend +auf _%aUf $strend aus _,aUs $strend -bei %baI $strend $only -bis %bIs $strend +bei %baI $pause $strend $only +bis _%bIs $strend da $u $strend -durch $u $strend +durch $u $pause $strend für _fy:r $u $strend -gegen ,ge:g@n $strend +gegen _,ge:g@n $strend gegend ge:g@nt hin hIn in %In $strend @@ -91,13 +177,14 @@ (in den) %Ind%e:n (in der) %Ind%Er im %Im -mit %mIt $strend +ins _%Ins +mit %mIt $pause $strend nach %nax $strend ob _,Ob $strend $only pro ,pro: $pause -von %fOn $strend -(von dem) %fOn%de:m -vom %fOm +von _%fOn $strend +(von dem) _%fOn%de:m +vom _%fOm vor ,fOr $strend zu %tsu: $strend zum %tsUm @@ -119,40 +206,49 @@ // should these be in the Rules because they can be a prefix in a // compound verb ? -daran $2 +daran dA:r'an darauf $2 daraus $2 dabei $2 -dadurch dA:d'u:rx +dadurch dA:d'Urx +dafür $2 +dagegen $2 daher dA:h'Er dahin dA:h'In +damit dA:m'It +danach $2 +daneben $2 darein $2 darin dA:r'In darüber $2 +darum $2 darunter $2 +davon dA:f'On dazu dA:ts'u: umher Umh'Er umhin Umh'In -voraus fOr'aUs +woran vo:r'an +worauf $2 +woraus $2 worin vo:r'In // pronouns -ich %IC -du %du: -er _%Er -es %Ez -sie %zi: -wir %vi:r +ich %IC $only +du %du: $only +er _%Er $only +es %Ez $only +sie %zi: $only +wir %vi:r $only ihr %i:r -man %man -sich %zIC +man %man $only +sich %zIC $only (es ist) %Ez%Ist daß %das $strend dass %das $strend -ein ,aIn $strend +ein aIn $u $strend eine ,aIn@ einem ,aIn@m einen ,aIn@n @@ -168,7 +264,7 @@ dein $u $strend deine $u $strend -sein $u $strend +sein $u // can also be verb "to be" seine $u $strend unsre ,Unzr@ @@ -187,11 +283,14 @@ // was vas +wie $u $pause // abverbs auch ,aUx dann $u - +etwa $u +ganz g,ants $only +je $u // verbs @@ -242,4 +341,10 @@ könnt ,kWnt $only konnt ,kOnt $only +sollen ,zOl@n +soll ,zOl +sollst ,zOlst +sollte ,zOlt@ +sollten ,zOlt@n + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/de_rules /tmp/FYWarWUISc/espeak-1.15/dictsource/de_rules --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/de_rules 2006-08-04 20:53:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/de_rules 2006-09-06 11:10:37.000000000 +1000 @@ -12,8 +12,14 @@ a (sch a ai aI + ay aI au aU + @A) al (_ 'al + @) ant (_ 'ant + @) atisch (_S6 'A:tIS + @) atisieren (_S9 A:tIs'i:r@n + _) ab (@P2 'ab _) abend A:b@nt _) abge ,abg@ @@ -52,6 +58,7 @@ _) b (eut b .group c + _) c (_ se: c k c) c @@ -68,7 +75,9 @@ ck k @) chen (_$4 C@n + bre) ch (en x spro) ch (en x // not spro-chen + wo) ch (en+ x nä) chs (t Cs .group d @@ -84,6 +93,7 @@ .group e + _) e (_ e: e e: ee e: eh (+ e: @@ -108,19 +118,22 @@ @) er (n_ 3 @) er (_$2 3 &) ere (_ @r@ - &) eren (_ @r@n + &) eren (_$1 n &) erer (_ @r3 - &) eres (_ @r@s + &) eres (_$1 s &) er (C_ 3 &) er (r_ E w) er (k_ Er @) es (_$2 @z &) et (_ @t + Ad) ent (_ 'Ent &) en (@ E2n // [E2] can reduce to [@] // &) er (C@ E2r &) el (@ E2l + @) ei (_ 'aI + _) ein (@P3 'aIn _) emp (@P3 %Emp _) ent (@P3 %Ent @@ -130,13 +143,17 @@ _) ergeb (nis Erg'e:b _) er (stC Er + _) erob (er %Ero:b + .group f + _) f (_ Ef f f f) f _) fest (P4 f'Est _) flug fl'u:g .group g + _) g (_ ge: g g g) g g (_N k @@ -151,6 +168,7 @@ _) gn (A g@-n B) gn (A g@-n + geben ge:b@n gegen (@P5 ge:g@n gegen (_ ge:g@n gegn ge:gn @@ -160,6 +178,7 @@ _) g (eo+ g .group h + _) h (_ hA: h h h) h @@ -169,6 +188,7 @@ _) herbei (P6 hEr'baI _) herum (P5 hEr'Um _) hervor (P6 hErf'Or + _) hier (@ h%i:r _) hinab (P5 hIn'ab _) hinauf (P6 hIn'aUf _) hinaus (P6 hIn'aUs @@ -177,6 +197,7 @@ _) hinzu (P5 hInts'u: .group i + _) i ( i: i i: ie i: ih (+ i: @@ -187,20 +208,26 @@ i (sch I @) i (ng I - &) ier (_ i|3 + &) ier (_ I:|3 r) ien (@ IEn - &) ien (_ =i|@n + &) ien (_ =I:|@n + &) iens (_ =I:|@ns sch) ie (n i: ieren 'i:r@n @) iert (_ 'i:rt ierung 'i:rUN ig (_ IC + @) ik (_ 'i:k + + @) ion (_ I'o:n + @) ional (_ Io:n'al @) is (_ Is &) isch (_ =IS @) ität (_S4 It'e:t .group j + _) j (_ jOt j j .group k @@ -210,6 +237,8 @@ @) keit (_$4 kaIt + kolleg k%Ole:g + .group l _) l (_ El l l @@ -218,14 +247,18 @@ @) lich (_$4 lIC .group m + _) m (_ Em m m m) m marine mA:r'i:n@ + A) meter (_ me:t3 _) mit (P3 m'It mitt (eC mIt + musik m%u:zi:k .group n + _) n (_ En n n n) n ng N @@ -238,35 +271,44 @@ nieder ni:d3 .group o + _) o (_ o: o o: oh (+ o: oo o: + oe Y: o (C% O o (CC O o (sch O _) ober (@P4 ,o:b3 - oe Y: + + @A) on (_ 'o:n .group p + _) p (_ pe: p p p) p pf pF ph f + _) pro (@ %pro: + + partei p%artaI + .group q - _) q (_ kve: + _) q (_ ku: q k qu kv .group r - _) r (_ A:r + _) r (_ Er r r r (r _) rh r .group s + _) s (_ Es s s s (A z s (_ s @@ -288,27 +330,30 @@ &) schaft (_S6 Saft schwer Sve:r + soldat z%OldA:t .group t _) t (_ te: t t t) t th (K t + K) th t tz ts &B) te (_$2 t@ &t) te (_ @ - &B) ten (_$3 t@n - &t) ten (_ @n - &B) tet (_$3 t@t +// &B) ten (_$3 t@n +// &t) ten (_ @n +// &B) tet (_$3 t@t .group u + _) u (_ u: u u: uh (+ u: ue y: u (C% U - u (BC U + u (CC U u (sch U @) u (ng U @@ -326,24 +371,28 @@ _) ver (@P3 f%Er _) vor (@P3 'fOr + voraus fOr'aUs vorüber fOr'yb3 .group w _) w (_ ve: w v + @) wert (_ vErt .group x + _) x (_ Iks x ks .group y - y y + _) y (_ UpsIlOn - y y: - @) y (_ i: + y i: + y (CC I y (A j .group z + _) z (_ tsEt z ts z) z @@ -351,7 +400,7 @@ _) zu (C@P2 ts%u: .group ä - ä e: + ä E: äh (+ e: ä (C% E @@ -379,20 +428,28 @@ _) über (@P4 ,y:b3 .group ß + _) ß (_ EstsEt ß s .group 9 - 0 nUl_ - 1 aIns_ - 2 tsvaI_ - 3 draI_ - 4 fi:r_ - 5 fy:nf_ - 6 zEks_ - 7 zi:b@n_ - 8 axt_ - 9 nOIn_ + 0 'nUl_ + 1 'aIns_ + 2 'tsvaI_ + 3 'draI_ + 4 'fi:r_ + 5 'fynf_ + 6 'zEks_ + 7 'zi:b@n_ + 8 'axt_ + 9 'nOIn_ .group - . pUnkt \ No newline at end of file + . pUnkt + % pro:ts'Ent + + D) , (_DDD ||t'aUz@nt + ,_000) , (_DDD + ,_000) , (_DDD,_DDD ||mIlI'o:n + D) , (_DDD,_DDD ||mIlI'o:n + D) , (_DDD,_DDD,_DDD t,aUz@nt diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/dict_log /tmp/FYWarWUISc/espeak-1.15/dictsource/dict_log --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/dict_log 2006-08-06 23:44:44.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/dict_log 2006-09-26 11:58:48.000000000 +1000 @@ -1,6 +1,60 @@ -Phonemes: 'es' +Using phonemetable: 'af' +Compiling: '/home/jsd1/speechdata/dictsource/af_list' + 367 entries +Compiling: '/home/jsd1/speechdata/dictsource/af_rules' + 369 rules, 29 groups + +Using phonemetable: 'cy' +Compiling: '/home/jsd1/speechdata/dictsource/cy_list' + 166 entries +Compiling: '/home/jsd1/speechdata/dictsource/cy_rules' + 215 rules, 28 groups + +Using phonemetable: 'de' +Compiling: '/home/jsd1/speechdata/dictsource/de_list' + 272 entries +Compiling: '/home/jsd1/speechdata/dictsource/de_rules' + 331 rules, 32 groups + +Using phonemetable: 'en' +Compiling: '/home/jsd1/speechdata/dictsource/en_list' + 2365 entries +Compiling: '/home/jsd1/speechdata/dictsource/en_rules' + 4790 rules, 96 groups + +Using phonemetable: 'eo' +Compiling: '/home/jsd1/speechdata/dictsource/eo_list' + 88 entries +Compiling: '/home/jsd1/speechdata/dictsource/eo_rules' + 165 rules, 28 groups + +Using phonemetable: 'es' Compiling: '/home/jsd1/speechdata/dictsource/es_list' - 119 entries + 216 entries Compiling: '/home/jsd1/speechdata/dictsource/es_rules' - 115 rules, 28 groups + 118 rules, 28 groups + +Using phonemetable: 'pl' +Compiling: '/home/jsd1/speechdata/dictsource/pl_list' + 50 entries +Compiling: '/home/jsd1/speechdata/dictsource/pl_rules' + 128 rules, 28 groups + +Using phonemetable: 'it' +Compiling: '/home/jsd1/speechdata/dictsource/it_list' + 265 entries +Compiling: '/home/jsd1/speechdata/dictsource/it_rules' + 238 rules, 28 groups + +Using phonemetable: 'el' +Compiling: '/home/jsd1/speechdata/dictsource/el_list' + 125 entries +Compiling: '/home/jsd1/speechdata/dictsource/el_rules' + 206 rules, 53 groups + +Using phonemetable: 'ru' +Compiling: '/home/jsd1/speechdata/dictsource/ru_list' + 111 entries +Compiling: '/home/jsd1/speechdata/dictsource/ru_rules' + 205 rules, 60 groups diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/el_list /tmp/FYWarWUISc/espeak-1.15/dictsource/el_list --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/el_list 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/el_list 2006-09-19 05:07:50.000000000 +1000 @@ -0,0 +1,171 @@ + +// This file is UTF-8 encoded +// all words lower case + +// Α α, Β β, Γ γ, Δ δ, Ε ε, Ζ ζ, Η η, Θ θ, Ι ι, Κ κ, Λ λ, Μ μ, Ν ν, Ξ ξ, +// Ο ο, Π π, Ρ ρ, Σ σ ς (word-final form), Τ τ, Υ υ, Φ φ, Χ χ, Ψ ψ, Ω ω. +// ά έ ή ί ΰ ϊ ϋ ό ύ ώ + +// 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. +_η 'ita +_ή 'ita +_ο 'omikron + + +// numbers +_0 miD'en +_1 'ena +_2 D'io +_3 tr'ia +_4 t'esera +_5 p'ente +_6 'eksi +_7 ept'a +_8 okt'o +_9 en'ea +_10 D'eka +_11 'enDeka +_12 D'oDeka +_20 'ikosi +_30 tri'anda +_40 sar'anda +_50 pen'inda +_60 eks'inda +_70 ebdom'inda +_80 ogd'onda +_90 enen'inda +_0H ekat'on_ +_1H0 ekat'o +_1H ekat'on_ +_2H D;ak'os;a_ +_3H triak'os;a_ +_4H tetrak'os;a_ +_5H pendak'os;a_ +_6H eksak'os;a_ +_7H eptak'os;a_ +_8H oktak'os;a_ +_9H en^ak'os;a_ +_0T1 C'il;a +_1T1 C'il;a // no '1' before thousand +_0T2 ekatom'irio +_0T3 Disekatom'irio +_dpt k'oma + +// miscellaneous exceptions +μιερός mier'os +ρια rQ;a + + +// articles +ο o $u // definate article +η i $u +το $u +του $u +της $u +τον $u +την $u +οι $u +τα $u +των $u +τους $u +τις $u + +ένας $u // indefinate article +μία $u +μια mn^a $u +ένα $u +ενός $u +μίας $u +μιας $u +έναν $u + + + + +// pronouns +τη $u // her + +που $u // that,which + + +// verbs +είμαι $u // to be +είσαι $u +είναι $u +είμαστε $u +είστε $u + +ήμουν $u +ήσουν $u +ήταν $u +ήμασταν $u +ήσασταν $u + +θαείμαι $u +θαείσαι $u +θαείναι $u +θαείμαστε $u +θαείστε $u + +ναείμαι $u +ναείσαι $u +ναείναι $u +ναείμαστε $u +ναείστε $u + + +έχω $u // to have +έχεις $u +έχει $u +έχουμε $u +έχετε $u +έχουν $u + +είχα $u +είχες $u +είχε $u +είχαμε $u +είχατε $u +είχαν $u + +θαέχω $u +θαέχεις $u +θαέχει $u +θαέχουμε $u +θαέχετε $u +θαέχουν $u + +ναέχω $u +ναέχεις $u +ναέχει $u +ναέχουμε $u +ναέχετε $u +ναέχουν $u + + +// prepositions + +σε $u // in,at,to +στου $u // + the +στον $u +στων $u +στους $u +στης $u +στην $u +στις $u +στο $u +στα $u + +από $u // from +με $u // with +μασί $u // with,together + +// conjunctions + +αλλά $u $pause // but +και ke $u $pause // and (don't change to [ge] after n) +ή $u $pause // or +ότι $u $pause // that diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/el_rules /tmp/FYWarWUISc/espeak-1.15/dictsource/el_rules --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/el_rules 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/el_rules 2006-09-08 08:46:31.000000000 +1000 @@ -0,0 +1,303 @@ +// Greek -modern + +// This file is UTF-8 encoded +// all words lower case + +// Α α, Β β, Γ γ, Δ δ, Ε ε, Ζ ζ, Η η, Θ θ, Ι ι, Κ κ, Λ λ, Μ μ, Ν ν, Ξ ξ, +// Ο ο, Π π, Ρ ρ, Σ σ ς (word-final form), Τ τ, Υ υ, Φ φ, Χ χ, Ψ ψ, Ω ω. + +.group α + _) α (_ alfa + α a + αι e + αί 'e + αυ av + αυ (B af // +voiceless consonant κ, π, τ, χ, θ, σ, ξ. + αη aI + αϊ aI + +.group β + _) β (_ vita + β v + β (β + +.group γ + _) γ (_ Qama + γ Q + γγ g + γκ g + A) γγ Ng + A) γκ Ng + γ (χ N + γαι (A j + γε (A j + γει (A j + γη (A j + γι (A j + γυ (A j + γοι (A j + +.group δ + _) δ (_ Delta + δ D + δ (δ + +.group ε + _) ε (_ 'epsilon + ε e + ει i + εί 'i + C) ει (A ; + ευ ev + ευ (B ef // +voiceless consonant + ευ (β e + ευ (φ e + +.group ζ + _) ζ (_ zita + ζ z + ζ (ζ + ζη (A z; + ζι (A z; + ζυ (A z; + ζει (A z; + ζοι (A z; + +.group η + _) η (_ ita + η i + C) η (A ; + ηυ iv + ηυ (B if // +voiceless consonant + +.group θ + _) θ (_ Tita + θ T + θ (θ + +.group ι + _) ι (_ i'ota + ι i + C) ι (A ; + +.group κ + _) κ (_ kapa + κ k + κ (κ + ν_) κ g + + κη (A c // k + i sound = [c] + κι (A c + κυ (A c + κει (A c + κοι (A c + + +.group λ + _) λ (_ lamDa + λ l + λ (λ + +.group μ + _) μ (_ mi + μ m + μ (μ + _) μπ b + +.group ν + _) ν (_ ni + ν n + ν (ν + ντ d // always? or not after a vowel? + ν (_π m + ν (_ψ m + ν (_κ N + ν (_ξ N + νη (A n^ + νι (A n^ + νυ (A n^ + νει (A n^ + νοι (A n^ + + +.group ξ + _) ξ (_ ksi + ξ ks + ξ (ξ + ν_) ξ gz + +.group ο + _) ο (_ 'omikron + ο o + οι i + οί 'i + C) οι (A ; + ου u + ού 'u + οη OI + οϊ OI + +.group π + _) π (_ pi + π p + π (π + ν_) π b + +.group ρ + _) ρ (_ Ro + ρ R + ρ (ρ + A) ρ r + +.group σ + _) σ (_ s'iQma // we can get s' in the text + σ s + σ (σ + ση (A s; + σι (A s; + συ (A s; + σει (A s; + σοι (A s; + +.group ς + _) ς (_ s'iQma + ς s + ς (_B s // +voiceless consonant + ς (_C z + +.group τ + _) τ (_ taf + τ t + τ (τ + τσ ts + τζ dz + ν_) τ d + ν_) τσ dz + +.group υ + _) υ (_ 'ipsilon + υ i + C) υ (A ; + υι i + υί 'i + +.group φ + _) φ (_ fi + φ f + φ (φ + +.group χ + _) χ (_ Ci + χ x + χ (αι C + χ (αί C + χ (ε C + χ (έ C + χ (η C + χ (ή C + χ (ι C + χ (ί C + χ (οι C + χ (οί C + χ (υ C + χ (ύ C + +.group ψ + _) ψ (_ psi + ψ ps + ψ (ψ + ν_) ψ bz + +.group ω + _) ω (_ om'eQa + ω o + +.group 9 + 0 miD'en_ + 1 'ena_ + 2 D'io_ + 3 tr'ia_ + 4 t'esera_ + 5 p'ente_ + 6 'eksi_! + 7 ept'a_ + 8 okt'o_ + 9 en^'a_ + + + +// If we find a Latin letter a-z, then translate as English +.group a + a _^_EN +.group b + b _^_EN +.group c + c _^_EN +.group d + d _^_EN +.group e + e _^_EN +.group f + f _^_EN +.group g + g _^_EN +.group h + h _^_EN +.group i + i _^_EN +.group j + j _^_EN +.group k + k _^_EN +.group l + l _^_EN +.group m + m _^_EN +.group n + n _^_EN +.group o + o _^_EN +.group p + p _^_EN +.group q + q _^_EN +.group r + r _^_EN +.group s + s _^_EN +.group t + t _^_EN +.group u + u _^_EN +.group v + v _^_EN +.group w + w _^_EN +.group x + x _^_EN +.group y + y _^_EN +.group z + z _^_EN + +.group + ά 'a + άη 'aI + άι 'aI + έ 'e + ή 'i + ί 'i + ΰ 'i + ϊ i + ϋ i + ό 'o + όη 'OI + όι 'OI + ύ 'i + ώ 'o + + . tel'ia + ! Tavmastik'o + !) ! + + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/en_extra /tmp/FYWarWUISc/espeak-1.15/dictsource/en_extra --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/en_extra 2006-04-27 11:45:44.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/en_extra 1970-01-01 10:00:00.000000000 +1000 @@ -1,9 +0,0 @@ - -// Additional lookup dictionary items can be added here. -// They are added to the end of those listed in the english_list -// file, so they will take precedence over them. - -// This file is UTF-8 encoded -// all words must be LOWER CASE (although the initial letter will be automatically -// converted if it's a 7bit ascii character) - diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/en_list /tmp/FYWarWUISc/espeak-1.15/dictsource/en_list --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/en_list 2006-08-01 15:50:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/en_list 2006-09-26 11:06:33.000000000 +1000 @@ -8,9 +8,41 @@ //stress symbols ' primary , secondary % unstressed +// letter names, as they are spoken as a single character in text +// precede by _ to distinguish from pronunciation as a language word + +_a eI +b bi: +c si: +d di: +e i: +f Ef +g dZi: +h eItS +_i aI +j dZeI +k keI +l El +m Em +n En +o oU +p pi: +q kju: +r A: +s Es +t ti: +u ju: +v vi: +w d'Vb@Lju: +x Eks +y waI +z zEd + +é i:@k'ju:t + // character names -_cap kapIt@L +_cap k,ap@-t@L _! Ekskl@m'eIS@n _" kwoUts @@ -47,19 +79,57 @@ _£ paUnd +// numeric + +_0 z'I2@roU +_1 w'0n +?3 _1 w'Vn +_2 t'u: +_3 Tr'i: +_4 f'O@ +_5 f'aIv +_6 s'Iks +_7 s'Ev@n +_8 'eIt +_9 n'aIn +_10 t'En +_11 Il'Ev@n +_12 tw'Elv +_13 T'3:ti:n +_14 f'O@ti:n +_15 f'Ifti:n +_16 s'Iksti:n +_17 s'Ev@nti:n +_18 'eIti:n +_19 n'aInti:n +_20 tw'EntI2 +_30 T'3:tI2 +_40 f'O@tI2 +_50 f'IftI2 +_60 s'IkstI2 +_70 s'Ev@ntI2 +_80 'eItI2 +_90 n'aIntI2 +_0H h'Vndr@d +_0T1 T'aUz@nd +_0T2 m'IlI@n +_0T3 b'IlI@n +_0and @n +_dpt pOInt + + // ABBREVIATIONS //************** -fi f,aI // as in "hi-fi" abc eIbi:s'i: ac eI'si: adfs eIdi:Ef'Es +a.k.a aka2_! agm eIdZi:'Em ai eI;'aI api apI2 asap eIEseIpi: awol eIw0l -cap kap $onlys cio si:aI'oU ctrl k0ntr'oUl dept dI2pA:tm@nt @@ -70,7 +140,8 @@ hmm h@m (http ://) eItSti:ti:'pi:_ ibm aIbi:Em -ie aIi: +ie aIi:_! $pause +i.e aIi:_! $pause irc aI;A:s'i: ltd lImItId mc m@k @@ -296,6 +367,7 @@ askance a2skans ass as assess a2sEs +atlas atl@s atone a2toUn atop a2t0p attache at'aSeI $only @@ -341,9 +413,10 @@ batman batman belisha b@l'i:S@ bely bI2laI -beverage bEv@rIdZ +basal beIs@L best bEst beta bi:t@ +beverage bEv@rIdZ bias baI@s biased baI@st bible baIb@L @@ -541,6 +614,7 @@ cyan saI'an cymru kVmrI2 +dahlia deIli:@ dais deIIs damaged d'amIdZd dandelion dandIlaI@n @@ -693,6 +767,7 @@ eyrie i@rI2 facade f@sA:d +façade f@sA:d faeces fi:si:z fallible fal@b@L familiar f@mIlI@ @@ -706,6 +781,7 @@ feline fi:laIn feminine fEm@nIn fete feIt +fi f,aI // as in "hi-fi" fiasco fi:'askoU fiery faI@rI2 finale fIn'A:lI2 @@ -857,6 +933,7 @@ infamous Inf@m@s infer Inf'3: inference Inf@r@ns +influenza Influ:'Enz@ infrastructure $1 ingenuity IndZIn'ju:I2tI2 inherit I2nhErIt // inherited @@ -937,12 +1014,14 @@ lesion li:Z@n lethal li:T@L libre li:br@ +lier laI@ // outlier lilac laIl@k lily lIlI2 limit lImIt // limited limousine lIm@zi:n lingerie l0nZ@rI2 linen lInIn +liqueur lI2kjU@ literature lItrItS@ live laIv $onlys live lIv $verb @@ -1005,6 +1084,7 @@ menagerie m@n'adZj@rI2 merest mi@r@st meringue m@rang +metabolic mEt@b'0lIk metaphor mEt@fO@ metallic mEt'alIk microorganism maIkroU'O@g@nIz@m @@ -1034,6 +1114,7 @@ momentum $2 monday mVndeI monotone m0n@toUn +monsieur m@sj3: mony mVnI2 // monies, monied moraine m@reIn morale m@ral @@ -1097,6 +1178,7 @@ offers 0f@z ogre oUg@ okay oUk'eI +omelet 0ml@t omelette 0ml@t opaque oUp'eIk opine oUp'aIn @@ -1119,6 +1201,7 @@ outing $1 outlaw $1 outlet $1 +outlier 'aUtl,aI@ outline $1 outlive aUtl'Iv outlook $1 @@ -1177,6 +1260,7 @@ philistine fIlI2staIn philosophy fIl'0s@fI2 phoenix fi:nIks +photograph foUt@graf piano pI2anoU piecemeal p'i:sm,i:l pier pI@ @@ -1309,6 +1393,7 @@ referring rIf'3:rIN refit ri:fIt reflex ri:flEks +reflux ri:flVks reg rEdZ regal ri:g@L regime reIZ'i:m @@ -1385,6 +1470,7 @@ salad sal@d saline seIlaIn san ,san +sardine $2 satan seIt@n satellite sat@laIt saucepan sO:sp@n @@ -1505,6 +1591,7 @@ sync sINk synthesis sInT@sIs $only synthesise sInT@saIz +syringe $2 tablet tabl@t taboo $2 @@ -1789,6 +1876,7 @@ Ceylon $2 Cologne k@loUn Congo $1 +Copenhagen koUp@nh'eIg@n Cruz kru:z Cyprus saIpr@s Dahomey $2 @@ -1930,7 +2018,6 @@ Catherine kaTrIn Chris krIs Connor k0n@ -Copenhagen koUp@nh'eIg@n Daphne dafnI2 Darryl dar@L Davis deIvIs @@ -1955,6 +2042,7 @@ Iain i:@n Ian i:@n Igor i:gO@ +Imogen Im@dZ@n Irene aIri:n Isaac aIs@k Isabel Iz@bEl @@ -2130,8 +2218,8 @@ about a2b,aUt $strend2 against a2gEnst ahead a2hEd -among a2m,VN -amongst a2m,VNst +among a2m,VN $strend2 +amongst a2m,VNst $strend2 around a2raUnd before bI2f,O@ $strend2 behind bI2h,aInd $strend2 diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/en_rules /tmp/FYWarWUISc/espeak-1.15/dictsource/en_rules --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/en_rules 2006-08-04 23:08:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/en_rules 2006-09-16 19:00:17.000000000 +1000 @@ -348,6 +348,7 @@ aff (er af _) affia a2faI@ aff (lu af + w) aff 0f _) af (g af afore a2fO@ af (ri af @@ -732,6 +733,7 @@ app (licab a2p appre (h ,aprI apres apreI + _) apprec (i a2pri:S _) ap (ri eIp ap (ro eIp _) ap (s ap @@ -1054,7 +1056,6 @@ avow a2vaU .group b - _) b (_ ,bi: b b m) b (_ _) bally (@ b,alI2 @@ -1151,7 +1152,6 @@ bi (z+ bI .group c - _) c (_ si: c k cc k ck k @@ -1323,6 +1323,7 @@ _) co (nfis k0 _) co (nflu k0 _) co (ngress k0 + congru k0ngru: _) co (ni k0 _) co (njug k0 _) co (njur kV @@ -1371,7 +1372,6 @@ _) counter (@P7 k'aUnt@ // prefix .group d - _) d (_ di: d d d (d _) d' (AP2 d @@ -1556,7 +1556,6 @@ di (vul d%aI .group e - _) e (_ i: e E &) e (_ e (_ =@ @@ -1626,6 +1625,7 @@ ll) e (nge I e (o I2 _) e (phem I2 + cr) e (pe+ E _) epi EpI _) epider EpId'3: _) ep (isC I2p @@ -1661,6 +1661,7 @@ eu (m_ i: s) eu (m_ 'i@ eur 3: + eur (_ '3: &) eus (_ =I2@s _) euro jU@roU _) euro (pe jU@r-@ @@ -1863,7 +1864,7 @@ _) em %Em _) em (a I2m em (ana Em - em (bas Em + emba (s Emb@ em (blem Em em (bry Em em (eral Em @@ -1912,7 +1913,6 @@ t) enem En@m _) ener En@ @@th) enes (_ =@ni:z - eneur @n'3: &) en (ger In eng (lA INg eng (in EndZ @@ -1983,6 +1983,7 @@ nt) en (t En xt) en (t En v) en (t_ En + lv) en (t_ @n @@v) en (t_ @n &) en (th_ @n &) en (ce_ @n @@ -2019,6 +2020,7 @@ all) er (_ @ &) er (_ @ mb) er (_ @ + lin) er (_S1 @ er 3: _) er (A I2r _) er 3: @@ -2203,7 +2205,7 @@ An) et (_ Et phab) et (_ Et ber) et (_ eI - gr) et Et + gr) et (+ Et _m) et (e i:t _p) et (e i:t et (itor 'Et @@ -2274,7 +2276,6 @@ eyor (_ 'eI@ .group f - _) f (_ Ef f f f (f fa (ciA feI @@ -2287,7 +2288,6 @@ ft (en f .group g - _) g (_ dZi: g g gg g g (e dZ @@ -2339,7 +2339,6 @@ ar) gue gju: .group h - _) h (_ eItS h h h (h h (_ @@ -2352,6 +2351,7 @@ @) head (_$4 hEd heir e@ _) hetero hEtroU + K) hl L &) hold (_$4 hoUld holme hoUm _) h (our @@ -2364,7 +2364,6 @@ houses (_$6 haUzI2z .group i - _) i (_ aI i I _) i' %aI _C) i (_ aI @@ -2408,7 +2407,7 @@ er) ings (_$4v I2Nz er) ingly (_$5vf I2Ng-lI er) ingment (_$7v I2Ng-m@nt - Cr) ing (_ IN + Br) ing (_ IN _) i (a aI _) i (b aI _) i (c aI @@ -2774,10 +2773,10 @@ _) in (fo_ In _) infra (P5 ,Infr@ _) infra (c I2nfrak - in (got In - _) in (gro In + in (got IN + _) in (gro IN _) in (jur In - _) in (k In + _) in (k IN _) in (l In _) in (m In _) inno (ce In@ @@ -3022,13 +3021,11 @@ iv (or_ aIv .group j - _) j (_ dZeI j dZ j (j _) jere (C dZEr@ .group k - _) k (_ keI k k k (k _) kn n @@ -3046,7 +3043,6 @@ kuwait ku:w'eIt .group l - _) l (_ El l l l (l l (_ l @@ -3110,7 +3106,6 @@ @) lessness (_$8i l@sn@s .group m - _) m (_ Em m m mm m h) m (_ @m @@ -3139,7 +3134,7 @@ C) mented m'EntId mEntary (_ m'Ent@rI2 _) meta mEt@ - meta (bolis mEt'a + meta (bo mEt'a millen mI2lEn _) mobile moUbaIl im) mobile moUbaIl @@ -3179,7 +3174,6 @@ mi (nera mI .group n - _) n (_ ,En n n n) n &ia) n (_$1 n @@ -3230,7 +3224,6 @@ ngue N .group o - _) o (_ oU o 0 _) o'(P2 %oU // prefix o (Be# oU @@ -3301,6 +3294,7 @@ cust) o (d @ cust) o (di 'oU o (da_ oU + k) o (dA oU d) o (dec %oU m) o (del 0 m) o (der 0 @@ -3653,7 +3647,7 @@ os (ity '0s os (ive 'oUs p) oss (ess @z - gr) oss oUst + gr) oss oUs h) ost (_ oUst gh) ost oUst m) ost oUst @@ -3882,7 +3876,6 @@ y) ow aU .group p - _) p (_ ,pi: p p p (p ph f @@ -3892,6 +3885,7 @@ ph (erd p phila fIla p (hole p + sym) pa p@ _) pico pi:koU piece (_$5 pi:s por (tray p%O@ @@ -4026,7 +4020,6 @@ pro (log proU .group q - _) q (_ kju: _) q (B kju: q k q (q @@ -4047,7 +4040,6 @@ quy kwI .group r - _) r (_ A: r r rr r r) r (_ @@ -4146,7 +4138,6 @@ _) re (unP2 r,i: .group s - _) s (_ Es D_) s (_ z 6_) s (_ I2z 16_) s (_ z @@ -4155,7 +4146,8 @@ s (sh s _) sch S _) sch (e sk - _) sch (i sk + _) sch (ism sk + _) sch (iz sk sch (o sk sch (C S sch (_ S @@ -4222,6 +4214,7 @@ ai) sin (_ z@n u) sin (_ z@n _) soma (li s@mA: + pri) s (o z ssion S@n ssion (_ =S@n 1_) st (_ @@ -4305,7 +4298,6 @@ _) sus (tai s@s .group t - _) t (_ ti: t t t) t tch tS @@ -4387,7 +4379,6 @@ _) the (mA Ti: .group u - _) u (_ ju: u V u (_ ju: r) u (_ u: @@ -4641,7 +4632,6 @@ iz) ure @ .group v - _) v (_ vi: v v v (v _) vehem vi@m @@ -4650,7 +4640,6 @@ viv (_ vaIv .group w - _) w (_ dVb@Lju: w w w (w C) w (_ w@ @@ -4683,7 +4672,6 @@ s) w (ick .group x - _) x (_ Eks _) x (C Eks x ks x) x (A @@ -4693,7 +4681,6 @@ xious =kS@s .group y - _) y (_ waI y j y (C_ I y (CC I @@ -4792,7 +4779,6 @@ t) yeight (_ I'eIt .group z - _) z (_ zEd z z z (z @) zales (_ z'A:lEs @@ -4804,14 +4790,7 @@ zo (olo zu: .group 9 - 00 (D a2nd - _) 00 (D _: - 0 (D_ _ - 000 (_ 0 z'I2@roU - _) 19 (DD_ naInti:n - _) 18 (DD_ eIti:n - D) 0 1 w'0n ?3 1 w'Vn 2 t'u: @@ -4822,120 +4801,6 @@ 7 s'Ev@n 8 'eIt 9 n'aIn - .) 1 w,0n -?3 .) 1 w,Vn - .) 2 t,u: - .) 3 Tr,i: - .) 4 f,O@ - .) 5 f,aIv - .) 6 s,Iks - .) 7 s,Ev@n - .) 8 ,eIt - .) 9 n,aIn - .) 1 (_ w'0n -?3 .) 1 (_ w'Vn - .) 2 (_ t'u: - .) 3 (_ Tr'i: - .) 4 (_ f'O@ - .) 5 (_ f'aIv - .) 6 (_ s'Iks - .) 7 (_ s'Ev@n - .) 8 (_ 'eIt - .) 9 (_ n'aIn - .) 0 (++ 'oU - .0) 0 (+ ,oU - .00) 0 (+ ,oU_! - 1 (_st_ f'3:st - 2 (_nd_ s'Ek@nd - 3 (_rd_ T'3:d - 5 (_th_ f'I - 10 t'En - 11 Il'Ev@n - 12 tw'Elv - 13 T'3:ti:n - 14 f'O@ti:n - 15 f'Ifti:n - 16 s'Iksti:n - 17 s'Ev@nti:n - 18 'eIti:n - 19 n'aInti:n - 20 tw'EntI2 - 30 T'3:tI2 - 40 f'O@tI2 - 50 f'IftI2 - 60 s'IkstI2 - 70 s'Ev@ntI2 - 80 'eItI2 - 90 n'aIntI2 - _) 0 (D _ - 2 (D tw,EntI - 3 (D T,3:tI - 4 (D f,O@tI - 5 (D f,IftI - 6 (D s,IkstI - 7 (D s,Ev@ntI2 - 8 (D ,eItI - 9 (D n,aIntI - 100 w0nhVndr@d -?3 100 wVnhVndr@d - 200 tu:hVndr@d - 300 Tri:hVndr@d - 400 fO@hVndr@d - 500 faIvhVndr@d - 600 sIks_hVndr@d - 700 sEv@nhVndr@d - 800 eIt_hVndr@d - 900 naInhVndr@d - 0 (DD a2nd - ,_) 0 (DD a2nd - ,_) 0 (DD, _ - ,_) 0 (00+ _ - _) 0 (DD z'I2@r,oU - 1 (DD w,0nh,Vndr@da2nd -?3 1 (DD w,Vnh,Vndr@da2nd - 2 (DD tu:h,Vndr@da2nd - 3 (DD Tri:h,Vndr@da2nd - 4 (DD f,O@h,Vndr@da2nd - 5 (DD faIvh,Vndr@da2nd - 6 (DD sIks_h,Vndr@da2nd - 7 (DD sEv@nh,Vndr@da2nd - 8 (DD eIt_h,Vndr@da2nd - 9 (DD naInh,Vndr@da2nd -// _) 000 (_ TaUz@nd - 1 (DDD_ w'0nTaUz@nd_ -?3 1 (DDD_ w'VnTaUz@nd_ - 2 (DDD_ tu:TaUz@nd_ - 3 (DDD_ Tri:TaUz@nd_ - 4 (DDD_ fO@TaUz@nd_ - 5 (DDD_ faIvTaUz@nd_ - 6 (DDD_ sIksTaUz@nd_ - 7 (DDD_ sEv@nTaUz@nd_ - 8 (DDD_ eIt_TaUz@nd_ - 9 (DDD_ naInTaUz@nd_ - 1 (DDD. w'0nTaUz@nd_ -?3 1 (DDD. w'VnTaUz@nd_ - 2 (DDD. tu:TaUz@nd_ - 3 (DDD. Tri:TaUz@nd_ - 4 (DDD. fO@TaUz@nd_ - 5 (DDD. faIvTaUz@nd_ - 6 (DDD. sIksTaUz@nd_ - 7 (DDD. sEv@nTaUz@nd_ - 8 (DDD. eIt_TaUz@nd_ - 9 (DDD. naInTaUz@nd_ - 0 (DDDD z'I2@r,oU - 1 (DDDD w,Vn - 2 (DDDD tu:w - 3 (DDDD Tri: - 4 (DDDD fO@ - 5 (DDDD faIv - 6 (DDDD sIks - 7 (DDDD sEv@n - 8 (DDDD eIt - 9 (DDDD naIn - D) 000 (_$3 T'aUz@nd - D0) 00 (_$3 T'aUz@nd - D) 000000 m'Ili@n -// D) 00 (_$2 h'VndrId .group E E // silent 'e' , ignore by default @@ -5021,8 +4886,7 @@ ob) Ey (_ eI -// default group for "non of the above" -.group +.group ' 's (_$2 z f) 's (_$2 s p) 's (_$2 s @@ -5043,6 +4907,52 @@ 'd (_$2 d 'll (_$3 @L + +.group 0xce +// $group (++ _^_EL + + α 'alf@_ + ά 'alf@_ + β b'i:t@_ + γ g'am@_ + δ d'Elt@_ + ε 'EpsIl0n_ + έ 'EpsIl0n_ + ζ z'i:t@_ + η 'i:t@_ + ή 'i:t@_ + θ T'i:t@_ + ι aI'oUt@_ + ί aI'oUt@_ + κ k'ap@_ + λ l'amd@_ + μ m'ju:_ + ν n'ju:_ + ξ ks'aI_ + ο oUm'aIkr0n_ + +.group 0xcf +// $group (++ _^_EL + + π p'aI_ + ρ r'oU_ + σ s'Igm@_ + ς s'Igm@_ + τ t'aU_ + υ 'UpsIl0n_ + ύ 'UpsIl0n_ + φ f'aI_ + χ tS'aI_ + ψ ps'aI_ + ω 'oUmIg@_ + ώ 'oUmIg@_ + ό oUm'aIkr0n_ + + +// default group for "non of the above" + +.group + // non-ascii characters with specified pronunciations é eI _) é I2 @@ -5058,28 +4968,11 @@ ž Z - - = __i:kw@Lz_ -// - haIf@n -// - (_D m'aIn@s - - (_D _ - --) - \\ bakstroUk / stroUk ' - + plVs - _) ++ (_ plVspl'Vs - \+\+\+) + // ignore + after the first 3 - . d0t - D) . (D+ ,pOInt - * ast@rIsk £ paUnd ! _:Ekskl@meIS@n_: - D) , (_DDD ||T'aUz@nd - ,_000) , (_DDD - ,_000) , (_DDD,_DDD ||m'Ili@n - D) , (_DDD,_DDD ||m'Ili@n - D) , (_DDD,_DDD,_DDD T,aUz@nd !) ! ? (? kwEstS@nmA:ks ?) ? @@ -5091,14 +4984,32 @@ != n0ti:kw@Lz >= greIt@O@i:kw@L <= lEsO@i:kw@L + + + __) - (_D m'aIn@s + A_) - (_D _ + C_) - (_D _ + --) - + + + plVs + _) ++ (_ plVspl'Vs + \+\+\+) + // ignore + after the first 3 + # (\#\# \#\#) # (\# \#\#) # (_ _:: + + . d0t + D) . (D+ ,pOInt . (. _: \.) . + + = __i:kw@Lz_ = (== =) = (= ==) = (_ _:: + + * ast@rIsk *) * (* ** **) * (_ _:: @@ -5114,6 +5025,7 @@ ¤ kVr@nsI2saIn © k0pI2raIt ° dI2gri:z + − maIn@s ± plVs@maIn@s µ maIkroU ¼ a2kwO@t@ diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/eo_list /tmp/FYWarWUISc/espeak-1.15/dictsource/eo_list --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/eo_list 2006-07-16 17:19:14.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/eo_list 2006-09-23 03:11:31.000000000 +1000 @@ -2,7 +2,8 @@ // includes both accented characters and ascii digraph alternatives (cx, gx, ux, etc) -la $u +l' la +la %la ne $u cxu $u // interogative particle cxi $u @@ -10,19 +11,22 @@ ĉi $u // cxi interogative particle ia $u // any -de $u $strend +// prepositions +de de $strend (de la) dela $u antaux $u $strend antaŭ $u $strend apud $u $strend -ol $u $strend +ol _ol $u $strend da $u $strend -al $u $strend -en $u $strend +al _%al $strend +el _el $strend +en _en $u $strend kun $u $strend per $u $strend preter $u $strend +por _por $strend pro _pro $strend sub $u $strend sur $u $strend @@ -30,6 +34,8 @@ dum $pause tra $pause +// misc adverbs etc +eĉ _etS // pronouns mi $u diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/eo_rules /tmp/FYWarWUISc/espeak-1.15/dictsource/eo_rules --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/eo_rules 2006-06-24 12:30:42.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/eo_rules 2006-09-23 03:19:21.000000000 +1000 @@ -45,7 +45,7 @@ _) g(_ ga _) gx(_ dZa g g - gh (C dZ + gh (K dZ gx dZ .group h diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/es_list /tmp/FYWarWUISc/espeak-1.15/dictsource/es_list --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/es_list 2006-07-25 14:12:28.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/es_list 2006-09-19 05:10:31.000000000 +1000 @@ -1,17 +1,79 @@ -méxico mExiko -mexicano mExikano + +// This file in UTF8 encoded + +// 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. +_a a +_o o +_y ,igr'iEQa + +// numbers +_0 TEro +_1 'uno +_2 d'os +_3 tr'es +_4 kw'atro +_5 T'inko +_6 s'eIs +_7 sj'Ete +_8 'otSo +_9 nw'EBe +_10 dj'es +_11 'onTe +_12 d'oTe +_13 tR'ETe +_14 kat'orTe +_15 k'inTe +_20 b'eInte +_30 tR'eInta +_40 kwar'Enta +_50 Tinkw'Enta +_60 sEs'Enta +_70 sEt'Enta +_80 otS'Enta +_90 noB'Enta +_1H0 T'ent // exactly one hundred +_0H T'iento +_0T1 m'il +_1T1 m'il // no '1' before thousand +_0T2 mij'on +_0and i +_dpt koma + // articles el $u -les $u +los $u la $u las $u lo $u -los $u +les $u un $u una $u +unos $u +unas $u + +este $u $strend // this +esta $u $strend +estos $u $strend +estas $u $strend +esto $u $strend + +ese $u $strend // that +esa $u $strend +esos $u $strend +esas $u $strend +eso $u $strend + +aquel $u $strend // that +aquella $u $strend +aquellos $u $strend +aquellas $u $strend + // pronouns @@ -22,33 +84,67 @@ él $u ella $u nosotros $u +nosotras $u vosotros $u +vosotras $u as $u ustedes $u ellos $u ellas $u +ud $u +uds $u + +me $u // reflexive pronouns +te $u se $u +nos $u +os $u + + +// possessives +mi $u +mis $u +tu $u +tus $u +su $u +sus $u +nuestro $u +nuestros $u +nuestra $u +nuestras $u +vuestro $u +vuestros $u +vuestra $u +vuestras $u // prepositions -a _%a +a _%a // at al _%al -de $u +de $u // of,from del $u (de la) d,ela en _%En -con $u $pause -por $u $pause - +con $u $pause // with +por $u $pause // for,through,along,via +para $u $pause // for,in order,by +entre $u $pause +desde $pause // from,since +después $pause // after // conjunctions y %i $pause // and o $u $pause // or así $pause -aunque $pause +aunque $u $pause // although siquiera $pause -que $pause + +// questions +que $u $pause $strend // whar +cuál $pause // which +cuáles $pause +cómo $pause // how // auxillary verbs @@ -57,6 +153,7 @@ eras $u es $u somos $u +sois $u son $u fui $u @@ -148,3 +245,34 @@ habremos $u habréis $u habrán $u + +tener $u // to have +tengo $u +tienes $u +tiene $u +tenemos $u +tenéis $u +tienen $u + +hacer $u $strend // to do/make +hago $u $strend +haces $u $strend +hace $u $strend +hacemos $u $strend +hacéis $u $strend +hacen $u $strend + + +// some common adjectives and adverbs +algún $u // some +algunos $u +alguna $u + + + + +// pronunciation exceptions + +méxico mExiko +mexicano mExikano + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/es_rules /tmp/FYWarWUISc/espeak-1.15/dictsource/es_rules --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/es_rules 2006-07-25 13:54:34.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/es_rules 2006-09-08 03:47:15.000000000 +1000 @@ -41,6 +41,7 @@ _) e (_ e e E e (_ e + ei eI ey eI @@ -123,7 +124,7 @@ .group r _) r (_ Ere r r - _) r R + K) r R rr R @@ -180,13 +181,13 @@ .group 9 - 0 n'ul_ + 0 T'Ero_ 1 'uno_ 2 d'os_ - 3 tr'Es_ + 3 tr'es_ 4 kw'atro_ 5 T'inko_ - 6 s'Eis_ + 6 s'eIs_ 7 sj'Ete_ 8 'otSo_ 9 nw'EBe_ @@ -201,3 +202,5 @@ ñ n^ _)ñ (_ En^e + . punta + , koma diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/it_list /tmp/FYWarWUISc/espeak-1.15/dictsource/it_list --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/it_list 2006-07-18 01:26:18.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/it_list 2006-09-26 11:36:05.000000000 +1000 @@ -1,5 +1,57 @@ // This file is UTF-8 encoded +// Italian: any [E] or [O] phonemes in unstressed words must be listed explicitly + +// 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. +_e e: +_i i: +_o O: + + +// numbers +_0 dz'eRo +_1 'Uno +_2 d'Ue +_3 tR'e +_4 kw2'at:Ro +_5 tS'inkw2e +_6 s'ej +_7 s'Et:e +_8 'Okt:o +_9 n'Ove +_10 di'etSi +_11 'unditSi +_12 d'oditSi +_13 tr'editSi +_14 kw2at:'OrditSi +_15 kw2'imditSi +_16 s'editSi +_17 ditSas:'Et:e +_18 ditS'Ot:o +_19 ditSann'ove +_20 v'ente +_30 tr'enta +_40 kw2ar'anta +_50 tSinkw2'anta +_60 sess'anta +_70 set:'anta +_80 ot'anta +_90 nov'anta +_0H tS'ento +_0T1 m'ila +_1T1 m'ille +_0T2 mili'oni +_1T2 unmili'one +_0T3 mili'ardi +_1T3 unmili'ardo +_dpt _v'irgola +_0Z2 tSent'ezimi // 100ths +_0Z3 mill'ezimi // 1000ths + + // articles i $u il $u @@ -9,29 +61,35 @@ un $u una $u -gli l;i +gli li $u // l;i // pronouns -io $u -tu $u -lui $u -lei $u -noi $u -voi $u -loro $u - -egli $u -ella $u -essa $u -esse $u -essi $u - -mi $u -ti $u -ci $u -vi $u -li $u +io $u $strend +tu $u $strend +lui $u $strend +lei $u $strend +noi $u $strend +voi $u $strend +loro $u $strend + +egli $u $strend +ella $u $strend +essa $u $strend +esse $u $strend +essi $u $strend + +mi $u $strend +ti $u $strend +si $u $strend +ci $u $strend +vi $u $strend +li $u $strend + + +// words that double the following consonant +qualche $double +come $double // possessive adjectives mio $u @@ -58,39 +116,105 @@ questo $u // this questa $u // this +questi $u // these +queste $u // these + quel $u // that quella $u // that +quei $u // those +quegli $u // those +quelle $u // those + + + +// conjunctions +e $u $pause $double // and +ed $u $pause +o $u $pause $double // or +se $pause // if +ma $pause // but +perché $pause // because +benchè $pause // though +anche $pause // although +tuttavia $pause // however +invece $pause // instead +malevolenza $pause // despite +pertanto $pause // therefore +né $pause // neither-nor + +(in cui) in||kw,i $pause // in which +che $u $pause // which + // prepositions +a $u $double +al $u +allo $u +alla $u +ai $u +agli $u +alle $u + +da $u // by +dal $u +dallo $u +dalla $u // by the +dai $u +dagli $u +dalle $u + di $u // of del $u +dello $u della $u // of the +dei $u +degli $u +delle $u +de $u + in $u // in nel $u +nello $u nella $u // in the -su $u // on +nei $u +negli $u +nelle $u +ne $u + +su $u $double // on sul $u +sullo $u sulla $u // on the -da $u // by -dal $u -dalla $u // by the +sui $u +sugli $u +sulle $u + con $u $pause // with -attraverso $u // through -sopra $u // above -sotto $u // below -per $u $pause // for +col $u +coi $u + +attraverso $u $strend // across, through +contro $u $strend // against +accanto $u $strend // beside +verso $u $strend // toward +sopra $u $strend // above +sotto $u $strend // below +per $u $pause // for +eccetto $pause // except +senza $pause // without +durante $pause // during // aux verb, to be sono $u sei $u -è $u +è E $u $double siamo $u siete $u sono $u fui $u fosti $u -fu $u +fu $u $double fummo $u foste $u furono $u @@ -100,7 +224,7 @@ eravamo $u eravate $u erano $u -sarò $u +sarò sa/r'O $u sarai $u sarà $u saremo $u @@ -122,9 +246,9 @@ sarebbero $u // aux verb, to have -ho $u -hai $u -ha $u +ho $u $double +hai $u $double +ha $u $double abbiamo $u avete $u hanno $u @@ -143,17 +267,17 @@ avevate $u avevano $u -avrò $u +avrò a/vr'O $u avrai $u avrà $u avremo $u avrete $u avranno $u -abbia $u -abbiamo $u -abbiate $u -abbiano $u +abbia $u $strend +abbiamo $u $strend +abbiate $u $strend +abbiano $u $strend avessi $u avesse $u avessimo $u @@ -167,19 +291,35 @@ avreste $u avrebbero $u - - -// conjunctions -e $u $pause // and -o $u $pause // or -se $pause // if -ma $pause // but -perché $pause // because -benchè $pause // though -anche $pause // although -tuttavia $pause // however -invece $pause // instead -malevolenza $pause // despite -pertanto $pause // therefore - -(in cui) in||kw,i $pause // in which +// to do/make +fare $u $strend +faccio $u $strend +facciamo $u $strend +fai $u $strend +fate $u $strend +fa $u $strend +fanno $u $strend + +facevo $u $strend +facevi $u $strend +faceva $u $strend +facevamo $u $strend +facevate $u $strend +facevano $u $strend + + +// exceptions +aereo $2 +difficile $2 +pneumatici $3 + +nott nOt: $stem +tavol $1 $stem +vent vEnt $stem + +celsius tsElsj'us +conoscerla $1 +no nO +posta pOsta +tesser tess'Er +uomini $1 diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/it_rules /tmp/FYWarWUISc/espeak-1.15/dictsource/it_rules --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/it_rules 2006-07-18 10:02:10.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/it_rules 2006-09-26 11:46:20.000000000 +1000 @@ -3,127 +3,219 @@ .group a - _) a(_ a + _) a(_ a: a a: a (CK a - ai aI + ai aI (K + &) a (_S1q a // lookup it_list without suffix + + @) a (ce_ =a + @) a (ci_ =a + a (ista_ a + a (ismo_ a + @) a (bile_ 'a + @) a (ggine_ 'a + + @) avano (_S5 'avano .group b - _) b(_ ba + _) b(_ bi: b b bb b: .group c - _) c(_ tso + _) c(_ tSi: c k cc k: c (e tS + c (é tS + c (è tS c (i tS + c (ì tS cc (e tS: + cc (é tS: + cc (è tS: cc (i tS: + cc (ì tS: ch k cch k: ci (a tS + ci (à tS ci (o tS + ci (ò tS ci (u tS + ci (ù tS cci (a tS: + cci (à tS: cci (o tS: + cci (ò tS: cci (u tS: + cci (ù tS: .group d - _) d(_ da + _) d(_ di: d d dd d: .group e - _) e(_ e + _) e(_ e: e e: e (CK e - ei eI + ei ej (K + + &) e (_S1q e // lookup it_list without suffix + @) e (ce_ =e + @) e (ci =e + + @) e (nte_ E + @) e (nza_ E + @) e (vole_ 'e + @) e (rrimo_ 'E + @) e (simo_ 'e + + @) evano(_S5 'evano + .group f - _) f(_ fo + _) f(_ Effe f f + + @A) f (ico_ =f + @A) f (ilo_ =f + @A) f (ero_ =f .group g - _) g(_ ga + _) g(_ dZi: g g gg g: gh g g (e dZ + g (é dZ + g (è dZ g (i dZ + g (ì dZ gi (a dZ + gi (à dZ gi (o dZ + gi (ò dZ gi (u dZ + gi (ù dZ gg (e dZ: + gg (é dZ: + gg (è dZ: gg (i dZ: + gg (ì dZ: ggi (a dZ: + ggi (à dZ: ggi (o dZ: + ggi (ò dZ: ggi (u dZ: + ggi (ù dZ: gl (i l; + gl (ì l; + gli (A l; _) gl gl - gn n^: + gn n^ + + @) g (ero_ =g + .group h - _) h(_ ha + _) h(_ ak:a h .group i - _) i(_ i + _) i(_ i: i i: i (CK i - i (A i - @) ia (_ =ia + i (A j + l) i (A %i + r) i (A %i + i (o i + i (ò i + @) ia (_ =i%a + @) io (_ =i%o a) i (+ j e) i (+ j o) i (+ j + + &) i (_S1q i // lookup it_list without suffix + + @) i (ce =i + @) i (ci_ =i + @) iera (_ i'E:ra + @) iere (_ i'E:re + @) i (ente_ i + @) i (ante_ i + @) i (bile_ 'i + @) issimo(_S6 'issimo + @) issero(_S6 'issero + .group j - _) j(_ jo + _) j(_ dZe:j j j .group k - _) k(_ ko + _) k(_ kap:a k k kk k: .group l - _) l(_ lo + _) l(_ Elle l l + ll (C l_ + ll (_ l .group m - _) m(_ mo + _) m(_ Emme m m .group n - _) n(_ na + _) n(_ Enne n n n (g N n (k N .group o - _) o(_ o + _) o(_ O: o o: o (CK o - oi OI + oi OI (K + + &) o (_S1q o // lookup it_list without suffix + + @) o (ista_ o + @) o (ismo_ o + @) o (gnolo_ 'o + @) o (nzolo_ 'o + @) o (grafo_ 'O + @) o (fono_ 'O + @) o (metro_ 'O + @) o (logo_ 'O + .group p - _) p(_ po + _) p(_ pi: p p pp p: + _) pn (@@ n + _) ps (A@ s .group q - _) q(_ kwo - q kw - qu kw + _) q(_ ku: + q kw2 + qu kw2 .group r - _) r(_ ra - r r + _) r(_ ERRe + r R + rr RR + A) r (A r .group s - _) s(_ so + _) s(_ Esse s z -) s s s (c s @@ -135,46 +227,60 @@ s (t s s (x s sc (e S + sc (é S + sc (è S sc (i S + sc (ì S A) sc (e SS + A) sc (é SS + A) sc (è SS A) sc (i SS + A) sc (ì SS sch (e sk - sch (e sk + sch (é sk + sch (è sk + sch (i sk + sch (ì sk sh (K S // foreign words K) sh S // foreign words .group t - _) t(_ to + _) t(_ ti: t t tt t: .group u - _) u(_ u - u u: - u (CK u + _) u(_ U: + u U: + u (CK U u (A w + Kr) u (A U + Kl) u (A U + + @) u (dine_ 'u + @) u (colo_ 'u .group v - _) v(_ va + _) v(_ vU: v v .group w - _) w(_ wa + _) w(_ d'op:jav'U w w .group x - _) x(_ ikso + _) x(_ 'iks x ks .group y - _) y(_ ipsilono + _) y(_ 'ipsilon y j y (K i // foreign words .group z - _) z(_ za + _) z(_ ze:ta z ts A) z ts: A) zz ts: @@ -192,29 +298,22 @@ ó (CK 'o ò 'O: ò (CK 'O - ù 'u: - ù (CK 'u + ù 'U: + ù (CK 'U + + % pertS'ento + $ doll'a:ro - D) , (_DDD mila_:_: - ,_000) , (_DDD - ,_000) , (_DDD,_DDD milioni_:_: - D) , (_DDD,_DDD milioni_:_: - D) , (_DDD,_DDD,_DDD mila_:_: .group 9 - _) 0 (_ z'ero - _) 00 (D _: - 0 (D_ _ - D) 0 - - 0 z'ero_ - 1 'uno_ - 2 d'ue_ - 3 tr'e_ - 4 kw'attro_ - 5 tS'inkwe_ + 0 dz'eRo_ + 1 'Uno_ + 2 d'Ue_ + 3 tR'e_ + 4 kw2'at:Ro_ + 5 tS'inkw2e_ 6 s'ej_ - 7 s'Ette_ - 8 'Oktto_ + 7 s'Et:e_ + 8 'Okt:o_ 9 n'Ove_ diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/pl_list /tmp/FYWarWUISc/espeak-1.15/dictsource/pl_list --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/pl_list 2006-07-17 14:17:32.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/pl_list 2006-09-19 05:14:22.000000000 +1000 @@ -1,4 +1,12 @@ +// This file is UTF8 encoded + + +// 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. + // pronouns @@ -16,6 +24,9 @@ który $u $strend // which,what,that (+declines) to $u $strend2 // this +// questions +czy $u + // prepositions na $u $strend // in/on po $u $strend diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/ReadMe /tmp/FYWarWUISc/espeak-1.15/dictsource/ReadMe --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/ReadMe 2006-08-07 19:08:24.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/ReadMe 2006-09-22 04:15:15.000000000 +1000 @@ -1,7 +1,27 @@ -These are pronunciation rules and exceptions lists for each language. +These are the spelling-to-phoneme pronunciation rules and exceptions lists +for each language. -use: +You can make changes and then re-compile them to produce the "_dict" +file in the espeak-data data directory (eg. "en_dict") which the +speak program used. + +Use: speak --compile= -to compile the data files for each language in espeak-data (eg. en_dict). +to compile the data for a particular language. It automatically replaces +the corresponding _dict file in espeak-data, ready for use by the +speak program. + +An "_extra" file, (eg. en_extra) can be used to in addition to the "_list" file +to add exception words without disturbing the official "_list" file. +It is treated as an extension of the "_list" file. + + +Language Notes: + +Russian. An additional dictionary of Russian words and their stress positions + is available at http://espeak.sourceforge.net/data/russian_data.zip. + This allows eSpeak to put the stress on the correct syllable of Russian words. + + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/ru_list /tmp/FYWarWUISc/espeak-1.15/dictsource/ru_list --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/ru_list 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/ru_list 2006-09-21 07:27:29.000000000 +1000 @@ -0,0 +1,158 @@ + +// This file is UTF8 encoded + +// NOTE: An additional file: ru_listx contains a large collection of +// Russian words which are marked with their correct stress position. +// +// To improve Russian pronunciation, download this from +// http://espeak.sourceforge.net and put the ru_listx file in the same +// directory as this ru_list file, and then do the command: +// speak --compile=ru + + +// 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. +_в vE +_с Es + + +// Numbers +_0 n'ol +_1 Vd;'in +_2 dv'a +_3 t;r'i +_4 ts;It'yrI +_5 p;'&t; +_6 S'Es;t; +_7 s;'em +_8 v'os;Im +_9 d;'ev;@t +_10 d;'es;@t +_11 Vd;inn@tts,@t; +_12 dv;In'atts@t; +_13 t;rIn'atts@t; +_14 ts;It'yrn@tts,@t; +_15 p;Vtn'atts@t; +_16 SIsn'atts@t; +_17 s;Imn'atts@t; +_18 v,Vs;Imn'atts@t; +_19 d;,Iv;Vtn'atts@t; +_20 dv'atts@t; +_30 t;r'itts@t; +_40 s'or@k +_50 p;,Vdd;Is;'at +_60 S,Iz;dd;Is;'at +_70 s;'emd;Is;,@t +_80 v'os;Imd;,Is;@t +_90 d;,Iv;Vn'ost@ +_0H st'o +_2H dv;'es;t;I +_3H t;r'ist@ +_4H ts;It'yrIst,@ +_5H p;Vt;s'ot +_6H SIs;t;s'ot +_7H s;Ims'ot +_8H v,Vs;Im-s'ot +_9H d;,Iv;Vt;s'ot +_0T1 t'ys;@ts;,@ +_1T1 t'ys;@ts;,@ // no '1' before thousand +_0T2 m;,IlI;'on +_0T3 m;,IlI;'art +_dpt _:'i_: // start of decimal fraction +_dpt2 _d;Is;'atYx // end of decimal fraction + +// prepositions +в v $u // to,in,at +от $u // from +с s $u // with,from,since +у u $u // by +на $u // on +для $u // for + + +// conjunctions +и i $u $pause // and +а a $u $pause // and +но $u $pause // but +ибо $u $pause // for + +ибо $u $pause // if +хотя $2 $pause // although +чтобы $pause // in order that + + +// pronouns +я $u // I + + +// questions +что Sto $u $pause // what, that + + +// misc. +не $u // negative + + +// auxillary verbs +быть $u1 // to be +побыть $u2 + +есмь $u1 +еси $u2 +есть $u1 +есмы $u1 +есте $u1 +суть $u1 + +был $u1 +были $u1 +было $u1 +побыл $u1 +побыла $u3 +побыло $u2 +побыли $u2 + +буду $u1 +будешь $u1 +будет $u1 +будем $u1 +будете $u1 +будут $u1 +побуду $u2 +побудешь $u2 +побудет $u2 +побудем $u2 +побудете $u2 +побудут $u2 + +мочь $u // can +смочь $u1 + +могу $u2 +можешь $u1 +может $u1 +можем $u1 +можете $u1 +могут $u1 + +мог $u1 +могла $u2 +могло $u2 +могли $u2 +смог $u1 +смогла $u2 +смогло $u2 +смогли $u2 + +смогу $u1 +сможешь $u1 +сможет $u1 +сможем $u1 +сможете $u1 +смогут $u1 + + +// exceptions +радио r'ad;Io diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/dictsource/ru_rules /tmp/FYWarWUISc/espeak-1.15/dictsource/ru_rules --- /tmp/OUeX2G7HQN/espeak-1.11/dictsource/ru_rules 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/dictsource/ru_rules 2006-09-19 03:23:15.000000000 +1000 @@ -0,0 +1,328 @@ +// Russian translation rules +// This file is UTF8 encoded + +// Special characters: +// A vowel: а о у ы э е ё и ю я +// B soft consonant: ь й ч щ +// C any consonant: +// F consonant, not hard: +// H hard consonant: ъ ж ц ш +// Y iotated vowel, softsign: ь е ё и ю я + + +.group а + _) а (_ a + а a + + а (л A // followed by [l] + аа VV // unstressed + ао VV // unstressed + +// @@) а (_S1q @ + + +.group б + _) б (_ bE + б (б // treat double letter as single + б b + б (Y b; + б (FY b; + б (_ p + б (_G b + б (ь_ p; + б (ь_G b; + +.group в + _) в (_ vE + в (в + в v + в (Y v; + в (FY v; + в (_ f + в (_G v + в (ь_ f; + в (ь_G v; + + _) вы v'y + _) выба (@@ vYb'a + _) выбега vYb;Ig'a + _) выбива vYb;Iv'a + _) выбира vYb;Ir'a + _) выбра (с vYbr'a + _) выбри (в vYbr'i + _) выва (лив vYv'a + _) выве (ды vYv;'E + _) выве (рты@ vYv;'o + _) выве (трива vYv;'E + _) выве (шива vYv;'E + _) выви (нч vYv;'i + _) выводи vYvVd;'i + _) выводя vYvVd;'a + + _) воспи (@@ vVs;p;'i + +.group г + _) г (_ gE + г (г + г g + г (Y g; + г (FY g; + г (_ k + г (_G g + г (ь_ c + г (ь_G g; + + г (к x // [g] before [k] is [x] ?? + г (кY C + +.group д + _) д (_ dE + д (д + д d + д (Y d; + д (FY d; + д (_ t + д (_G d + д (ь_ t; + д (ь_G d; + +.group е + _) е (_ jE + е jE + ъ) е jE + C) е E + + ест (нA Es // drop [t] in 'estn' + ест (нY Es; + _кр) ест (нA Est + + +.group ж + _) ж (_ ZE + ж (ж + ж Z // always hard + ж (_ S + ж (_G Z + +.group з + _) з (_ zE + з (з + з z + з (Y z; + з (FY z; + з (_ s + з (_G z + з (ь_ s; + з (ь_G z; + +.group и + _) и (_ i + и i + H) и y // preceded by hard consonant + + +.group й + _) й (_ ,i'kratk@j + й j + +.group к + _) к (_ ka + к (к + к k + к (Y c + к (FY c + +.group л + _) л (_ El + л (л + л l + A) л (Y l; + л (ь l // should be soft, but we need a proper [l;] phoneme + л (FY l // should be soft + +.group м + _) м (_ Em + м (м + м m + м (Y m; + м (FY m; + +.group н + _) н (_ En + н n // can be doubled + н (Y n^ + н (FY n^ + н (нY n^ + н (нFY n^ + +.group о + _) о (_ o + о o + оо VV // unstressed + оа VV // unstressed + +.group п + _) п (_ pE + п (п + п p + п (Y p; + п (FY p; + +.group р + _) р (_ Er + р (р + р r + р (Y r // should be soft + р (FY r // should be soft + +.group с + _) с (_ Es + с (с + с s + с (Y s; + с (FY s; + + +.group т + _) т (_ tE + т (т + т t + т (Y t; + т (FY t; + +.group у + _) у (_ u + у u + +.group ф + _) ф (_ Ef + ф (ф + ф f + ф (Y f; + ф (FY f; + +.group х + _) х (_ xa + х (х + х x + х (Y C + х (FY C + +.group ц + _) ц (_ tsE + ц (ц + ц ts // always hard + +.group ч + _) ч (_ ts;E + ч (ч + ч ts; // always soft + +.group ш + _) ш (_ Sa + ш (ш + ш S // always hard + +.group щ + _) щ (_ s;s;a + щ (щ + щ s;s; // always soft + +.group ъ + _) ъ (_ 'tv;ord@j'znak + ъ + +.group ы + _) ы (_ y + ы y + +.group ь + _) ь (_ 'm;ak;Ij'znak + ь + ь (Y j + +.group э + _) э (_ E + э E + +.group ю + _) ю (_ ju + ю ju + ъ) ю ju + C) ю u + + + +.group я + _) я (_ ja + я ja + ъ) я ja + C) я a + + +.group ё + _) ё (_ jo + ё jo + ъ) ё jo + C) ё o + + ё (_ j'o + C) ё (_ 'o + +// If we find a Latin letter a-z, then translate as English +.group a + a _^_EN +.group b + b _^_EN +.group c + c _^_EN +.group d + d _^_EN +.group e + e _^_EN +.group f + f _^_EN +.group g + g _^_EN +.group h + h _^_EN +.group i + i _^_EN +.group j + j _^_EN +.group k + k _^_EN +.group l + l _^_EN +.group m + m _^_EN +.group n + n _^_EN +.group o + o _^_EN +.group p + p _^_EN +.group q + q _^_EN +.group r + r _^_EN +.group s + s _^_EN +.group t + t _^_EN +.group u + u _^_EN +.group v + v _^_EN +.group w + w _^_EN +.group x + x _^_EN +.group y + y _^_EN +.group z + z _^_EN + +.group + $ dVlar + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/add_language.html /tmp/FYWarWUISc/espeak-1.15/docs/add_language.html --- /tmp/OUeX2G7HQN/espeak-1.11/docs/add_language.html 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/add_language.html 2006-09-21 20:38:29.000000000 +1000 @@ -0,0 +1,132 @@ + + + + + + + +Back +
    +

    6. ADDING OR IMPROVING A LANGUAGE

    +
    +Most of the work doesn't need any programming knowledge. Just an understanding of the language, an +awareness of its features, patience and attention to detail. Wikipedia is a good source of basic phonetic information, eg +http://en.wikipedia.org/wiki/Vowel +

    +In many cases it should be fairly easy to add a rough implementation of a new language, hopefully +enough to be intelligible.
    +After that it's a gradual process of improvement to: +

      +
    • Make the spelling-to-phoneme translation rules more accurate, including the position of stressed +syllables within words. Some languages are easier than others. I expect most are easier than English. +

    • Improve the sounds of the phonemes. This may consist of making small adjustments to vowel and diphthong quality, +or adjusting the strength of consonants. Bigger changes may be recording new or replacement consonant +sounds, or even writing program code to implement new types of sounds. +

    • Marking some common words in the dictionary that should be unstressed (words such as "the", "is"), should be preceded +by a short pause (such as "and", "but"), or have other attributes, in order to make the speech flow better. +

    • Improve the rhythm of the speech by adjusting the relative lengths of vowels in different contexts, eg. stressed/unstressed syllable, +or depending on the following phonemes. This is important for making the speech sound good for the language. +

    • Identify or implement new functions in the program to improve the speech, or to deal with +characteristics of the language which are not currently implemented. For example, a different intonation module. +
    +If you are interested in working on a language, please contact me to set up the initial data and to +discuss the features of the language. +
    +

    6.1 Language Code

    +

    Generally, the language's international ISO 639-1 code is used to +identify the language. It is used in the filenames which +contains the language's data. In the examples below the code "en" +(English) is used as an example. Replace this with the code of your +language.

    +It is possible to have different variants of a language, for example where the sound of some phonemes changed, +or where some of the pronunciation rules differ. +


    +

    6.2 Phoneme File

    +

    You must first decide on the set of phonemes to be used for the +language. These should be listed and defined in a phonemes file such as +ph_english. A reference to this file is then included at the end of +the phonemes, file (the master phoneme file), eg:

    +
       phonemetable  en  base
    +   include  ph_english

    +This example defines a phoneme table "en" which inherits +the contents of phoneme table "base". Its contents are +found in the file ph_english.

    +

    The base phoneme table contains definitions of a basic set of +consonants, and also some "control" phonemes such as stress marks and +pauses. The phoneme table for a language will generally inherit this, +or alternatively it may inherit the phoneme table of another language +which in turn inherits the base phoneme table.

    +

    The phonemes file for the language defines those additional +phonemes which are not inherited (generally the vowels and diphthongs, plus any additional +consonants), or phonemes whose definitions differ from the +inherited version (eg. the redefinition of a consonant).

    +

    Details of the contents of phonemes files are given in +phontab.html.

    +The Compile phoneme data function of the espeakedit +program compiles the phonemes files to produce the files +espeak-data/phontab, phonindex, and phondata.

    +For information on how to analyse recorded sounds of the language and to +prepare the corresponding phoneme data, see (not yet written).

    +For an initial draft a language will often be able to use vowels and +consonants which have already been set up for another language. +


    +

    6.3 Dictionary Files

    +

    Once the language's phonemes have been +defined, then pronunciation dictionary data can be produced in order +to translate the language's source text into phonemes. This consists +of two source files: en_rules (the spelling to phoneme rules) and +en_list (an exceptions list, and attributes of certain words). The corresponding compiled data +file is espeak-data/en_dict which is produced from en_rules +and en_list sources by the command: speak  --compile=en.

    +

    Details of the contents of the +dictionary files are given in dictionary.html.

    +

    The en_list file contains not +only pronunciation exceptions, but also gives attributes to specific +words, Most notable of these are:

    +

    $u Some common words should be +marked as "unstressed" in order to make the speech flow better. +These words generally include articles (eg: a, the, this, that), +auxillary verbs (eg: is, have, will, can, may), pronouns and +possessive adjectives (eg: he, his), some common prepositions (eg: +of, to, in, of), some common conjunctions (eg. and, or, if)., some +common adverbs and adjectives (eg. any, already)

    +

    $pause Some words should be marked to have a short pause +before then, in order to produce natural pauses in long sentences. +These include conjunctions (eg. and, or, but, however) and perhaps +some prepositions.

    +
    +

    6.4 Voice File

    +

    Each language should have one or more +voice files in espeak-data/voices. The filename of the default voice +for a language should be the same as the language code.

    +

    Details of the contants of voice files +are given in voices.html.

    +

    The simplest voice file would contain +just a single line to give the language code, eg:

    +
       language en

    +This language code specifies the phoneme table (i.e. phonemetable en and the +dictionary (i.e. espeak-data/en_dict) to be used. If needed, these can be +overridden by phonemes and dictionary attributes in the +voices file.

    +
    +

    6.5 Program Code

    +

    The behaviour of the speak program is +controlled by various options (eg. whether words are stressed on the first, +last, or penultimate syllable). The function SetTranslator() at the +start of the tr_languages.cpp file recognizes the language +code and sets the appropriate set of options.

    +

    For a new language, you would add its +language code and the required options in SetTranslator(). However, this +may not be necessary during testing because most of the options can also be +set from the voice file in +espeak-data/voices.

    +

    If necessary, you can define a new +translator class for a language, and select this in the +SetTranslator() function. This inherits the standard functions +from the base translator class, but allows you to replace these where +needed by new functions which are written specially for this +language.

    +
    + + + \ No newline at end of file diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/commands.html /tmp/FYWarWUISc/espeak-1.15/docs/commands.html --- /tmp/OUeX2G7HQN/espeak-1.11/docs/commands.html 2006-08-07 19:42:40.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/commands.html 2006-09-21 20:38:47.000000000 +1000 @@ -7,6 +7,7 @@ +Back

    2.1 INSTALLATION


    @@ -18,7 +19,7 @@

    Dependencies

    speak uses the PortAudio sound library (version 18), so you will need to have the libportaudio0 library package installed. It may be already, since it's used by other software, such as OpenOffice.org and the Audacity sound editor.

    -The speak program may be compiled to use version 19 of PortAudio by copying the file portaudio19.h to portaudio.h before compiling.

    +Some Linux distrubitions (eg. SuSe 10) have version 19 of PortAudio which has a slightly different API. The speak program can be compiled to use version 19 of PortAudio by copying the file portaudio19.h to portaudio.h before compiling.

    The speak program may be compiled without using PortAudio, by removing the line

       #define USE_PORTAUDIO
     
    in the file speech.h.

     


    @@ -44,7 +45,7 @@
    • When used by the KTTS system, I noticed a slight background hiss with the speech, which is not present when I use speak directly from the command line. This was because KDE sound default was set to "8 bits" rather than 16 bits.
    • KTTSMgr breaks the text into sentences to pass to the speech engine, but it mistakenly assumes sentence breaks when dots follow abbreviations and therefore pauses after the dots in "eg. Mr. John B. Smith etc." Speaking a text file directly with speak gives better results in this respect. -
    • Speaking text from a web page using KTTS often causes headings and image captions to be run together with the following text as a single sentence. Speaking the HTML directly with the -m option set (i.e. using speak -m -ftext.html), may help if this is a problem. +
    • Speaking text from a web page using KTTS often causes headings and image captions to be run together with the following text as a single sentence. Speaking the HTML directly with the -m option set (i.e. using speak -m -f text.html), may help if this is a problem.

     


    2.2.3 The Command Line Options

    @@ -136,5 +137,6 @@ As well as plain text, phoneme mnemonics can be used in the text input to speak. They are enclosed within double square brackets. Spaces are used to separate words and all stressed syllables must be marked explicitly.
      eg: [[D,Is Iz sVm f@n'EtIk t'Ekst 'InpUt]]
    + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/dictionary.html /tmp/FYWarWUISc/espeak-1.15/docs/dictionary.html --- /tmp/OUeX2G7HQN/espeak-1.11/docs/dictionary.html 2006-08-07 19:42:56.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/dictionary.html 2006-09-21 20:39:10.000000000 +1000 @@ -8,6 +8,7 @@ +Back

    4. TEXT TO PHONEME TRANSLATION


    @@ -33,8 +34,8 @@

    The utility 'phonemes' are: -

      - +
        + @@ -70,6 +71,7 @@
        ' primary stress
      + It is not necessary to specify the stress of every syllable. Stress markers are only needed in order to change the effect of the language's default stress rule.

      The phonemes which are used to represent a language's sounds are based on the Kirschenbaum ascii character representation of the International Phonetic Alphabet www.kirschenbaum.net/IPA/ascii-ipa.pdf @@ -143,20 +145,16 @@ any vowel (set set of vowel characters may be defined for a particular language) - B - any hard consonant (not h,r,w) - may be defined differently for a particular language - - C any consonant - D - any digit + B H F G Y  + may indicate other sets of characters (defined for a particular language) - E F G  - may indicate other sets of characters (defined for a particular language) + D + any digit K @@ -247,29 +245,33 @@ S and P must be at the end of the <post> string.

      -S<number> may be followed by additonal letters (eg. S2ei ). These are probably specific to English, but similar functions could be added for other languages. +S<number> may be followed by additonal letters (eg. S2ei ). Some of these are probably specific to English, but similar functions could be used for other languages.

        + + + + - + - + - + - + - +
        qquery the _list file to find stress position or other attributes for the stem, but don't re-translate the word with the suffix removed.
        d   the previous letter may have been doubled when the suffix was addedthe previous letter may have been doubled when the suffix was added.
        e"e" may have been removed"e" may have been removed.
        i"y" may have been changed to "i""y" may have been changed to "i."
        vthe suffix means the verb form of pronunciation should be usedthe suffix means the verb form of pronunciation should be used.
        fthe suffix means the next word is likely to be a verbthe suffix means the next word is likely to be a verb.
        @@ -321,27 +323,51 @@ $u - The word is unstressed + The word is unstressed. In the case of a multi-syllable word, a slight stress is applied according to the default stress rules. - $1 - Primary stress on the first syllable + $u1 + The word is unstressed, with a slight stress on its 1st syllable. + + + $u2 + The word is unstressed, with a slight stress on its 2nd syllable. + + + $u3 + The word is unstressed, with a slight stress on its 3rd syllable. + + +   +   + + + $1 + Primary stress on the 1st syllable. $2 - Primary stress on the second syllable + Primary stress on the 2nd syllable. $3 - Primary stress on the third syllable + Primary stress on the 3rd syllable. $4 - Primary stress on the fourth syllable + Primary stress on the 4th syllable. $5 - Primary stress on the fifth syllable + Primary stress on the 5th syllable. + + + $6 + Primary stress on the 6th syllable. + + + $7 + Primary stress on the 7th syllable.   @@ -349,7 +375,7 @@ $pause - Ensure a short pause before this word (eg. for conjunctions such as "and") + Ensure a short pause before this word (eg. for conjunctions such as "and", some prepositions, etc). $only @@ -357,7 +383,11 @@ $onlys - As $only, except that a standard plural ending is allowed + As $only, except that a standard plural ending is allowed. + + + $stem + The rule only applies if a suffix has already been removed. $strend @@ -365,27 +395,27 @@ $strend2 - As $strend, but the word is also stressed if followed by only unstressed word(s) + As $strend, but the word is also stressed if followed only by unstressed word(s). $unstressend  - Word is unstressed if it's at the end of a clause + Word is unstressed if it's at the end of a clause. $atend - Use this pronunciation if it's at the end of a clause + Use this pronunciation if it's at the end of a clause. $capital - Use this pronunciation if word has initial capital letter (eg. polish v Polish) + Use this pronunciation if word has initial capital letter (eg. polish v Polish). $dot - Ignore a . after this word even when followed by a capital letter (eg. Mr. Dr. ) + Ignore a . after this word even when followed by a capital letter (eg. Mr. Dr. ). $abbrev - Never speak this word as individual letters (eg, Roman numerals III, IV ) + Never speak this word as individual letters (eg, Roman numerals III, IV ).   @@ -393,31 +423,31 @@ $verb - Use this pronunciation if it's a verb + Use this pronunciation if it's a verb. $past - Use this pronunciation if it's past tense + Use this pronunciation if it's past tense. $verbf - The following word is probably is a verb + The following word is probably is a verb. $verbsf - The following word is probably is a if it has an "s" suffix + The following word is probably is a if it has an "s" suffix. $nounf - The following word is probably not a verb + The following word is probably not a verb. $pastf - The following word is probably past tense + The following word is probably past tense. $verbextend - Extend the influence of $verbf and $verbsf + Extend the influence of $verbf and $verbsf.
      @@ -430,7 +460,41 @@ then if "to" is at the end of the clause, we get [tu:], if not then we get [t@]. - +

       


      +

      4.5 Numbers and Character Names

      +

      4.5.1 Letter names

      +The names of individual letters can be given either in the _rules or _list file. Sometimes an individual letter is also used as a word in the language and its pronunciation as a word differs from its letter name. If so, it should be listed in the _list file, preceded by an underscore, to give the letter name (as distinct from its pronunciation as a word). eg. in English: +
         _a   eI
      +

      4.5.2 Numbers

      +A simple method is to just list the digits 0 to 9 in the .group 9 section of the _rules file. Numbers will be spoken as a sequence of individual digits. +

      +The better method is to use the TranslateNumber() function which is controlled by the language's langopts.numbers option. This constructs spoken numbers from fragments according to various options which can be set for each language. The number fragments are listed in the _list file. +

      +

        + + + + + + + + + + + + + + + + + +
        +_0 to _9   +The numbers 0 to 9 +
        _20  _30etc   +
        _nnAny two digit numbers with a special pronunciation (eg. "seventeen"). +
        _0HThe word for "hundred"
        _1H  _2HSpecial pronunciation for one hundred, two hundred, etc., if needed.
        _1H0Special pronunciation (if needed) for 100 exactly
        _0T1The word for "thousand"
        _0T2The word for "million"
        _0T3The word for 1000000000
        _1T1  _2T1Special pronunciation for one thousand, two thousand, tc, if needed
        _0andWord for "and" when speaking numbers (eg. "two hundred and twenty").
        _dptWord spoken for the decimnal point/comma
        _dpt2Word spoken (if any) at the end of all the digits after a decimal point.
        +

      diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/docindex.html /tmp/FYWarWUISc/espeak-1.15/docs/docindex.html --- /tmp/OUeX2G7HQN/espeak-1.11/docs/docindex.html 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/docindex.html 2006-09-22 03:57:31.000000000 +1000 @@ -0,0 +1,63 @@ + + + + + Speak + + + + + + + + + + + + + + + + +
      +SourceForge.net Logo + +

      eSpeak - Documents

      +
      + +Home +

      +Usage +

      +Languages + +

      +

      Voice Files

      +Voice files specify a language and other characteristics of a voice. +

      Pronunciation Dictionary

      +
        +
      • How to add pronunciation corrections. +
      • How to build up pronunciation rules for a new language. +

      +

      Adding a Language

      +How to add a new language. +

      Phonemes

      +The list of phoneme mnemonics, for use in the Pronunciation Dictionary. +

      Phoneme Tables

      +The tables of the phonemes used by each language, with their properties and sound production. +

      eSpeak Libary API

      +Draft API and header file for a shared library version of eSpeak. +

      Markup tags

      +SSML (Speech Synthesis Markup Language) and HTML tags recognized by eSpeak. +

      The espeakedit program

      +GUI software to edit vowel files and to compile the phoneme data for use by eSpeak.
      + +
      + + + + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/editor.html /tmp/FYWarWUISc/espeak-1.15/docs/editor.html --- /tmp/OUeX2G7HQN/espeak-1.11/docs/editor.html 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/editor.html 2006-09-21 20:39:55.000000000 +1000 @@ -0,0 +1,75 @@ +g4als + + + + + espeakedit + + + + +Back +
      +

      ESPEAKEDIT PROGRAM

      +
      +The espeakedit program is used to prepare phoneme data for the eSpeak speech synthesizer.

      +It has two main functions: +

        +
      • Prepare keyframe files for individual vowels and voiced consonants. These each contain a sequence of keyframes which define how formant peaks (peaks in the frequency spectrum) vary during the sound.

        +

      • Process the master phonemes file which, by including the phoneme files for the various languages, defines all their phonemes and references the keyframe files and the sound sample files which they use. espeakedit processes these and compiles them into the phondata, phonindex, and phontab files in the espeak-data directory which are used by the eSpeak speech synthesizer. +
      +
      +

      Installation

      +espeakedit needs the following packages:
      +(The package names mentioned here are those from the Ubuntu "Dapper" Linux distribution). +
        +
      • sox   (a universal sound sample translator) +
      • libwxgtk2.6-0   (wxWidgets Cross-platform C++ GUI toolkit) +
      • portaudio0   (Portaudio V18, portable audio I/O) +
      +In addition, a modified version of praat (www.praat.org) is used to view and analyse WAV sound files. +This needs the package libmotif3 to run and libmotif-dev to compile. +
      +

      Quick Guide

      +This will quickly illustrate the main features. Details of the interface and key commands are given in editor_if.html

      +For more detailed information on analysing sound recordings and preparing phoneme definitions and keyframe data see analyse.html (to be written). +

      Compiling Phoneme Data

      +
        +
      1. Run the espeakedit program.

        +

      2. Select Data->Compile phoneme data from the menu bar. Dialog boxes will ask you to locate the directory (phsource) which contains the master phonemes file, and the directory (dictsource,) which contains the dictionary files (en_rules, en_list, etc). Once specified, espeakedit will remember their locations, although they can be changed later from Options->Paths.

        +

      3. A message in the status line at the bottom of the espeakedit window will indicate whether there are any errors in the phoneme data, and how many language's dictionary files have been compiled. The compiled data is placed into the espeak-data directory, ready for use by the speak program. If errors are found in the phoneme data, they are listed in a file error_log in the phsource directory.
      4. +

        +NOTE: espeakedit can be used from the command line to compile the phoneme data, with the command: espeakedit --compile +

      5. Select Tools->Make vowels chart->From compiled phoneme data. This will look for the vowels in the compiled phoneme data of each language and produce a vowel chart (.png file) in phsource/vowelcharts. These charts plot the vowels' F1 (formant 1) frequency against their F2 frequency, which corresponds approximately to their open/close and front/back positions. The colour in the circle for each vowel indicates its F3 frequency, red indicates a low F3, through yellow and green to blue and violet for a high F3. In the case of a diphthong, a line is drawn from the circle to the position of the end of the vowel. +
      +

      Keyframe Sequences

      +
        +
      1. Select File->Open from the menu bar and select a vowel file, phsource/vowel/a. This will open a tab in the espeakedit window which contains a sequence of 4 keyframes. Each keyframe shows a black graph, which is the outline of an original analysed spectrum from a sound recording, and also a green line, which shows the formant peaks which have been added (using the black graph as a guide) and which produce the sound.

        +

      2. Click in the "a" tab window and then press the F2 key. This will produce and play the sound of the keyframe sequence. The first time you do this, you'll get a save dialog asking where you want the WAV file to be saved. Once you give a location all future sounds will be stored in that same location, although it can be changed from Options->Paths.

        +

      3. Click on the second of the four frames, the one with the red square. Press F1. That plays the sound of just that frame.

        +

      4. Press the 1 (number one) key. That selects formant F1 and a red triangle appears under the F1 formant peak to indicate that it's selected. Also an = sign appears next to formant 1 in the formants list in the left panel of the window.

        +

      5. Press the left-arrow key a couple of times to move the F1 peak to the left. The red triangle and its associated green formant peak moves lower frequency. Its numeric value in the formants list in the left panel decreases.

        +

      6. Press the F1 key again. The frame will give a slightly different vowel sound. As you move the F1 peak slightly up and down and then press F1 again, the sound changes. Similarly if you press the 2 key to select the F2 formant, then moving that will also change the sound. If you move the F1 peak down to about 700 Hz (and reduce its height a bit with the down-arrow key) and move F2 up to 1400 Hz, then you'll hear a "er" schwa [@] sound instead of the original [a].

        +

      7. Select File->Open and choose phsource/vowel/aI. This opens a new tab labelled "aI" which contains more frames. This is the [aI] diphthong and if you click in the tab window and press F2 you'll hear the English word "eye". If you click on each frame in turn and press F1 then you can hear each of the keyframes in turn. They sound different, starting with an [A] sound (as in "palm"), going through something like [@] in "her" and ending with something like [I] in "kit" (or perhaps a French é). Together they make the diphthong [aI]. +
      +

      Text and Prosody Windows

      +
        +
      1. Click on the Text tab in the left panel. Two text windows appear in the panel with buttons Translate and Speak below them.

        +

      2. Type some text into the top window and click the Translate button. The phonetic translation will appear in the lower window.

        +

      3. Click the Speak button. The text will be spoken and a Prosody tab will open in the main window.

        +

      4. Click on a vowel phoneme which is displayed in the Prosody tab. A red line appears under it to indicate that it has been selected.

        +

      5. Use the up-arrow or down-arrow key to move the vowel's blue pitch contour up or down. Then click the Speak button again to hear the effect of the altered pitch. If the adjacent phoneme also has a pitch contour then you may hear a discontinuity in the sound if it no longer matches with the one which you have moved.

        +

      6. Hold down the Ctrl key while using the up-arrow or down-arrow keys. The gradient of the pitch contour will change.

        +

      7. Click with the right mouse button over a phoneme. A menu allows you to select a different pitch envelope shape. Details of the currently selected phoneme appear in the Status line at the bottom of the window. The Stress number gives the stress level of the phoneme (see voices.html for a list).

        +

      8. Click the Translate button. This re-translates the text and restores the original pitches.

        +

      9. Click on a vowel phoneme in the Prosody window and use the < and > keys to shorten or lengthen it.

        +

      +The Prosody window can be used to experiment with different phoneme lengths and different intonation.

      + +


      + + + + + + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/editor_if.html /tmp/FYWarWUISc/espeak-1.15/docs/editor_if.html --- /tmp/OUeX2G7HQN/espeak-1.11/docs/editor_if.html 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/editor_if.html 2006-08-29 08:41:11.000000000 +1000 @@ -0,0 +1,143 @@ + + + + + Editor - Spectrum + + + + +Back +
      +

      USER INTERFACE - FORMANT EDITOR

      +
      +

      Frame Sequence Display

      +The eSpeak editor can display a number of frame-sequencies in tabbed windows. Each frame can contain a short-time frequency spectrum, covering the period of one cycle at the sound's pitch. Frames can also show: +
        +
      • Blue vertical lines showing the estimated position of the f1 to f5 formants (if the sequence was produced by praat analysis). These should correspond with the peaks in the spectrum, but may not do so exactly

        +

      • Numbers at the right side of the frame showing the position from the start of the sequence in mS, and the pitch of the sound.

        +

      • Up to 9 formant peaks (numbered 0 to 9) added by the user, usually to match the peaks in the spectrum, in order to produce the required sound. These are shown in green, can be moved by keyboard presses as described below, and may merge if they are close together. If a frame has formant peaks then it is a Keyframe and is shown with a pale yellow background.

        +

      • If formant peaks are present, a relative amplitude (r.m.s.) value is shown at the right side of the frame. +
      • +
      +

      Text Tab

      +Enter text in the top left text window. Click the Translate button to see the phonetic transcription in the text window below. Then click the Speak button to speak the text and show the results in the Prosody tab, if that is open. +

      +If changes are made in the Prosody tab, then clicking Speak will speak the modified prosody while Translate will revert to the default prosody settings for the text. +

      +To enter phonetic symbols (Kirschenbaum encoding) in the top left text window, enclose them within [[ ]]. +

      Spect Tab

      +The "Spect" tab in the left panel of the eSpeak editor shows information about the currently selected frame and sequence. +
        +
      • The Formants section displays the Frequency, Height, and Width of each formant peak (peaks 0 to 8). Peaks 6, 7, 8 don't have a variable width.

        +

      • % amp - Frame can be used to adjust the amplitiude of the frame. If you change this value then the rms amplitude value at the right side of the frame will change. The formant peaks don't change, just the overall amplitude of the frame.

        +

      • mS shows the time in mS until the next keyframe (or end of sequence if there is none). The spin control initially shows the same value, but this can be changed in order to increase or decrease the effctive length of a keyframe.

        +

      • % amp - Sequence /ul> adjusts the amplitude of the whole sequence. Changing this values changes the rms amplitudes of all the keyframes in the sequence.

        +

      • % mS - Sequence /ul> shows the total length of the sequence.

        +

      • Graph
        +Yellow vertical lines show the position of keyframes within the sequence.
        +Black bars on these show the frequencies of formant peaks which have been set at these keyframes.
        +Thick red lines, if present, show the formants, as detected in the original analysis.
        +Thin black line, if present, shows the pitch profile measured in the original analysis. +
      +
    • + +

      Key Commands

      +
        +
      • Selection.

        +The selected frame(s) are shown with a red border. The selected formant peak is also indicated by an equals ("=") sign next to its number in the "Spect" panel to the right of the window.

        +The selected formant peak is shown with a red triangle under the peak.

        +Keyframes are shown with a pale yellow background. A keyframe is any frame with any formant peaks which are not zero height. If all formant peaks become zero height, the frame is no longer a keyframe. If you increase a peak's height the frame becomes a keyframe. + +

        +
        Numbers 0 to 8 +
        Select formant peak number 0 to 8. +
        Page Up/Down +
        Move to next/previous frame +
        +
      • Formant movement. With the following keys, holding down Shift causes slower movement. +
        +
        Left +
        Moves the selected formant peak to higher frequency. +
        Right +
        Moves the selected formant peak to lower frequency. +
        Up +
        Increases height of the selected formant peak. +
        Down +
        Decreases height of the selected formant peak. +
        < +
        Narrows the selected formant peak. +
        > +
        Widens the selected formant peak. +
        CTRL < +
        Narrows the selected formant peak. +
        CTRL > +
        Widens the selected formant peak. +
        / +
        Makes the selected formant peak symmetrical. +
        +
      • Frame Cut and Paste +
        +
        CTRL A +
        Select all frames in the sequence. +
        CTRL C +
        Copy selected frames to (internal) clipboard. +
        CTRL V +
        Paste frames from the clipboard to overwrite the contents of the selected frame and the frames which follow it. Only the formant peaks information is pasted. +
        CTRL SHIFT V +
        Paste frames from the clippoard to insert them above the selected frame. +
        CTRL X +
        Delete the selected frames. +
        +
      • Frame editing +
        +
        CTRL D +
        Copy the formant peaks down to the selected frame from the next keyframe above. +
        CTRL SHIFT D +
        Copy the formant peaks up to the selected frame from the next key-frame below. +
        CTRL Z +
        Set all formant peaks in the selected frame to zero height. It is no longer a key-frame. +
        CTRL I +
        Set the formant peaks in the selected frame as an interpolation between the next keyframes above and below it. A dialog box allows you to enter a percentage. 50% gives values half-way between the two adjacent key-frames, 0% gives values equal to the one above, and 100% equal to the one below. +
        +
      • Display and Sound +
        +
        CTRL Q +
        Shows interpolated formant peaks on non-keyframes. These frames don't become keyframes until any of the peaks are edited to increase their height. +
        CTRL SHIFT Q +
        Removes the interpolated formant peaks display. +
        CTRL G +
        Toggle grid on and off. +
        F1 +
        Play sound made from the one selected keyframe. +
        F2 +
        Play sound made from all the keyframes in the sequence. +
      +

        +


      +

      USER INTERFACE - PROSODY EDITOR

      +
      +
      • +
        +
        Left +
        Move to previous phoneme. +
        Right +
        Move to next phoneme. +
        Up +
        Increase pitch. +
        Down +
        Decrease pitch. +
        Ctrl Up +
        Increase pitch range. +
        Ctrl Down +
        Decrease pitch range. +
        > +
        Increase length. +
        < +
        Decrease length. +
        +
        +
      • +
      + + Binary files /tmp/OUeX2G7HQN/espeak-1.11/docs/images/lips.png and /tmp/FYWarWUISc/espeak-1.15/docs/images/lips.png differ Binary files /tmp/OUeX2G7HQN/espeak-1.11/docs/images/sand-light.jpg and /tmp/FYWarWUISc/espeak-1.15/docs/images/sand-light.jpg differ diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/index.html /tmp/FYWarWUISc/espeak-1.15/docs/index.html --- /tmp/OUeX2G7HQN/espeak-1.11/docs/index.html 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/index.html 2006-09-21 20:27:13.000000000 +1000 @@ -0,0 +1,67 @@ + + + + speak: speech synthesis + + + + + + + + + + + + + + +
      +SourceForge.net Logo + +
      +

      eSpeak text to speech

      +
      Download +         Forum +
      +
      + +Usage +

      +Languages +

      +Documents + +

      +eSpeak is a software speech synthesizer for English and other languages.   +http://espeak.sourceforge.net +

      +eSpeak produces good quality English speech. It uses a different synthesis method from other open source TTS engines, and sounds quite different. It's perhaps not as natural or "smooth", but I find the articulation clearer and easier to listen to for long periods. +

      +It can run as a command line program to speak text from a file or from stdin. A shared library version is also available. + +

        +
      • Includes different Voices, whose characteristics can be altered. +
      • Can produce speech output as a WAV file. +
      • SSML (Speech Synthesis Markup Language) is supported (not complete), and also HTML. +
      • Compact size. The program and its data, including several languages, totals about 450 kbytes. +
      • Can translate text to phoneme codes, so it could be adapted as a front end for another speech synthesis engine. +
      • Potential for other languages. Several are included in varying stages of progress. Help from native speakers for these or other languages is welcomed. +
      • Development tools available for producing and tuning phoneme data. +
      • Written in C++. +
      +

      +It works well as a "Talker" with the KDE text to speech system (KTTS), as an alternative to Festival for example. As such, it can speak text which has been selected into the clipboard, or directly from the Konquerer browser or the Kate editor. +

      +I regularly use it to listen to blogs and news sites. I prefer the sound through a domestic stereo system rather than my small computer speakers. +


      +Languages. eSpeak supports several languages, however in most cases these are initial drafts and need more work to improve them. Assistance from native speakers is welcome for these, or other new languages. Please contact me if you want to help.

      +espeakedit is a GUI program used to prepare and compile phoneme data. It is now available for download. Documentation is currently sparse, but if you want to use it to add or improve language support, let me know. +


      +speak was originally written for Acorn/RISC_OS computers starting in 1995. This version is an update and re-write, including a relaxation of the original memory and processing power constraints, and with support for additional languages if anyone is interested in doing so. +

      +The project name speak had already been taken by another project on SourceForge (for a Windows TTS front-end) so I added a letter 'e' to the front to make eSpeak. For now, the program executable remains speak and is referred to as such in the documentation. +

      + + + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/languages.html /tmp/FYWarWUISc/espeak-1.15/docs/languages.html --- /tmp/OUeX2G7HQN/espeak-1.11/docs/languages.html 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/languages.html 2006-09-21 20:40:37.000000000 +1000 @@ -0,0 +1,121 @@ + + + + + Speak + + + + +Back +
      +

      3. LANGUAGES

      +
      +

      Help Needed

      +Many of these are mostly just experimental attempts at these languages, produced after a quick reading of the corresponding article on wikipedia.org. They will need work or advice from native speakers to improve them. Please contact me if you want to advise or assist with these or other languages.

      +The sound of some phonemes may be poorly implemented, particularly [r] since I'm English and therefore unable to make a "proper" [r] sound.

      +A major factor is the rhythm or cadance. An Italian speaker told me the Italian voice improved from "difficult to understand" to "good" by changing the relative length of stressed syllables. Identifying unstressed function words in the xx_list file is also important to make the speech flow well. See Adding or Improving a Language +

      Character sets

      +Languages recognise text either as UTF8 or alternatively in an 8-bit character set which is appropriate for that language. For example, for Polish this is Latin2, for Russian it is KOI8-R. This choice can be overridden by a line in the voices file to specify an ISO 8859 character set, eg. for Russian the line:
      +
           charset 5
      +will mean that ISO 8859-5 is used as the 8-bit character set rather than KOI8-R. +

      +In the case of a language which uses a non-Latin character set (eg. Greek or Russian) if the text contains a word with Latin characters then that particular word will be pronounced using English pronunciation rules and English phonemes. Speaking entirely English text using a Greek or Russian voice will sound OK, but each word is spoken separately so it won't flow properly. +

      +Sample texts in various languages can be found at http://<language>.wikipedia.org and www.gutenberg.org +

      3.1 Voice Files

      + +A number of Voice files are provided in the espeak-data/voices directory. +You can select one of these with the -v <voice filename> parameter to the +speak command, eg: +
         speak -vaf
      +to speak using the Afrikaans voice. +

      +For details of the voice files see Voices. +

      Default Voice

      +
        +
        +
        +default
        +
        This voice is used if none is specified in the speak command. Copy your preferred voice to "default" so you can use the speak command without the need to specify a voice.
        +
        +
      +

      3.2 English Voices

      +
        +
        +en
        +
        is the standard default English voice.
        +

        +

        +en-n
        +en-rp
        +en-wn

        +
        are different English voices. These can be considered caricatures of + various British accents: Northern, Received Pronunciation, West Midlands + respectively.
        +

        +

        +en-f, en-n-f, en-rp-f, en-wm-f
        +
        Female versions of the above. Not genuine female voices, just variants + with different pitch and formant parameters.
        +

        +

        +en1 to en8
        +
        Variations of "en" with different effects and parameters set in the voice files. Experiment with the variations.
        +
      +

      3.3 Other Languages

      +
        +
        +

        +

        +af  Afrikaans
        +
        This has been worked on by a native speaker. He says it's ready for release, although needing some more work, particularly in the area of which syllables are stressed (Afrikaans has irregular phonemic stress, like English) and pronunciation of compound words. Features include some distinctive diphthongs and an interesting "g" sound (a sort of gargling noise).
        +

        +

        +cy  Welsh
        +
        An initial guess, awaiting feedback. +
        +

        +

        +de  German
        +
        A simple attempt at German, perhaps a bit improved from previous releases. + I have only a small knowledge of German, from school many years ago, + but even I can at tell that it needs much improvement. A big problem is stress placement (which like English is irregular), prosody, and the use of compound words where correct detection of the sub-word boundaries would probably be needed for accurate pronunciation. +
        +

        +

        +el  Greek
        +
        No feedback from Greek speakers yet. Stress position is marked in text and spelling is fairly regular, so it shouldn't be too bad. It uses a different alphabet and switches to English pronunciation for words which contain Latin characters a-z.
        +

        +

        +eo  Esperanto
        +
        Esperanto has simple and regular pronunciation rules, so it should be OK, although I'm not + certain how it's supposed to sound, other than what I've read in an introduction. + The stress pattern (stress on penultimate syllables) is different from English. + Text can be either UTF-8, or Latin3 alphabet, or + can use the Latin1 convention of two-letter combinations (cx, + gx, etc).
        +

        +

        +es  Spanish
        +
        Just something I knocked together one day after reading a couple of articles on Spanish pronunciation. However, since spelling is regular and stress is explicitly marked when it deviates from the normal rules, it might even be intelligible. This would be a good opportunity for a native Spanish speaker to assist. Perhaps we could have different variants for Castilian Spanish, Mexican Spanish, etc., in a similar way to how I've done different English accents.
        +

        +

        +it  Italian
        +
        This has had some feedback from a native speaker but more work is needed. Spelling is fairly regular, but stress marks and vowel accents are often omitted from text, so for some words the dictionary/exceptions list will need to determine the stress position or whether to use open/close [e] or [E] and [o] or [O].
        +

        +

        +pl  Polish
        +
        An experiment with a language with some fearsome consonant clusters, palatal consonants, and even a couple of nasal vowels. I don't know whether I've got those anything like correct, or how it will sound to a Pole, but it sounds vaguely Slavic to me. I've been told that the intonation is wrong.
        +

        +

        +ru  Russian
        +
        So far it's just an initial attempt with basic pronunciation rules. Work is needed especially on the consonants. Russian has two versions of most consonants, "hard" and "soft" (palatalised) and in most cases eSpeak doesn't yet make a proper distinction.
        +Russian stress position is unpredictable so a large lookup dictionary is needed of those words where eSpeak doesn't guess correctly. To avoid increasing the size of the basic eSpeak package, this is available separately at: http://espeak.sourceforge.net/data/ +
        +
      +
      + + + + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/phonemes.html /tmp/FYWarWUISc/espeak-1.15/docs/phonemes.html --- /tmp/OUeX2G7HQN/espeak-1.11/docs/phonemes.html 2006-08-07 19:41:52.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/phonemes.html 2006-09-21 20:40:52.000000000 +1000 @@ -8,6 +8,7 @@ +Back

      PHONEMES


      @@ -242,5 +243,6 @@
      + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/phontab.html /tmp/FYWarWUISc/espeak-1.15/docs/phontab.html --- /tmp/OUeX2G7HQN/espeak-1.11/docs/phontab.html 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/phontab.html 2006-09-21 20:05:22.000000000 +1000 @@ -0,0 +1,211 @@ + + + + + Speak + + + + +Back +
      +

      PHONEME TABLES

      +
      +A phoneme table defines all the phonemes which are used by a language, together with their properties and the data for their production as sounds. +

      +Generally each language has its own phoneme table, although additional phoneme tables can be used for different voices within the language. These alternatives are referenced from Voices files. +

      +A phoneme table does not need to define all the phonemes used by a language. Instead it can reference a previously defined phoneme table, whose phonemes it inherits. These can then be used as they are, or overridden by new definitions, or new phonemes added. For example, a phoneme table may redefine (or add) some of the vowels that it uses, but inherit most of its consonants from a standard set. +

      +

      Note: This specification is not yet complete and does not include the definitions of the formant sequence specifications. +
      +The source for the phoneme tables is here: phonsource.zip +
      +

       


      +

      Phoneme files

      +The phoneme tables are defined in a master phoneme file, named phonemes. This starts with the base phoneme table followed by other phoneme tables for languages and voices which inherit phonemes from the base table or from each other. +

      +In addition to phoneme definitions, the phoneme file can contain the following: +

      +
      include <filename> +
      Includes the text of the specified file at this point. This allows different phoneme tables to be kept in different text files, for convenience. <filename> is a relative path. The included file can itself contain include statements. +

      +

      phonemetable <name> <parent> +
      Starts a new phoneme table, and ends the previous table.
      +<name> Is the name of this phoneme table. This name is used in Voices files.
      +<parent> Is the name of a previously defined phoneme table whose phoneme definitions are inherited by this one. The name base indicates the first (base) phoneme table. +

      +

      phonemenumber <integer> +
      This statement is used at the start of the master phonemes file to define some specific code numbers for various phonemes which are used directly within the speak program. +
      +

       


      +

      Phoneme definitions

      +A phoneme table contains a list of phoneme definitions. Each starts with the keyword phoneme and the phoneme name (this is the name used in the pronunciation rules), and ends with the keyword endphoneme. For example: +
        phoneme aI
      +    vowel
      +    length 230
      +    formants vowels/ai
      +    starttype (a) endtype (I)
      +  endphoneme
      +
      +  phoneme s
      +    vls alv frc sibilant
      +    vowelin  f1=0  f2=1700 -300 300  f3=-100 100
      +    vowelout f1=0  f2=1700 -300 250  f3=-100 100  rms=20
      +    lengthmod 3
      +    wave unvoc/s
      +    before _ unvoc/s_
      +    before p unvoc/s!
      +    before t unvoc/s!
      +    before k unvoc/s!
      +    switchvoicing z
      +  endphoneme
      +
      +
      +

      +Within the phoneme definition the following lines may occur: ( (V) indicates only for vowels, (C) only for consonants) +

      +

        +
        Type. One of these must be present. +
        + + + + + + + + + +
        vowel
        liquidsemi-vowels, such as:  r, l, j, w
        nasalnasal eg:  m, n, N
        stopstop eg:  p, b, t, d, k, g
        frcfricative eg:  f, v, T, D, s, z, S, Z, C, x
        afraffricate eg:  tS, dZ
        pause
        stressstress symbols, eg: ' , = %
        virtualUsed to represent a class of phonemes. See section ("Phoneme Pairs", below)
        +
        +
        Properties: +
        + + + + + + + +
        vls(C) voiceless eg. p, t, k, f, s
        vcd(C) voiced eg. b, d, g, v, z
        sibilant(C) eg: s, z, S, Z, tS, dZ
        palatal(C) A palatal or palatalized consonant.
        unstressed(V) This vowel is always unstressed, unless explicitly marked otherwise.
        nolinkPrevent any linking from the previous phoneme.
        trill(C) Apply trill to the voicing.
        +
        +
        Place of Articulation (C): +
        + + + + + + + + + + + + + + + + +
        blb  bi-labialldb  labio-dentaldnt  dental
        alvalveolarrfxretroflexplapalato-alveolar
        palpalatalvelvelarlbvlabio-velar
        uvluvularphrpharyngealgltglottal
        +
        + +
        +
        length +
        (V) The relative length of the phoneme, typically about 140 for a short vowel and from 200 to 250 for a long vowel or diphong. Currently used only for vowels. +

        +

        formants <sound spec> +
        <sound spece> is a relative path to a file which defines how to generate the sound (a vowel or voiced consonant) from a sequence of formant values. (see **) +

        +

        wave <wavefile> +
        (C) This is an alternative to formants.  <wavefile> is a relative path to a WAV file (22 kHz, 16 bits) which will be played to produce the sound. This method is used for unvoiced consonants. <wavefile> does not include a .WAV filename extension, although the file to which it refers may or may not have one. +

        +

        before <phoneme> <sound spec> +
        This specifies an alternative realization when the phoneme followed by another specified phoneme. before may be followed by several <phoneme> <sound seq> pairs. +

        +

        after <phoneme> <sound spec> +
        This specifies an alternative realization when the phoneme follows another specified phoneme. Vowels are considered as two parts, start and end, so both a before and an after condition may apply to the same vowel. +

        +

        starttype <phoneme> +
        Allocates this phoneme to a category for the purposes of choosing the variant of a phoneme that precedes it. See section "Phoneme Pairs" below. +

        +

        endtype <phoneme> +
        Allocates this phoneme to a category for the purposes of choosing the variant of a phoneme that follows it. See section "Phoneme Pairs" below. +

        +

        reduceto <phoneme> <level> +
        (V) Change to the specified phoneme (such as schwa, @) if this syllable has a stress level less than that specified by <level> +

        +

        linkout <phoneme> +
        If the following phoneme is a vowel then this additional phoneme will be inserted before it. +

        +

        beforevowel <phoneme> +
        The phoneme changes to this one if the next phoneme is a vowel. +

        +

        beforevowelpause <phoneme> +
        Change to this if the next phoneme is a vowel or pause. +

        +

        beforenotvowel <phoneme> +
        Change to this if the next phoneme is not a vowel. +

        +

        lengthmod <integer> +
        (C) Determines how this consonant affects the length of the previous vowel. This value is used as index into the length_mods table in the CalcLengths() function in the speak program. +

        +

        vowelin <vowel transition data> +
        (C) Specifies the effects of this consonant on the formants of a following vowel. See "vowel transitions", below. +

        +

        vowelout <vowel transition data> +
        (C) Specifies the effects of this consonant on the formants of a preceding vowel. See "vowel transitions", below. +

        + +

        +
      +

       


      +

      Phoneme Pairs

      +The pronunciation of a phoneme can depend on the phonemes before and after it. Some of this modification is done automatically - the program automatically adjusts the beginning and end of a vowel to match its adjacent sounds. You can also specify variant pronunciations in the phoneme table. +

      +The before and after statements can specify different sound variants to be used when the phoneme is before or is after another specified phoneme. The adjacent phoneme that's specified in a before or after statement may refer not just to one, but to other phonemes too. For example:

         before ; unvoc/s;
      means that the sound unvoc/s; is used (rather than unvoc/s if the following phoneme is [;]. But this rule also applies if the next phoneme is another type of pause, [_] or [;;]. This is because these two include a line
         starttype ;
      in their phoneme specifications. This means that they look like a [;] to a preceding phoneme. +

      +When looking for a matching before or after rule, if an exact match is not found, then a match is looked for by replacing either or both of the two phonemes by their starttype and endtype groups as appropriate. +

      +virtual phonemes can be defined for use in starttype and endtype statements. For example, a virtual phoneme [ (i) ] is used to represent vowels which start with and end with an [i] type sound. So [i:] and [I] have starttype (i) and those, plus diphthongs such as [aI] [eI] [OI] have endtype (i) . By convension, names of virtual phonemes include a pair of round brackets. +

       


      +

      Sound Specifications

      +There are three ways to produce sounds: +
        +
      • Playing a WAV file. This is used for unvoiced consonants such as [p] [t] [s]. +
      • Generating a wave from a sequence of formant parameters. This is used for vowels and also for sonorants such as [l] [j] [n]. +
      • A mixture of these. A stored WAV file is mixed with a wave generated from formant parameters. This is used for voiced stops and fricatives such as [b] [g] [v] [z]. +
      +A <sound spec> in the phoneme table can refer to a WAV file, a formant sequence, or a mixture of both. It can also include a numeric value to adjust the length of the sound. +

       


      +

      Vowel Transitions

      +These specify how a consonant affects an adjacent vowel. A consonant may cause a transition in the vowel's formants as the mouth changes shape between the consonant and the vowel. The following attributes may be specified. Note that the maximum rate of change of formant frequencies is limited by the speak program.

      +

        +
        len=<integer> +
        Nominal length of the transition in mS. If omitted a default value is used. +
        rms=<integer> +
        Adjusts the amplitude of the vowel at the end of the transition. If omitted a default value is used. +
        f1=<integer> +
        +0:   f1 formant frequency unchanged.
        +1:   f1 formant frequency decreases.
        +2:   f1 formant frequency decreases more. +
        f2=<freq> <min> <max> +
        +<freq>:   The frequency towards which the f2 formant moves (Hz).
        +<min>:   Signed integer (Hz).  The minimum f2 frequency change.
        +<max>:   Signed integer (Hz).  The maximum f2 frequency change. +
        f3=<change> <amplitude> +
        +<change>:   Signed integer (Hz).  Frequence change of f3, f4, and f5 formants.
        +<amplitude>:   Amplitude of the f3, f4, and f5 formants at the end of the transition. 100 = no change. +
        brk +
        Break. Do not merge the synthesized wave of the consonant into the vowel. This will produce a discontinuity in the formants. +
        rate +
        Allow a greater maximum rate of change of formant frequencies. +
        glstop +
        Indicates a glottal stop. +
      + + diff -Nru /tmp/OUeX2G7HQN/espeak-1.11/docs/speak_lib.h /tmp/FYWarWUISc/espeak-1.15/docs/speak_lib.h --- /tmp/OUeX2G7HQN/espeak-1.11/docs/speak_lib.h 1970-01-01 10:00:00.000000000 +1000 +++ /tmp/FYWarWUISc/espeak-1.15/docs/speak_lib.h 2006-09-12 06:06:21.000000000 +1000 @@ -0,0 +1,321 @@ +/*************************************************************************** + * Copyright (C) 2006 by Jonathan Duddington * + * jsd@clara.co.uk * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + + +/*************************************************************/ +/* This is the header file for the library version of espeak */ +/* */ +/* Draft: 10.Jul.2006 */ +/*************************************************************/ + + + /********************/ + /* Initialization */ + /********************/ + + +typedef enum { + espeakEVENT_WORD = 1, + espeakEVENT_SENTENCE, + espeakEVENT_MARK, + espeakEVENT_PLAY +} espeak_EVENT_TYPE; + +typedef struct { + int type; + int text_position; // the number of characters from the start of the text + int audio_position; // the time in mS within the generated speech output data + union { + int number; // used for WORD and SENTENCE events + const char *name; // used for MARK and PLAY events. UTF8 string + } id; +} espeak_EVENT; +/* The event list is terminated list by an entry with type=0 + A MARK event indicates a element in the text. + A PLAY event indicates an