web-dev-qa-db-ja.com

FFMPEGを使用してラウドネスを変化させてオーディオを調整する(録音されたトーク)

参加したレッスンの録音を「調整」する必要があります。教授はあちこち歩いていましたが、私のレコーダーは決まった場所にありました。今、私は大音量からささやき声に変わるオーディオトラックを持っています。 ffmpegを使用してどのように対処できますか?

1
DDS

いくつかの可能性があります:

  • 単純な正規化を適用します(例: peak or RMS normalization )。これにより、ファイル全体のゲインのみが変更されるため、音量の大きい部分と小さい部分の違いが発生します。 。ユースケースにはあまりお勧めしません。

  • compand フィルターで動的圧縮を使用します。これにより、録音全体のダイナミックレンジ(つまり、小さい部分と大きい部分の差)が減少します。圧縮が開始される適切なしきい値を見つける必要があります。そうすると、柔らかい部分に対して非常にノイズの多い信号が発生する可能性があります。

  • dynaudnorm フィルタを使用します。これにより、「オーディオの「静かな」セクションに追加のゲインを適用しながら、歪みを回避したり、「大きな」セクションをクリッピングしたりできます」。あなたの場合、それが好ましいオプションです。

基本的には、ffmpegの最近の静的ビルドをダウンロードする必要があります ここから そして実行します:

ffmpeg -i input.wav -filter:a "dynaudnorm" output.wav

ほとんどの場合、特定のユースケースに合わせてフィルターオプションを微調整する必要があります。 compandフィルターの例 を開始点として使用します。

騒がしい環境で聴くのに適した、静かなパッセージと大きなパッセージの両方で音楽を作成します。

compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2

ささやきと爆発のパーツを含むオーディオの別の例:

compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0

ここで、2番目の例のオプションは具体的には次のとおりです。

attacks=0|0
decays=1|1
points=-90/-900|-70/-70|-30/-9|0/-3
soft-knee=6
gain=0
volume=0
delay=0

同じ動的処理を維持するようにゲインを調整できますが、ベースライン入力レベルに調整します。

また、ffmpegのグラフィカルな代替手段として、Audacityとその 組み込みコンプレッサー を使用できます。これにより、ffmpegのcompandフィルターと同じ効果が得られます。ウィキには、オプションについてのかなり良い説明もあります。

4
slhck