# eSpeak NG Text-to-Speech | # eSpeak NG Text-to-Speech | ||||
- [Features](#features) | - [Features](#features) | ||||
- [Windows](#windows) | |||||
- [Binaries](#binaries) | |||||
- [Building](#building) | |||||
- [Linux, Mac, BSD](#linux-mac-bsd) | |||||
- [Dependencies](#dependencies) | |||||
- [Building](#building-1) | |||||
- [Cross Compilation](#cross-compilation) | |||||
- [Sanitizer Flag Configuration](#sanitizer-flag-configuration) | |||||
- [LLVM Fuzzer Support](#llvm-fuzzer-support) | |||||
- [eSpeak NG Feature Configuration](#espeak-ng-feature-configuration) | |||||
- [Extended Dictionary Configuration](#extended-dictionary-configuration) | |||||
- [Testing](#testing) | |||||
- [Installing](#installing) | |||||
- [Android](#android) | |||||
- [Dependencies](#dependencies-1) | |||||
- [Building with Gradle](#building-with-gradle) | |||||
- [Signing the APK](#signing-the-apk) | |||||
- [Opening project in Android Studio](#opening-project-in-android-studio) | |||||
- [Installing](#installing-1) | |||||
- [Documentation](#documentation) | - [Documentation](#documentation) | ||||
- [eSpeak Compatibility](#espeak-compatibility) | - [eSpeak Compatibility](#espeak-compatibility) | ||||
- [History](#history) | - [History](#history) | ||||
- [Feedback](#feedback) | |||||
- [License Information](#license-information) | - [License Information](#license-information) | ||||
---------- | ---------- | ||||
The eSpeak NG is a compact open source software text-to-speech synthesizer for | The eSpeak NG is a compact open source software text-to-speech synthesizer for | ||||
## Documentation | ## Documentation | ||||
1. [User guide](src/espeak-ng.1.ronn) provides reference and examples for command-line options. | |||||
2. [Language guide](docs/add_language.md) provides step-by-step instructions, how to add/improve support for language. | |||||
3. [Index](docs/index.md) provides entries to more detailed information for contributors and developers. | |||||
1. [User guide](src/espeak-ng.1.ronn) provides reference and examples for command-line options. | |||||
2. Look at [contribution guide](docs/contributing.md) to start your contribution. | |||||
3. [Index](docs/index.md) provides full list of more detailed information for contributors and developers. | |||||
## eSpeak Compatibility | ## eSpeak Compatibility | ||||
existing codebase, adding new features, and adding to and improving the | existing codebase, adding new features, and adding to and improving the | ||||
supported languages. | supported languages. | ||||
The *historical* branch contains the available older releases of the original | The *historical* branch contains the available older releases of the original | ||||
eSpeak that are not contained in the subversion repository. | eSpeak that are not contained in the subversion repository. | ||||
been excluded from the historical commits to align them better with | been excluded from the historical commits to align them better with | ||||
the 1.24.02 source commit. | the 1.24.02 source commit. | ||||
## Feedback | |||||
Test latest development version at [eSpeakNG online](https://odo.lv/Espeak). | |||||
Report bugs to the [espeak-ng issues](https://github.com/espeak-ng/espeak-ng/issues) | |||||
page on GitHub. | |||||
Look at and subscribe to [eSpeakNG mailing list](https://groups.io/g/espeak-ng) | |||||
to view and discuss other related topics. | |||||
## License Information | ## License Information | ||||
eSpeak NG Text-to-Speech is released under the [GPL version 3](COPYING) or | eSpeak NG Text-to-Speech is released under the [GPL version 3](COPYING) or |
# Contribution Guide | |||||
- [Simple steps for your feedback](#simple-steps-for-your-feedback) | |||||
- [Steps for your contribution](#steps-for-your-contribution) | |||||
## Simple steps for your feedback | |||||
<a class="anchor" id="simplestep1">1. As eSpeak NG is open source software, you can get it working from many different sources, some of which may provide quite | |||||
old version. Before registering new issue, test that issue can be reproduced with latest development version at | |||||
[eSpeak NG online](https://odo.lv/Espeak) site. | |||||
<a class="anchor" id="simlestep2">2. Review known [eSpeak NG issues](https://github.com/espeak-ng/espeak-ng/issues), particularly about | |||||
[languages](https://github.com/espeak-ng/espeak-ng/labels/languages%2Fpronunciation) and add your comments | |||||
on existing issues. If necessary add new issue as described [here](https://help.github.com/en/articles/creating-an-issue). | |||||
<a class="anchor" id="simlestep3">3. Look at and subscribe to [eSpeakNG mailing list](https://groups.io/g/espeak-ng) | |||||
to view and discuss other related topics. | |||||
## Steps for your contribution | |||||
<a class="anchor" id="step1">1. Get familiar with [additive speech synthesis](https://en.wikipedia.org/wiki/Additive_synthesis). | |||||
<a class="anchor" id="step2">2. Create fork of [espeak-ng](https://github.com/espeak-ng/espeak-ng) repository as it is described [here](https://help.github.com/en/articles/fork-a-repo). | |||||
<a class="anchor" id="step3">3. [Clone](https://help.github.com/en/articles/cloning-a-repository) and set up your development environment [on your computer](building.md) , or clone it [online](https://odo.lv/EspeakGuide). | |||||
<a class="anchor" id="step4">4. Get familiar with [text to phoneme translation](dictionary.md) and how to [add or improve language](add_language.md). | |||||
<a class="anchor" id="step5">5. Get familiar with [voice files](voices.md) and [phoneme tables](phontab.md) configuration files. | |||||
<a class="anchor" id="step6">6. Make your improvements (i.e. additions or modifications) and check your project with `make check` command. Fix issues if necessary. | |||||
<a class="anchor" id="step7">7. If you contribute to an existing language, find language maintainer in language configuration file located in `espeak-ng-data/lang` folder[<sup>1</sup>](#1) and ask him to review your changes. If you can't find language maintainer, you can review list of all contributors[<sup>2</sup>](#2) and contact them. You can also volunteer to become language maintainer just by updating language configuration file. | |||||
<a class="anchor" id="step8">8. [Push your changes to GitHub](https://help.github.com/en/articles/pushing-commits-to-a-remote-repository) and create [pull request](https://help.github.com/en/articles/creating-a-pull-request). You can also send changed files by email to [eSpeakNG mailing list](https://groups.io/g/espeak-ng) (but then inlusion of them may take more time). | |||||
<a class="anchor" id="step9">9. Wait for feedback of current espeak-ng maintainers[<sup>3</sup>](#3). | |||||
<a class="anchor" id="step10">10. If you feel ready to take responsibility, ask existing maintainers to become promoted as a maintainer of the project. | |||||
---- | |||||
<a class="anchor" id="1"></a>1. You can get list of all language maintainers with following commands in your `espeak-ng` folder: | |||||
``` | |||||
cd espeak-ng-data;grep -ri -A2 -B2 maintainer * | |||||
``` | |||||
<a class="anchor" id="2"></a>2. You can get list of all contributors with following commands in your `espeak-ng` folder: | |||||
``` | |||||
git log --pretty="%an %ae%n%cn %ce" | sort|uniq -c|sort -nr | |||||
``` | |||||
<a class="anchor" id="3"></a>3. Currently eSpeak NG is maintained only by volunteers in their free time, therefore expected reaction time is one, two weeks. | |||||
# eSpeak NG: Speech Synthesizer | |||||
# eSpeak NG online documentation | |||||
- User Guide | - User Guide | ||||
- [espeak-ng Command Line](../src/espeak-ng.1.ronn) | - [espeak-ng Command Line](../src/espeak-ng.1.ronn) | ||||
- [speak-ng Command Line](../src/speak-ng.1.ronn) | - [speak-ng Command Line](../src/speak-ng.1.ronn) | ||||
- [Supported Languages](languages.md) | - [Supported Languages](languages.md) | ||||
- [SSML and HTML Support](markup.md) | - [SSML and HTML Support](markup.md) | ||||
- [Contributor Guide](contributing.md) | |||||
- [Building eSpeak NG](building.md) | |||||
- Creating and Editing Languages and Voices | - Creating and Editing Languages and Voices | ||||
- [Adding or Improving a Language](add_language.md) | |||||
- [Adding or Improving a Language](add_language.md) | |||||
- [Text to Phoneme Translation](dictionary.md) | - [Text to Phoneme Translation](dictionary.md) | ||||
- [Numbers](numbers.md) | - [Numbers](numbers.md) | ||||
- [Voice Files](voices.md) | - [Voice Files](voices.md) | ||||
- [Intonation](intonation.md) | - [Intonation](intonation.md) | ||||
- Phonemes | - Phonemes | ||||
- [Phoneme Features and the International Phonetic Alphabet](phonemes.md) | - [Phoneme Features and the International Phonetic Alphabet](phonemes.md) | ||||
- [Phoneme Model](phoneme_model.md) | |||||
- [Kirshenbaum (ASCII-IPA) Transcription Scheme](phonemes/kirshenbaum.md) | - [Kirshenbaum (ASCII-IPA) Transcription Scheme](phonemes/kirshenbaum.md) | ||||
- [X-SAMPA Transcription Scheme](phonemes/xsampa.md) | - [X-SAMPA Transcription Scheme](phonemes/xsampa.md) | ||||
- [Conlang X-SAMPA Transcription Scheme](phonemes/cxs.md) | - [Conlang X-SAMPA Transcription Scheme](phonemes/cxs.md) | ||||
- [Phoneme Model](phoneme_model.md) | |||||
- Pronunciation Guides | - Pronunciation Guides | ||||
- [English](languages/gmw/en.md) | - [English](languages/gmw/en.md) | ||||
- [License](../COPYING) | - [License](../COPYING) |