-x command-line option. Fixed possible buffer overflow when writing phoneme output.
Slavic languages, changed behaviour of [v] during voiced/unvoiced propagation.
When looking for a word boundary when breaking long clauses, allow for greater word size (Southern Indian languages have big words 3-byte UTF-8 character codes).
$combine. Don't combine with the nerxt word if it is translated using a different language.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@262 d46cf337-b52f-0410-862d-fd96e6ae7743
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.
espeakedit: New input format for Bulgarian lexicon.
lang=de: Fix important pronunciation error (editing error) for "sage".
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@259 d46cf337-b52f-0410-862d-fd96e6ae7743
Phoneme definitions.
New keyword "prevoice", always add murmer before a voiced stop, not only after a vowel.
Fixed bug in nextVowel() condition.
Fixed bug is condition "isRhotic".
Command line options.
On Windows, -- means don't treat following arguments as options.
--help output now should the espeak-data path.
Tools->Lexicon. Redesign Lexicon processing for Russian and Bulgarian.
Numbers. Fixes for Hungarian ordinal numbers.
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.
SSML.
Allow single as well as double quotes around strings.
Fix bugs in SSML "prosody rate".
Speed.
Only use Sonic speedups greater than x2.
Use custom eSpeak speed settings when Sonic speedup is used.
Mbrola. Look for Mbrola voice also at /usr/share/mbrola/xx/xx
espeakedit. Try "aplay" and then "play" to play sound.
Languages:
Kannada (kn) now in official release.
Esperanto (eo) change prosody.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@257 d46cf337-b52f-0410-862d-fd96e6ae7743
Change in format of *_dict files. 'Word-boundary' at the start of a rule from *_rules is not implied by a new rule type RULE_PRE_ATSTART.
espeakedit: Improvements to Tools->Process Lexicon->Italian which makes the file dictsource/it_listx.
lang=hu, fixes for ordinal numbers.
Speed-up, add files sonic.cpp, sonic.h
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@255 d46cf337-b52f-0410-862d-fd96e6ae7743
Speed increase. Added the "sonic" routines by Bill Cox to reduce the length of eSpeak's sound output data, so as to make the speaking speed faster.
Ordinal numbers: Some languages (el,es) use the ordinal form of hundreds and tens part of a number, as well as the units part. Added language option NUM2_MULTIPLE_ORDINAL.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@254 d46cf337-b52f-0410-862d-fd96e6ae7743
Fix: crash with very long numbers.
Very long nubers ( > 14 digits) now spoken as individual digits.
Fix: bracket was interfering with recognizing last-word in a clause.
Lang=el fix: all words were spoken as individual letters.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@252 d46cf337-b52f-0410-862d-fd96e6ae7743
Phoneme definitions. Add "equivalents" table to translate phonemes from a foreign language (eg. English) into the equivalant phonemes of this language. This is used when *_rules and *_list files indicate that a word uses pronunciation rules from a different language.
Unpronouncable words can be recognised by rules in *_rule files. This feature is now used for en, de, es.
Lang=ta, hi. Letter-names for combining vowel characters are distinguished from stand-alone vowel characters by a preceding beep.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@251 d46cf337-b52f-0410-862d-fd96e6ae7743
Indicate language changes in IPA phoneme output.
Phoneme definitions FMT(), second parameter is amplitude percentage.
Phoneme definitions CALL(), If phoneme type is not defined, copy the static attributes from the called phoneme.
Unpronouncable word check: stop when an apostrophe is reached.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@250 d46cf337-b52f-0410-862d-fd96e6ae7743
espeakedit --compile also compiles the intonation data
Added feature to produce phonemes as International Phonetic Alphabet.
phoneme definitions: Added "ipa" instruction to specify IPA phoneme name.
When spelling as individual characters, calculate the stress position for each character name.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@249 d46cf337-b52f-0410-862d-fd96e6ae7743
Add mbrowrap.cpp to emulate the mbrola library which is available in Windows, but not on Linux. mbrola voices in command-line espeak and libespeak now call mbrola directly rather than generating phoneme information as text. Mbrola phonemes as text is still available with the new --pho command-line option.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@248 d46cf337-b52f-0410-862d-fd96e6ae7743
Fix: Speak punctuation option also caused text after [[ to be spoken as phoneme codes even if espeakPHONEMES flag is not set.
Speak sequences of letters and dots as individual letters, and don't speak 'dot', eg. "u.s.a."
Don't announce punctuation in the alternative text inside <audio ... </audio>
Vowelcharts, show the positions of multiple FMT() in vowel phonemes definitions.
Phoneme definitions:
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-]
*_rules: add attributes $p_alt .. $p_alt3, $w_alt .. $w_alt3
*_list: add attributes: $sentence, $atstart
klatt synthesizer: implement echo.
espeakedit, Prosody display: Indicate stressed and secondary-stress syllables.
espeakedit: remember window size and position.
Intonation:
New file, 'phsource/intonation' to define 'tunes' which can be used from voice files.
espeakedit: add Compile -> Intonationm data
Speed: Increase range to 80 to 450, with default=175.
Improve speaking at high speeds.
lang=en: Reduce consecutive unstressed syllables to 'diminished' stress, only in unstressed words.
lang=de: Change 'r' phoneme.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@244 d46cf337-b52f-0410-862d-fd96e6ae7743
*_list files: added attribute $sentence.
*_rules files: added attributes $w_alt, $p_alt.
phoneme definitions: added attribute no_pause.
-X command-line option: Show the matching of multiple-word entries in *_list files.
espeakedit: Add menu option to compile the intonation data file (the data is not yet used).
Start language: Bulgarian.
lang=bg (Bulgarian): Add feature in espeakedit to make bg_listx from a lexicon of words which have stress position mark-up.
espeakedit: Change the frame-length field from Spin Control to Text Control to allow better access from screen-readers.
Language options: add an option to the Regressive Voicing option to de-voice the final consonant of words.
Don't speak "dot" if an ellipsis is followed by a dot.
Intonation: change the internal pitch unit to give finer control, and align with the values displayed in the espeakedit Prosody window.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@243 d46cf337-b52f-0410-862d-fd96e6ae7743
Language improvements include Danish rules.
Fixed phoneme [n^] for Klatt synthesizer, was producing noise burst.
espeakedit: Display error details after Compile Dictionary.
espeakedit: Fix: After speaking a word which changes language, Compile
Dictionary may compile the wrong dictionary.
Don't consider multiple spaces as thousands separator (eg. 2 000 )
Lang=Hungarian, don't allow dot as thousands separator.
Lang-Hungarian, Fix suffixes -a, -e, -az, -ez, -azt, -ezt after numbers.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@239 d46cf337-b52f-0410-862d-fd96e6ae7743
Don't recognize space as a thousands separator if it's tab, newline, or multiple spaces.
Don't recognuze space as a thousands separator if not followed by exactly 3 digits.
Unrecognized HTML tags should not add a space (eg. <font> <b> inside a word).
lang=hu: fixes for when numbers are ordinal.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@236 d46cf337-b52f-0410-862d-fd96e6ae7743
Allow .txt release for *_rules and *_list files.
Rules lookup, consider multi-byte characters when calculating matchign points.
Fix bug in Roman Number translation.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@232 d46cf337-b52f-0410-862d-fd96e6ae7743
lang=hu, ordinal number fixes
--punct, changes to intonation of punctuation names.
Add language option: don't stress second part of hyphenated words.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@230 d46cf337-b52f-0410-862d-fd96e6ae7743
*_list: Changed name to $combine (from $alt2) for the attribute which indicates that a word should combine with the next word.
Voices files: Added attribute "speed", which specified a percentage change to the speaking speeds which are used for this voice.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@229 d46cf337-b52f-0410-862d-fd96e6ae7743
lang=it, added dictsource/it_listx with corrections for stress position and open/close vowel type.
Changes to allow compilation on WinCE (Windows Mobile), with notes in platforms/windowsMobile.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@219 d46cf337-b52f-0410-862d-fd96e6ae7743
Changed -b option to include an option for 16 bit character input.
numbers.cpp: Added option for vigesimal number systems for tens+units.
Fixed problems with word-length indications in callback events.
-m option now ignores XML comments.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@216 d46cf337-b52f-0410-862d-fd96e6ae7743
*_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 (move check for bracket characters to after the *_list lookup).
--punct option. Fix some unnecessary pauses when speaking punctuation names.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@215 d46cf337-b52f-0410-862d-fd96e6ae7743
Fix lettergroups: Sort items to longest first.
Lang en-us: Use rhotic [3] in place of [@] when [r] follows.
Voice files: add attribute "fast-test" to experiment with faster talking speeds.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@212 d46cf337-b52f-0410-862d-fd96e6ae7743
Languages which use non-Latin alphabets will automatically speak a word of Latin characters as English (or another specified language) without the need for entries in its *_rules file.
synthesize.cpp, SynthOnTimer(): Ensure the sound channel is open if there items still to be spoken, to prevent sound output lock-up.
Reduce warning messages from compilers.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@211 d46cf337-b52f-0410-862d-fd96e6ae7743
*_list files: add attribute $max3 to limit repetitions of a symbol to 3.
-v command option, if the voice-name is not found, lookup using it as a language name.
Windows: allow longer path names for espeak-data.
-m option: Ignore text within <script> and <style> tags.
Reduce default pitch to 80-117.
WavegenCloseSound() check if there remain items to be spoken and re-open the sound channel.
Reduce voicing before voiced plosives.
Corrections to mbrola translation for lang=hi.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@205 d46cf337-b52f-0410-862d-fd96e6ae7743
Added experimental Klatt synthesizer.
Klatt phonemes use a new format of phoneme data.
espeakedit, new dialog fields and layout for Klatt phonemes.
Added Klatt versions of English phonemes.
Fixed some compilation warnings on Windows.
Fixed bug in Lettergroups > L10
Increased amplitude of harmonics below F1 peak, to increase bass.
Allow 5 (up from 4) pairs of values in "tone" command in voice files.
Default to slightly wider pk_shape1.
If words are separated by hyphens, don't add word-gap, and don't pass new-word flag onto phoneme processing.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@203 d46cf337-b52f-0410-862d-fd96e6ae7743
Added languages: ca (Catalan) lv (Latvian)
Numbers: allow for languages which have numbers for 100,000 and (or not) 10,000,000 (eg. hi, sw)
Phoneme [ts] new files in phsource/ustop
*_rules: fix crash for lettergroups numbers greater than 10, and better error reporting.
Languages: eo, jbo: adjust syllable lengths.
Language: en, fix "1st, 2nd, 3rd, 5th". But a full ordinal number feature is still needed.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@202 d46cf337-b52f-0410-862d-fd96e6ae7743
*_list files, allow words in all-capitals which imply $allcaps attribute.
Voices: Look for voices also in espeak-data/voices/test.
lang=eo: Adjust syllable lengths. Use break between word (word_gap=1).
wave.cpp: Fixes to copyBuffer(), wave_write().
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@201 d46cf337-b52f-0410-862d-fd96e6ae7743
*_list Allow Hyphens in multi-word entries (aa-bb). This will only match a pair of words which are hyphenated.
*_list Fix abbreviations of the form a.b.cde
Recognise Armenian punctuation, allow and process Armenian punctuation inside words (affects intonation type, and marks the focus word of the clause).
Mbrola: add a delay so that SAPI5 events better follow the speaking.
Mbrola: generate phoneme events, and hence SAPI5 viseme events.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@200 d46cf337-b52f-0410-862d-fd96e6ae7743
Reduce pause when announcing punctuation.
Fix crash for list of numbers in some languages, eg: "22,23,24,25,26,27..."
Recognise XLL (etc) is not a valid Roman number.
espeak_Cancel(), reset punctuation echo.
Don't permanently change option_phoneme_input after using [[ ]] internally.
lang=af: Only recognise word "'n" as [@] when followed by a space.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@193 d46cf337-b52f-0410-862d-fd96e6ae7743
espeak_Key(key_name) If key_name is a single character, it speaks the character name. Otherwise it speaks key_name as a text string. This is the same behaviour as <say-as interpret-as="tts:key">
Fix: SAPI5 was restricted to 360 wmp. Now the top speed (390 wpm) is allowed.
Fix error in phoneme translation data for mbrola "cr1" Croation voice.
*_list files: Allow word groups which have no phoneme translation, so that just attributes can be set. The words are considered as a single hyphenated word.
Fix: $textmode in *_list files, allow replacement by a word which is also translated in the *_list file.
lang=pl: many additions to pl_rules, pl_list
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@165 d46cf337-b52f-0410-862d-fd96e6ae7743
Speak accented letter names as base-letter name plus accent name, using a table of Unicode characters up to U+17F.
Added $accent attribute for *_list files, meaning "speak as base-letter name plus accent name".
Added accent names to several languages *_list files.
Added language option to allow vowels to merge between words (used for lang=TA).
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@153 d46cf337-b52f-0410-862d-fd96e6ae7743
Fix: Events callback, fix word length information for words with multibyte characters.
Fix: Re-translating a word in a different language after the first langauge has started speaking individual letters, gave silence.
Announce punctuation. If character name is not defined, use English.
Announce punctuation. Fix pitch of the voice which announces punctuation characters.
[[Phonemes]] text input. Allow the language-switch phoneme eg. [[_^_EN hEloU _^_FR]] in the input.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@152 d46cf337-b52f-0410-862d-fd96e6ae7743
Indicate unrecognized letters within a word by clicks.
lang-tr: Non-standard lower case conversion for "I".
Tone languages: indicate emphasis by increasing the pitch range.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@151 d46cf337-b52f-0410-862d-fd96e6ae7743
Error message if accented letters are not recognized as alphabetic.
"speak" program. Don't finish when an empty sentence is found.
Compile dictionary: compile *_listx after *_list, not before.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@146 d46cf337-b52f-0410-862d-fd96e6ae7743
Fix: reset phoneme table if speech is cancelled while switched to a second language.
"speak": add -z options (same as for "espeak").
Numbers: Add option to speak "and" before hundreds.
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@143 d46cf337-b52f-0410-862d-fd96e6ae7743
<say-as tts:char>, if a character name is not defined, say its English name.
phoneme tables, added beforenotvowel2 attribure for lang=tr
lang=tr: initial draft
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@135 d46cf337-b52f-0410-862d-fd96e6ae7743