開發自己的英文語音朗讀軟體 |
|
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
此為轉貼資料 http://www.yesky.com/20011222/211156.shtml
開發自己的英文語音朗讀軟體
2001-12-22· · ··
1 2 下一頁 很多人都使用過帶文本朗讀功能的軟體。其實,自己動手製作一個英文語音朗讀軟體是一件很容易的事情,下面就給出一個編程的實例。 一、 前言: 筆者通過研究現有的一些語音朗讀軟體發現,有很多的産品都使用了MicroSoFt的Speech Api,再通過進一步的實踐發現。MicroSoFt Speech Api的功能十分強大,不光可以準確讀出單詞,而且還能夠實現流利地朗讀句子乃至段落、文章。對於不常見的單詞(如中文人名的拼音),也能夠根據英文的發音原則,讀出較準確的發音。而且讓人興奮的是:MicroSoFt Speech Api可以以coM元件的形式提供給程式師,方便程式師的開發與使用。 二、 開發英文語音朗讀程式的軟、硬體環境:
本文所採用的作業系統是WindoWS 98。它對MicroSoFt Speech Api支援得非常好。而所採用的編程環境是 BorlAnd的delphi 5.0。dephi不光支援vcl元件,對coM元件的支援也是非常好的,而且在WindoWS下面delphi確實是一種強大而且易於使用的開發工具。接下來最重要的是安裝MicroSoFt Speech Api,MicroSoFt Speech Api在共用軟體光碟上都會帶有,也可以在金山詞霸的光碟上找到,檔案名是SpchApi.exe,是個自解壓文件,直接運行即可。
硬體環境沒有什麽特殊的要求,只要能夠順利運行WindoWS 9x作業系統就可以了。 三、進行英文語音朗讀程式開發的基本步驟: 1.在delphi中新建一應用程式,將ForM1改名爲FrMSpeech,將unit1保存爲Speechunit,將工程保存爲Speech。 2.選中project功能表項中的iMport type liBrAry,彈出如圖所示的對話方塊:
再點擊Add按鈕,此時會彈出一個文件選擇框,將此框定位到WindoWS目錄下的Speech目錄,選中vtxtAuto.tlB文件,選擇打開。再點擊inStAll按鈕即可。 3.經過上面的步驟,已經將此元件引入到我們的程式中來,並生成了vtxtAuto_tlB單元臂nit癒A我們只需要在自己的應用程式中使用此單元就可以了。現在我們在Speechunit的uSeS聲明的末尾加上vtxtAuto_tlB。並在vAr下面聲明一個名爲vtxt的總體變數,類型爲vtxtAuto_。 4.現在我們需要在FrMSpeech上放上一個edit控制項和兩個Button控制項。將兩個按鈕控制項的nAMe屬性分別改爲:BtnSpeAK和BtnStop,再將兩個按鈕的cAption屬性分別改爲:SpeAK和Stop。 5.在FrMSpeech的oncreAte事件中加入以下代碼: vtxt 均 covtxtAuto_.creAte沔r
vtxt.regiSter'''Speech' 沔r 6.雙擊SpeAK按鈕,加入以下代碼: vtxt.Speed 均 100沔r
vtxt.SpeAK膺riM縹dit1.text10 沔r 7.雙擊Stop按鈕,加入以下代碼: vtxt.StopSpeAKing 自此,一個最簡單的英文朗讀軟體就已製作完成了。使用時在edit對話方塊中輸入欲朗讀的單詞、句子或段落,按SpeAK按鈕就可以開始進行朗讀,按Stop按鈕就可以停止朗讀。
***************************************************************************************
http://www.yesky.com/20011222/211156_1.shtml 開發自己的英文語音朗讀軟體
2001-12-22· · ··
上一頁 1 2 四、 進一步的深入探討:
其實MicroSoFt Speech Api的功能非常的強大,它還提供了許多方法和屬性可以用來改進並強化我們的語音朗讀程式。其提供的主要方法與屬性如下: 1.procedure SpeAK繁onSt pSzBuFFer WideString dWFlAgS integer沔r
朗讀pSzBuFFer指向的字串,並可以通過調整dWFlAg參數來得到不同的語氣、語調。 2.procedure StopSpeAKing沔r
停止當前的朗讀。 3.procedure AudiopAuSe沔r
暫停當前的朗讀。 4.procedure AudioreSuMe沔r
從當前暫停的地方恢復朗讀。 5.procedure AudioreWind沔r
重新開始朗讀。 6.procedure AudioFAStForWArd沔r
快速朗讀。 7.property Speed吭r
設置朗讀速度。 8.property iSSpeAKing WordBool沔r
判斷當前朗讀是否在進行。 9.procedure Set_Speed聯dWSpeed integer擺r
設置朗讀速度。 10.Function get_Speed integer沔r
獲得當前的朗讀速度。
合理地使用這些方法與屬性,相信大家一定能夠開發出好的語音朗讀軟體。 *********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together!
希望能大家敞開心胸,將知識寶庫結合一起
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |