vb.net轉(zhuǎn)語(yǔ)音 net 文字轉(zhuǎn)語(yǔ)音

想在vb.net的程序中有一個(gè)語(yǔ)音提示,該怎么寫(xiě)

首先添加一個(gè)系統(tǒng)的語(yǔ)音COM組件的引用microsoft speech object library然后在程序中聲明一個(gè)語(yǔ)音類(lèi)dim RC As SpeechLib.SpSharedRecoContext這個(gè)類(lèi)有一些事件,如果你要處理它的一些事件,可以用withevent來(lái)聲明然后在窗體LOAD事件或你需要的地方先創(chuàng)建一個(gè)實(shí)例RC = New SpeechLib.SpSharedRecoContext當(dāng)一個(gè)RC被實(shí)例化后,系統(tǒng)就會(huì)運(yùn)行語(yǔ)音識(shí)別程序.前提是你的系統(tǒng)已經(jīng)正確安裝這個(gè)功能.一般默認(rèn)就已經(jīng)安裝好的.其次提醒一下,WIN7的語(yǔ)音識(shí)別比XP的好N倍.從閱讀到偵聽(tīng)都好很多.然后就可以在你需要閱讀的地方使用RC.Voice.Speak("hello 我", 11)11那里是一些枚舉,用來(lái)標(biāo)識(shí)系統(tǒng)用前臺(tái)還是后臺(tái)或其他方式來(lái)閱讀文字,簡(jiǎn)單的來(lái)說(shuō)就是閱讀的時(shí)候不會(huì)卡住你的程序.你可以選其他的枚舉來(lái)試試作用.以上為閱讀部分.如果需要程序聽(tīng)你說(shuō)話,則需要聲明一個(gè)偵聽(tīng)類(lèi)dim RG As SpeechLib.ISpeechRecoGrammar在初始化時(shí)將之與上面的RC建立關(guān)系,此時(shí)則必須要用withevent來(lái)聲明上面的RC,因?yàn)樯婕半娔X聽(tīng)到你的語(yǔ)音后,會(huì)觸發(fā)一個(gè)事件,并將聽(tīng)到的內(nèi)容傳遞到該事件.其次,要讓系統(tǒng)聽(tīng)到的解析為命令,就必須準(zhǔn)備一個(gè)XML結(jié)構(gòu)的文件來(lái)保存那些固定的命令.如果電腦在XML文件中找不到那些固定命令或同時(shí)不屬于系統(tǒng)命令,電腦將會(huì)將其解釋為聽(tīng)寫(xiě).RG = RC.CreateGrammar '(0)

目前創(chuàng)新互聯(lián)公司已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、富平網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

RG.CmdLoadFromFile("聽(tīng)到.xml", SpeechLib.SpeechLoadOption.SLODynamic)

RG.CmdSetRuleIdState(0, SpeechLib.SpeechRuleState.SGDSActive)然后寫(xiě)一個(gè)過(guò)程來(lái)處理聽(tīng)到的事件Private Sub 聽(tīng)到命令(ByVal StreamNumber As Integer, ByVal StreamPosition As Object, ByVal RecognitionType As SpeechLib.SpeechRecognitionType, ByVal 話語(yǔ) As SpeechLib.ISpeechRecoResult) Handles RC.Recognition RC.Voice.Speak("我聽(tīng)到了" 話語(yǔ).PhraseInfo.GetText, 11)End Sub以上為偵聽(tīng)部分.下面列一個(gè)XML的例文?xml version="1.0" encoding="gb2312"?

GRAMMAR LANGID="804"

RULE NAME="命令" TOPLEVEL="ACTIVE"

L

P打開(kāi)播放器

P上我的QQ

P關(guān)閉你自己 /L

/RULE

/GRAMMAR要讓系統(tǒng)正確地偵聽(tīng)到你說(shuō)的話,前提你必須運(yùn)行語(yǔ)音識(shí)別程序并讓其激活到"正在聆聽(tīng)"狀態(tài).并且你必須有一個(gè)能正常使用的話筒而且保證話筒已經(jīng)打開(kāi).(廢話-_-|||)以上就是用VB.NET語(yǔ)音識(shí)別的最基本的一些操作.希望對(duì)你有幫助.更深入的內(nèi)容有興趣的話可以和我一起研究.

vb.net文字轉(zhuǎn)語(yǔ)音

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim s As Object

s = CreateObject("sapi.spvoice")

s.speak("speak")

End Sub

visualstudio2012什么語(yǔ)音都可以編寫(xiě)嗎?

.c 是c語(yǔ)言的源程序,

.cpp是c++語(yǔ)言的源程序,

這是兩種不同的語(yǔ)言,語(yǔ)法不同。但是c++兼容c語(yǔ)言的絕大部分語(yǔ)法特性,所以該段代碼在C++中可以運(yùn)行,但是在C語(yǔ)言中就會(huì)報(bào)錯(cuò)。

下面以常見(jiàn)的hello world為例。

1、打開(kāi)vs2012——文件——新建——項(xiàng)目,單擊(如圖)

2、在對(duì)話框左側(cè)分別找到模板——其他語(yǔ)言——visual c++——win32(如圖)。選擇“win32控制臺(tái)應(yīng)用程序”并設(shè)置好”名稱(chēng)“和”存儲(chǔ)路徑 “后單擊確定

3、單擊下一步

4、然后勾選”空項(xiàng)目“

5、接著單擊菜單欄——視圖——解決方案資源管理器

6、在彈出的浮動(dòng)窗口中單擊右鍵 ”源文件“(如圖)

7、然后選擇——添加——新建項(xiàng) 單擊(如圖)

8、接著選擇visual c++ 后選擇”c++文件“并命名為holloworld.c

9、接著輸入c語(yǔ)言代碼

復(fù)制內(nèi)容到剪貼板

#includestdio.h

int main()

{

printf("hello world!");

return 0;

}

1

2

3

4

5

6

7

8

9

10

11

1

2

3

4

5

6

7

8

9

10

11

接著單擊”本地windows調(diào)試器“或者ctrl + F5

10、單擊是

11、運(yùn)行結(jié)果如下圖

C++和C#都是編程常用語(yǔ)言,二者相似但又有很多不同,在編程上的具體差異有以下幾點(diǎn)

1、設(shè)計(jì)目的上有所區(qū)別。

在C++設(shè)計(jì)之時(shí)考慮到提供先進(jìn)的面向?qū)ο筇匦裕瑫r(shí)也為了提供很好的性能。為了以往的程序得到保證、工程師在開(kāi)發(fā)時(shí)的知識(shí)兼容,目前C#與C++幾乎完全兼容。

2、C#通過(guò)底層的虛擬機(jī)機(jī)制減少了C++語(yǔ)言中常常容易發(fā)生的內(nèi)存泄漏和安全性問(wèn)題,運(yùn)行速度相對(duì)減慢,但是大大提高了開(kāi)發(fā)者的效率。

3、C#編譯成中間語(yǔ)言與Java在字節(jié)代碼上有些相似。而C++經(jīng)常把代碼編譯成匯編語(yǔ)言之后,在通過(guò)Iust-In-Time編譯進(jìn)程轉(zhuǎn)換成本機(jī)的可執(zhí)行代碼。

4、C#不再需要顯式地刪除動(dòng)態(tài)分配的給堆的內(nèi)存,而C++則要這么做,無(wú)用存儲(chǔ)單元收集器將周期性地清空。

5、C#中指針的運(yùn)用可能與C++一樣,但它只用于已特別標(biāo)記為應(yīng)用指針的代碼塊中。對(duì)于大部分的程序,C#依賴(lài)VB/Java風(fēng)格的對(duì)類(lèi)實(shí)例的引用,而不需和C++一樣頻繁地使用指針。

6、C++比C#中用來(lái)顯式重載的運(yùn)算符比要多,主要是C#編譯器是運(yùn)用一些定制的基本操作符重載(如=)來(lái)自動(dòng)計(jì)算出組合操作符的重載(如+=)

7、C++依賴(lài)于標(biāo)準(zhǔn)庫(kù),C#依賴(lài)于.NET基類(lèi)。.NET基類(lèi)是以單一的繼承為基礎(chǔ),而標(biāo)準(zhǔn)庫(kù)是以繼承和模板為基礎(chǔ)。

8、C#是基于GUI的環(huán)境下(不僅僅是Windows環(huán)境,盡管現(xiàn)在只是在Windows中可用)專(zhuān)門(mén)為編程和背景服務(wù)(如Web服務(wù))而設(shè)計(jì)的。這與語(yǔ)言本身無(wú)關(guān),而是反映在基類(lèi)庫(kù)的設(shè)計(jì)中。

誰(shuí)會(huì)VB中TTS的操作方法

以下是一個(gè)TTS語(yǔ)音的示例程序,它可以識(shí)別中文跟英文的文本,通過(guò)此程序可以幫助編程者快速的熟悉VB下TTS的編程,

也可根據(jù)這個(gè)示例進(jìn)一步開(kāi)發(fā)有關(guān)英文小精靈之類(lèi)的軟件!!

運(yùn)行之前必須安裝microsoft中文引擎,附錄在程序所在的文件夾里面!!

本站提供TTS_forVB免費(fèi)下載,版權(quán)歸該下載資源的合法擁有者所有。

我安裝了個(gè)語(yǔ)音TTS不知道怎么用

laser_2008

在VB中使用文字朗讀引擎(TTS)技術(shù)

現(xiàn)今市面上流行的一些英語(yǔ)學(xué)習(xí)軟件,在廣告詞上經(jīng)常說(shuō)自己使用了國(guó)際頂尖的全程語(yǔ)音TTS技術(shù),能進(jìn)行整段英文的流利朗讀,并能自由調(diào)節(jié)朗讀的速度與頻率等。那么,這個(gè)神奇的TTS究竟是什么東西呢?

其實(shí),TTS是微軟出品的一套文字朗讀引擎(Text-To-Speech Engine),這些英語(yǔ)軟件就是調(diào)用它來(lái)進(jìn)行英文朗讀的。我們?cè)谟⒄Z(yǔ)學(xué)習(xí)軟件的編程開(kāi)發(fā)中也可使用TTS技術(shù),下面筆者將利用Visual Basic 5.0來(lái)揭開(kāi)TTS神秘的面紗。

一、安裝TTS引擎

TTS引擎所需的Microsoft Text-to-Speech Engine與Microsoft Speech API軟件都可到微軟的站點(diǎn)去下載,也可以在“金山詞霸2000”或“金山詞霸.net”的安裝光盤(pán)上找到(文件名為MSTTS.EXE與SPCHAPI.EXE)。安裝了TTS引擎后,在Windows所在目錄下會(huì)生成一個(gè)SPEECH目錄,其中有一個(gè)Vtxtauto.tlb文件,在編程時(shí)我們需要調(diào)用它。

二、在VB中引入Vtxtauto.tlb文件

進(jìn)入VB 5.0,執(zhí)行選單命令“文件/新建工程/標(biāo)準(zhǔn)EXE”并確定,然后執(zhí)行選單“工程”中的“引用”,單擊“瀏覽”按鈕到Windows目錄下的SPEECH子目錄,打開(kāi)Vtxtauto.tlb文件,將“VoiceText 1.0 Type Library”添加到引用列表中,選中它并單擊確定。將庫(kù)Vtxtauto引入VB后,我們可以通過(guò)選單“視圖”中的“對(duì)象瀏覽器”來(lái)了解它所封裝的類(lèi),以及各類(lèi)成員函數(shù)的屬性的意義、使用格式等信息。一些主要的方法與屬性意義,筆者在下面的源程序中將給出注釋?zhuān)谶@里就不詳細(xì)列出。

三、設(shè)置控件及屬性

在FORM1上添加三個(gè)Label控件、一個(gè)TextBox控件、一個(gè)HScrollBar控件和六個(gè)CommandButton控件。窗體及各控件的主要屬性設(shè)置如下:

FORM1:Caption=“英文朗讀”

LABEL1:Caption=“請(qǐng)輸入英文文檔”

LABEL2:Caption=“朗讀速度”

LABEL3:Caption=“ ”

(LABEL3標(biāo)簽用來(lái)顯示朗讀速度值)

TEXT1:Text=“Please input english text”;ToolTiptext=“請(qǐng)輸入或粘貼英文文檔”; MultiLine=True;ScrollBars=3-Both

HSCROLL1:名稱(chēng)=SpeedChange;Min=90;Max=300(Min與Max屬性值分別用來(lái)限定可調(diào)節(jié)的語(yǔ)速的最小與最大值)

COMMAND1:名稱(chēng)=read;Caption=“朗讀”

COMMAND2:名稱(chēng)=pause;Caption=“暫停”

COMMAND3:名稱(chēng)=stop;Caption=“停止”

COMMAND4:名稱(chēng)=prev;Caption=“上一句”

COMMAND5:名稱(chēng)=next;Caption=“下一句”

COMMAND6:名稱(chēng)=quit;Caption=“退出”

2007-11-5 03:53 PM laser_2008

四、編寫(xiě)代碼

下面我們就可以一步步地編寫(xiě)代碼,具體代碼如下:

'在窗體裝載時(shí)調(diào)用Register方法注冊(cè),括號(hào)內(nèi)的兩個(gè)參數(shù)是字符串

Private Sub Form_Load()

Call VTxtAuto.VTxtAuto.Register(Space(8), Space(8))

'因?yàn)檎Z(yǔ)速的默認(rèn)值為170,故水平滾動(dòng)條的初值也設(shè)為170

SpeedChange.Value = 170

End Sub

'設(shè)置朗讀速度調(diào)節(jié)代碼,當(dāng)水平滾動(dòng)條的值Value發(fā)生變化時(shí)將其賦給控制語(yǔ)速的Speed屬性

Private Sub SpeedChange_Change()

VTxtAuto.VTxtAuto.Speed=SpeedChange.Value

Label3.Caption = SpeedChange.Value

End Sub

'設(shè)置“朗讀”按鈕代碼

Private Sub read_Click()

'如果朗讀出錯(cuò),則轉(zhuǎn)到出錯(cuò)處理標(biāo)記模塊ErrorHandler

On Error GoTo ErrorHandler

'調(diào)用方法Speak進(jìn)行朗讀,第一個(gè)參數(shù)是要朗讀的文本,第二個(gè)參數(shù)是設(shè)置朗讀風(fēng)格

Call VTxtAuto.VTxtAuto.speak(Trim(Text1.Text), vtxtsp_VERYHIGH + vtxtst_READING)

Exit Sub

ErrorHandler:

MsgBox "只能朗讀英文文檔,不能朗讀漢字字符!", , "出錯(cuò)信息"

End Sub

'設(shè)置“暫停”按鈕代碼

Private Sub pause_Click()

If VTxtAuto.VTxtAuto.IsSpeaking Then

'如果屬性IsSpeaking為真,則表示正在朗讀,調(diào)用AudioPause方法暫停朗讀

Call VTxtAuto.VTxtAuto.AudioPause

pause.Caption = "恢復(fù)"

Else

'如果已經(jīng)處于暫停狀態(tài)則調(diào)用AudioResume方法恢復(fù)朗讀

Call VTxtAuto.VTxtAuto.AudioResume

pause.Caption = "暫停"

End If

End Sub

'設(shè)置“停止”按鈕代碼,調(diào)用StopSpeaking方法停止當(dāng)前朗讀

Private Sub stop_Click()

Call VTxtAuto.VTxtAuto.StopSpeaking

End Sub

'設(shè)置“上一句”按鈕代碼,調(diào)用AudioRewind方法往后跳過(guò)一句

Private Sub prev_Click()

Call VTxtAuto.VTxtAuto.AudioRewind

End Sub

'設(shè)置“下一句”按鈕代碼,調(diào)用AudioFastForward方法向前跳過(guò)一句

Private Sub next_Click()

Call VTxtAuto.VTxtAuto.AudioFastForward

End Sub

'設(shè)置“退出”按鈕代碼

Private Sub quit_Click()

Unload Me

End Sub

本程序在中文Windows 95/98、VB 5.0環(huán)境下運(yùn)行通過(guò)。運(yùn)行時(shí)在文本編輯框中輸入或粘貼英文文檔,然后單擊“朗讀”按鈕就可播放讀音。

五、程序改進(jìn)思路

本文對(duì)在VB編程中使用TTS技術(shù)只是起個(gè)拋磚引玉的作用,熟悉VB編程的電腦愛(ài)好者來(lái)可以對(duì)本程序作一些改進(jìn),例如增加對(duì)聲卡和TTS引擎是否安裝的檢測(cè)、增加從文本文件或數(shù)據(jù)庫(kù)中讀取文檔的功能、增加讓用戶(hù)選擇朗讀的優(yōu)先級(jí)和發(fā)聲音量調(diào)節(jié)等功能。這些功能實(shí)現(xiàn)起來(lái)較為復(fù)雜,感興趣的讀者可進(jìn)行深入研究。

2008-6-17 03:35 PM walefrt

語(yǔ)音朗讀軟件有:如WINDOWS自帶的講述人, 和第三方免費(fèi)軟件[url= ][u]Panopreter中文版[/u][/url], 或[url= ][u]英文版[/u][/url

VB.net如何使用Microsoft Speech SDK5.1

MS Speech 是一個(gè)合成語(yǔ)音軟件,可用來(lái)形成語(yǔ)音(例如朗讀"Hi I am Mike"),Speech SDK是用來(lái)將Speech的功能使用于自己的程序的輔助開(kāi)發(fā)工具。

網(wǎng)站標(biāo)題:vb.net轉(zhuǎn)語(yǔ)音 net 文字轉(zhuǎn)語(yǔ)音
文章轉(zhuǎn)載:http://m.kartarina.com/article38/hgjcsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作小程序開(kāi)發(fā)定制網(wǎng)站電子商務(wù)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
主站蜘蛛池模板: 中文字幕久无码免费久久| 久久无码高潮喷水| av无码免费一区二区三区| 久久午夜夜伦鲁鲁片免费无码 | 日韩人妻无码精品久久免费一| 人妻丰满AV无码久久不卡| 国产精品久久无码一区二区三区网 | 精品久久久久久无码人妻| 东京热无码一区二区三区av| 色综合久久中文字幕无码| 国产乱子伦精品无码专区| 6080YYY午夜理论片中无码| 亚洲精品无码成人AAA片| 国产精品无码一区二区在线 | 国产AV无码专区亚洲AV手机麻豆| 在线看片福利无码网址| 亚洲中文字幕久久精品无码喷水| 无码区日韩特区永久免费系列| 亚洲av无码一区二区三区乱子伦| 无码办公室丝袜OL中文字幕| 中文无码字慕在线观看| 亚洲AV永久无码精品水牛影视| 无码精品人妻一区| 日产无码1区2区在线观看| 亚洲中文字幕无码中文字| 亚洲中文无码a∨在线观看| 亚洲色无码一区二区三区| 亚洲av无码乱码在线观看野外| 精品国产AV无码一区二区三区| 亚洲久热无码av中文字幕| 亚洲中文无码永久免费| 国产乱妇无码大片在线观看| 中文字幕无码不卡免费视频| 久久水蜜桃亚洲av无码精品麻豆 | 精品亚洲成在人线AV无码| 久久亚洲精品无码AV红樱桃| 无码人妻少妇色欲AV一区二区| 亚洲av无码无在线观看红杏| 无码精品人妻一区二区三区漫画| 久久久久亚洲精品无码蜜桃| 无码夫の前で人妻を犯す中字|