2011-03-03 26 views
6

無料で利用できるキーワードスポッティングシステムを知っている人はいますか?キーワードスポッティングによる音声入力

CMU Sphinx 4とMS Speech APIは音声認識エンジンであり、KWSには使用できません。

SRIにはキーワードスポッティングシステムがありますが、評価のためのダウンロードリンクはありません。 (私はどこにも彼らのソフトウェアのために連絡するためのリンクを見つけることができませんでした)

私は1つを見つけたhereがデモであり、限られています。

答えて

3

CMUSphinxはpocketsphinxエンジンでキーワードスポッティングを実装して、あなたは「キーフレーズ検索」モードでデコーダを実行することができ、単一のキーフレーズを認識するための詳細についてはFAQ entry.

を参照してください。コマンドラインから試し

pocketsphinx_continuous -infile file.wav -keyphrase “oh mighty computer” -kws_threshold 1e-20 

コードから:

ps_set_keyphrase(ps, "keyphrase_search", "oh mighty computer"); 
ps_set_search(ps, "keyphrase_search); 
ps_start_utt(); 
/* process data */ 

また、私たちの情報源ではPythonとAndroid/Java用の例を見つけることができます。 Pythonのコードは完全な例here、次のようになります。

# Process audio chunk by chunk. On keyphrase detected perform action and restart search 
decoder = Decoder(config) 
decoder.start_utt() 
while True: 
    buf = stream.read(1024) 
    if buf: 
     decoder.process_raw(buf, False, False) 
    else: 
     break 
    if decoder.hyp() != None: 
     print ([(seg.word, seg.prob, seg.start_frame, seg.end_frame) for seg in decoder.seg()]) 
     print ("Detected keyphrase, restarting search") 
     decoder.end_utt() 
     decoder.start_utt() 

しきい値は正しいバランス検出漏れや誤警報を取得するために、試験データにすべてのキーフレーズに合わせて調整する必要があります。 1e-5〜1e-50のような値を試すことができます。

最高の精度を得るには、3〜4音節のキーフレーズを使用することをお勧めします。短すぎるフレーズは簡単に混乱します。

また、このようなファイルkeyphrase.list作成し、複数のキーフレーズを検索することができます。

oh mighty computer /1e-40/ 
    hello world /1e-30/ 
    other_phrase /other_phrase_threshold/ 

そして-kws設定オプションとデコーダでそれを使用します。

pocketsphinx_continuous -inmic yes -kws keyphrase_list 

この機能はまだsphinx4デコーダに実装されていません。

+0

CMUSphinxを使用せずにオーディオストリームにキーワードスポッティングを行うアルゴリズムの説明やライブラリはありますか? –

+0

もちろん、あなたは "キーワードスポッティング"のためのGoogleをすることができます –

+0

多くの研究論文がありますが、死んだ簡単な実装はありません –

関連する問題