Wallπ
From Music Hack Day
Contents |
[edit] Wallπ
Generate posters from your favourite albums
[edit] Creators
Made by @marcohamersma and @janhoogeveen
[edit] About the Hack
Wallπ uses frequency analysis to draw a visual, circular representation of an album. The amount of activity within a frequency is reflected in the density of the color. The colour used to draw the circle is extracted from the cover art. The output file (at the moment) is 3508x4961px, high enough for print. I want this on my wall.
[edit] Technology used
By @marcohamersma:
Some research and a lot of frustration at a previous hackday taught me that there are no good API's for Processing or Javascript which would allow me to get frequency data in a non-realtime fashion, so this time I decided to use The Echonest's segment analysis. The data is not very granular (it only has intensity values for 12 notes, different frequency bands).
The waveform is drawn using Canvas, rendering at 3508x4961px (which according to Photoshop is an A3 paper at 300DPI. After drawing has finished, the image data is base64 encoded and displayed as an image, scaled down by a factor of eight (so it fits). The image can then be exported.
It still needs some tweaking to get better results with very dark or very light album covers, it could also use a better way of getting the data, as you have to manually enter every track title.
By @janhoogeveen:
To work around not being able to get FFT-data in realtime I've used the web-audio API from HTML5 to generate JSON files with FFT data saved. This way the FFT data can be parsed instantly when visualizing the album. The upshot of this technique is the high detail of data. The downshot is you have to manually generate the JSON files with audio data for every song and album you want to visualize.
[edit] Media
By @marcohamersma
High-res images here: https://www.dropbox.com/sh/3c8x5u4qllw0smn/zctdbNkJJi
By @janhoogeveen
[edit] Source Code and Links
Will be pushed to Github
@marcohamersma https://github.com/marcohamersma/wallpi
@janhoogeveen https://github.com/janhoogeveen/album-poster