**C**onsole-based **A**udio **V**isualizer for **A**LSA
**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)
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.
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/)
* [FFTW](http://www.fftw.org/)
* [ncursesw dev files](http://www.gnu.org/software/ncurses/) (bundled in ncurses in arch)
* [ncursesw dev files](http://www.gnu.org/software/ncurses/) (bundled in ncurses in arch)
* [ALSA dev files](http://alsa-project.org/)
* [ALSA dev files](http://alsa-project.org/)
* [Pulseaudio dev files](http://freedesktop.org/software/pulseaudio/doxygen/)
* [Pulseaudio dev files](http://freedesktop.org/software/pulseaudio/doxygen/)
* libtool
* 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.
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).
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.
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: