入力した音声を E0 から D#10 (10 オクターヴ) までの映像に変換する。出力フォーマットは yuv420p。cqtは(constant Q transform)の略語。
- size, s[image_size]
出力解像度
既定値:1920x1080
- fps, rate, r[video_rate]
フレームレート
既定値:25
- bar_h[int]
オクターブを表示するアルファベットの上からの位置の高さ(偶数)指定
既定値:-1(自動設定)
範囲:-1 から INT_MAX まで
- axis_h[int]
オクターブを表示するアルファベットの文字の高さ(偶数)指定
既定値:-1(自動設定)
範囲:-1 から INT_MAX まで
- sono_h[int]
オクターブを表示するアルファベットの下からの位置の高さ(偶数)指定
既定値:-1(自動設定)
範囲:-1 から INT_MAX まで
- fullhd[boolean]
使われていないオプション
- sono_v, volume[string]
sonogram の音量調整。大きくすると波形も大きくなる
既定値:16
範囲:0 から 100 まで使える評価式
- bar_v:bar_v と同じ値
- frequency, freq, f:周波数と同じ値
- timeclamp, tc:timeclamp と同じ値
- a_weighting(f):A と同じ音量
- b_weighting(f):B と同じ音量
- c_weighting(f):C と同じ音量
- bar_v, volume2[string]
bargraph の音量調整。大きくすると波形も大きくなる
既定値:sono_v
範囲:0 から 100 まで使える評価式
- sono_v:sono_v と同じ値
- frequency, freq, f:周波数と同じ値
- timeclamp, tc:timeclamp と同じ値
- a_weighting(f):A と同じ音量
- b_weighting(f):B と同じ音量
- c_weighting(f):C と同じ音量
- sono_g, gamma[float]
sonogram のガンマ値の指定。低い値はスペクトラムのレンジが狭くなり、高い値はスペクトラムのレンジが広くなる
既定値:3
範囲:1 から 7 まで
- bar_g, gamma2[float]
sonogram のガンマ値の指定。低い値はスペクトラムのレンジが狭くなり、高い値はスペクトラムのレンジが広くなる
既定値:3
範囲:1 から 7 まで
- bar_t[float]
波形のバーに透過度の指定。0に近い程ぼかしのないくっきりした色になる
既定値:1
範囲:0.から 1 まで
- timeclamp, tc[double]
低い値にすればタイムドメイン(時間領域)(例えばバスドラム)がより正確に、高い値にすればフレケンシードメイン(周波数帯域)(例えばバスギター)をより正確に表示する
既定値:0.17
範囲:0.1 から 1 まで
- basefreq[double]
基底周波数の指定
既定値:20.01523126408007475
範囲:10 から 100000 まで
- endfreq[double]
終了周波数の指定
既定値:20495.59681441799654
範囲:10 から 100000 まで
- coeffclamp[float]
使われていないオプション
- tlength[string]
タイムドメインを波形に変換したときに表示される高さの指定
既定値:384*tc/(384+tc*f)使える評価式
- frequency, freq, f:周波数と同じ値
- timeclamp, tc:timeclamp と同じ値
- count[int]
動画を何フレーム毎に描写するかの指定。大きい値ほど映像が早くなる
既定値:6
範囲:1 から 30 まで
- fcount[int]
動画を何ピクセル毎に描写するかの指定
既定値:0(自動設定)
範囲:0 から 10 まで
- fontfile[string]
オクターブを表示するアルファベットのフォント指定
既定値:内蔵フォント
例:'C\://Windows/Fonts/msgothic.ttc'
- fontcolor[string]
フォントカラーの指定
既定値:st(0, (midi(f)-59.5)/12); st(1, if(between(ld(0),0,1), 0.5-0.5*cos(2*PI*ld(0)), 0)); r(1-ld(1)) + b(ld(1))使える評価式
- frequency, freq, f:周波数と同じ値
- timeclamp, tc:timeclamp と同じ値
- midi(f):midi ノートナンバー。E0(16), C1(24), C2(36), A4(69)
- r(x), g(x), b(x):RGB それぞれの値を x で表示する
- axisfile[string]
オクターブを表示するアルファベットの代わりに画像を配置する。適宜 axis_h で高さを指定する。これを指定すると fontfile, fontcolor は無視される
既定値:何も指定しない
- axis, text[boolean]
オクターブを表示するアルファベットを表示するしないの指定
既定値:1(表示する)
- csp[int]
カラースペースの指定- 0, unspecified:既定値
- 1, bt709
- 2, fcc
- 3, bt470bg:BT.470BG または BT.601-6 625
- 4, smpte170m
- 5, smpte240m:SMPTE-170M または BT.601-6 525
- 6, bt2020ncl:BT.2020 with non-constant luminance
- cscheme[string]
スペクトグラムカラーのスキーム指定。left_r|left_g|left_b|right_r|right_g|right_b の順番
既定値:"1|0.5|0|0|0.5|1"
基本コマンド
ffmpeg -i audio.m4a -filter_complex "showcqt" -pix_fmt yuv420p -acodec copy out.mkv
ffmpeg -i video.mp4 -filter_complex "showcqt" -pix_fmt yuv420p -acodec copy out.mkv
ffplay -f lavfi "amovie=audio.m4a, asplit[a][out1]; [a] showcqt[out0]"
ffplay -f lavfi "amovie=video.mp4, asplit[a][out1]; [a] showcqt[out0]"
コマンド例
ffplay -f lavfi "amovie=audio.m4a, asplit[a][out1]; [a] showcqt=fps=50:count=3:gamma=2:volume=10:fullhd=0[out0]"
ffplay -f lavfi "amovie=audio.m4a, asplit[a][out1]; [a] showcqt=fps=50:count=1:gamma=2:volume=10,scale=640:-1[out0]"
ffplay -f lavfi "aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)
+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),asplit[a][out1]; [a] showcqt=timeclamp=0.5 [out0]"
音声デバイスの音声を映像化して配信する例
ffmpeg -rtbufsize 2MB -f dshow -i audio=virtual-audio-capturer -filter_complex "showcqt,scale=640:-1" -pix_fmt yuv420p -vcodec libx264 -acodec libmp3lame -f flv rtmp://...
virtual-audio-capturer の配布先:
virtual audio capture device - Browse Files at SourceForge.netsetup Virtual Audio Capture Grabber v0.4.6.exe を保存しインストールする。
サンプル動画
関連記事
FFmpeg documentation : : showcqt音声波形を表示する showspectrum, showwaves の使い方
- 関連記事
-
コメント