Releases: espeak-ng/espeak-ng
Releases · espeak-ng/espeak-ng
1.52
changes
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
New Contributors
- @sukiletxe made their first contribution in #1167
- @seanbudd made their first contribution in #1211
- @ryandesign made their first contribution in #1003
- @Dekedro made their first contribution in #1175
- @kmamadoudram made their first contribution in #1178
- @MH140000 made their first contribution in #1235
- @TheQuinbox made their first contribution in #1254
- @Gurbuzguven made their first contribution in #1260
- @FelipeZanabria made their first contribution in #1292
- @kirill-jjj made their first contribution in #1350
- @djphoenix made their first contribution in #1262
- @bkmgit made their first contribution in #1376
- @hgneng made their first contribution in #1404
- @fireneat made their first contribution in #1413
- @beqabeqa473 made their first contribution in #1423
- @bespsm made their first contribution in #1417
- @PatrykMis made their first contribution in #1449
- @AbdulSamadMalik made their first contribution in #1442
- @andmizyk made their first contribution in #1480
- @rmcpantoja made their first contribution in #1517
- @Idorobots made their first contribution in #1696
- @mueller-ma made their first contribution in #1720
- @DimitryAndric made their first contribution in #1722
- @Benjamin-Loison made their first contribution in #1783
- @tuxpoldo made their first contribution in #1811
- @lukaszgo1 made their first contribution in #1813
- @heitbaum made their first contribution in #1858
- @kenta2 made their first contribution in #1848
- @biniamgebremichael made their first contribution in #1845
- @hammera made their first contribution in #1882
- @SimpleMango made their first contribution in #1670
- @cimm made their first contribution in #1682
- @CWBudde made their first contribution in #1757
- @BobSquarePants made their first contribution in #1922
- @eltociear made their first contribution in #1910
- @raphaelmerx made their first contribution in #1879
- @lpmi-13 made their first contribution in #1906
- @danemadsen made their first contribution in #1878
- @atabekm made their first contribution in #1894
- @trenslow made their first contribution in #1929
- @isolveit-aps made their first contribution in #1914
- @WallFlowerWeed made their first contribution in #1881
- @danielwinkler made their first contribution in #1901
- @omeritzics made their first contribution in #1919
- @jtojnar made their first contribution in #1948
- @c-armentano made their first contribution in #1681
- @WilliamTambellini made their first contribution in #1982
- @alanc made their first contribution in #2008
- @fabiolimace made their first contribution in #2025
- @cclauss made their first contribution in #1969
- @aherrou made their first contribution in #2044
- @ehsan-e made their first contribution in #2020
- @PaulBoersma made their first contribution in #1973
- @thewh1teagle made their first contribution in #1983
- @Danstiv made their first contribution in #1965
- @wilt00 made their first contribution in #1946
- @michal-bida made their first contribution in #1931
- @lunarna-gh made their first contribution in #1924
- @Sur3 made their first contribution in #1916
- @rotemdan made their first contribution in #1700
Full Changelog: 1.51...1.52
1.51
new features:
- 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
1.50
- Add a
--disable-rpath
option to prevent libtool hardcoding rpaths in the executable. - Renamed the
hy-arevmda
language tohyw
, following the 2018-03-30 change to the
BCP 47 language subtag registry making the newly registeredhyw
language code the
preferred value forhy-arevmda
. This change keeps support for detecting the
hy-arevela
andhy-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
- 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
- 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 nowja
). - 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
- 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
- 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: useen
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 (Krygyz) -- JRMeyer
- lv (Latvian) -- Valdis Vitolins
- tr (Turkish) -- Valdis Vitolins
new languages:
- ar (Arabic) -- Taha Zerrouki
- jp (Japanese) -- Reece Dunn (NOTE: Hiragana and Karakana only.)
1.49.0
- 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
andespeak-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
andstatus
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
toespeak-ng
. - Renamed
speak
tospeak-ng
. - Use the
libespeak-ng
API inspeak-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)