Processing Audio Visualization (PAV) is a music visualization project based on Processing and Java.
The project consists of three parts:
- libpav is a library for music visualization
- pav is an application that visualizes music from the network or a FIFO using libpav
- pav-player is a simple audio player with tag support that can stream audio data to pav over the network
PAV can be downloaded from github. It is released under the GPL v3 license. If you use path for non-private purposes please contact me first.
Using PAV
If you want to run PAV, first download the project from github. Then, navigate to /pav, open a terminal and enter ant run-sw or ant run-gl (you must have Ant installed on your system for this to work). run-gl will start PAV in OpenGL mode, utilizing the GLGraphics library. This mode offers high quality and speed but might cause problems on some systems. run-sw uses a software renderer. This should work on all systems, but quality and performance are much lower and some visualizations do not work with this mode. Further configuration can be done by editing the build file. For more information refer to the readme.txt file, which is included in the download.
When you start the application a black window appears. In order to see something you first have to add a Visualizer. In PAV audio data is visualized by so called Visualizers. A visualization can consist of many independent Visualizers. In order to add a Visualizer to the stack, type add x and hit enter, where x is the name of a Visualizer. PAV currently supports 8 Visualizers (see Visualizers). You can add, configure, and remove these Visualizers at runtime by typing in the PAV window. All available commands are listed at the commands page.
PAV receives data to visualize over the network or from a *nix FIFO. This abstracts from the way how music is accessed: Any program that implements the communication protocol of PAV can stream data to it (see readme.txt).
The project comes with a simple music player with PAV support. In order to start the player, navigate to /pav-player, open a terminal and enter ant. The player will stream music data to PAV via UDP as it is played and you should see a visualization of it in the PAV window.