C# 如何使用Microsoft SAPI将文本保存为wav语音?
我需要将文本转换为语音,然后将其保存为wav文件。这是几分钟的游戏,请注意。对我来说效果很好。我注意到SpFileStream(它没有实现IDisposable,因此try/finally)更喜欢绝对路径而不是相对路径。C# 下面的C#代码使用.Net framework中的System.Speech命名空间。 在使用名称空间之前必须先引用它,因为Visual Studio不会自动引用它C# 如何使用Microsoft SAPI将文本保存为wav语音?,c#,text-to-speech,sapi,C#,Text To Speech,Sapi,我需要将文本转换为语音,然后将其保存为wav文件。这是几分钟的游戏,请注意。对我来说效果很好。我注意到SpFileStream(它没有实现IDisposable,因此try/finally)更喜欢绝对路径而不是相对路径。C# 下面的C#代码使用.Net framework中的System.Speech命名空间。 在使用名称空间之前必须先引用它,因为Visual Studio不会自动引用它 SpeechSynthesizer ss = new SpeechSynthesizer()
SpeechSynthesizer ss = new SpeechSynthesizer();
ss.Volume = 100;
ss.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult);
ss.SetOutputToWaveFile(@"C:\MyAudioFile.wav");
ss.Speak("Hello World");
我希望这是相关的和有帮助的。我发现如何更改输出格式,我们编写了如下代码:
SpeechAudioFormatInfo info = new SpeechAudioFormatInfo(6, AudioBitsPerSample.Sixteen, AudioChannel.Mono);
//Same code comes here
ss.SetOutputToWaveFile(@"C:\MyAudioFile.wav",info);
这很容易理解
酷.net嗨,在这之前我需要导入一些dll,因为System.Speech在我的项目中不可用,即使我是通过“使用System.Speech”添加的。@Mackenzie:这是一个比我更好的答案,因为它使用.net本机类,而不是使用COM。@atarikg:引用System.Speech程序集。
SpeechAudioFormatInfo info = new SpeechAudioFormatInfo(6, AudioBitsPerSample.Sixteen, AudioChannel.Mono);
//Same code comes here
ss.SetOutputToWaveFile(@"C:\MyAudioFile.wav",info);