轉(zhuǎn)載] 本文講述使用微軟TTS5.1語(yǔ)音引擎(中文)實(shí)現(xiàn)文本閱讀和音頻輸出為WAV完美解決方案。
網(wǎng)上很多文章說(shuō)的是要安裝SAPI.51 SDK,而這個(gè)東西有好幾十M,并且用起來(lái)比較復(fù)雜。微軟官方網(wǎng)站上是這樣寫(xiě)的:SAPI5.1 SDK可以從微軟網(wǎng)站下載:http://www.microsoft.com/speech/download/sdk51/ 需要安裝程序的有Speech SDK 5.1(68M)和5.1 Language Pack (81.5M)。本文使用不到2M的東西實(shí)現(xiàn)文語(yǔ)轉(zhuǎn)換,可以說(shuō)是有關(guān)TTS的完美版本!
功能:
進(jìn)行中文文本的閱讀,可以將閱讀的語(yǔ)音輸出為WAV音頻。
實(shí)現(xiàn)平臺(tái):
Microsoft Visual Studio 2005
微軟TTS5.1語(yǔ)音引擎(中文)
所需要的東西:
用TlbImp從SAPI.51 SDK中導(dǎo)出的DotNetSpeech.dll(160K)
微軟TTS5.1語(yǔ)音引擎(中文).msi(1.55M)
tlbimp在sdk的bin里面。
如果你自己安裝了SAPI.51 SDK,可以使用這個(gè)命令自己導(dǎo)出DotNetSpeech.dll
Tlbimp sapi.dll /out: DotNetSpeech.dll(出現(xiàn)錯(cuò)誤不用管,不影響使用)
安裝微軟TTS5.1語(yǔ)音引擎(中文).msi,打開(kāi)"控制面板",打開(kāi)"語(yǔ)音"配置項(xiàng)目,在"文字-語(yǔ)音轉(zhuǎn)換"的"語(yǔ)音選擇"組合框中選擇"Microsoft Simplified Chinese",這樣才可以讀出中文。如果要讀英文,要選擇"Microsoft Sam"。
使用Microsoft Visual Studio 2005新建項(xiàng)目,添加引用,引用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)
{
|
|