espeak 1.45.04  25.Apr.2011

Added language Malayalam (ml).

lang=de, Fixed important pronunciation error "sage" etc.

Don't speak punctuation names faster at high speeds.

lang=ml, recognise "virama + U+200d" (zero-width joiner) to indicte 'chillu' characters.

Fix problem of punctuation character announcement repeated at the start of the next sentence after speaking is stopped.

Fixed crash due to large numbers of box-drawing characters in text input.

Fixed phoneme translation of 't' sounds for US-English voices.


espeak 1.45.03  22.Mar.2011

lang=Turkish, fix pronunciation of suffixes, fix suffixes after names.

Windows: command option --stdout caused spurious 0x0d bytes to be included in speech output (CR/LF problem).

Fixed crash which could occur when a clause starts with a hyphen.


espeak 1.45.02  15.Mar.2011

Only use "sonic" speedup above 450 wpm.

lang=Turkish, fix bug, letter uppercase-I-dot was not recognized on Windows.


espeak 1.45.01  14.Mar.2011

Added languages:  Kannada (kn), Georgian (ka)

Many fixes for various languages, including
Danish, Dutch, English, French, German, Hungarian, Russian, Tamil, 

lang=German.  Revert to previous pronunciation of 'r' sounds (from before 1.44).
lang=Esperanto.  Change prosody.


Added "sonic" code (by Bill Cox) to increase the speed of speech after it has been generated by eSpeak.  This removes eSpeak's 450 speed limit.

Command-line options.
Recognize --  which means don't treat following arguments as options.
--help  also gives the path of the espeak-data directory.

SSML
Allow single as well as double quotes around strings.
Fix bugs in SSML "prosody rate".

Mbrola.  Look for Mbrola voices also at /usr/share/mbrola/xx/xx

Fixed bug where double .. was ignored.

Fixed bug in reporting word event lengths in callbacks.

Fixed bug in reporting marker event positions in callbacks, when non-ascii text.

Phoneme definitions.
New keyword "prevoice": always add murmer before a voiced stop, not only after a vowel.
Fixed bug in nextVowel() condition that caused crash.
Fixed bug is condition "isRhotic".

espeakedit.
Try "aplay" and then "play" to play sound.
Improved the Tools->Lexicon functions, which generate **_listx data from a list of words and their pronunciations.



espeak 1.44.04

Fix error in big-endian data conversion program, producing bad data.

Make geminated voiced stops (eg. [bb] ) longer at fast speeds.

Provide conditional compilation of the mbrola interface, define macro INCLUDE_MBROLA in speech.h

Mbrola: also look for mbrola voices in /usr/share/mbrola/voices

Pad TUNES and frame_t structures to a multiple of 4 bytes.

lang=da, Don't weaken unvoiced stops before pause.
lang=el, Remove final unstressed [a] if the next word starts with [a].
lang=pt, Change final [U] to [w] if next word starts with a vowel.


espeak 1.44.03

Fixes:
Lang=el, mk.  Was speaking words as individual letters.
Lang=pl.  Fix prounciation of 'ć' and 'ci'.
Fix crash in big-endian data conversion program.
Fix problem where changing voices reduces the speaking rate, at fast rates.

speak_lib.h:  add macro definitions for minimum, maximum, and normal speaking rate values.



espeak 1.44.01

Fix crash with very long numbers.
Speak very long numbers as individual digits.


Unpronouncable word check:
  Rules for unpronouncable initial letter sequences can now be defined in *_rules files.

  The unpronouncable word check now stops when an apostrophe is found.


Phoneme definitions:
  Optional second parameter to FMT() statement specifies a percentage amplitude.

  Added "ipa" statement to specify the IPA name for a phoneme if the default translation is not correct.

  Add phoneme "equivalents" tables, so that words can be spoken with foreign (eg English) prounuciation rules, but using local phonemes.

  New attributes:  flag1, flag2, flag3

  New attribute: nopause. Prevents the insertion of a short pause when this phoneme starts a word which follows a vowel.

  New conditions: isFlag1, isFlag2, isFlag3, isSibilant.

  New statement: InsertPhoneme()


Phonemes: improve syllablic [m-] [n-] [N-]


Mbrola:
  Command-line espeak and the libespeak library now call the mbrola program directly, rather than producing phoneme text which must be piped into mbrola.

  Added --pho command-line option to generate mbrola phoneme information (.pho data).

Phoneme output:
  Add --ipa command-line option to produce phonemes names using the International Phonetic Alphabet.

  Indicate language changes during phoneme output with: (en)  (fr)  etc.


-X command-line option: Show the matching of multiple-word entries in *_list files.

Speak sequences of letters and dots as individual letters and don't speak 'dot' (eg. "u.s.a").

Don't speak punctuation characters inside <audio> ... <audio/>.

Don't speak "dot" if an ellipsis is followed by a dot.

Vowelcharts:  Show the positions for multiple FMT() statements in a vowel phoneme definition.


*_rules: add attributes  $p_alt $p_alt2 $p_alt3,  $w_alt $w_alt2 $w_alt3

*_list:  add attributes:  $sentence, $atstart


klatt synthesizer: implement echo (defined in voice files).


espeakedit:
  Prosody display: Show stressed and secondary-stress syllables.

  Remember window size and position.

  Change the frame-length field from Spin Control to Text Control to allow better access from screen-readers.


Intonation:
  New file, 'phsource/intonation' to define 'tunes' which can be used from voice files.

  espeakedit: add Compile -> Intonation data

  Intonation: change the internal pitch unit to give finer control, and align with the values displayed in the espeakedit Prosody window.


Speed: Increase range to 80 to 450, with default=175.
Improve speaking at high speeds.


Language options: add an option to the Regressive Voicing option to de-voice the final consonant of words.

lang=ta, hi.  Letter-names for combining vowel characters are distinguished from stand-alone vowel characters by adding an initial click sound.

lang=en: Reduce consecutive unstressed syllables to 'diminished' stress, only in unstressed words.

lang=de: Change 'r' phoneme.

lang=es: Improve the rules for reducing 'b', 'd', 'g' to approximants [B] {D] [Q].

Language improvements include: Danish, Dutch.


espeak 1.43.03  (bug fixes)

Fix crash when embedded control codes are followed by numbers of 5 or more digits.
Fix lang=hu,  First character of an abbreviation is missed after an ordinal number (eg."2. cd")
Fix XML tag not recognized after "..." when announce punctuation is enabled.
Fix lang=zh-yue, 'p' 't' 'k' after a vowel give a long pause.
Fix lang=ru, "o" missing in unstressed syllables.

espeak 1.43.02

Language improvements including Danish.

Fix: "  50000" with leading spaces was spoken as "50".

Don't consider multiple spaces as a thousands separator (eg. "2  000").

Fixed phoneme [n^] for klatt synthesizer.

Lang=Hungarian, don't allow dot as thousands separator.



espeak 1.43

New format for phoneme definitions, including conditional statements for more flexibility.

Added voice variants which use the Klatt synthesizer rather than the eSpeak synthesizer: klatt, klatt2, klatt3

Fixes to the Klatt synthesizer.
Updated phoneme data for use in the Klatt synthesizer.


Allow optional .txt filename suffix for *_rules and *_list files.

HTML tags should not insert a space when they are removed.  This could cause a break inside a word (eg. <b>, <font>).

Fixes to correctly recognise space as a thousands separator in some languages.




eSpeak 1.42

Improvements to languages including Hungarian, Portuguese, Tamil

Changes to intonation when announcing punctuation (--punct option).

Recognise key names in <say-as interpret-as="tts:key"> and allow translation
into the current language.

*_list files, added attribute $hasdot for abbreviations.  The rule only applies
if the word is followed by a dot.

SSML (as used by Speech Dispatcher), fix problems where a tag after a dot meant
that end-of-sentence and ordinal numbers were not recognized correctly.




eSpeak 1.41

Added language:  da Danish

Language: it Italian, added dictsource/it_listx with data for stress positions and open/close "e" and "o" vowels.

Languages: pt, it:  Fixed a crash when speaking some numbers.

Fixed numbers greater than 1000000 for Indian languages.

-m option now ignores XML comments.

-b option now has a value (4) to specify 16 bit character input text.

-g option (word gap) fixed for Windows.

--punct option. Fix some unnecessary pauses when speaking punctuation names.

SSML: fixed bug where <mark> was ignored before some punctuation characters.

Changed the format of formant data in espeak-data/phondata, to add extra parameters for use by a Klatt synthesizer.  Changed the formant dialogue in espeakedit to include these.

F7 and F8 formants are now fixed at 7800Hz and 90000Hz.

"Text position" in callback events is no longer limited to 16 bits.

Fixed problems with word-length indications in callback events.

Some changes to allow compilation on WinCE/Windows Mobile, with notes in platforms/windowsMobile.

*_list files. Ad feature for ordinal numbers (for some languages).
*_list files. Allow hyphenated word groups to start with a number.
*_list files. Allow "words" of symbols to contain brackets.




eSpeak 1.40

Added languages:
lv Latvian, ca Catalan, sq Albanian, hy Armenian.

Adjusted the tonal quality of the speech to reduce the harshness slightly.

Language improvements include:
English/US, Esperanto.

Windows SAPI5 installer: Remove the limit on the number of eSpeak voices which can be installed.

-m command option: Ignore text within <script> and <style> tag pairs.

-v command option: If the parameter is not a voice file name, look it up as a language name (specified inside voice files).

Added command option --path.  Specified the path of the espeak-data directory.

Added command option --phonout.  Specifies output of mbrola phoneme data, and phoneme data from -x and -X command options, to a file rather than stdout.

Implemented visemes on the SAPI5 interface.

Fix some sound channel lock-ups.

Reduced pause when announcing punctuation characters.

Add voice variant: "fast" to allow experimentation with faster speaking speeds.

Removed the use of C++ Classes.
