在計算機中將文本轉換成語音的技術叫做語音合成(TTS:Text To Speech)。要使用它的話就需要到MS官網上去下載地址為:http://www.microsoft.com/reader/developers/downloads/tts.mspx
這個東西不是很大,到於原理還沒有去想過,因為現在只是幫想了解的朋友做個最基本的DEMO。
下下來了後就安裝,注意:如果想實現漢字或非英語的閱讀就要去下載SpeechSDK51LangPack。
下面來創建一個TTS程序,首先在VS中創建一個項目,然後添加引用"安裝目錄\Samples\Csharp\ListBox"中的Interop.SpeechLib.dll程序集,在程序裡引用SpeechLib Namespace。
創建SpVoiceClass類,(SpVoiceClass是我們這裡要用到的主要的類),面在這裡必要的屬性如下:
屬性名
類型
說明
Voice
SpObjectToken
大概是用於設置聲音的效果
AudioOutput
SpObjectToken
用於選擇聲卡
Rate
Int
頻率,說話的速度
Volume
Int
音量,最大為100
根據SpVoiceClass類中幾個必要的屬性,我們可以做一個類似下圖的簡單界面
具體的實現代碼如下:
Code
private void button1_Click(object sender, EventArgs e)
{
try
{
voic.Voice = voic.GetVoices(null, null).Item(comboBox1.SelectedIndex);
voic.AudioOutput = voic.GetAudioOutputs(null, null).Item(comboBox2.SelectedIndex);
voic.Rate = trackBar1.Value;
voic.Volume = trackBar2.Value;
voic.Speak(textBox1.Text, SpeechVoiceSpeakFlags.SVSFDefault);
}
catch
{
;
}
}
注意:comboBox1.SelectedIndex不為3時只能讀英語;如果為3,要讀是是英文的話,它就會一個字母一個字母的讀出來,如果是漢字則會讀漢語(前提是裝了話音補丁)
好了,簡單的Demo已經完成了,接著去探索吧……