6

私はアプリを開発しています.2つの声が一致するかどうかを比較する方法が必要です.Voice Recognizerがそれを行う方法であることは知っていますが、最初に声を文字列に変換する必要があるため.音声認識エンジンでサポートされている言語以外の言語にはあまり適していません....何か考えはありますか? 昔の電話と同じように、音声入力をセットアップ中に以前に録音した音声と比較するだけの音声タグ

4

2 に答える 2

5

これを行う比較的簡単な方法は、FFT (高速フーリエ変換) を使用して、元の WAV ファイルの時間領域データを周波数領域データに変換することです (変換された配列の各値は、特定の周波数帯域)。

同じ人が同じ単語を 2 回話したとしても、結果として得られる時間領域データは、2 つの WAV ファイルで数値的に大きく異なります。両方の WAV ファイルを周波数ドメインに変換すると (2 つのファイルの長さがわずかに異なっていても、同じサイズの FFT ウィンドウを使用して)、元の WAV ファイルよりも互いに類似した周波数配列が生成されます。

残念ながら、Android 専用の FFT ライブラリを見つけることができませんでした。これは、いくつかの Java ベースのライブラリを参照する質問です。

Javaの信号処理ライブラリ?

于 2011-02-08T16:54:52.790 に答える
2

アイデアは、スペクトログラムで声の類似性を比較することです。スペクトログラムの機能は堅牢でノイズに強く、2 つの音声を分析するための優れたリファレンスです。このアプローチを採用する場合、最初に声の特徴を見つける必要があり、2 つのスペクトログラムの特徴を比較する方法を知る必要があるよりも、パターン認識を指します。

この API http://code.google.com/p/musicg-sound-api/は Java で記述されており、Android で使用できます。波のスペクトログラムをキャプチャします。

于 2011-11-10T11:33:19.080 に答える