Package: tts-say
Say: echo but with TTSSay uses coqui-TTS to create convincing voices for TTS application.Flexible as you like it.Installationpipinstalltts-say# Or from sourcepipinstallgit+https://gitlab.com/waser-technologies/technologies/say.gitUsageFrom super simple...❯sayHelloWorld
HelloWorld...to choosing your own vocoder.❯say--help
usage:say[-h][-n][-e][-E][-v][-LLANG][--out_pathOUT_PATH][--list_models[LIST_MODELS]][--model_nameMODEL_NAME][--vocoder_nameVOCODER_NAME][--config_pathCONFIG_PATH][--model_pathMODEL_PATH][--vocoder_pathVOCODER_PATH][--vocoder_config_pathVOCODER_CONFIG_PATH][--speaker_idxSPEAKER_IDX][--speaker_wavSPEAKER_WAV[SPEAKER_WAV...]][--speakers_file_pathSPEAKERS_FILE_PATH][--use_cudaUSE_CUDA][--debugDEBUG][text...]SameasechobutwithText-To-Speech.

positionalarguments:textTexttobesaid.

options:-h,--helpshowthishelpmessageandexit-n,--ndonotoutputthetrailingnewline-e,--eenableinterpretationofbackslashescapes-E,--Edisableinterpretationofbackslashescapes(default)-v,--versionoutputversioninformationandexit-LLANG,--langLANGLanguagetobespoken(default:$LANG)--out_pathOUT_PATHOutputwavfilepath.--list_models[LIST_MODELS]listavailablepre-trainedttsandvocodermodels.--model_nameMODEL_NAMENameofoneofthepre-trainedttsmodelsinformat<language>/<dataset>/<model_name>--vocoder_nameVOCODER_NAMEnameofoneofthereleasedvocodermodels.--config_pathCONFIG_PATHPathtomodelconfigfile.--model_pathMODEL_PATHPathtomodelfile.--vocoder_pathVOCODER_PATHPathtovocodermodelfile.Ifitisnotdefined,modelusesGLasvocoder.Pleasemakesurethatyouinstalledvocoderlibrarybefore(WaveRNN).--vocoder_config_pathVOCODER_CONFIG_PATHPathtovocodermodelconfigfile.--speaker_idxSPEAKER_IDXTargetspeakerIDforamulti-speakerTTSmodel.--speaker_wavSPEAKER_WAV[SPEAKER_WAV...]wavfile(s)toconditionamulti-speakerTTSmodelwithaSpeakerEncoder.Youcangivemultiplefilepaths.Thed_vectorsiscomputedastheiraverage.--speakers_file_pathSPEAKERS_FILE_PATHJSONfileformulti-speakermodel.--use_cudaUSE_CUDAtruetouseCUDA.--debugDEBUGtruetoenabledebugmode.saygives you the power.Start the serverFirst you need to load the models in memory.To do so, start the TTS server usingsaywithout anytextargument.say [--list_models [LIST_MODELS]] [--model_name MODEL_NAME] [--vocoder_name VOCODER_NAME] [--config_path CONFIG_PATH] [--model_path MODEL_PATH] [--vocoder_path VOCODER_PATH] [--vocoder_config_path VOCODER_CONFIG_PATH] [--speakers_file_path SPEAKERS_FILE_PATH] [--use_cuda USE_CUDA] [--debug DEBUG]
No attribute `text`.
say --help
For more information.
Starting server now.
Please wait.
...Or enable its service.cp ./speak.service.example /usr/lib/systemd/user/speak.service
systemctl --user enable --now speak.serviceGet authorization to speakYou need to authorize the system to speak first. Change the service configuration as follows.# ~/.assistant/tts.toml...[tts]is_allowed=true...Thenstart the serverand usesaywith sometextargument tosay something.Use the clientBefore you use the client, make sure :the system has a validauthorization to speak,the server has correctly loaded the models,if the server has loadedYourTTS(by default); you need tocreate astyle_wavfile of your default speaker.say[-n][-e][-E][-v][-LLANG][--out_pathOUT_PATH][text...]❯say--version
Say,versiontwodot,zerodot,three.
Say:version2.0.3
Copyright(c)2022,DannyWaser
TTSversion0.6.2
...

❯sayHello,thisisatestHello,thisisatestSave the audioTo save the resulted speech, use the argument--out_path.❯say"Bonjour."--out_path"say_output.wav"Bonjour.
❯soxisay_output.wav

InputFile:'say_output.wav'Channels:1SampleRate:16000Precision:16-bit
Duration:00:00:01.17=18726samples~87.7781CDDAsectors
FileSize:37.5k
BitRate:256k
SampleEncoding:16-bitSignedIntegerPCMSetup your own voice (YourTTS only)By default, the server uses YourTTS to produce speech.Therefor, before saying anything, you need to add a wav file to~/.assistant/data/${lang}/TTS/styles/default.wav.Where$langis your target language (i.een,fr,etc.).This wav file must contain between 5 and 15 seconds of speech.Make sure it matches with yourtts.tomlconfiguration.You can also use the flag--speaker_wavmanually.say"Hello."--speaker_wav"~/.assistant/data/en/TTS/styles/default.wav"Don't want to hunt down a voice?Checkout mycollection of high quality TTS voicesgenerated using TTS VTCK/VITS models.Audio samplesYes yes but echo is for text right ?Yes but you should be able toaliasechotosayinside your favorite shell.Because when you think about it, asking your computer tosay somethingis like asking it toecho something.Both cases outputsomething.Where echo repeat what it got in stdin, say as an injonction is used to ask someone to repeat what comes after.Like so :❯ Assistant, say Hello.
[Assistant] Hello.