iPhone開発初心者です。iPhoneの音声録音について調べています。Appleから「speak here」のサンプルプログラムをダウンロードしました。iPhoneに録音されている自分の声の周波数を調べたいです。助けてください。ありがとう。
3 に答える
人間の発話を処理するという文脈では、「その」周波数のようなものは実際にはありません。信号は多くの異なる周波数の混合になるため、単一の周波数ではなく、スペクトルの観点から考える方が有益な場合があります。ピッチが固定された持続的な音符について話している場合でも、音符の基本周波数に加えて、倍音や倍音がたくさん存在します。また、実際のスピーチでは、母音と子音の音色特性が異なるため、短いクリップ内でも周波数スペクトルが大幅に変化します。
そうは言っても、音声録音のピーク周波数を考慮することは理にかなっています。ボイスクリップの高速フーリエ変換を計算してから、応答が最大の周波数ビンを見つけることができます。信号のオーディオスペクトルが時間の経過とともにどのように変化するかを表すスペクトログラムの概念にも興味があるかもしれません。
Audacityを使用します。典型的なスピーチの小さな録音を取り、それを1つのピークから別のピークへと1つの波長にカットします。2回減算し、1をその数で割ると、波の周波数がHzで表示されます。
例:
私のオーディオクリップでは、波形は0.0760〜0.0803秒で実行されます。
0.0803-0.0760 = 0.0043
1 / 0.0043 = 232.558 Hz、私の典型的な音声周波数
これにより、アナライザーを作成するための良い基礎が得られる可能性があります。波のピークとピーク間の時間を検出し、結果の平均計算を行う必要があります。
関連するオーディオのFFTを取得するには、AppleのAccelerateフレームワークを使用する必要があります。FFTは、時間ドメインのオーディオを周波数ドメインに変換します。AccelerateフレームワークはFFTをサポートし、リアルタイムで周波数分析を実行できるようにします。