タグ別アーカイブ: Audio_Filters

音量を脈打つように上げ下げできる apulsator

apulsator はオートパンやトレモロの中間的なフィルタである。ffmpeg では pantremolo で使える。左右のチャンネルの位相や波形をずらしたりする LFO (low frequency oscillator) を元に音量を変える。オフセットが 0 のときはトレモロと同じように左右のチャンネルを等しく変える。オフセットが 0.5 のときはオートパンのように周波数の半分の位相をずらす。オフセットが 1 のときは再び等しく変え、1 に近づくほどより早く右から左へのスピーカーに音が渡されずれが小さくなる。

基本コマンド

ffplay input -af apulsator=level_in=1:level_out=1:mode=sine:1:amount=1:offset_l=0:offset_r=0.5:width=1:timing=hz:hz=2

ahistogram を併用するとずれ具合が見える化する
ffplay -f lavfi amovie=input,apulsator=level_in=1:level_out=1:mode=sine:1:amount=.8:offset_l=.6:offset_r=1:width=1:timing=bpm:hz=2,ahistogram=dmode=separate:r=25:s=hd720:scale=log:ascale=log:acount=1:rheight=.1:slide=replace[out0];amovie=input,apulsator=level_in=1:level_out=1:mode=sine:1:amount=.8:offset_l=.6:offset_r=1:width=1:timing=bpm:hz=2[out1]

音量のヒストグラムを映像化する ahistogram

公式ドキュメント:FFmpeg Filters Documentation : apulsator
続きを読む 音量を脈打つように上げ下げできる apulsator

こもった音や割れた音に変える aemphasis

LPレコードやCDなどのフィルタカーブで強調された素材を作成または復元する aemphasis の使い方。音割れさせたりこもった音に変えたりできる。

基本コマンド

ffplay input -af aemphasis=level_in=1:level_out=1:mode=reproduction:type=cd

公式ドキュメント:FFmpeg Filters Documentation : aemphasis
続きを読む こもった音や割れた音に変える aemphasis

指定したチャンネルの周波数帯の音量を変える anequalizer

指定したチャンネルの周波数帯の音量を変えられる anequalizer の使い方。チャンネル毎に設定でき、設定方法も直感的なので使いやすい。似たフィルタに compand があるが、こちらは DTM の設定になれている人向け。

Windows の ffmpeg で生放送する方法 : compand

基本コマンド

ステレオ音声を読み込み c0(FL)の周波数4000Hzの前後100Hzを -10dBにする。c1(FR)も同様
ffplay input -af "anequalizer=c0 f=4000 w=200 g=-10 f=0|c1 f=4000 w=200 g=-10 f=0"

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

anequalizer と showspectrumpic を併用して効果を見える化

公式ドキュメント:FFmpeg Filters Documentation : anequalizer
続きを読む 指定したチャンネルの周波数帯の音量を変える anequalizer

不可逆圧縮された音声のカットされた周波数が調べられる showspectrumpic

音声データの周波数を調べて周波数と時間の2次元軸とした1枚画像を出力する showspectrumpic の使い方。

基本コマンド

ffmpeg -i input -filter_complex showspectrumpic=s=1024x1024:mode=combined:color=intensity:scale=log:saturation=1:win_func=hann:orientation=vertical:gain=1:legend=1 -y showspectrumpic.png

公式ドキュメント
FFmpeg Filters Documentation : showspectrumpic
続きを読む 不可逆圧縮された音声のカットされた周波数が調べられる showspectrumpic

音量のヒストグラムを映像化する ahistogram

現在までの音量とリアルタイムの音量をヒストグラムで表示する ahistogram の使い方。

基本コマンド

ffplay -f lavfi amovie=input,ahistogram=dmode=single:r=25:s=hd720:scale=log:ascale=log:acount=1:rheight=.1:slide=replace
ffmpeg -i audio -filter_complex ahistogram=dmode=single:r=25:s=hd720:scale=log:ascale=log:acount=1:rheight=.1:slide=replace -c:a copy output

続きを読む 音量のヒストグラムを映像化する ahistogram

特定の区間だけフィルタを当てるタイムライン編集について

ffmpeg のフィルタの中には区間、以上、未満、毎の時間の条件をつけることができるものがある。これらをつけられるのは filters で調べたときに T と表示されるフィルタである。記事の下で紹介。

続きを読む 特定の区間だけフィルタを当てるタイムライン編集について

サンプリング周波数を変えずにテンポとピッチを変える rubberband

今まではテンポ(再生速度)を変えるには atempo を、ピッチ(高低)を変えるには asetrate を使っていたが、rubberbandasetrate で変わる周波数を変えずにピッチとテンポを変えることができる。

rubberband は別途ライブラリをインストールしないと使えないのと、現在は 64bit に未対応である。

標準フィルタを使う場合
【ffmpeg】倍速再生できる動画にエンコードする
続きを読む サンプリング周波数を変えずにテンポとピッチを変える rubberband

メタデータを映像化する drawgraph, adrawgraph

映像の YUV、彩度、色相を映像にオーバーレイしたり、コンソールに表示したり出来る drawgraph フィルタと、音声の周波数や音量などを映像にオーバーレイしたり、コンソールに表示したり出来る adrawgraph フィルタの使い方。映像の表示方法はグラフで表示する方法と、映像に数値をオーバーレイする方法の2通りがある。
続きを読む メタデータを映像化する drawgraph, adrawgraph