2015-08-23 40 views
-1

假設有一個包含多達10個簡單的話搜索另一音頻內的音頻在C#或C++

「一二三十個....」

和樣本的音頻文件音頻文件中每個數字之間有1秒鐘的靜音。

例如,我想檢查音頻文件是否包含關鍵字「Two」。 請注意,我有關鍵字「Two」語音文件,它與主語音文件中的語音完全相同,但它可能包含一些噪音。

有沒有辦法讓我搜索那個更大的音頻文件中的聲音「Two」並找到發生時間?

+1

我不是這方面的專家,所以我會盡可能讓你初步印象......但模式匹配並不像其他機器學習技術那麼精確。也就是說,我認爲你可以做一些事情,比如選擇一段足夠大的時間,以適應最大的樣本(比如說1.5秒,如果這是說「三」所花費的時間),然後在樣本上進行卷積,的源域的傅里葉域和您的主文件的1.5秒切片的傅里葉域,並跟蹤相關性何時最高。 – RyanP

+0

音頻和簡單不走在一起。 – TaW

回答

2

由於沒有提供的代碼,我只是給你想法如何繼續,希望它會有所幫助。

首先,您必須根據靜音將文件分割爲10個不同的音頻文件(我相信有些庫可以幫助您做到這一點)。

然後你可以發送文件到谷歌的語音識別api,並得到一個字符串作爲結果,它將包含根據文件中的語音字符串。

編輯:請參考: https://googlespeechtotext.codeplex.com/

How to use google speech recognition api in c#?

+0

我檢查了沒有「谷歌語音識別api」,或者我找不到它! – EBAG

+0

請檢查我的編輯 –

+0

看來,谷歌以某種方式刪除它的api。我無法在Api Console中找到它,以便在我的Google帳戶中啓用它。 – EBAG