Old School Cassette Player with HTML5 Audio

Vintage format meets modern web tech: an HTML5 audio player with realistic controls. Today we want to share an audio player with you that looks like an old school music cassette.
Old School Cassette Player with HTML5 Audio

From our sponsor: Elevate all your marketing with Mailchimp Smarts.

If you don’t know what a cassette is, you were probably born in the digital high-tech era, an era that is undoubtedly exciting and innovative. On the other hand, if you know what an audio cassette is, you belong to the older generation, the analog dinosaurs that know the painful connection between a pen and a cassette tape.

The invention of the compact cassette tape happened 50 years ago, so it’s time to celebrate:

“In 1962 Philips invented the compact audio cassette medium for audio storage, introducing it in Europe in August 1963 (at the Berlin Radio Show), and in the United States (under the Norelco brand) in November 1964, with the trademark name Compact Cassette.”

Compact Cassette, Wikipedia

Since the old-fashioned cassette player is disappearing, we wanted to commemorate it by sharing an old school cassette player build with HTML5 audio with you. It’s just an experiment and the idea is to imitate the behavior of a vintage cassette tape (play, stop, rewind, fast forward and side switch) and use HTML5 audio. The magnetic tape inside should move as well accordingly. It’s far from being a perfect imitation of the classic cassette tape, it’s really just a fun experiment. You will probably find many bugs!

See the demo Old School Cassette Player with HTML5 Audio

The beautiful cassette tape is by Mauricio Estrella and he shares his pixel-perfect PSD here:
Cassette – PSD File by Mauricio Estrella

The songs in the demo are by the highly talented Blue Ducks and Blank & Kytt:

The tape sound effects are from Pogotron’s sample on Freesound.org:
Tape Recorder.wav by Pogotron

For the volume control we used the great KnobKnob jQuery plugin by Martin Angelov.

The icon font that we use for the player controls are from the Font Awesome icon font by Dave Gandy and we’ve used Fontello for creating a custom set. The Font Awesome icon set is licensed under CC BY 3.0.

We really hope you enjoy this little time travel, turn your sound on and play with it and tell us if you got nostalgic πŸ™‚

Please note that this is highly experimental and for fun purpose only. There is no fallback for older browsers (irony!) and only super-funky disco moves are allowed! πŸ™‚

Tagged with:

Mary Lou

ML is a freelance web designer and developer with a passion for interaction design. She studied Cognitive Science and Computational Logic and has a weakness for the smell of freshly ground peppercorns.


Stay up to date with the latest web design and development news and relevant updates from Codrops.

CSS Reference

Learn about all important CSS properties from the basics with our extensive and easy-to-read CSS Reference.

It doesn't matter if you are a beginner or intermediate, start learning CSS now.

Feedback 108

Comments are closed.
  1. wonderful idea ! but somehow i deleted your music from /sounds insert my mp3Β΄s
    also changed the line in casette.js

    $.Cassette.defaults = {

    songs : [ ‘track2’, ‘Track14’ ],
    fallbackMessage : ‘HTML5 audio not supported’,
    // initial sound volume
    initialVolume : 0.7

    but when i reload it is only “loading” doesnt start playing ..

  2. mary,

    you leaving me speach less from article to article
    and i have nothing to say anymore, except that you are fu……
    genius !!!!


  3. Amazing experiment. The interface is fantastic. Codrops is the most interesting development blog in the internet. Great work.

  4. That is so sweet – and probably only to us older crew that grew up with those painful lovable machines.
    You just need to implement when they get jammed, chew your tape up and eject it to have a stream of mangled tape everywhere. Luv yr wk

  5. It’s just so amazing, en un mot “GΓ©nial” , Marylou chapeau bas.

    • Stop button is Pause Button… I would change the button Image from Square to || πŸ™‚

  6. Once again! AWESOME. awesome awesome awesome. What does it feel like to be on the forefront of web technology?

  7. Hi MARY LOU…
    the example is awesome. I’ve never imagine that something like this would be exist.
    the audio works great. and cool switch, rewind and FF animation.

    Actually I’m silent reader of tympanus.net. You guys always bring fresh article about web development.

    But, do you guys can make some post about html5 audio player based on jQuery. But just a simple player.
    I do know about jPlayer. But I have no idea to implement it to wordpress theme. (I know there is a jPlayer plugin, but i need to create built in audio player in my wordpress theme).

    Thank you. πŸ˜€

  8. Thank you all for your super-great feedback!! I’m so happy you like it!! xxx ML

  9. Thanks so much for the awesome experiments! It really helps everyone starting out in the development community learn unique ways of creating interactive content. Keep up the awesome work!