**C**onsole-based **A**udio **V**isualizer for **A**LSA
also supports audio input from Pulseaudio, fifo (mpd), sndio and squeezelite.
also supports audio input from Pulseaudio, fifo (mpd), sndio, squeezelite and portaudio.
Now also works on macOS!
by [Karl Stavestrand](mailto:karl@stavestrand.no)
@ -53,13 +55,19 @@ C.A.V.A. is a bar spectrum audio visualizer for the Linux terminal using ALSA, p
This program is not intended for scientific use. It's written to look responsive and aesthetic when used to visualize music.
Build requirements
Installing
------------------
### From Source
#### Installing Build Requirements
Required components:
* [FFTW](http://www.fftw.org/)
* [ncursesw dev files](http://www.gnu.org/software/ncurses/) (bundled in ncurses in arch)
* [ALSA dev files](http://alsa-project.org/)
* [Pulseaudio dev files](http://freedesktop.org/software/pulseaudio/doxygen/)
* libtool
* automake
* build-essentials
Only FFTW is actually required for CAVA to compile, but for maximum usage and performance ncurses and pulseaudio and/or alsa dev files are recommended. Not sure how to get the pulseaudio dev files for other distros than debian/ubuntu or if they are bundled in pulseaudio.
where `AA:BB:CC:DD:EE:FF` is squeezelite's MAC address (check the LMS Web GUI (Settings>Information) if unsure).
Note: squeezelite must be started with the `-v` flag to enable visualizer support.
### macOS
Install [Soundflower](https://github.com/mattingalls/Soundflower) to create a loopback interface. Use Audio MIDI Setup to configure a virtual interface that outputs audio to both your speakers and the loopbacl interface, following [this](https://github.com/RogueAmoeba/Soundflower-Original/issues/44#issuecomment-151586106) recipe.
Then edit your config to use this interface with portaudio: