ProWolf
ProWolf

Reputation: 196

C# System.speech.synthesis post processing

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

Answers (2)

KnightFox
KnightFox

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

Midhun Mundayadan
Midhun Mundayadan

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

Related Questions