音声波形を表示する showspectrum, showwaves の使い方

showspectrum の使い方


入力した音声をスペクトラムとして映像表示する。出力フォーマットは yuv444p。

ffmpeg_showspectrum_sample.jpg


ffmpeg -i input -filter_complex showspectrum=size=640x512:slide=1:mode=separate:color=intensity:
scale=sqrt:saturation=1 output
ffplay -f lavfi -i "amovie=input,asplit[out0],showspectrum[out1]"

  • size, s[image_size]
    出力される動画の解像度。既定値は 640x512(w x h)
    640x512 で15秒程度の幅になり、282x512 で3秒程度の幅になる

  • slide[int]
    波形の表示方法。既定値は 0
    0, replace:波形が左から右に移り右に到達すると左に移動し上書きされる
    1, scroll:波形が右から左に移り常時スクロールする
    2, fullframe:解像度分右まで最初から表示して、解像度分新しくなったらすべて更新する
    3, rscroll:波形が左から右に移り常時スクロールする

  • mode[int]
    音声のチャンネルごとに表示するかどうか
    0, combined:一纏めに表示。既定値
    1, separate:各チャンネルごとに表示

  • color[int]
    チャンネル毎の色の表示指定
    0, channel:チャンネル毎に異なる
    1, intensity:チャンネル毎に異ならない。既定値
    2, rainbow:虹色。七色
    3, moreland:モアランド。青背景に白と赤
    4, nebulae:星雲。薄茶系
    5, fire:花火。茶系
    6, fiery:灼熱。赤系
    7, fruit:フルーツ。緑系
    8, cool:寒色。青系

  • scale[int]
    描写で使われる計算方法
    0, lin:線形
    1, sqrt:平方根。既定値
    2, cbrt:立方根
    3, log:対数
    4, 4thrt:四乗根
    5, 5thrt:五乗根

  • saturation[float]
    表示される色の彩度設定。既定値は 1
    設定できる範囲は -10.0 から 10.0 まで

  • win_func[int]
    波形の表示設定
    0, rect
    1, bartlett
    2, hann, hanning:既定値
    3, hamming
    4, blackman
    5, welch
    6, flattop
    7, bharris
    8, bnuttall
    9, bhann
    10, sine
    11, nuttall
    12, lanczos
    13, gauss
    14, tukey
    15, dolph
    16, cauchy
    17, parzen
    18, poisson

  • orientation[int]
    縦横の内容の表示形式の指定
    0, vertical
    横軸が時間、縦軸が周波数。既定値
    1, horizontal
    横軸が周波数、縦軸が時間

  • overlap[float]
    既定値:0
    範囲:0 から 1 まで

  • gain[float]
    音量を上げ下げして描写具合を変える。0に近いほど色が薄くなる
    範囲:0 から 128 まで
    既定値:1(音量を変えない)

  • data[int]
    表示内容の指定
    0, magnitude:枠一杯に表示
    1, phase:おなじみの波形表示。既定値

  • rotation[float]
    色を変える
    既定値:0
    範囲:-1 から 1 まで


showspectrum はフレームレートを指定できないので動画との overlay 合成は不向き

ffmpeg のコマンド例
ffmpeg -i input -filter_complex "showspectrum=size=640x512:slide=1:mode=separate:color=intensity: scale=sqrt:saturation=1" -vcodec libx264 -acodec copy out.mkv

音声フィルタを当てた場合は先に音声を加工した後に showspectrum を当てる
ffmpeg -i input -filter_complex "earwax,volume=2.6,bs2b=profile=jmeier,bass=g=3:f=400,allpass=f=800, showspectrum=size=640x512:slide=1:mode=separate:color=intensity: scale=sqrt:saturation=1" -vcodec libx264 -acodec copy out.mkv

参照リンク

FFmpeg documentation : : showspectrum

showwaves


入力した音声を音声波形(オシロスコープ)として映像表示する。出力フォーマットは RGBA になっているのでオーバーレイが可能。

mode point の例
ffmpeg_showwaves_sample2.jpg

mode line の例
ffmpeg_showwaves_sample.jpg


ffmpeg -i input -filter_complex showwaves=size=600x240:mode=point:rate=25:split_channels=1 output
ffplay -f lavfi -i "amovie=input,asplit[out0],showwaves[out1]"


  • size, s[image_size]
    出力される動画の解像度。既定値は 600x240(w x h)

  • mode[int]
    0, point:点の波形表示。既定値
    1, line:山なりの波形表示
    2, p2p:点と線の波形表示
    3, cline:山なりの波形表示に似ている

  • n[int]
    描写間隔で正の値を指定する。値を大きくすると表示回数が減る
    既定値:0
    範囲:0 から INT_MAX まで

  • rate, r[video_rate]
    おおよその出力フレームレート。既定値は 25

  • split_channels[boolean]
    チャンネル別に表示するかどうか
    既定値:0(しない)

  • color[string]
    波形の色指定。チャンネル数毎に | で指定する
    既定値:”red|green|blue|yellow|orange|lime|pink|magenta|brown”

  • scale[int]
    0, lin:線形
    1, log:対数
    2, sqrt:平方根。既定値
    3, cbrt:立方根

  • scale[int]描写で使われる計算方法
    0, lin:線形
    1, log:対数
    2, sqrt:平方根。既定値
    3, cbrt:立方根


ffmpeg のコマンド例
ffmpeg -i input.wav -filter_complex showwaves=size=600x240:mode=line:r=25 -vcodec libx264 -acodec copy out.mkv

入力動画 fps=24 で背景動画の解像度 640x360 の上に波形映像 640x100 を合成する場合
波形映像に重複フレームが有る場合は showwaves 内の r を +10 程度大きく見積もる
ffmpeg -i input.mp4 -filter_complex pad=iw:ih+100:0:100[a];showwaves=size=640x100:mode=point:r=24[b];[a][b]overlay -vcodec libx264 -acodec copy out.mp4

参照リンク

FFmpeg documentation : : showwaves
Windows の ffmpeg で生放送する方法 : pad
Windows の ffmpeg で生放送する方法 : overlay

関連記事
音声をオクターヴ表示する showcqt の使い方

追加オプションを追記し、文章を直した。2016年9月8日
関連記事

この記事へのコメント

管理人のみ通知 :

トラックバック


ニコニコチャンネル始めました
ニコラボチャンネル
スポンサード リンク
THE IDOLM@STER THE@TER ACTIVITIES 03
THE IDOLM@STER THE@TER ACTIVITIES 03

Fate/EXTELLA REGALIA BOX for PlayStation (R) 4 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4
Fate/EXTELLA REGALIA BOX for PlayStation (R) 4 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4

妖怪ウォッチ くったりぬいぐるみだニャン ジバニャン
妖怪ウォッチ くったりぬいぐるみだニャン ジバニャン

Fate/EXTELLA VELBER BOX 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4
Fate/EXTELLA VELBER BOX 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4

Fate/EXTELLA REGALIA BOX for PlayStation (R) Vita 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS Vita
Fate/EXTELLA REGALIA BOX for PlayStation (R) Vita 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS Vita

【早期購入特典あり】初音ミクシンフォニー~Miku Symphony 2016~オーケストラ ライブ CD(初音ミクシンフォニー描き下ろしクリアファイル付き(ランダム配布))
【早期購入特典あり】初音ミクシンフォニー~Miku Symphony 2016~オーケストラ ライブ CD(初音ミクシンフォニー描き下ろしクリアファイル付き(ランダム配布))

「うたわれるもの 偽りの仮面&二人の白皇」歌集(初回限定盤)
「うたわれるもの 偽りの仮面&二人の白皇」歌集(初回限定盤)

TVアニメ『ラブライブ!サンシャイン!!』挿入歌シングル「想いよひとつになれ/MIRAI TICKET」
TVアニメ『ラブライブ!サンシャイン!!』挿入歌シングル「想いよひとつになれ/MIRAI TICKET」

『刀剣乱舞-花丸-』 歌詠集 其の三 特装盤
『刀剣乱舞-花丸-』 歌詠集 其の三 特装盤

本好きの下剋上~司書になるためには手段を選んでいられません~第一部 「本がないなら作ればいい3」
本好きの下剋上~司書になるためには手段を選んでいられません~第一部 「本がないなら作ればいい3」

新着記事と追記・編集記事
スポンサード リンク
ブログ内検索
プロフィール

Author:ロベルト
お問い合わせはこちらまで
robelt2525[at]gmail.com

中の人 @nico_lab
ブログ更新用 @blo_nico_lab

詳しいプロフィールはこちら

カテゴリ
アクセスの多い記事
記事アーカイブ

最新コメント
リンク
ニコニコ静画
アニメカテゴリ毎時ランキング
免責事項
当ブログはリンクフリーです。記事によりトラブルが生じた場合でも、当ブログ管理人は一切の責任を負いません。 当ブログに記載されている情報の正誤や利用は、ご自身の判断でお願いします。 紹介したアプリケーションに関する問い合わせは作者に問い合わせてください。ニコニコ動画に関する質問はまずは公式掲示板、2ch、各Q&Aサイトを参照ください。
ブログの読者になる(RSS)
アクセス数