Change Log
- espeak-ng
- espeak
espeak-ng
The espeak-ng project is a fork of the espeak project.
1.52.0
attention! this is the last release witch support the autoconf build
system. use cmake to compile espeak-ng.
- added cmake build system – djphoenix
- Added stress marks to phoneme events – Rotem Dan
bug fixes: * a meny fixes to core C code – djphoenix
android: * Added directBoot support – beqabeqa473 * Integrated
ndk-build step into main gradle pipeline
updated languages: * ba (Bashkir) – Andiv06 * be (Belarusian) –
Andiv06, bespsm, Alaksiej Stankievič * cmn (Mandarin) – Cameron Wong *
en (English) – Bill Dengler * es (Spanish) – Sukil Etxenike, Rmcpantoja,
gregodejesus * fa (Persian) – MH * gn (Guarani) – Andiv06 * he (Hebrew)
– Omer I.S, Andiv06 * it (Italian) – Christian Leo Mameli * ja
(Japanese) – Karl Eick * kl (Greenlandic) – Andiv06 * ky (Kyrgyz) –
Andiv06, Valdis Vitolins * lv (Latvian) – Valdis Vitolins * nog (Nogai)
– Andiv06, boracasli98 * qdb (Lang Belta) – Andiv06 * qya (Quenya) –
Andiv06 * quc (K’iche’) – Andiv06 * ro (Romanian) – Andiv06 * ru
(Russian) – Kirill-jjj, a11cf0 * shn (Shan Tay Yai) – ronaldaug * tk
(Turkmen) – Andiv06 * tr (Turkish) – Gurbuzguven, Qchristensen * uk
(Ukrainian) – Andrij Mizyk * uz (Uzbek) – Andiv06
new languages: * en-Shaw (English, Shavian script) – Luna Rose * ti
(Tigrinya) – Biniam Gebremichael * mto (Totontepec Mixe) – Bill Dengler,
Elizabeth Resendiz * fo (Faroese) – Andras Eliassen, iSolveIT ApS and
Setur.fo/Ravnur * kaa (Karakalpak) – atabekm * xex (Xextan) – Filomena
Rocca
1.51
- Add support for speechPlayer.
- Add more tests to check the various parts of espeak-ng.
- Various changes to clean up the codebase (Juho Hiltunen)
- Remove support for l_length_mods language option
- Restructure “option brackets” language option to “brackets” and
“bracketsAnnounced”
- Restructure “stressLength” and “stressAdd” language option
- New Language option: “lowercaseSentence” for ending a sentence if a
period is followed by a lower case letter
- Add voice variants
- Rename zh to cmn (Mandarin)
- Rename zhy to yue (Cantonese)
- cmn (Mandarin) now assumes all latin characters all English text Use
cmn-latn-pinyin for interpreting latin characters as pinyin
- Update list of voice varants for Android application
- Add Chromium extension (guest271314)
- Replace
ieee80.c by a free software implementation
(Ulrich Müller)
bug fixes: * Fix reading malformed SSML (Christopher Brannon) * Fix
memory allocation (Christopher Brannon) * Fix building and phoneme
compilation (John Bowler) * Fix build scripts for Android (Peter Vágner,
Minas Tirith Citizen)
documentation: * Add documentation about voice and language options.
* Add documentation about dictionary flags.
updated languages: * ar (Arabic) – king-dahmanus * ba (Bashkir) –
boracasli98, Valdis Vitolins, Juho Hiltunen * cmn (Mandarin) – Silas S.
Brown, Rongcui Dong, Icenowy Zheng, Juho Hiltunen * de (German) – Karl
Eick, Henry Krumb * el (Modern Greek) – Reece Dunn (support for variant
Greek letter forms) * en (English) – Steven Presser, Ben Talagan * eo
(Esperanto) – AlsoScratch * eu (Basque) – agonzalezd * fa
(Farsi/Persian) – Shadyar Khodayari * ga (Gaelic (Irish)) Chen,
Chien-ting * grc (Ancient Greek) – Reece Dunn (support for variant Greek
letter forms) * hak (Hakka Chinese) – Juho Hiltunen * haw (Hawaiian) –
Juho Hiltunen * ka (Georgian) – Juho Hiltunen * kok (Konkani) – Juho
Hiltunen * nb (Norwegian Bokmål) – Juho Hiltunen * nci (Classical
Nahuatl) – Juho Hiltunen * hy (Armenian) – tigransimonyan * ia
(Interlingua) – nesrad * it (Italian) – Christian Leo * ja (Japanese) –
fukuen, Juho Hiltunen * jbo (Lojban) – Juho Hiltunen, xunsku * lv
(Latvian) – Valdis Vitolins * mi (Māori) – boracasli98 * py (Pyash) –
Andrii Logan Zvorygin * shn (Shan Tay Yai) – ronaldaug * tr (Turkish) –
boracasli98, SeanTolstoyevski * ur (Urdu) – Ejaz Shah * uz (Uzbek) –
boracasli98, Valdis Vitolins, Andiv06 * yue (Cantonese) – Andiv06
new languages: * be (Belarusian) – Sergei B * chr (Cherokee) –
Michael Conrad * cv (Chuvash) – boracasli98, Valdis Vitolins * en-us-nyc
(English, New York City) – Richard Calvi * haw (Hawaiian) – Valdis
Vitolins * he (Hebrew) – boracasli98, Valdis Vitolins * io (Ido) – José
Miguel López, Valdis Vitolins * lb (Luxembourgish) – Marco Barnig,
Valdis Vitolins * ltg (Latgalian) – Valdis Vitolins * nog (Nogai) –
boracasli98, Valdis Vitolins * piqd (Klingon) – Valdis Vitolins * qu
(Quechua) – Valdis Vitolins * qdb (Lang Belta) – Da Def, Valdis Vitolins
* qya (Quenya) – Lucas Werkmeister * sjn (Sindarin) – Lucas Werkmeister
* smj (Lule Saami) – Katri Hiovain, Sebastien Le Maguer * th (Thai) –
Valdis Vitolins * tk (Turkmen) – boracasli98, Valdis Vitolins * ug
(Uyghur) – boracasli98, Valdis Vitolins * uk (Ukrainian) – Valdis
Vitolins
1.50 - 2019-11-29
- Add a
--disable-rpath option to prevent libtool
hardcoding rpaths in the executable.
- Renamed the
hy-arevmda language to hyw,
following the 2018-03-30 change to the BCP 47 language subtag registry
making the newly registered hyw language code the preferred
value for hy-arevmda. This change keeps support for
detecting the hy-arevela and hy-arevmda
language tags.
- Support any length replacement rule strings for the source part of
the rule (replacing from the ‘source’ string to the ‘target’
string).
- Add more tests to check the various parts of espeak-ng.
- Various changes to clean up the codebase.
- Fix various compiler warnings (
-Winitialized,
-Wmissing-prototypes, -Wreturn-type, and
-Wunused).
security:
- Fix several crashes in the emoji support.
- Fix several static analysis issues detected by Coverity Scan.
- Fix several static analysis issues detected by Microsoft Visual C++
/analyze.
oss-fuzz support for the SSML logic.
- Fix running
make check with
-fsanitize=address (LLVM AddressSanitizer).
documentation:
- document the Kirshenbaum phoneme transcription scheme (used as the
basis of espeak phonemes).
- document the X-SAMPA phoneme transcription scheme.
- document the Conlang X-SAMPA phoneme transcription scheme.
emoji:
- Update the emoji to Unicode 11.0.
- Update the emoji translations to CLDR 33.1.
- gd (Scottish Gaelic)
- sd (Sindhi)
- yue (Chinese (Cantonese))
new languages:
- ba (Bashkir) – tc-dl, Valdis Vitolins
- hak (Hakka Chinese) – Chen Chien-ting
- ht (Haitian Creole) – Valdis Vitolins
- kk (Kazakh) – boracasli14, Valdis Vitolins, Andiv06
- py (Pyash) – Logan Streondj
- quc (K’iche’) – Valdis Vitolins
- ru-lv (Russian Latvia) – Valdis Vitolins
- shn (Shan Tay Yai) – ronaldaug
- uz (Uzbek) – Valdis Vitolins
updated languages:
- af (Afrikaans) – Christo de Klerk
- ar (Arabic) – Valdis Vitolins, Mark Readdie, Hesham Assabahi
- cmn (Chinese Mandarin) – materia-cccp
- de (German) – Reece Dunn, Karl Eick
- en (English) – Reece Dunn
- fa (Farsi/Persian) – Shadyar Khodayari
- fi (Finnish) – Juho Hiltunen
- fr (French) – Shallowmallow, Karl Eick, maiido, Reece Dunn
- ku (Kurdish) – rojanu
- it (Italian) – chrislm
- lv (Latvian) – Valdis Vitolins
- my (Myanmar/Burmese) – Min Maung
- ru (Russian) – Valdis Vitolins, Reece Dunn
- sd (Sindhi) – Ejaz Shah
- ur (Urdu) – Ejaz Shah
- vi (Vietnamese) – Anh Hoang Nguyen
1.49.2 - 2017-09-24
- Provide more validation when reading phoneme tables and
voice/language files.
- Removed support for phoneme equivalence tables. These were disabled
in the French and German language files.
- Allow pre- as well as post-jump rules in dictionary files.
- Support building the Windows version with Visual Studio 2013.
- Use language and accent names consistently across the language
files.
- Group the encoding handling into a single place with a clean
interface and tests.
- Support all ISO 8859 encodings.
- Support for multi-word text replacements in language
dictionaries.
- Support compiling
_emoji dictionary files if
present.
bug fixes:
- Fix running
make clean ; make.
- Fix reading stdin buffers larger than 1000.
- Fixed various language and parent BCP 47 codes (
jp is
now ja).
- Fixed several crashes and bugs in
espeak_SetVoiceByName/Properties.
new languages:
- bpy (Bishnupriya Manipuri) – Vardhan
- fr-CH (French (Switzerland)) – Claude Beazley
- kok (Konkani) – Vardhan
- mi (Māori) – Graham Oliver
- sd (Sindhi, Arabic script) – Vardhan, Ejaz Shah
updated languages:
- af (Afrikaans) – Christo de Klerk
- de (German) – Valdis Vitolins
- du (Dutch) – Leonard de Ruijter
- en (English) – Reece Dunn. Thanks to Kendell Clark for identifying
mispronunciations.
- fa (Farsi/Persian) – Shadyar Khodayari
- fr (French) – Valdis Vitolins; Reece Dunn
- gu (Gujarati) – Vardhan
- hi (Hindi) – Vardhan
- it (Italian) – chrislm
- ky (Kyrgyz) – JRMeyer
- lv (Latvian) – Valdis Vitolins
- mk (Macedonian) – Reece Dunn. Updated the romanization support:
- Don’t map đ and ć to Serbian ђ and ћ (use Macedonian ѓ and ќ
instead).
- Support additional romanizations: ISO 9, BGN/PCGN, Cadastre, and
MJMS/SSO.
- mr (Marathi) – Vardhan
- or (Oriya) – Vardhan
- ur (Urdu) – Ejaz Shah
Unicode Emoji support (from the Unicode Emoji 5.0, and CLDR 31.0.1
data files):
- af (Afrikaans)
- am (Amharic)
- ar (Arabic)
- az (Azerbaijani)
- bg (Bulgarian)
- bn (Bengali)
- bs (Bosnian)
- ca (Catalan)
- cs (Czech)
- cy (Welsh)
- da (Danish)
- de (German)
- el (Greek)
- en (English) – American
- es (Spanish)
- et (Estonian)
- eu (Basque)
- fa (Farsi/Persian)
- fi (Finnish)
- fr (French)
- ga (Irish Gaelic)
- gu (Gujarati)
- hi (Hindi)
- hr (Croatian)
- hu (Hungarian)
- hy (Armenian)
- id (Indonesian)
- is (Icelandic)
- it (Italian)
- ja (Japanese)
- ka (Georgian)
- kn (Kannada)
- ko (Korean)
- ky (Kyrgyz)
- lt (Lithuanian)
- lv (Latvian)
- mk (Macedonian)
- ml (Malayalam)
- mr (Marathi)
- ms (Malay)
- my (Myanmar/Burmese)
- ne (Nepali)
- nl (Dutch)
- or (Oriya)
- pa (Punjabi)
- pl (Polish)
- pt (Portuguese) – Brazil
- ro (Romanian)
- ru (Russian)
- si (Sinhala)
- sk (Slovak)
- sl (Slovenian)
- sq (Albanian)
- sr (Serbian)
- sv (Swedish)
- sw (Swahili)
- ta (Tamil)
- te (Telugu)
- tr (Turkish)
- ur (Urdu)
- vi (Vietnamese)
- zh (Chinese)
1.49.1 - 2017-01-21
- Vim syntax support for rule files.
- Replace
ieee80.c with the implementation at
http://www.realitypixels.com/turk/opensource/ToFromIEEE.c.txt for Debian
open source license compliance.
- Documentation updates.
- Emscripten support.
- Merged the Android port into the main espeak-ng codebase.
- Extend
--compile-phoneme to support specifying the
source directory for phoneme files.
- Support using any directory as the data home, not just
espeak-ng-data.
- Don’t install the
default voice: use en as
the default voice.
NOTE: The merger of the Android code is currently
experimental. It is missing support for recognising Unicode
characters.
bug fixes:
- Fix
.Lnn rule groups to allow groups above 62.
- Fix reporting the eSpeak NG version in the
--version
string and Windows installer.
- Fix a crash when calling
LoadDictionary when using
clang.
- Threading fixes and Mac OSX portability for the fifo and event
code.
- Fixes for running the spect code on big-endian architectures.
- Fix determining the voice directory when installing the 32-bit
Windows binaries on a 64-bit Windows system.
- Fix a regression with the saved parameter logic.
- Reduce the default buffer length to 60mS to improve latency.
- Don’t override buffer length when using espeak-ng for audio.
- Fix detecting doubled consonants when using Unicode characters.
- Fix speaking
1,,2, etc. in languages that use
, as a decimal separator.
updated languages:
- af (Afrikaans) – Christo de Klerk
- en (English) – Valdis Vitolins
- fa (Farsi/Persian) – Shadyar Khodayari
- it (Italian) – chrislm
- ky (Kyrgyz) – JRMeyer
- lv (Latvian) – Valdis Vitolins
- tr (Turkish) – Valdis Vitolins
new languages:
- ar (Arabic) – Taha Zerrouki
- jp (Japanese) – Reece Dunn (NOTE: Hiragana and Katakana only.)
1.49.0 - 2016-09-10
- Support the
--compile-mbrola command-line option.
- Support the
--compile-phonemes command-line
option.
- Support the
--compile-intonations command-line
option.
- Support SSML <phoneme alphabet=“espeak” ph=“…”> tags.
- Added man files for the
speak-ng and
espeak-ng command-line programs.
- Created a companion espeak-ng API to provide more detailed error
codes and provide access to the new espeak-ng functionality.
- Fixed many logic and security issues reported by clang scan-build,
Coverity and msvc /analyze.
- Group languages by their language family and use BCP47 compliant
names.
- Support for Windows and BSD platforms.
- Removed support for WinCE, MS-DOS and RiscOS.
- Add support for
maintainer and status
field in voice files for tracking voice maintenance.
- Vim syntax highlighting for espeak dictionary (list and rules)
files.
- Support reading input from named pipes.
- Fix wav file truncation when reading multiline text from stdin or a
named pipe.
build:
- Build the code with a C99 compiler, instead of a C++ compiler.
- Provide a pkg-config file (patch by Luke Yelavich).
- Use -fPIC to support sparc/sparc64 architectures.
- Removed the local portaudio header files.
- Use the system’s sonic library and header files.
- Output phoneme compilation errors to stderr.
- Generate build failures if building phoneme, intonation or
dictionary files contain errors.
- Provide modern Visual Studio project files to build eSpeak NG on
Windows, with a WiX-based project to create an MSI installer.
- Use the NetBSD
getopt_long implementation on
Windows.
restructuring:
- Moved the library code to
src/libespeak-ng.
- Renamed
espeak to espeak-ng.
- Renamed
speak to speak-ng.
- Use the
libespeak-ng API in speak-ng using
a shared implementation with espeak-ng.
- Moved the code to build the mbrola voice data, phoneme tables and
intonation data to libespeak-ng.
- Removed the
espeakedit program and the associated
wxWidgets dependency.
- Removed the platforms directory and approaching portability in a
similar way to how libressl handles portability.
- Converted the documentation to markdown.
- Group the Windows and POSIX mbrowrap code to provide the
mbrowrap.h implementation in a single place.
- Replaced the audio APIs with PCAudioLib to improve portability of
the audio and to share that across different projects.
- Reworked the synchronous audio to share the code paths with
asynchronous audio.
cleanup:
- Removed unused/empty internal header files.
- Removed unused and commented out code.
- Reformatted the code to use a consistent style and indentation.
- Fixed many GCC and clang warnings.
- Improved the error handling within the codebase to report the
underlying error where possible.
- Inlined several wrapper methods that were adding little/no
value.
updated languages:
- en (English) – Thanks to Kendell Clark for identifying
mispronunciations.
- el (Greek) : improved polytonic Greek support
- es (Spanish) : ChrisLeo (improved intonations)
- fa (Persian) – Shadyar Khodayari
- fr (French) – Thomas Guillory
- ga (Irish Gaelic) – Jim Regan
- it (Italian) – ChrisLeo
- lv (Latvian) – Valdis Vitolins
new languages:
- gn (Guarani) – ChrisLeo
- ky (Kyrgyz) – JRMeyer
- mb-br2 (Brazillian Portuguese)
- mb-de* (German) : extend support coverage of the German MBROLA
voices
- mb-lt1 (Lithuanian) – embar
- mb-lt2 (Lithuanian) – embar
- mt (Maltese)
- my (Myanmar/Burmese) – Min Maung, Lwin Moe
- tn (Setswana)
- tt (Tatar)
espeak
The espeak project was developed by Jonathan Duddington.
This history log is for a fork of the espeak project maintained by
Reece H. Dunn. This project was designed to:
- Make it easier to build espeak on POSIX systems.
- Keep track of the source code releases that differed from the
releases in the subversion repository.
1.48.11 - 2014-08-31
- Support building the MBROLA voice files.
- mbrola/de6 support for syllabic m and syllabic n.
1.47.14 - 2013-12-03
- Support building with the extended Chinese and Russian dictionary
data.
1.47.13 - 2013-10-22
updated languages:
1.47.12 - 2013-10-12
- Added the NVDA voice variants.
- Do not crash if
espeak_SetPunctuationList is called
with a NULL punctuation list.
- Fix a segfault in
GetTranslatedPhonemeString.
new languages:
build:
- Support the
--with-async configure option.
- Support the
--with-sonic configure option.
- Support the
--with-mbrola configure option.
- Support the
--with-klatt configure option.
- Support the
--with-sada configure option.
- More build improvements.
1.46.23 - 2012-09-11
- Converted the build to use autotools.
1.46.11 - 2011-12-31
- Support building all the voice dictionaries.
- More build improvements.
1.43.46 - 2010-06-28
- Initial build changes to make it easier to build espeak on POSIX
systems.