cli-visualizer 備忘録です.
cli-visualizer って何?
コマンドラインで使えるオーディオ用のビジュアライザーです.要するに音に合わせて上下に動くアレですね.
提供元サイトは,
です.MacOS でも使えるようですが,私の場合は Raspberry pi zero WH で自作の LDAC トランスミッターに仕込みました.このトランスミッター,OS からは USB のオーディオインターフェースに見えるので,その音信号を周波数成分に分けてターミナルで見ることができるようにした訳ですね.
cli-visualizer の導入
導入手順は以下の通りです.まず,ソースコードから導入するので,当然のことながら開発環境が一式必要(gcc とか make とか必要)ですが,これについては省略します.
次に fftw ライブラリを導入します.これは音を周波数成分に分けて表示するために必要な高速フーリエ変換を行うためのものですが,残念ながら Raspberry pi OS の場合はパッケージがない.仕方ないのでソースコードから導入します.
※ 2021年4月28日追記:わざわざソースコードかれ入れなくても,
$ sudo apt install libfftw3-dev
で入りますね.
まず,ソースコードの提供元は,
です.また,導入は以下の手順で行います.
$ 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 と入力するだけですが,きちんと音に合わせて上下してくれますので,意外とこの曲は低音から高音までバランスよく出てるなぁ……とか逆に中間の音しか出てないんだなぁ…‥とか何となくわかるのでなかなか楽しいです.
以上!