使用Speech SDK 5.1文字转音频

下载地址: http://www.microsoft.com/en-us/download/details.aspx?id=10121

SeppchSDK51.exe 语音合成引擎
SpeechSDK51LangPack.exe 支持日语和简体中文需要这个支持。
SpeechSDK51MSM.exe 如果要将引擎作为产品的一部分发布需要这个。
Sp5TTintXP.exe XP下Mike和Mary语音
sapi.chm 文档

1.安装SpeechSDK51.EXE
2.安装SpeechSDK51LangPack.exe 来支持中文
3.可以在安装文件夹找到一些示例文件,示例文件里可以找到一个生成好的Interop.SpeechLib.dll的文件,当然也可以自己生成这个文件.

简单的代码

1.生成wav文件,其中filename为生成的文件名。

SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice Voice = new SpVoice();

SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite;

SpFileStream SpFileStream = new SpFileStream();
SpFileStream.Open(filename, SpFileMode, false);

Voice.AudioOutputStream = SpFileStream;
Voice.Speak(text, SpFlags);
Voice.WaitUntilDone(Timeout.Infinite); 
SpFileStream.Close(); 
  1. wav文件转换为MP3
    这里需要依赖lame的程序[http://www.rarewares.org/mp3-lame-bundle.php]

    string outfile = "-b 32 --resample 22.05 -m m "" + fileName + "" "" + fileName.Replace(".wav", ".mp3") + """;
    System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
    psi.FileName = dir + "lame.exe";
    psi.Arguments = outfile;
    psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
    System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
    if (waitFlag)
    {
    p.WaitForExit();
    }

原文地址:https://www.cnblogs.com/ac1985482/p/3905173.html