假設有一個包含多達10個簡單的話搜索另一音頻內的音頻在C#或C++
「一二三十個....」
和樣本的音頻文件音頻文件中每個數字之間有1秒鐘的靜音。
例如,我想檢查音頻文件是否包含關鍵字「Two」。 請注意,我有關鍵字「Two」語音文件,它與主語音文件中的語音完全相同,但它可能包含一些噪音。
有沒有辦法讓我搜索那個更大的音頻文件中的聲音「Two」並找到發生時間?
假設有一個包含多達10個簡單的話搜索另一音頻內的音頻在C#或C++
「一二三十個....」
和樣本的音頻文件音頻文件中每個數字之間有1秒鐘的靜音。
例如,我想檢查音頻文件是否包含關鍵字「Two」。 請注意,我有關鍵字「Two」語音文件,它與主語音文件中的語音完全相同,但它可能包含一些噪音。
有沒有辦法讓我搜索那個更大的音頻文件中的聲音「Two」並找到發生時間?
由於沒有提供的代碼,我只是給你想法如何繼續,希望它會有所幫助。
首先,您必須根據靜音將文件分割爲10個不同的音頻文件(我相信有些庫可以幫助您做到這一點)。
然後你可以發送文件到谷歌的語音識別api,並得到一個字符串作爲結果,它將包含根據文件中的語音字符串。
你爲什麼不只是摸出兩個音頻採樣轉換成一些位或信號格式,並檢查他們都有一個共同的一些字符串。
一些你纔去任何進一步只是爲了在.NET中使用音頻鍛鍊應檢查鏈接:
http://crsouza.com/2009/08/converting-audio-bit-depths-in-c/
https://cscore.codeplex.com/
http://www.codeproject.com/Articles/501521/How-to-convert-between-most-audio-formats-in-NET
讓我知道,如果你能解決這個問題。
我不是這方面的專家,所以我會盡可能讓你初步印象......但模式匹配並不像其他機器學習技術那麼精確。也就是說,我認爲你可以做一些事情,比如選擇一段足夠大的時間,以適應最大的樣本(比如說1.5秒,如果這是說「三」所花費的時間),然後在樣本上進行卷積,的源域的傅里葉域和您的主文件的1.5秒切片的傅里葉域,並跟蹤相關性何時最高。 – RyanP
音頻和簡單不走在一起。 – TaW