亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        基于Delphi的英文發(fā)音教學(xué)軟件的實(shí)現(xiàn)

        字號(hào):

        引言
            MSTTS(Microsoft Text-To-Speech)是微軟公司研制的一套功能強(qiáng)大的英文文字朗讀引擎,它可以將文檔中的英文文字信息轉(zhuǎn)換成計(jì)算機(jī)語(yǔ)音信息,通過(guò)計(jì)算機(jī)聲卡發(fā)音將內(nèi)容朗讀出來(lái)。利用它和相關(guān)的語(yǔ)音接口開(kāi)發(fā)出英語(yǔ)發(fā)音教學(xué)軟件,可以實(shí)現(xiàn)英文單詞發(fā)音及整段英文的流利朗讀示范。從而,可以使學(xué)生在課下或者沒(méi)有教師的情況下,從軟件中獲得標(biāo)準(zhǔn)的英文發(fā)音的輔助,這對(duì)于一些發(fā)音不好的英語(yǔ)學(xué)習(xí)者有極大的幫助。
            MSTTS引擎簡(jiǎn)介
            要在軟件的開(kāi)發(fā)過(guò)程中使用MSTTS技術(shù),必須安裝MSTTS引擎。MSTTS引擎的安裝包可以在微軟公司的官方網(wǎng)站下載,也可以在“金山詞霸”軟件的安裝盤(pán)中找到。運(yùn)行安裝包后,MSTTS引擎將被安裝在系統(tǒng)之中,同時(shí),在操作系統(tǒng)控制面板的“添加/刪除”程序中會(huì)出現(xiàn)“Microsoft Text-to-speech Engine”卸載項(xiàng)。在安裝好MSTTS引擎之后,就可以利用的Borland Delphi平臺(tái)使用MSTTS技術(shù)開(kāi)發(fā)相應(yīng)的英語(yǔ)教學(xué)軟件,實(shí)現(xiàn)英文朗讀等功能。
            設(shè)計(jì)原理
            1、軟件設(shè)計(jì)原理
            軟件在Delphi平臺(tái)中的設(shè)計(jì)原理是通過(guò)調(diào)用微軟語(yǔ)音接口(MS Speech API)來(lái)實(shí)現(xiàn)英文文字朗讀功能的。安裝MS Speech API的方法和MSTTS引擎相同,亦可以在微軟官方網(wǎng)站或者在“金山詞霸”安裝盤(pán)中找到。運(yùn)行spchapi.exe后,Windows目錄中會(huì)生成一個(gè)Speech子目錄,其中有一個(gè)Vtxtauto.tlb文件,它是相應(yīng)的類(lèi)型庫(kù),對(duì)服務(wù)器的接口給出了與語(yǔ)言無(wú)關(guān)的描述;VCmd.exe作為進(jìn)程外的自動(dòng)化服務(wù)器,提供將文本轉(zhuǎn)換為語(yǔ)音的服務(wù)。
            軟件的功能分三大模塊:語(yǔ)音顯示模塊、語(yǔ)音控制模塊和編輯模塊。語(yǔ)音顯示模塊中,將動(dòng)態(tài)顯示朗讀對(duì)象,即語(yǔ)音自動(dòng)化服務(wù)器的處理對(duì)象;語(yǔ)音操作模塊中,提供一系列的語(yǔ)音操作,即對(duì)語(yǔ)音服務(wù)進(jìn)行動(dòng)態(tài)的個(gè)性化處理;編輯模塊是對(duì)文本內(nèi)容的個(gè)性設(shè)定,滿(mǎn)足特殊用戶(hù)的需求。軟件的原理如圖1所示。
            2、VtxtAuto接口說(shuō)明
            Delphi中使用MSTTS引擎的類(lèi)型庫(kù)名為VtxtAuto,通過(guò)分析,可以了解VtxtAuto的相關(guān)成員函數(shù)和屬性。
            2.1 Speak函數(shù)
            procedure Speak(const pszBuffer: WideString; dwFlags: Integer); safecall;
            Speak函數(shù)用于實(shí)現(xiàn)朗讀功能,它有兩個(gè)參數(shù),第一個(gè)參數(shù)向MSTTS引擎?zhèn)鬟f需要朗讀的文字,第二個(gè)參數(shù)由指定朗讀時(shí)使用的語(yǔ)氣和優(yōu)先級(jí)的兩個(gè)符號(hào)合并而成。
            2.2 ReGISter函數(shù)
            procedure Register(const pszSite: WideString; const pszApp: WideString);safecall;
            Register函數(shù)用于實(shí)現(xiàn)接口的注冊(cè)。在軟件的初始化時(shí),Register操作是必須的,因?yàn)樵诓僮飨到y(tǒng)中可能有多個(gè)類(lèi)似的程序在使用MSTTS引擎,通過(guò)Register操作可以對(duì)每一個(gè)使用MSTTS引擎的軟件進(jìn)行設(shè)置和區(qū)分。
            2.3 IsSpeaking屬性
            property IsSpeaking: WordBool read Get_IsSpeaking;
            IsSpeaking屬性是一個(gè)布爾函數(shù),通過(guò)這個(gè)屬性可以取得當(dāng)前程序的狀態(tài),
            2.4朗讀操作成員函數(shù)
            VtxtAuto對(duì)象有一系列的成員函數(shù),通過(guò)這些成員函數(shù),可以實(shí)現(xiàn)對(duì)朗讀功能的各種操作、控制,具體函數(shù)如表1所示。
            表1 VtxtAuto對(duì)象的成員函數(shù)
            函數(shù)命令形式
            函數(shù)說(shuō)明
            VtxtAuto.AudioResume
            用于朗讀狀態(tài)的恢復(fù)操作
            VtxtAuto.StopSpeaking
            用于實(shí)現(xiàn)停止朗讀
            VtxtAuto.AudioPause
            用于實(shí)現(xiàn)暫停朗讀
            VtxtAuto.AudioFastForward
            用于實(shí)現(xiàn)向前跳過(guò)一句朗讀
            VtxtAuto.AudioRewind
            用于實(shí)現(xiàn)向后跳過(guò)一句朗讀
            此外,還有一個(gè)屬性Speed,通過(guò)讀寫(xiě)Speed屬性可以取得或設(shè)置朗讀的語(yǔ)速,其單位是“字?jǐn)?shù)/分鐘”,缺省值為170。
            軟件功能的實(shí)現(xiàn)
            1、VtxtAuto類(lèi)型庫(kù)的導(dǎo)入
            首先,在Borland Delphi平臺(tái)上,新建一個(gè)Application,然后從Project菜單的“Import Type Library...”中選擇“Add...”,瀏覽到Windows目錄下的Speech子目錄里,打開(kāi)vtxtauto.tlb,可以看到下面Class names中會(huì)出現(xiàn)我們需要的接口的包裝類(lèi)“TVTxtAuto”文件。選中對(duì)話框底部的Generate Component Wrapper,點(diǎn)擊Create Unit就可以打開(kāi)一個(gè)名為VTxtAuto_TLB的Unit。
            2、程序界面的設(shè)計(jì)
            在窗體Form1上添加如下控件:1個(gè)Memo文本控件,1個(gè)TrackBar滾動(dòng)條控件和8個(gè)按鈕控件。將這些控件合理安排,軟件主界面如圖2所示。然后,對(duì)各個(gè)控件的屬性進(jìn)行設(shè)置。
            文本控件用于顯示和編輯朗讀內(nèi)容;滾動(dòng)條控件用于動(dòng)態(tài)設(shè)定語(yǔ)速,其MAX屬性設(shè)置為300;第一個(gè)按鈕的Caption屬性設(shè)為“朗讀”,它的功能是當(dāng)用戶(hù)點(diǎn)擊按鈕時(shí)進(jìn)行朗讀;第二個(gè)按鈕控件的Caption屬性設(shè)為“停止”,它的功能是當(dāng)軟件處于朗讀狀態(tài)時(shí)停止朗讀;第三個(gè)按鈕控件的Caption屬性設(shè)為“暫?!?,它的功能是當(dāng)軟件處于朗讀狀態(tài)時(shí)暫停朗讀;第四個(gè)按鈕控件的Caption屬性設(shè)為“恢復(fù)”,它的功能是當(dāng)軟件處于暫停狀態(tài)時(shí)恢復(fù)朗讀;第五個(gè)按鈕控件的Caption屬性設(shè)為“向前”,它的功能是當(dāng)軟件處于朗讀狀態(tài)時(shí)快速跳轉(zhuǎn)到下一句;第六個(gè)按鈕控件的Caption屬性設(shè)為“向后”,它的功能是當(dāng)軟件處于朗讀狀態(tài)時(shí)快速回退到上一句;第七個(gè)按鈕控件的Caption屬性設(shè)為“導(dǎo)入”,它的功能是向文本控件導(dǎo)入新的朗讀內(nèi)容;第八個(gè)按鈕控件的Caption屬性設(shè)為“導(dǎo)出”,它的功能是把編輯好的朗讀內(nèi)容進(jìn)行保存操作。