A cross-platform Rust engine for neural TTS models.
espeak-phonemizer: Converts text toIPAphonemes using a patched version of eSpeak-ngsonata-model: Handles model loading and inference usingonnxruntimeviaortsonata-synth: WrapsSonataModeland adds synthesized speech post-processing, including changing prosody. Also provides different modes of parallelism.sonata-grpc: GRPC frontend for sonatalibsonata: C-API binding to sonatasonata-python: Python bindings tosonata-synthusingpyo3sonic-sys: Rust FFI bindings to Sonic: aClibrary for controlling various aspects of generated speech, such as rate, volume, and pitch
Some packages, such as espeak-phonemizer, include tests. Running cargo test from the root of the workspace will likely fail, because cargo does not load config from sub packages when ran from the workspace root.
On Windows you need to add espeak-ng.dll to the library search path by modifying the PATH environment variable.
For example, to add espeak-ng.dll to your path when building for the x86_64-pc-windows-msvc target, run the following command before cargo test:
set PATH=%PATH%;{repo_path}\deps\windows\espeak-ng-build\i686\binReplace repo_path with the absolute path to the repository.
Then cd to the package, and run cargo test from there.
Copyright (c) 2023 Musharraf Omer. This code is licensed under the MIT license.