Wallπ

From Music Hack Day

Jump to: navigation, search

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 okcomputer.png biopheila.png

High-res images here: https://www.dropbox.com/sh/3c8x5u4qllw0smn/zctdbNkJJi

By @janhoogeveen 1.png 2.png

[edit] Source Code and Links

Will be pushed to Github

@marcohamersma https://github.com/marcohamersma/wallpi

@janhoogeveen https://github.com/janhoogeveen/album-poster

Personal tools