轉(zhuǎn)載] 本文講述使用微軟TTS5.1語音引擎(中文)實現(xiàn)文本閱讀和音頻輸出為WAV完美解決方案。
網(wǎng)上很多文章說的是要安裝SAPI.51 SDK,而這個東西有好幾十M,并且用起來比較復雜。微軟官方網(wǎng)站上是這樣寫的:SAPI5.1 SDK可以從微軟網(wǎng)站下載:http://www.microsoft.com/speech/download/sdk51/ 需要安裝程序的有Speech SDK 5.1(68M)和5.1 Language Pack (81.5M)。本文使用不到2M的東西實現(xiàn)文語轉(zhuǎn)換,可以說是有關TTS的完美版本!
功能:
進行中文文本的閱讀,可以將閱讀的語音輸出為WAV音頻。
實現(xiàn)平臺:
Microsoft Visual Studio 2005
微軟TTS5.1語音引擎(中文)
所需要的東西:
用TlbImp從SAPI.51 SDK中導出的DotNetSpeech.dll(160K)
微軟TTS5.1語音引擎(中文).msi(1.55M)
tlbimp在sdk的bin里面。
如果你自己安裝了SAPI.51 SDK,可以使用這個命令自己導出DotNetSpeech.dll
Tlbimp sapi.dll /out: DotNetSpeech.dll(出現(xiàn)錯誤不用管,不影響使用)
安裝微軟TTS5.1語音引擎(中文).msi,打開"控制面板",打開"語音"配置項目,在"文字-語音轉(zhuǎn)換"的"語音選擇"組合框中選擇"Microsoft Simplified Chinese",這樣才可以讀出中文。如果要讀英文,要選擇"Microsoft Sam"。
使用Microsoft Visual Studio 2005新建項目,添加引用,引用DotNetSpeech.dll。
命名空間:
using DotNetSpeech;
讀出文本框中的中文:
SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice voice = new SpVoice();
voice.Speak(textBox1.Text, spFlags);
將文本框中中文的讀音保存為WAV文件:
SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice voice = new SpVoice();
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav";
dialog.Title = "保存WAV文件";
dialog.FilterIndex = 2;
dialog.RestoreDirectory = true;
if (dialog.ShowDialog() == DialogResult.OK)
{
|
|