mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-05 22:53:38 +00:00
README: Extend the documentation on the compatibility with espeak.
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
- [Signing the APK](#signing-the-apk)
|
||||
- [Installing](#installing-1)
|
||||
- [Documentation](#documentation)
|
||||
- [Packaging](#packaging)
|
||||
- [eSpeak Compatibility](#espeak-compatibility)
|
||||
- [Historical Versions](#historical-versions)
|
||||
- [Bugs](#bugs)
|
||||
- [License Information](#license-information)
|
||||
@@ -303,34 +303,33 @@ The [espeak-ng](src/espeak-ng.1.ronn) and [speak-ng](src/speak-ng.1.ronn)
|
||||
command-line documentation provide a reference of the different command-line
|
||||
options available to these commands with example usage.
|
||||
|
||||
## Packaging
|
||||
## eSpeak Compatibility
|
||||
|
||||
The **espeak-ng** project works as a drop-in replacement for **espeak**, with
|
||||
a few caveats. More specifically:
|
||||
The *espeak-ng* binaries expose the same command-line options as *espeak*, with
|
||||
several additions to expose new functionality from *espeak-ng* such as specifying
|
||||
the output audio device name to use. The build creates symlinks of `espeak` to
|
||||
`espeak-ng`, and `speak` to `speak-ng`.
|
||||
|
||||
1. The installation creates compatibility symlinks mapping _espeak_, _speak_
|
||||
and _libespeak.la_ to their _espeak-ng_ equivalents. These are optional if
|
||||
you are packaging _espeak_ using the upstream eSpeak code, and can be
|
||||
handled in distributions in other ways, such as the
|
||||
[Debian Alternatives](https://wiki.debian.org/DebianAlternatives) system.
|
||||
The espeak `speak_lib.h` include file is provided in `espeak-ng/speak_lib.h` with
|
||||
an optional symlink in `espeak/speak_lib.h`. This file contains the espeak API as
|
||||
of 1.48.15, with a change to the `ESPEAK_API` macro to fix building on Windows,
|
||||
and some minor changes to the documentation comments. Thus, the C API is API and
|
||||
ABI compatible with espeak.
|
||||
|
||||
2. The command-line interface to _espeak-ng_ and _speak-ng_ are compatible
|
||||
with the upstream versions and intend to remain so. Only new command
|
||||
options will be added.
|
||||
The `espeak-data` data has been moved to `espeak-ng-data` to avoid conflicts with
|
||||
espeak. With espeak-ng 1.49.0, the number of supported phoneme tables was increased
|
||||
so espeak-ng can read the espeak data but espeak cannot read the espeak-ng data.
|
||||
That is, `N_PHONEM_TABS` in `phoneme.h` has been increased from `100` to `150`.
|
||||
This does not affect the binary phoneme format.
|
||||
|
||||
3. The C API to _libespeak-ng.so_ will remain API and ABI compatible with
|
||||
_libespeak.so_. The only change `speak_lib.h` has is a change to the
|
||||
`ESPEAK_API` macro when building on Windows. All new APIs are being added
|
||||
to `espeak-ng/espeak_ng.h`.
|
||||
As of espeak-ng 1.49.2, the format of the phoneme source files has changed, so
|
||||
they are no longer compatible with espeak. The binary files are still compatible
|
||||
with espeak.
|
||||
|
||||
4. The _espeak-ng-data_ files have been modified slightly. Currently _espeak-ng_
|
||||
can read _espeak_ data, but _espeak_ cannot read _espeak-ng_ data, because
|
||||
_espeak-ng_ uses a different voice data so that both _espeak_ and
|
||||
_espeak-ng_ can be installed on the same machine without problems.
|
||||
|
||||
5. The _espeak-ng_ project does not include _espeakedit_. The voice data is
|
||||
built using the _espeak-ng_ command line itself. Currently, to create and
|
||||
edit the voice data, you need _espeakedit_ from the _espeak_ project.
|
||||
The *espeak-ng* project does not include the *espeakedit* program. It has moved
|
||||
the logic to build the dictionary, phoneme and intonation binary files into the
|
||||
`libespeak-ng.so` file that is accessible from the `espeak-ng` command line and
|
||||
C API.
|
||||
|
||||
## Historical Versions
|
||||
|
||||
|
||||
Reference in New Issue
Block a user