From eba554c1cac7ec84e43adf6e4ae90c4fc9b07ea0 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Fri, 29 Nov 2013 15:15:07 +0000 Subject: [PATCH] README.md: Describe the changes made to the master branch. --- README.md | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 84 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1e3aaa54..beaf78f0 100644 --- a/README.md +++ b/README.md @@ -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