cli-visualizer 備忘録

Apple
Photo by hyt.

cli-visualizer 備忘録です.

cli-visualizer って何?

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

提供元サイトは,

Build software better, together
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over...

です.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をコピーしました