cli-visualizer 備忘録

Apple
Photo by hyt.

cli-visualizer 備忘録です.

cli-visualizer って何?

コマンドラインで使えるオーディオ用のビジュアライザーです.要するに音に合わせて上下に動くアレですね.

提供元サイトは,

GitHub - dpayne/cli-visualizer: CLI based audio visualizer
CLI based audio visualizer. Contribute to dpayne/cli-visualizer development by creating an account on GitHub.

です.MacOS でも使えるようですが,私の場合は Raspberry pi zero WH で自作の LDAC トランスミッターに仕込みました.このトランスミッター,OS からは USB のオーディオインターフェースに見えるので,その音信号を周波数成分に分けてターミナルで見ることができるようにした訳ですね.

cli-visualizer の導入

導入手順は以下の通りです.まず,ソースコードから導入するので,当然のことながら開発環境が一式必要(gcc とか make とか必要)ですが,これについては省略します.

次に fftw ライブラリを導入します.これは音を周波数成分に分けて表示するために必要な高速フーリエ変換を行うためのものですが,残念ながら Raspberry pi OS の場合はパッケージがない.仕方ないのでソースコードから導入します.


※ 2021年4月28日追記:わざわざソースコードかれ入れなくても,

$ sudo apt install libfftw3-dev

で入りますね.


まず,ソースコードの提供元は,

FFTW Home Page
A fast, free C FFT library; includes real-complex, multidimensional, and parallel transforms. Benchmarked against many o...

です.また,導入は以下の手順で行います.

$ cd ~/src
$ wget http://www.fftw.org/fftw-3.3.9.tar.gz
$ tar -zxvf fftw-3.3.9.tar.gz
$ cd fftw-3.3.9
$ ./configure --disable-fortran
$ make
$ sudo make install
$ sudo /sbin/ldconfig

次は ncursesw ライブラリを導入します.また,cli-visualizer のコンパイルには cmake を使うので,これも入れておきます.

$ sudo apt install libncursesw5-dev cmake

これで準備は完了です.

cli-visualizer のコンパイルとインストール手順は以下の通りです.

$ cd ~/src
$ git clone https://github.com/dpayne/cli-visualizer.git
$ cd cli-visualizer
$ ./install.sh

これで /usr/local/bin に vis という名前でインストールされます.Raspberry pi zero WH は1コアですしそんなにクロック数も高く無いので,FFTW のコンパイルに30分強,cli-visualizer のコンパイルにも15分程度はかかります.

cli-visualizer の設定

cli-visualizer の設定は,自分のホームディレクトリ以下の .config/vis/config で,また,visualizer で使う色の設定は,.config/vis/colors 以下で行います.

私の設定は以下の通りです.

$ vi ~/.config/vis/config
....
audio.sources=pulse
audio.pulse.source=3
colors.override.terminal=false
audio.stereo.enabled=false
visualizer.ellipse.character=" "
visualizer.lorenz.character=" "
colors.scheme=white,rainbow
....

$ vi ~/.config/vis/colors/white
4

内容は以下の通りです.

  • audio.sources=pulse: pulseaudio を使う設定
  • audio.pulse.source=3: pulseaudio の audio source 3番ポートを指定
  • colors.override.terminal=false: ターミナルの色情報を終了時元に戻す
  • audio.stereo.enabled=false: モノラルをデフォルトとする
  • visualizer.ellipse.character=” “: ellipse 表示の charactor を空白に設定
  • visualizer.lorenz.character=” “: lorenz 表示の charactor を空白に設定
  • color.scheme=white,rainbow: カラーを white と rainbow の順に設定

実際に使う時は,vis で起動し,

  • スペース:映像効果(spectrum, ellipse, lorenz)切り替え
  • s:ステレオ・モノラル切り替え
  • c:カラー切り替え(私の場合は white と rainbow)
  • r:設定の再読み込み
  • q:終了

スペクトラムを表すバーの間隔や太さなんかもいじれますが,とりあえずはこんなところです.

cli-visualizer の負荷と使用感

Raspberry pi zero WH(1000MHz にオーバークロック)で使うとだいたい15%くらいの使用率になるみたいです.LDAC の伝送をやると70%くらいの負荷ですから,合わせて90%くらいとギリギリな感じです.

使う時はもちろん ssh で Raspberry pi OS にログインして vis と入力するだけですが,きちんと音に合わせて上下してくれますので,意外とこの曲は低音から高音までバランスよく出てるなぁ……とか逆に中間の音しか出てないんだなぁ…‥とか何となくわかるのでなかなか楽しいです.

以上!

タイトルとURLをコピーしました