0

私は教育目的でプロジェクトのアイデアに取り組んでいます/研究しており、音声認識に関するプロジェクトをやりたいと思っています。基本的に、プロジェクトとアルゴリズムは (.wav) ファイルの入力を受け取り、話している人が「はい」と言っているのか「いいえ」と言っているのかを識別します。線形予測コーディングの使用を検討しています。

基本的に、頭の中で、次のアルゴリズムを考えています。

  1. .wav (生データ) をベクターに読み込む
  2. ベクトルを同じサイズのブロックに分割します
  3. 特定の特性のために各ブロックを処理する
  4. モデルが生成された電話の文字列に最も一致する可能性が高い単語を見つけます。

次に、相関などの類似性測定を使用して、正しい電話を見つけたいと思います。

したがって、基本的に、データファイルが読み込まれた後、ブロックに分割されます。次のように含まれている必要があります。

rawdata = 

[0] => 'Y',
[1] => 'E',
[2] => 'S'

または、電話と比較できる頻度の結果が含まれます。

私の質問は、これは問題を解決するためにうまくいく良いアルゴリズムのように見えるかということです..

次の質問:

.wav ファイルをメモリに読み込もうとすると、次のような結果が得られます..

20 30 10 30 40 50 .. 20 20 .. 10 20 .. 60 40 
10 20 30 40 50 60 ... .. . . . . 

それらはすべて整数値なので、すべてのヘッダー情報を取得したら..残りのデータは、正しいメディアに変換する必要があるものであり、これがデータです..? 私はちょっと混乱しています。

誰かが私を助けてくれることを願っています。問題を正しく書きました。ありがとう。

4

1 に答える 1

0

あなたが私の意見を望まないのであれば、いいえ、それは良いアルゴリズムではありません.

まず人は話すスピードが違うし、文字の発音スピードも違う。入力データをランダムにスライスすることから始めることはできません。

次に、良い結果を得るには、入力のノイズを大幅に減らす必要があります。人間の音声が主に使用する周波数に集中する必要があります。次に、まず母音を識別するための何かが必要です。次に、単語を推測しようとします。そのためには、実際のデータが必要です。ただし、おそらく使用できるものはありません。

wawファイルについての質問に答えるために、それはヘッダー+データです。ヘッダーについてはわかりませんが、wawは古い形式であるため、ドキュメントを入手するのはそれほど難しくありません.

データ部分は整数値の配列で、特定の瞬間の音の強さです。強度は、44 kHz の waw ファイルで毎秒 44,000 回測定され、保存されました。それは単なる生の数値であり、圧縮はまったく行われていません (なぜ waw ファイルが非常に巨大なのか疑問に思ったことはありませんか?)。ただし、サンプリング レートと整数型 (通常は 16 ビット) などを示すヘッダーを除きます。

この膨大なデータを分析して、使用される周波数に関する情報を取得しますが、開始する前に、音の数学とすべてを実際に調査する必要があります。一体、私が何かを書くことができるかどうかはわかりませんが、約半分の時間で 3 文字の単語を正常に認識します。

于 2012-08-12T22:56:02.500 に答える