Reputation: 196
Is there any way to apply post processing effects(change speed, pitch, volume) of the output from system.speech.synthesis in C#. To be more clear I am calling system.speech.synthesis.SpeechSynthisizer.Speak(String); and I want to edit the output. Thank you for your help.
Upvotes: 0
Views: 191
Reputation: 3252
SpeechSynthesizer let's you set a lot of properties that you mentioned here. What do you mean by post processing effects? Once you call the Speak function, any changes to the Synthesizer will not apply towards the output. You could potentially save the output to file and try to apply additional effects if you wanted. Perhaps us this function provided on the Synthesizer.
Upvotes: 0
Reputation: 3182
you can change the volume and rate using the property Volume and Rate
static void Main(string[] args)
{
SpeechSynthesizer synthesizer = new SpeechSynthesizer();
synthesizer.Volume = 100; // 0...100
synthesizer.Rate = -2; // -10...10
// Synchronous
synthesizer.Speak("Hello World");
// Asynchronous
synthesizer.SpeakAsync("Hello World");
}
Upvotes: 2