Speaker Manager - JpEncausse/SARAH-Documentation GitHub Wiki
The official documentation has been moved to http://wiki.sarah.encausse.net/
.
.
.
.
.
.
.
.
The C# client use a Speaker Manager to perform Text to Speech and play music on all available device. The default device always use id 0.
custom.ini
; The dedicated voice to use (Call http://127.0.0.1:8888/?tts=test) to list voices
; voice=Voice Text to Speech
; Speaker output (index separeted by , or "all")
speaker=0
; EchoCancellationSpeaker (default is 0)
echo=0
; Speaker volume (multiply current 200% 50% ...)
spVolTTS=100
spVolPlay=100
Text to Speech
WSRSpeaker configure a SpeechSynthesizer with default Voice to perform Text to Speech.
- Speech can be synchronous or asynchronous.
- Concurent speaking are ignored
- But can be performed with music.
Music
WSRSpeaker can play asynchronously:
- Wav or MP3
- File or Stream
Current playing item is stored and can be stopped at any time.
EchoCancellationSpeaker
SpeechEngine can substract an audio source from speech recogntion.
- Reduce false positive
- Lower TV, Radio, and other sound played by computer
This parameter define the speaker index to use. So it should be possible to redirect a line in to a dedicated speaker index to remove external audio source.

In this example,
- Home Theater fork audio to PC line-in (2)
- PC line-in (2) is redirect to PC line-out (2)
- SARAH audio is redirect to PC line-out (1) and (2)
- SARAH recognition remove everything from line-out (2)
So user should listen to line-out (1) and HomeTheatre. And SARAH still listen to line-out (2).