-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
A native output module based on piper TTS.
- Loading branch information
1 parent
b3a0fc2
commit 6511762
Showing
7 changed files
with
1,416 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# | ||
# Configuration for cxxpiper speech dispatcher output module. | ||
# | ||
|
||
Debug 0 | ||
|
||
# Piper doesn't have voices ala speech- dispatcher. Piper has a | ||
# "model" and the model's "configuration". A model/config may be | ||
# single speaker or multi-speaker. Single speaker models produce a | ||
# single speech dispatcher voice. The speech dispatcher voice name | ||
# can be listed with 'spd-say -o cxxpiper -L', but it is | ||
# not needed as the voice will be the default, and only, voice available. | ||
# | ||
# Piper multi-speaker models produce a discrete speech dispatcher | ||
# voice for each speaker the model suports. The configuration | ||
# file for a multi-speaker model contains a "speaker_id_map" object | ||
# that lists an integer speaker id and string mneumonic for each | ||
# speaker supported by the model. Since speech dispatcher has no | ||
# notion of speaker id, speaker selection details are hidden from the | ||
# user by instead exposing voices of the form | ||
# <model-name>~<speaker-id>~mneumonic with the output module | ||
# mapping between "voice names" and the current model's speakers. | ||
|
||
# NB: Unsure if onnx models may allow different " languages within | ||
# the same multi-speaker model. REgardless, if there's sufficient memory: it might be possible to load multiple | ||
# models and have cxxpiper select between them, while presenting the union of | ||
# the speakers and languages of each model. | ||
# For now all directives with language fields require the language code, but ignore it. | ||
|
||
# ModelPath and ConfigPath are required. There should be exactly one of each of them. | ||
ModelPath "/usr/share/piper/voices/clean100.onnx" | ||
ConfigPath "/usr/share/piper/voices/clean100.onnx.json" | ||
|
||
# For single-speaker models, DefaultVoice is ignored, and logged as such, with | ||
# a warning. For multi-speaker models, DefaultVoice is optional. If it is | ||
# not specified, the first speaker of the multi-speaker model becomes | ||
# the default speaker for the lifetime of the cxxpiper output module | ||
# and also for future runtimes unless this configuration is changed. | ||
# When specified along with a multi-speaker model, the argument is a string that matches one of the | ||
# "voices" listed by spd-say -o cxxpiper -L . Note that piper's | ||
# notion of "speaker" appears to the user as the "voice" concept of | ||
# speech dispatcher. This is pretty much invisible to the user, but | ||
# note that it means that the strings listed in the .json | ||
# configuration file in the speaker_id_map object are not the same as | ||
# the voices listed by spd-say (i.e. the speaker ids are substrings of | ||
# the listed voices). We could also match the substrings, but we | ||
# don't at least for now, only the "voice" string string is | ||
# recognized. If the voice string can't be matched against the voices | ||
# found when the model is loaded, then the first speaker becomes the | ||
# default for the lifetime of the output module. A warning is logged | ||
# if the string can't be matched and the voice name of the first | ||
# speaker (index 0) is included in the warning message. | ||
DefaultVoice "clean100~2~5393" | ||
|
||
# AddVoice (optional) reused from the generic output module. This maps types to voice names within a language code. | ||
# It does not do anything useful for single speaker models and is ignored. For | ||
# multi-speaker models the language code is required, but ignored, at least for now. | ||
AddVoice "en_US" "MALE1" "clean100~33~8419" | ||
AddVoice "en_US" "FEMALE1" "clean100~25~4137" | ||
|
||
# Sound Icons are configured and work like espeak. | ||
SoundIconFolder "/usr/share/sounds/sound-icons/" | ||
SoundIconVolume 0 | ||
|
||
# Piper uses ESpeak NG sometimes, depending on the model. Piper distributes this and distros | ||
# may provide it. Default is "/usr/share/espeak-ng-data/". | ||
# It should probably be considered required, but if a model doesn't use espeak | ||
# it might work to omit it. | ||
ESpeakNGDataDirPath "/usr/share/espeak-ng-data/" | ||
|
||
# End of cxxpiper.conf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,6 +26,7 @@ | |
/libvoxin.so | ||
/sd_baratinoo | ||
/sd_cicero | ||
/sd_cxxpiper | ||
/sd_dummy | ||
/sd_espeak | ||
/sd_espeak-ng | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.