| - [Installing](#installing) | - [Installing](#installing) | ||||
| - [Building Voices](#building-voices) | - [Building Voices](#building-voices) | ||||
| - [Adding New Voices](#adding-new-voices) | - [Adding New Voices](#adding-new-voices) | ||||
| - [Praat Modifications](#praat-modifications) | |||||
| - [Historical Releases](#historical-releases) | |||||
| - [Changes from Upstream](#changes-from-upstream) | |||||
| - [Development Branch](#development-branch) | |||||
| - [Praat Modifications](#praat-modifications) | |||||
| - [Historical Releases](#historical-releases) | |||||
| - [Bugs](#bugs) | - [Bugs](#bugs) | ||||
| - [License Information](#license-information) | - [License Information](#license-information) | ||||
| * *android* — the source code of | * *android* — the source code of | ||||
| [eSpeak for Android](http://reecedunn.co.uk/espeak-for-android). | [eSpeak for Android](http://reecedunn.co.uk/espeak-for-android). | ||||
| See the [Changes from Upstream](#changes-from-upstream) section on what has been | |||||
| changed from the upstream version of eSpeak. | |||||
| ## Build Dependencies | ## Build Dependencies | ||||
| In order to build eSpeak, you need: | In order to build eSpeak, you need: | ||||
| in addition to building everything else, and add a `<lang-code>` target | in addition to building everything else, and add a `<lang-code>` target | ||||
| for building just that voice. | for building just that voice. | ||||
| ## Praat Modifications | |||||
| ## Changes from Upstream | |||||
| The *upstream* branch contains the unmodified eSpeak sources imported from | |||||
| subversion using the `git svn` command. These changes are merged into the | |||||
| *development* branch. | |||||
| ### Development Branch | |||||
| The *development* branch replaces the code from subversion with the code | |||||
| from [http://espeak.sourceforge.net/test/latest.html](http://espeak.sourceforge.net/test/latest.html). | |||||
| It combines the *eSpeak* and *espeakedit* zip files containing the Linux | |||||
| binaries with source code to match the subversion code. | |||||
| The motivation for using these development releases is that the source | |||||
| code from the subversion repositories is often incomplete -- either | |||||
| missing several files, or not including certain changes. This is also | |||||
| why the *master* branch pulls changes from *development*, not *upstream*. | |||||
| The following changes are performed when merging the two zip files: | |||||
| 1. the `src/Makefile` in the *espeakedit* code has been renamed to | |||||
| `src/Makefile.espeakedit` to match the name in subversion; | |||||
| 2. the *espeakedit* files have been merged into the *eSpeak* files | |||||
| as the subversion repository does not split out the two; | |||||
| 3. the `platforms/riscos/Makefile,fe1` file is moved to `platforms/riscos/Makefile`; | |||||
| 4. the `platforms/riscos/copysource,feb` file is moved to `platforms/riscos/copysource`; | |||||
| 5. the `phsource/vnasal/.directory` file is removed — this is used by the | |||||
| `Dolphin` file browser and should not be included in the sources; | |||||
| 6. the `docs` folder contains an older version of the documentation, so these | |||||
| changes are reverted; | |||||
| 7. the `espeak-data/voices/asia/ko` file is missing from the development | |||||
| sources, but none of the other related Korean voice files have been removed | |||||
| so the file is restored to the upstream version; | |||||
| 8. the executable bit is removed from the source files — this is because | |||||
| there are no files that need to be executable in the source tree. | |||||
| The following files are removed (excluded via `.gitignore`) from the sources: | |||||
| 1. the Linux binaries (including the voice/phoneme data) — these are not | |||||
| part of the source code; | |||||
| 2. generated files such as `dictsource/dict_phonemes` — these are not part | |||||
| of the source code; | |||||
| 3. `praat-mod` — this is not included as part of the subversion code (see | |||||
| [Praat Modifications](#praat-modifications) for where to get these | |||||
| changes); | |||||
| 4. `Makefile` — this is a copy of `src/Makefile`; | |||||
| 5. `ReadMe` — this is not provided in the subversion codebase, instead a | |||||
| more informative version is located in this `README.md` file; | |||||
| 6. `ChangeLog.txt` — this is not provided in the subversion codebase, is | |||||
| incomplete and there is a more detailed change log available in the | |||||
| subversion and git repositories; | |||||
| 7. `License.txt` — this is a copy of the GPLv3 license; it is not provided | |||||
| in the subversion repository; for this git mirror, the GPLv3 license is | |||||
| located in the `COPYING` file as per GNU guidelines. | |||||
| **NOTE:** The generated files `phsource/compile_report` and | |||||
| `dictsource/dict_phonemes` are included in the subversion repository. They | |||||
| 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*. | |||||
| ### Praat Modifications | |||||
| The eSpeak sources from | The eSpeak sources from | ||||
| [http://espeak.sourceforge.net/test/latest.html](http://espeak.sourceforge.net/test/latest.html) | [http://espeak.sourceforge.net/test/latest.html](http://espeak.sourceforge.net/test/latest.html) | ||||
| *espeak* branch of the [praat](https://github.com/rhdunn/praat) mirror. This | *espeak* branch of the [praat](https://github.com/rhdunn/praat) mirror. This | ||||
| mirror currently includes support upto version 5.3.23 of praat. | mirror currently includes support upto version 5.3.23 of praat. | ||||
| ## Historical Releases | |||||
| ### Historical Releases | |||||
| 1.24.02 is the first version of eSpeak to appear in the subversion | 1.24.02 is the first version of eSpeak to appear in the subversion | ||||
| repository, but releases from 1.05 to 1.24 are available on the | repository, but releases from 1.05 to 1.24 are available on the |