An experimental template with an interactive old school record player powered by the Web Audio API.

Today we’d like to share an experimental old school record player template with you. The idea is to tap into the incredibly awesome Web Audio API and see what we can do with it. The demo starts with an initial grid view, powered by Masonry. Once a grid item is clicked, a circle expands and covers the grid, revealing the selected album. Now we are in a slideshow view where we can browse through the records. Once we hit the play button, we load the songs of the record and then show the record player. The tonearm of the record player moves to the right position and the music starts playing. Each record has songs associated to each side of the LP and we can drag the tonearm to play from a certain position. Additionally, we can add some playful effects, like the scratchy vinyl noise or some acoustic impulse responses.

Attention: This demo is highly experimental — fearless browsers only!

Let’s have a look at the different views for this demo.

The initial view is the Masonry-powered grid that has some item offsets for an asymmetric look:

Once a grid item is clicked, we show the single record with a Material Design-like effect of an expanding circle that hides the grid:

The single record view is a slideshow where we can navigate between the records. Once the play button is pressed, we load the songs and show the player:

Credits and Resources

We hope you enjoy this little experiment and find it inspiring!