LoginSignup
3
1

はじめに

ものすごく遅くなりましたがこの記事は日本音響学会 学生・若手フォーラム Advent Calendar 2023 の 4 日目の記事です.
日本音響学会 学生・若手フォーラムではホームページの管理などを担当しています.

こんな人におすすめ

  • 学会発表やデモで音声ファイルを聞かせたい
  • しかし音声ファイルをただ載せるだけでは味気ない…
  • コマンドラインからサクッと音声ファイルを動画に変換したい

準備

ffmpeg をインストールしてください

コマンド

ffmpeg -i <input> -filter_complex "showspectrum" <output>

解説

  • <input>:
    • スペクトログラムの動画ファイルに変換したい元になる音声ファイルのパスです.
    • wav や mp3 など一般的な音声ファイルのフォーマットであればおよそよしなに対応してくれます.
  • <output>:
    • 出力結果の動画ファイルのパスです.
    • mov や mp4 など一般的な動画ファイルのフォーマットであればおよそよしなに対応してくれます.
  • -filter_complex:
    • <input> をどのような動画に変換するかを指定するオプションです.
    • 今回は showspectrum を指定することでスペクトログラムにしています.
    • 他にも様々なオプションがありますが詳細は 公式ドキュメント参考資料 1 をご覧ください.

実行例

筆者がよく使う設定の一例を示します

  • 1ch の wav ファイル
    ffmpeg -i input.wav -filter_complex "showspectrum=slide=1:mode=separate:color=plasma:scale=log:saturation=1:legend=0" output.gif
    
    mono_spectrum.gif
  • マルチチャンネル の wav ファイルをチャネルごと分割表示
    ffmpeg -i input.wav -filter_complex "showspectrum=slide=1:mode=separate:color=plasma:scale=log:saturation=1:legend=0" output.gif
    
    multi_spectrum.gif

おまけ

  • 定 Q 変換
    ffmpeg -i multi.wav -filter_complex "showcqt" multi_cqt.gif
    
    multi_cqt.gif
    • ピアノロールみたいになります
  • 連続ウェーブレット変換
    ffmpeg -i multi.wav -filter_complex "showcwt=mode=channel" multi_cwt.gif
    
    multi_cwt.gif
    • いわゆるスカログラムです
  • スペクトラム
    ffmpeg -i multi.wav -filter_complex "showfreqs=mode=bar" multi_freqs.gif
    
    multi_freqs.gif
    • 昔のコンポとかで見かけるアレです
  • 空間相関(?)
    ffmpeg -i multi.wav -filter_complex "showspatial" multi_spatial.gif
    
    stereo_spatial.gif
    • 今まで見たことないです,いつ使うのかよくわかりません…
  • ボリューム
    ffmpeg -i multi.wav -filter_complex "showvolume" multi_volume.gif
    ![multi_volume.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/176459/5661fc9e-2599-6b05-9eae-a56de1cfc95e.gif)
    - ミキサーのインジケータみたいでかわいいです
    
  • 波形
    ffmpeg -i multi.wav -filter_complex "showwaves=split_channels=1:mode=line" multi_waves.gif
    
    multi_waves.gif
    • よく見かけます

参考資料

  1. 音声波形を表示する showspectrum, showwaves の使い方 - ニコニコ動画研究所
    • showspectrum, showwaves の具体例がたくさん紹介されています
  2. ffmpeg でスペクトログラムの動画出力 - shingoushori's dialy
  3. それ FFmpeg で出来るよ! - Qiita
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1