0

I'm trying to figure out if it is possible to modulate (like change the pitch) a text-to-speech voice via .NET.

I see that the SpeechSynthesizer class has properties for changing the text-to-speech rate and volume. I also see that the System.Speech.Synthesis.TtsEngine namespace does include some references to pitch. I found a previous question (2011) that appears to indicate that pitch changing via .NET may not be possible, but I wanted to ask the community in case the situation has changed.

Exergist
  • 157
  • 12
  • Looks like you can change the Voice (see : https://learn.microsoft.com/en-us/dotnet/api/system.speech.synthesis.speechsynthesizer.selectvoice?view=netframework-4.7.2) So different voices will have different pitch. See https://learn.microsoft.com/en-us/dotnet/api/system.speech.synthesis.voiceinfo?view=netframework-4.7.2 – jdweng Apr 08 '19 at 15:05
  • Yes, changing the voice is possible and would certainly make the TTS output sound different, but I'm talking about modifying the pitch without changing the source voice. – Exergist Apr 08 '19 at 20:32
  • Try changing rate which can be set from -10 to +10 : https://learn.microsoft.com/en-us/dotnet/api/system.speech.synthesis.speechsynthesizer.rate?view=netframework-4.7.2 – jdweng Apr 08 '19 at 21:47
  • That is another possible way, though I'm concerned that going too far in the +/- directions will cause the voicing to be unrecognizable or painfully slow. Are there other options for TTS modulation besides manipulating the available properties within SpeechSynthesizer? – Exergist Apr 10 '19 at 19:15

0 Answers0