小歐ou | 菜鳥自救會

努力工作,用心學習
文章數 - 1034, 回應數 - 1009, 引用數 - 0

每月文章

技術社群

技術部落格

關於我

[VB.NET]簡易中文的文字轉語音(需安裝MS Speech SDK與LangPack,調整控制台)

在這篇文章中,簡易的實現中文的文字轉語音,文字轉語音是在電腦中輸入文字,而電腦就會將文字轉換成聲音放出來(好像有點廢話!?),這個功能是為了讓機器人能夠說出中文,並且透過簡單、簡短的程式碼實現,此方法實現於Windows XP

以下為實現的步驟

1. 先到微軟網站下載並安裝 Speech SDK 5.1 與 Speech SDK 5.1 語言包 (SpeechSDK51LangPack.exe)

http://www.microsoft.com/downloads/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530&displaylang=en

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

執行結果

此外,想要使用C#實現,可以參考這篇文章

http://www.cnblogs.com/Jrong/archive/2009/02/04/1383564.html

 

 




posted on 2009/3/14 21:53 我要推薦 | 閱讀數 : 32037 訂閱

關連文章

Feedback

# re: [VB.NET]簡易中文的文字轉語音(需安裝MS Speech SDK與LangPack,調整控制台) 回覆

大大您好唷~
編譯時出現SpeechLib.SpVoice未定義...
小弟是否少安裝了東西...
不好意思...小弟是VB新手
2009/7/13 上午 12:20 | TOM

# re: [VB.NET]簡易中文的文字轉語音(需安裝MS Speech SDK與LangPack,調整控制台) 回覆

您有安裝 Speech SDK 5.1 與 Speech SDK 5.1 語言包嗎 ?
2009/7/13 上午 01:09 | 小歐ou

# re: [VB.NET]簡易中文的文字轉語音(需安裝MS Speech SDK與LangPack,調整控制台) 回覆

2者都已安裝囉...
還是出現SpeechLib.SpVoice未定義...
換了台電腦也是這樣說...
2009/7/13 下午 02:05 | TOM

# re: [VB.NET]簡易中文的文字轉語音(需安裝MS Speech SDK與LangPack,調整控制台) 回覆

剛剛發現參考值那邊要加入『Microsoft Speech Object Library』~
找了狠久~呵呵~
已解決囉^^
感謝大大熱心的幫忙唷~
2009/7/13 下午 03:37 | TOM

# re: [VB.NET]簡易中文的文字轉語音(需安裝MS Speech SDK與LangPack,調整控制台) 回覆

剛才想回,您有沒有加參考,您就已經找到解決方法了 ^^ 恭喜您解決了
2009/7/13 下午 04:42 | 小歐ou

# re: [VB.NET]簡易中文的文字轉語音(需安裝MS Speech SDK與LangPack,調整控制台) 回覆

大大妳好,我照妳的方式撰寫,我發現他不會說中文呢。目前都是英文,請問這問題是因為什麼原因呢?
2010/12/3 下午 09:51 | Huan Chi

回應

標題
姓名
電子郵件 (將不會被顯示)
個人網頁
內容 
  登入後使用進階評論  
Please add 1 and 8 and type the answer here:

Powered by: