The Disintegrator
May 21, 2014 6:40 PM Subscribe
The Disintegrator
The disintegrator lets you select any valid audio file from your library (MP3, wav etc) which is supported by your browser. Once you click play the distortion level continually increases until you're left with a beautifully distorted cacophony!
I've been getting more and more into Web Audio with HTML5/javascript and coded up this random project as a quick demo. Code snippets provided in the post and source code linked!
The disintegrator lets you select any valid audio file from your library (MP3, wav etc) which is supported by your browser. Once you click play the distortion level continually increases until you're left with a beautifully distorted cacophony!
I've been getting more and more into Web Audio with HTML5/javascript and coded up this random project as a quick demo. Code snippets provided in the post and source code linked!
Role: Programmer/Author
This project was posted to MetaFilter by cortex on May 25, 2014: Recreational Music Destruction
Yup, I basically spent my day yesterday listening to random songs being distorted while I worked. Britney, Bach, Mozart, Metallica, Queen, The Beatles and Sigur Ros all got that treatment and it's a lot of fun.
The real-time effects is on my to-do list, which should be easily possible (there are a few such as pedalboard.js that are meant to do realtime processing of external audio inputs). My intermediate next step is to do real-time processing of audio from youtube videos.
posted by TwoWordReview at 2:34 PM on May 22, 2014
The real-time effects is on my to-do list, which should be easily possible (there are a few such as pedalboard.js that are meant to do realtime processing of external audio inputs). My intermediate next step is to do real-time processing of audio from youtube videos.
posted by TwoWordReview at 2:34 PM on May 22, 2014
I think I just immanentized the eschaton a bit by running the Jesus & Mary Chain's Upside Down through it.
posted by scruss at 6:28 PM on May 22, 2014 [1 favorite]
posted by scruss at 6:28 PM on May 22, 2014 [1 favorite]
Although (since Never Gonna Give You Up is not particularly long) one improvement might be instead of increasing the distortion every second, factoring in song length in one way or another so that all songs are completely unrecognizable by the end.
posted by capricorn at 7:03 PM on May 22, 2014
posted by capricorn at 7:03 PM on May 22, 2014
Yeah that was the way I originally envisioned it but I couldn't figure out how to do the distortion level mapping in a sensible way to match the length of the track. I'll probably tinker with it some more though to do that, since it shouldn't be too difficult.
posted by TwoWordReview at 7:40 PM on May 22, 2014
posted by TwoWordReview at 7:40 PM on May 22, 2014
I'd love a progress bar for the track as well.
It would also be fun to keep these up. Make a site of sound toys.
posted by cjorgensen at 6:04 AM on May 23, 2014
It would also be fun to keep these up. Make a site of sound toys.
posted by cjorgensen at 6:04 AM on May 23, 2014
Fun project -- would only suggest to add an option to speed up disintegration in the middle and keep the existing speed at the beginning and end where it's more noticeable.
posted by michaelh at 12:33 PM on May 23, 2014
posted by michaelh at 12:33 PM on May 23, 2014
Heya, this is awesome and I posted it! Also, possible bug report, my second paragraph here.
posted by cortex at 9:28 AM on May 25, 2014 [1 favorite]
posted by cortex at 9:28 AM on May 25, 2014 [1 favorite]
Poking at which some more, I think it's this: if you hit Play without first hitting Stop, it correctly resets the distortion counter to 0 but appears to start a new incrementation loop (with setInterval I'm guessing) at the moment of Play-clicking without ditching the old one. This mostly becomes an issue when loading up a new song after the previous one's finished playing; the previous music has finished, so there's no clear incentive to hit Stop instead of just loading a file and hitting Play again. So probably if Play just invokes Stop's function just for safety's sake that'd probably resolve it.
posted by cortex at 9:44 AM on May 25, 2014 [1 favorite]
posted by cortex at 9:44 AM on May 25, 2014 [1 favorite]
That's definitely a result of going with the hackier 'just update every second once you hit play' approach instead of taking the track length and end of track into account! Will hopefully be able to fix that too! Cheers
posted by TwoWordReview at 10:21 AM on May 25, 2014
posted by TwoWordReview at 10:21 AM on May 25, 2014
Pretty sure you're right about the 'call Stop function first when you hit Play' solution so I went ahead and added that to hopefully resolve that bug. A quick test seems to confirm that it works better now! Cheers
posted by TwoWordReview at 9:48 AM on May 27, 2014
posted by TwoWordReview at 9:48 AM on May 27, 2014
Yay! I'm gonna put CHVRCHES entire album through it this afternoon, I think.
posted by cortex at 9:55 AM on May 27, 2014
posted by cortex at 9:55 AM on May 27, 2014
Is the site still up? I'm having trouble connecting.
posted by jjwiseman at 2:48 PM on June 27, 2014
posted by jjwiseman at 2:48 PM on June 27, 2014
Apparently I had about an hour of downtime yesterday, but it's back up now! You may have caught it at the wrong time.
posted by TwoWordReview at 2:00 PM on June 28, 2014
posted by TwoWordReview at 2:00 PM on June 28, 2014
« Older Seneca: online giving and volunteering... | I write about monsters in alph... Newer »
posted by bobdow at 2:05 PM on May 22, 2014