| @@ -9,6 +9,9 @@ | |||
| - [Adding New Voices](#adding-new-voices) | |||
| - [Changes from Upstream](#changes-from-upstream) | |||
| - [Development Branch](#development-branch) | |||
| - [Build System](#build-system) | |||
| - [espeakedit](#espeakedit) | |||
| - [Bug Fixes](#bug-fixes) | |||
| - [Praat Modifications](#praat-modifications) | |||
| - [Historical Releases](#historical-releases) | |||
| - [Bugs](#bugs) | |||
| @@ -16,8 +19,21 @@ | |||
| ---------- | |||
| This is a mirror of the eSpeak sources with changes to make it build on POSIX | |||
| systems using autotools. It contains the following branches: | |||
| This is a mirror of the eSpeak sources with the following improvements: | |||
| 1. An autotools-based build system that supports building the phoneme data and | |||
| language dictionaries from source. | |||
| 2. Detection of the supported audio APIs via the `configure` script — no need to | |||
| modify the build files. | |||
| 3. The NVDA voice variants are included in the `espeak-data/voices/!v` directory. | |||
| 4. Add support for the Oromo language (`om`, contributed by [gude432](https://github.com/gude432)). | |||
| 5. Support for wxWidgets 3.0. | |||
| It contains the following branches: | |||
| * *upstream* — a mirror of the eSpeak subversion repository using `git svn`; | |||
| * *development* — the eSpeak sources from | |||
| @@ -200,6 +216,72 @@ have been removed from the git repository as well as being added to the | |||
| `.gitignore` file; as such, they will cause merge conflicts when merging | |||
| from *upstream* to *development*. | |||
| ### Build System | |||
| The build system for eSpeak has been changed on the *master* branch to use | |||
| autotools and to support building the phoneme data and language dictionaries | |||
| on POSIX systems. | |||
| 1. Use autotools (`autoconf`, `automake` and `libtool`) to build espeak. | |||
| 2. Use the portaudio header on the build machine, not the one in espeak. This | |||
| avoids the need to link to the correct portaudio header file. | |||
| 3. Detect wxWidgets using `wx-config`. | |||
| 4. Add `configure` options and detection for the `pulse`, `portaudio`, | |||
| `runtime` and `sada` audio API modes. | |||
| 5. Allow `CXXFLAGS` to be overwritten from the environment. This is based | |||
| on the patch for Debian bug #707925 by Jason White. | |||
| 6. *Klatt*, *MBROLA*, *libsonic* and asynchronous command support was made | |||
| optional. This covers: | |||
| * adding an option to the `configure` script; | |||
| * only building the source files that are enabled; | |||
| * removing the guards around the relevant source files; | |||
| * removing the relevant conditional compilation defines from `speech.h`; | |||
| * fixing the sources if needed to build without support for the feature. | |||
| 7. Fixes for building with wxWidgets 3.0, while still supporting wxWidgets 2.8. | |||
| ### espeakedit | |||
| The following changes have been made to `espeakedit` to make it usable from | |||
| the command line, especially for use in the build process: | |||
| 1. Build the intonation data as well as the phoneme data when the `--compile` | |||
| option is passed. | |||
| 2. Don't compile the dictionaries when using the `--compile` command. | |||
| 3. Only call `DrawEnvelopes` if `MAKE_ENVELOPES` is defined. This prevents the | |||
| `phsource/envelopes.png` file being updated every build. | |||
| 4. Don't load the phoneme data before compiling it, as the phoneme data may | |||
| not exist. | |||
| 5. Use the path set by `ESPEAK_DATA_PATH` if that environment variable exists, | |||
| otherwise use the `HOME` environment variable. | |||
| 6. Don't use the paths from the configuration file when running the `--compile` | |||
| command. | |||
| ### Bug Fixes | |||
| The following bugs have been fixed on the *master* branch: | |||
| * [`c1196192e5`](https://github.com/rhdunn/espeak/commit/c1196192e5950a80d37073135780441cc782c127) | |||
| — don't crash when `espeak_SetPunctuationList` is called with a null pointer. | |||
| * [`304d265f46`](https://github.com/rhdunn/espeak/commit/304d265f462fa4854c7d1f953131c69937a2fe74) | |||
| — fix a segfault when running `espeak -x "[[]]"` | |||
| * [`c098e8b891`](https://github.com/rhdunn/espeak/commit/c098e8b8910c1bffdd878198095fee803d8bd73a) | |||
| — change the IPA transcription of the `/i/` phoneme to `i`. | |||
| These have been sent upstream for inclusion in the upstream version of eSpeak. | |||
| ### Praat Modifications | |||
| The eSpeak sources from | |||