bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

語音到文本vb.net,語音到文本轉換

vb.net怎么做中文語音識別程序

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

你所需要的網站建設服務,我們均能行業靠前的水平為你提供.標準是產品質量的保證,主要從事成都網站設計、網站建設企業網站建設、成都手機網站制作、網頁設計、成都品牌網站建設、網頁制作、做網站、建網站。創新互聯擁有實力堅強的技術研發團隊及素養的視覺設計專才。

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

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

GRAMMAR LANGID="804"

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

L

P打開播放器

P上我的QQ

P關閉你自己 /L

/RULE

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

.net怎樣把語音轉換成文本呀,求指教,非常感謝

微軟研究院的那幫牛人們不是吃白食的,現在這門高深的技術已經不再那么遙不可及了。

如果是.NET Framework 4.0的環境,請翻閱一下關于這個命名空間的MSDN文檔

System.Speech.Recognition

不過先要搞清楚一些基本概念才能開始動手編程。開始語音識別前要先初始化聲音輸入設備,設定“語言”(地區代碼),設定“語法”(識別規則),等等。

Windows 7 預裝了中文語音識別引擎

一下是示例代碼:

using System;

using System.Speech.Recognition;

namespace SpeechRecognitionApp

{

class Program

{

static void Main(string[] args)

{

// Create an in-process speech recognizer for the en-US locale.

using (

SpeechRecognitionEngine recognizer =

new SpeechRecognitionEngine(

new System.Globalization.CultureInfo("en-US")))

{

// Create and load a dictation grammar.

recognizer.LoadGrammar(new DictationGrammar());

// Add a handler for the speech recognized event.

recognizer.SpeechRecognized +=

new EventHandlerSpeechRecognizedEventArgs(recognizer_SpeechRecognized);

// Configure input to the speech recognizer.

recognizer.SetInputToDefaultAudioDevice();

// Start asynchronous, continuous speech recognition.

recognizer.RecognizeAsync(RecognizeMode.Multiple);

// Keep the console window open.

while (true)

{

Console.ReadLine();

}

}

}

// Handle the SpeechRecognized event.

static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)

{

Console.WriteLine("Recognized text: " + e.Result.Text);

}

}

}

如果是.NET4, Windows 7之前的環境,可以安裝Microsoft Speech SDK 5.1

vb.net文字轉語音

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

VB如何實現傳輸語音和文件,我想做個聊天工具

傳輸語音和文件都可以通過Mswinsock 實現,只是速度方面我沒有試過,我正巧最近也弄了點Mswinsock 相關的東西,代碼發給你看看,希望有幫助

傳送文件對于網絡編程來說是基本的功能,比如遠程控制軟件。在編制一個軟件時,我從網上下了很多傳文件的程序,這些程序提供的傳文件功能根本就不能用。傳文本還可以,傳二進制文件根本就不行。因此,作為一個基本的功能模塊,有必要單獨介紹一下。

首先,在VB中要傳送字符串,你可以這樣寫:

Dim strData As String

strData = "Test"

Winsock1.SendData strData

但是如果你傳送的二進制文件,你還能用String變量來存放嗎?從理論上分析是不行的,我也做了實驗,確實是不行的。文件雖然可以傳,但是接受的文件和發送的不一樣,原因可能是二進制文件里可以有任何"字符",但是不是所有的字符都可以放在String變量里。

除了String類型的變量,VB中其他類型的變量都只有幾個字節長,難道一次只能發幾個字節嗎?那樣豈不是要累死機器了!其實,情況沒有那么悲觀,我們完全可以使用數組來解決這個問題,就是使用byte數組。把要傳送的文件都讀到數組里,然后發送出去。程序如下:

FileName 為要傳送的文件名,WinS為發送文件的WinSock控件。這是一個發送端的程序。

Public Sub SendFile(FileName As String, WinS As Winsock)

Dim FreeF As Integer ''空閑的文件號

Dim LenFile As Long ''文件的長度

Dim bytData() As Byte ''存放數據的數組

FreeF = FreeFile ''獲得空閑的文件號

Open FileName For Binary As #FreeFile ''打開文件

DoEvents

LenFile = LOF(FreeFile) ''獲得文件長度

ReDim bytData(1 To LenFile) ''根據文件長度重新定義數組大小

Get #FreeFile, , bytData ''把文件讀入到數組里

Close #FreeFile ''關閉文件

WinS.SendData bytData ''發送數據

End Sub

接受端的程序如下:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim bytData() As Byte

Dim f

f = FreeFile

Open strFileName For Binary As #f

ReDim bytData(1 To bytesTotal)

Winsock1.GetData bytData

Put #f, i, bytData

i = i + bytesTotal ''保證每次寫都是在文件的末尾, i是個全局變量

Close #f

End Sub

這里有兩個需要注意的地方,ReDim Preserve bytData(1 To LenFile),下標是從1開始的,如果你寫成ReDim bytData( LenFile),下標就是從0開始了,數組就有LenFile+1長了。LenFile = LOF(FreeFile)中的LOF是獲得文件長度的函數,是VB里帶的,我見過很多例子用API,或者循環的讀直到末尾來獲取文件長度,這樣都是很麻煩的,使用LOF函數就可以了。

這樣的程序,即可以傳送文本文件,也可以傳送二進制文件。但是你有沒有發現這個程序的問題呢?如果我要傳送一個50M的文件呢?系統可以為bytData分配50M的內存空間嗎?

于是筆者拿一個50M的文件做實驗吧,接收到的文件和原來的文件不一樣,比原來的大。問題出在那呢?

首先,根據文件大小重新定義bytData數組的大小本身就有問題,系統是不可能無限制的給數組分配空間的,即使可以,也會造成系統響應變慢。在傳50M文件的時候,系統就跟死機了一樣。那么怎么解決這個問題呢,一個自然的想法就是把數據分段傳送。程序如下:

發送程序, iPos是個全局變量,初始值為0。這個變量保存著當前數據的位置。Const iMax = 65535是每個數據塊的大小。

Dim FreeF As Integer ''空閑的文件號

Dim LenFile As Long ''文件的長度

Dim bytData() As Byte ''存放數據的數組

FreeF = FreeFile ''獲得空閑的文件號

Open FileName For Binary As #FreeF ''打開文件

DoEvents

LenFile = LOF(FreeF) ''獲得文件長度

If LenFile = iMax Then ''如果要發送的文件小于數據塊大小,直接發送

ReDim bytData(1 To LenFile) ''根據文件長度重新定義數組大小

Get #FreeF, , bytData ''把文件讀入到數組里

Close #FreeF ''關閉文件

WinS.SendData bytData ''發送數據

Exit Sub

End If

''文件大于數據塊大小,進行分塊發送

Do Until (iPos = (LenFile - iMax)) ''發送整塊數據的循環

ReDim bytData(1 To iMax)

Get #FreeF, iPos + 1, bytData

WinS.SendData bytData

iPos = iPos + iMax ''移動iPos,使它指向下來要讀的數據

Loop

''這里要注意的是,必須檢查文件有沒有剩下的數據,如果文件大小正好等于數據塊大小的

'' 整數倍,那么就沒有剩下的數據了

ReDim bytData(1 To LenFile - iPos) ''發送剩下的不夠一個數據塊的數據

Get #FreeF, iPos + 1, bytData

WinS.SendData bytData

Close #FreeF

下面是接收端的程序:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim bytData() As Byte

Dim lLenFile As Long

Dim f

f = FreeFile

Open strFileName For Binary As #f ''strFileName是文件名

lLenFile = LOF(f)

ReDim bytData(1 To bytesTotal)

Winsock1.GetData bytData

If lLenFile = 0 Then ''lLenFile=0表示是第一次打開文件,這里有個問題,就是''如果如果該文件存在的話,就會出錯,應該在打開前檢查文件是否存在。(這里我省略了)

Put #f, 1, bytData

Else

Put #f, lLenFile + 1, bytData

End If

Close #f

End Sub

怎樣在VB中,實現向文本框的語音輸入

我的理解是這樣的:

我們的目的:向文本框輸入語音文字

操作過程就得分兩步:

一:獲取語音文字進行存儲

二:將語音文字寫入文本框

這樣實施起來你就有了明確的操作過程。

語音識別這方面的技術我現在沒有,你可以在網上查找相應的技術或者購買相應的技術,只要將語音轉換成了文字,相信再寫入文本框你就可以很簡單的操作了

怎么把語音轉換成文本?

你好,怎么把語音轉換成文本?可以這樣做哦,簡單又高效。

具體步驟

第一步,在操作界面左側兩個功能欄目選擇“語音轉文字”。

第二步,將錄音文件拖拽至虛線框處或點擊“添加文件”在彈出窗口將其添加進來。

第三步,在閃電文字語音轉換軟件界面右方“設置”選項根據錄音文件設置“識別語種”以及“輸出文檔格式”,這里根據錄音文件設置為“識別中文”以及“TXT”文檔格式。

第四步,點擊“輸出目錄”中的“自定義”,打開文件夾設置儲存位置。

第五步,點擊“開始轉換”按鈕,待轉換進度為100%時即可。

當前文章:語音到文本vb.net,語音到文本轉換
文章地址:http://vcdvsql.cn/article48/hshchp.html

成都網站建設公司_創新互聯,為您提供動態網站品牌網站制作網站內鏈響應式網站關鍵詞優化網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設