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.

V3 EchoCancel

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).