0

libsamplerateを使用してオーディオファイルをリサンプリングすることを考えていますが、これはかなり単純に思えます。

FAQには、リサンプリング後、オーディオを正規化する必要があると記載されていますが、その方法がわかりません。

オーディオサンプルは(-1.0、1.0)の範囲にある必要があると記載されています。それはただの場合ですか:

  1. この範囲から最も遠いサンプルを見つける
  2. 値が-1.0または1.0になる係数を計算する
  3. その係数をオーディオファイルのすべてのサンプルに適用しますか?
4

1 に答える 1

1

基本的には、絶対値が最大のサンプルを見つけて、すべてのサンプルをこの値で除算する必要があります。これにより、すべてのサンプルが(-1.0,1.0)の範囲に収まります。もちろん、事前にオーディオデータ全体にアクセスできる必要があります(たとえば、3秒後に取得するサンプルがわからないため、ストリームを正規化することはできません)。

ただし、この操作により、知覚されるラウドネス(「音量」)が変化する可能性があることに注意してください。リサンプリング後も全体的なラウドネスを維持したい場合は、リサンプリングの前後でラウドネスを測定し、適切な係数を適用する必要があります。

于 2010-12-19T09:51:49.610 に答える