- Setup a Virtual Audio Cable like VB-Cable.
- For Vosk Recognition, you will need a model, many can be found here, I would recommend the vosk-model-small-en-us for those with lower tier GPUs, or the vosk-model-en-us-daanzu-20200905-lgraph for those with a slightly above average GPU. Overall, I would recommend the l-graph over the small due to better dictation, but try different models and see what works best for you.
- Extract the downloaded Vosk model (preferably to the same directory as
STTTS). - Open whatever application you wish to use
STTTSwith, and set the Input device/Microphone to theCABLE Outputdevice (for CB-Cable). - Download and extract the latest version from here.
- Run
STTTS, open the Option Settings. - In Audio, configure the Output device to the
CABLE Inputdevice (for VB-Cable). - In Vosk, click the
Changebutton to select the directory containing the Vosk model to be used (i.e. -vosk-model-small-en-usfor the small english Vosk model). - Click the Start buttons for both
RecognizerandSynthesizerto begin recognizing and outputting speech.
The application is fairly simplistic in its current state. Settings are currently not saved and thus need to be reconfigured each time the application is used. The Voice setting can be changed at any time, even while the Synthesizer is running. However, if input/output/playback devices are changed, the respective recognizer/synthesizer will stop running. The Synthesizer playback checkbox will enable or disable playing the synthesized audio to the selected Playback device in the Audio settings page.
I am unsure how often I will actually work on this, but I would like to expand the number of recognizers and synthesizers possible, as the C# System Speech Synthesizer is somewhat limited. I would also like to allow this to work with OSC to enable input comments and textbox typing in VRChat.