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
- Acoustic impulse response data from OpenAIR: The Open Acoustic Impulse Response Library licensed under Attribution Share Alike Creative Commons license
- Abbey Load by Stuart Memo licensed under MIT
- Audio visualization made with Visualizations with Web Audio API and Voice-change-o-matic
- Animations powered by Michael Villar’s Dynamics.js
- All remixes by Ivan Chew © 2016 Licensed under a Creative Commons Attribution (3.0) license CC BY 3.0 . More free remixes: http://dig.ccmixter.org/free
- Vinyl NoiseSFX by Chia: All the sounds included in Vinyl Noise SFX have been recorded and edited by Chia. These samples are the property of Chia and they are hosted on 99Sounds with his permission. You are hereby granted a license to use these samples for both non-commercial and commercial purposes, provided that the samples are not used as part of another sample library or a virtual instrument.
- Records icon made by Madebyoliver from www.flaticon.com , licensed under CC 3.0 BY
- Stadium, cathedral, guitar icons made by Freepik from www.flaticon.com , licensed under CC 3.0 BY
- Getting Started with Web Audio API by Boris Smus on HTML5Rocks
We hope you enjoy this little experiment and find it inspiring!