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)