2012-04-29 85 views
4

如何使引擎成功識別語音文件中的短語(wav/mp3/etc ..)?如何識別語音文件中的短語

例如,如果我將語音文件和同一文件的上下文的書面文本,以便使其識別語音文件中的書面文字。

我試圖玩SpeechRecognitionEngine,但沒有成功到目前爲止。

我會欣賞想法,因爲這是我第一次處理語音識別技術。

我見過使用字典的語音到文本的例子,但我不確定它在這裏如何有用。我正在考慮將所有語音文件轉換爲文本,然後只是在文本中查找特定的短語,但我認爲這不是正確的方式。將例如5小時的語音轉換爲文本似乎沒有意義....或者可能將特定短語用作「字典」並在語音文件中查找此項目。

+0

感謝降級傢伙......但你能幫助一些答案嗎? :) – user990635

+0

我編輯了一下這個問題,帶着我在想的方向......我想到的是將整個語音轉換爲文本,而不是執行一個簡單的搜索,但它似乎是一個愚蠢的解決方案。 。 – user990635

回答

6

看來你需要在長文件中尋找一個特定的單詞。這種技術被稱爲「關鍵詞識別」,它與語音識別有很大不同,方式更加高效。顯然你不需要轉錄整個文件來搜索一個單詞,你可以快速掃描整個文件。 Microsoft語音識別引擎對關鍵字識別的支持非常有限。

CMUSphinx這樣的開源引擎可以用來有效地實現關鍵字定位。請參閱how to implement wake-up listening with pocketsphinx的進一步參考信息。

對於底層算法的更多信息,請ACOUSTIC KEYWORD SPOTTING IN SPEECH WITH APPLICATIONs TO DATA MINING

0

根據MSDN文章Getting Started with Speech Recognition

您需要做的步驟是(從文章)。請注意創建識別語法步驟。文章繼續建議使用GrammerBuilderChoices類。

一個語音識別應用程序通常會執行以下基本操作:
- 啓動語音識別。
- 創建識別語法。
- 將語法加載到語音識別器中。
- 註冊語音識別事件通知。
- 爲語音識別事件創建一個處理程序。

0

如果你正試圖轉換使用Microsoft語音引擎的音頻文件,你必須使用一些護理。首先,唯一支持的格式是WAV(可以編碼爲PCM,ALaw或uLaw),但是您必須驗證您的文件是否爲您的識別器支持的格式。您還必須驗證採樣率。識別器只支持一組固定的採樣率。在我的機器,每個樣品

  • 8位
  • 單通道單
  • 22050每秒
  • PCM編碼樣本

效果很好。有關更多信息,請參閱https://stackoverflow.com/a/6203533/90236。您可能需要使用audacity之類的工具重新採樣或重新編碼WAV文件。見https://stackoverflow.com/a/9467044/90236

一個簡單的例子讓你開始在SAPI and Windows 7 Problem

最後,(我總是重複這一點,對不起)在Windows .NET中有一篇關於編程識別的偉大文章。見http://msdn.microsoft.com/en-us/magazine/cc163663.aspx,這是一個過時的,但一個很好的介紹。