我需要将文本转换为语音,然后将其保存为 wav 文件。
问问题
9965 次
3 回答
12
以下 C# 代码使用 .Net 框架中的 System.Speech 命名空间。在使用命名空间之前必须引用它,因为 Visual Studio 不会自动引用它。
SpeechSynthesizer ss = new SpeechSynthesizer();
ss.Volume = 100;
ss.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult);
ss.SetOutputToWaveFile(@"C:\MyAudioFile.wav");
ss.Speak("Hello World");
我希望这是相关的和有帮助的。
于 2009-06-08T05:42:20.493 回答
5
这是从片刻的游戏,所以告诫购买者。对我来说效果很好。我确实注意到 SpFileStream(它没有实现 IDisposable,因此 try/finally)更喜欢绝对路径而不是相对路径。C#。
SpFileStream fs = null;
try
{
SpVoice voice = new SpVoice();
fs = new SpFileStream();
fs.Open(@"c:\hello.wav", SpeechStreamFileMode.SSFMCreateForWrite, false);
voice.AudioOutputStream = fs;
voice.Speak("Hello world.", SpeechVoiceSpeakFlags.SVSFDefault);
}
finally
{
if (fs != null)
{
fs.Close();
}
}
于 2009-06-08T05:37:34.497 回答
5
And as I've found for how to change output format, we code something like this :
SpeechAudioFormatInfo info = new SpeechAudioFormatInfo(6, AudioBitsPerSample.Sixteen, AudioChannel.Mono);
//Same code comes here
ss.SetOutputToWaveFile(@"C:\MyAudioFile.wav",info);
That's pretty easy and comprehensible.
Cool .net
于 2009-06-08T06:46:05.030 回答