generate beautiful images from audio files.

The full source code and build instructions are available on GitHub

If you need to generate json files, there's also wav2json.
If you like it, feel free to make a small donation via paypal (not tax deductible). While it is highly appreciated, it is absolutely not necessary to use the software. But a nice gesture nonetheless.

On Mac OS X, there is a little application you can drop your audio files into. The images are either saved in the same directory as the audio file (autosave checkbox) or can be drag'n'droped into photoshop (or what ever). You can select foreground and background colors and set the dimensions of the generated image.


You can supply a foreground and background color in rgba

./wav2png --foreground-color=ffb400aa --background-color=2e4562ff -o ./examples/example0.png music.wav


Transparency works nicely with html.

./wav2png --foreground-color=ffb400aa --background-color=2e4562ff -o ./examples/example1.png baked.wav


You can make the waveform fully transparent and stick another image in the background. Hint: try a gradient here.

./wav2png --foreground-color=00000000 --background-color=2e4562ff -o ./examples/example2.png baked.wav


Or you can just use the foreground color and make the background transparent

./wav2png --foreground-color=2e4562ff --background-color=00000000 -o ./examples/example3.png baked.wav


wav2png also works nicely with short samples…

./wav2png --foreground-color=2e4562ff --background-color=00000000 -o ./examples/example4.png short.wav


…and with very short samples. In this case, the audio file had only 12 samples

./wav2png --foreground-color=2e4562ff --background-color=00000000 -o ./examples/example5.png sine.wav


You can also use decibels as units.

./wav2png --foreground-color=ffb400aa --background-color=2e4562ff -d -o ./examples/example7.png music.wav


And you can supply min and max values when using the db scale to better visualize you content.

./wav2png --foreground-color=ffb400aa --background-color=2e4562ff -d --db-min -40 --db-max 3 -o ./examples/example8.png music.wav


Note, that you can easily adjust the color of the waveform by changing the background behind it. But you can also specify colors via --foreground-color and --background-color.

Also gradient overlays and backgrounds look nice.