DirectShowのマイクから受信した生データからラウドネスレベルを取得するにはどうすればよいですか?
IMediaSampleはデータをバイト単位で保持します。そして、どうすればこのバイトを読み取って何かを取得できますか?
DirectShowのマイクから受信した生データからラウドネスレベルを取得するにはどうすればよいですか?
IMediaSampleはデータをバイト単位で保持します。そして、どうすればこのバイトを読み取って何かを取得できますか?
ラウドネスは聴覚的な品質であり、物理的な公式ではありません。それには多くの定義があります。
これは一時的な値でもあります。結果として、この値は時間の間に変化します。
数年前に見た中で最も単純な実装は、振幅の最大値にタイムアウトを設定することでした。しかし、振幅の対数は、耳の感度をはるかに近くに近似する方が確かに優れています。
信号のパワーを考慮することもできます(信号*信号...しかし、周波数スペクトル成分を考慮した定義もあります...)。
キッチンレシピです。最も単純なものを選択してください。
編集:私の答えは速すぎて曖昧だったようです。おそらく音量とラウドネスを間違えています。このウィキペディアの記事には、ラウドネスを測定するための単位があると記載されています。曽根とホン。
生のバイトからラウドネスを計算するには、データを処理する必要があります。方法の1つは、BS.1770で定義されています。オーディオプログラムのラウドネスとトゥルーピークオーディオレベルの仕様を測定するアルゴリズムであり、関連するアルゴリズムについて説明しています。