はじめに
ものすごく遅くなりましたがこの記事は日本音響学会 学生・若手フォーラム Advent Calendar 2023 の 4 日目の記事です.
日本音響学会 学生・若手フォーラムではホームページの管理などを担当しています.
こんな人におすすめ
- 学会発表やデモで音声ファイルを聞かせたい
- しかし音声ファイルをただ載せるだけでは味気ない…
- コマンドラインからサクッと音声ファイルを動画に変換したい
準備
ffmpeg をインストールしてください
コマンド
ffmpeg -i <input> -filter_complex "showspectrum" <output>
解説
-
<input>
:- スペクトログラムの動画ファイルに変換したい元になる音声ファイルのパスです.
- wav や mp3 など一般的な音声ファイルのフォーマットであればおよそよしなに対応してくれます.
-
<output>
:- 出力結果の動画ファイルのパスです.
- mov や mp4 など一般的な動画ファイルのフォーマットであればおよそよしなに対応してくれます.
-
-filter_complex
:
実行例
筆者がよく使う設定の一例を示します
- 1ch の wav ファイル
ffmpeg -i input.wav -filter_complex "showspectrum=slide=1:mode=separate:color=plasma:scale=log:saturation=1:legend=0" output.gif
- マルチチャンネル の wav ファイルをチャネルごと分割表示
ffmpeg -i input.wav -filter_complex "showspectrum=slide=1:mode=separate:color=plasma:scale=log:saturation=1:legend=0" output.gif
おまけ
- 定 Q 変換
ffmpeg -i multi.wav -filter_complex "showcqt" multi_cqt.gif
- ピアノロールみたいになります
- 連続ウェーブレット変換
ffmpeg -i multi.wav -filter_complex "showcwt=mode=channel" multi_cwt.gif
- いわゆるスカログラムです
- スペクトラム
ffmpeg -i multi.wav -filter_complex "showfreqs=mode=bar" multi_freqs.gif
- 昔のコンポとかで見かけるアレです
- 空間相関(?)
ffmpeg -i multi.wav -filter_complex "showspatial" multi_spatial.gif
- 今まで見たことないです,いつ使うのかよくわかりません…
- ボリューム
ffmpeg -i multi.wav -filter_complex "showvolume" multi_volume.gif
- ミキサーのインジケータみたいでかわいいです
- 波形
ffmpeg -i multi.wav -filter_complex "showwaves=split_channels=1:mode=line" multi_waves.gif
- よく見かけます
参考資料
-
音声波形を表示する showspectrum, showwaves の使い方 - ニコニコ動画研究所
-
showspectrum
,showwaves
の具体例がたくさん紹介されています
-
- ffmpeg でスペクトログラムの動画出力 - shingoushori's dialy
- それ FFmpeg で出来るよ! - Qiita