Bashでの音声認識

こんにちは、$ USERNAME。



小さな紹介



この記事では、Bashなどのプログラミング言語で作成された音声認識について説明します。 OCとしてUbuntu 12.04を選択しました



トピックに近い



音声認識はGoogleによって実行され、Google Chromeブラウザで音声検索に使用されます。 始めましょうか?



作業アルゴリズム


  1. サウンドファイルspeech.wavを16秒のレートで3秒録音します。
  2. speech.wavをspeech.flacに変換します(このような形式のみがGoogleを受け入れます)
  3. Google speech.flacを送信します
  4. 次の形式の回答が得られます。

    {"status":0,"id":"37h03bf4efe17fa76594732d6dokf3-1","hypotheses":[{"utterance":" ","confidence":0.75936891}]}





    1 2 3-認識されたテキスト

    0.75936891-認識精度(この値が0.5より大きい場合、認識は信頼できると見なされます)
  5. 発話と信頼の値を別々の変数に分離し、画面に表示します




実装


  1. 次のコンテンツ(コメント付きのコード)を含むspeech.shファイルを作成します。

     #!/bin/bash echo " ..." arecord -d 3 -q -f cd -r 16000 speech.wav #    speech.wav   3    16  echo " " sox speech.wav speech.flac gain -n -5 silence 1 5 2% #  speech.wav  speech.flac rm speech.wav #  speech.wav, ..      echo " ..." wget -q -U "Mozilla/5.0" --post-file speech.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=ru-RU&client=chromium" > all.ret #  Google speech.flac       all.ret rm speech.flac #  speech.flac, ..      cat all.ret | sed 's/.*utterance":"//' | sed 's/","confidence.*//' > text.txt #   utterance   text.txt cat all.ret | sed 's/.*confidence"://' | sed 's/}]}.*//' > confidence.txt #   confidence   confidence.txt rm all.ret #  all.ret, ..      TEXT="$(cat text.txt)" #  TEXT    text.txt CONFIDENCE="$(cat confidence.txt)" #  CONFIDENCE    confidence.txt rm text.txt #  text.txt, ..      rm confidence.txt #  confidence.txt, ..      echo $TEXT #    TEXT echo $CONFIDENCE #    CONFIDENCE
          
          



  2. コンソールから必要なパッケージをダウンロードします。

    sudo apt-get install lame





    sudo apt-get install sox



  3. コンソールを介してspeech.shファイルに起動権限を設定します。

    sudo chmod 755 speech.sh







さて、スクリプトを実行し、コンソールコマンドでその機能をテストできます。

./speech.sh







それが私にどのように見えるか:





合計



要約すると、音声認識はそれほど「非現実的」ではありません。 腕がまっすぐな熟練者は、有用な使用法を見つけるでしょう。 たとえば、それに基づいて、音声制御を備えた「スマートホーム」を作成します。



またお会いしましょう、$ USERNAME。



All Articles