簡易中文的文字轉語音(需安裝Microsoft Speech SDK與LangPack,調整控制台)
在這篇文章中,簡易的實現中文的文字轉語音,文字轉語音是在電腦中輸入文字,而電腦就會將文字轉換成聲音放出來(好像有點廢話!?),這個功能是為了讓機器人能夠說出中文,並且透過簡單、簡短的程式碼實現,此方法實現於Windows XP
以下為實現的步驟
1. 先到微軟網站下載並安裝 Speech SDK 5.1 與 Speech SDK 5.1 語言包 (SpeechSDK51LangPack.exe)
2. 安裝完成後,就可以讓電腦說出中文、日文、英文,但 Speech SDK 5.1 的語言包我只有找到簡體中文跟日文,而要讓電腦說出中文,還必須去調整一些設定
開啟 控制台 -> 語言 -> 文字轉換語音 -> 語言選取 -> Microsoft Simplified Chinese
3. 接著就開始撰寫程式碼讓電腦說出中文,不過只有支援簡體中文,因此我們在輸入字串的部份,就要先將我們所輸入的繁體中文轉換成簡體中文,就可以透過Speech SDK 文字轉語音,而 VB.NET 中的 StrConv 就可以簡單達成繁體轉簡體的功能,但是有些繁體中文轉簡體中文會轉換不過去,是這個程式的缺點之一,以下為程式碼
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = "點部落是相當好的語言學習網站"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyVoice As New SpeechLib.SpVoice
Dim strData As String
strData = StrConv(TextBox1.Text, VbStrConv.SimplifiedChinese, 2052)
MyVoice.Speak(strData)
End Sub
End Class
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = "點部落是相當好的語言學習網站"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyVoice As New SpeechLib.SpVoice
Dim strData As String
strData = StrConv(TextBox1.Text, VbStrConv.SimplifiedChinese, 2052)
MyVoice.Speak(strData)
End Sub
End Class
執行結果
此外,想要使用C#實現,可以參考這篇文章
http://www.cnblogs.com/Jrong/archive/2009/02/04/1383564.html