指定したチャンネルの周波数帯の音量を変えられるanequalizer
フィルタの使い方。似たフィルタが他にもありequalizer
は同じように周波数帯のゲインを調整するがこちらのほうがわかりやすい。compand
フィルタはDTMの設定になれている人向け。
- Windows の ffmpeg で生放送する方法 : compand
- 18の周波数帯に分けてゲインを調整する superequalizer
- 指定したチャンネルの周波数帯の音量を変えるequalizer
基本コマンド
ステレオ音声を読み込み c0(FL)の周波数4000Hzの周辺200Hzを-10dBにする。c1(FR)は10dBにする。
ffmpeg -i input -af "anequalizer=c0 f=4000 w=200 g=-10|c1 f=4000 w=200 g=10" -c:v copy output
ffplay -i input -af "anequalizer=c0 f=4000 w=200 g=-10|c1 f=4000 w=200 g=10"
showspectrumpic
フィルタを併用すると効果の具合が視覚的に分かる。
ffmpeg -i input -filter_complex "anequalizer=c0 f=4000 w=200 g=-20|c1 f=4000 w=200 g=20",showspectrumpic=s=1024x1024:mode=separate anequalizer.png
不可逆圧縮された音声のカットされた周波数が調べられる showspectrumpic
curves=1で映像化するが用途不明。
ffmpeg -i input -filter_complex "anequalizer=c0 f=4000 w=200 g=-10|c1 f=4000 w=200 g=-10:curves=1[v][a]" -map [v] -map [a] output
ffplay -f lavfi -i "amovie=input.mp4,anequalizer=c0 f=4000 w=200 g=-10|c1 f=4000 w=200 g=-10:curves=1:mgain=-60:fscale=0[out1]"
公式ドキュメント:FFmpeg Filters Documentation : anequalizer
オプション
- params
音量を変える周波数と音量を指定する
オプション毎に半角スペースを開け、チャンネル毎に|をはさむ
例:”anequalizer=c0 f=4000 w=200 g=-10|c1 f=4000 w=200 g=10″ - chn:チャンネル番号を指定
例:c0(FL), c1(FR) - f:適用する周波数。単位はHz
- w:適用する周波数帯。単位はHz
- g:ゲインの指定
- t:周波数帯のタイプの指定
- 0:Butterworth。既定値
- 1:第一種Chebyshev(チェビシェフ)
- 2:第二種Chebyshev(チェビシェフ)
- curves[boolean]
周波数を映像化する。映像は水平方向の直線で一部の波形が山か谷になる。用途不明
既定値:0 - size[image_size]
- mgain[double]
- fscale[fscale]
- colors[string]