# Change Log
1. [espeak-ng](#espeak-ng)
2. [espeak](#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:
1. Make it easier to build espeak on POSIX systems.
2. 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:
* om (Oromo)
### 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:
* om (Oromo)
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.
Generated by dwww version 1.16 on Sat Oct 3 05:07:41 CEST 2026.