程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 語音識別,

C# 語音識別,

編輯:C#入門知識

C# 語音識別,


利用微軟操作系統自動的語音識別功能,讀取信息。

 

 

1.  在項目中添加  ""  引用

2.  引入命名空間:   using SpeechLib;

3.   讀取的代碼:

          SpeechVoiceSpeakFlags flag = SpeechVoiceSpeakFlags.SVSFlagsAsync;
            SpVoice voice = new SpVoice();
            voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0);
            voice.Speak("你是一個大美女,我試一個大帥鍋,哈哈", flag);

----------------------------------------------------------------------------

其中:

1. SpeechVoiceSpeakFlags 是一個枚舉。

    “SpVoice標志
    SVSFDefault = 0
    SVSFlagsAsync = 1
    SVSFPurgeBeforeSpeak = 2
    SVSFIsFilename = 4
    SVSFIsXML = 8
    SVSFIsNotXML = 16
    SVSFPersistXML = 32

    “正規化標志
    SVSFNLPSpeakPunc = 64

    “面具
    SVSFNLPMask = 64
    SVSFVoiceMask = 127
    SVSFUnusedFlags = -128  

結束枚舉分子
SVSFDefault
指定應使用的默認設置。默認值是:
講定的文本字符串同步(覆蓋與SVSFlagsAsync),
不清除掛起說話請求(覆蓋與SVSFPurgeBeforeSpeak),
為了解析XML的文本,如果第一個字符是左尖括號(覆蓋與SVSFIsXML或SVSFIsNotXML),
不堅持全球XML狀態更改在講電話(覆蓋SVSFPersistXML),
不擴展的標點字符成字(覆蓋與SVSFNLPSpeakPunc)的。
SVSFlagsAsync
指定的講調用應該是異步的。也就是說,它會立即返回排隊的講請求後。
SVSFPurgeBeforeSpeak
清除所有懸而未決的發言請求,在此之前講的呼叫。
SVSFIsFilename
的說話方式傳遞的字符串是一個文件名,而不是文字。其結果,沒有發言字符串本身而是該文件的路徑,該路徑是口頭的處理。
SVSFIsXML
輸入的文本將被解析為XML標記。
SVSFIsNotXML
輸入的文本將不會被解析的XML標記。
SVSFPersistXML
XML標記的全局狀態的變化將持續到說話的呼叫。
SVSFNLPSpeakPunc
,標點符號應擴大到字(例如:“這是什麼。”將成為“這是這期”)。
SVSFNLPMask
SAPI(而不是文本到語音引擎)處理此掩碼中的標志。
SVSFVoiceMask
此面膜具有每一個標志位設置。
SVSFUnusedFlags
此面膜具有每一個未使用的位集。

 

2. SpVoice

  SpVoice類是支持語音合成(TTS)的核心類。通過SpVoice對象調用TTS引擎,從而實現朗讀功能。

   SpVoice類有以下主要屬性:
    Voice:表示發音類型,相當於進行朗讀的人,包括Microsoft Mary,Microsoft Mike,Microsoft Sam和Microsoft Simplified Chinese四種。其中前三種只能讀英文,最後一種可以讀中文,也可以讀英文,但對於英文單詞只能將其包括的各個字母逐一朗讀出來。下面的程序中我們將會想辦法解決這個問題。
    Rate:語音朗讀速度,取值范圍為-10到+10。數值越大,速度越快。
    Volume:音量,取值范圍為0到100。數值越大,音量越大。
    SpVoice有以下主要方法:
    Speak:完成將文本信息轉換為語音並按照指定的參數進行朗讀,該方法有Text和Flags兩個參數,分別指定要朗讀的文本和朗讀方式(同步或異步等)。
    Pause:暫停使用該對象的所有朗讀進程。該方法沒有參數。
    Resume:恢復該對象所對應的被暫停的朗讀進程。該方法沒有參數。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved