Doing some holiday shopping? Please check here for shipping deadlines to make sure your order arrives in time.


The server generated music of sparkfun.com

Favorited Favorite 0

A few years ago while working at a small community college in Michigan, I came up with a method to generate simple free form music from web site traffic. At the time, the college's web site did not receive much traffic, so the result of the experiment was a little disappointing and I ended up abandoning the idea. I revisited the idea last year when I learned of SparkFun system administrator Ben LeMasurier's work on an event broadcast daemon called blode.

Blode is a Node.js daemon that runs on one of SparkFun's web servers and allows developers to broadcast syslog style events to an arbitrary amount of TCP or WebSocket  connected clients. Events can be pushed as JSON from any TCP, UDP, or HTTP connection to the blode listener, which then rebroadcasts the event to all of the connected clients.

blodeJazz is a Node.js blode client that parses the stream of events sent from sparkfun.com's web servers and turns those events into Open Sound Control messages which correspond to notes in the current key of a jazz chord progression. These OSC messages are then parsed in Max/MSP and sent as MIDI notes to a software synth for playback. Max/MSP also handles forwarding the OSC messages to a monome 256 and arc 4 for display, and also handles the arc 4 and 256 user interaction.

There are three type of events that blodeJazz currently listens to:

  • Product View - plays a melody note and triggers a falling animation on the monome 256
  • New Order - plays a bass note and causes the third ring on the monome arc to pulse
  • Login Attempt - moves the selected chord progression one step forward, plays the new chord, and causes the fourth ring on the monome arc to pulse

The current key, the current progression and the speed of the falling note animation are all controlled by the monome 256 and monome arc.

I started a KickStarter project to help fund a limited run of blodeJazz 7" translucent red vinyl records. Side A will feature music generated during a normal business day, and Side B will feature music generated under the heavy server load of Free Day 2012. Watch the video above to see examples of the music that will featured on the record. 

Comments 49 comments

  • My Ears are dying of awesomeness

  • SparkFun.coolness++; // Backed

  • Backed! Awesome for just leaving on the record player while ya do stuff around the house.

  • This really works! I just opened up like 100 tabs of product pages and the notes started going off like crazy.

    That, or it's just my imagination.

    • It works, but you just have to keep in mind that Ustream has a buffer delay of a few seconds.

    • That's what happens anytime something responds to people on the internet. There was this project on HaD where a M&M would dispense from a machine every time someone tweeted a certain phrase. So of course I tweeted it 20 times...

  • log out log in log out log in log out log in log out log in log out log in log out log in log out log in log out log in log out log in log out log in log out log in log out log in woooooo

  • Awesome and very interesting to listen ! :)

    it's very sad that i dont have a vinylplayer at home :S Have you thinked about adding in kickstarter a digital copy of it ?

    i will back you for sure if you do this!

  • BACKED! I don't have a record player, but I love the look of this record, and got the sheet music pack so that I can have it framed like a gold record. After framing, I plan to use the MP3 shield to add a button to the frame that will allow me to play whatever you have available for download. That would be awesome.

  • Early development for next years Free-Day dance party :)

  • Sounds kind of like the in-game music in Minecraft.

  • Ok... Is my memory failing me or is this the sort of piano music that used to play while Mr. Rogers was showing a video segment oh so many years ago? Cause that's what I'm imagining as I listen...

  • Hey Todd have you plan to make BlodeJazz always open ( for streaming ) on sparkfun server ? ( Or on an other server )

  • This got backed pretty quickly. I'm excited!

  • Hi Todd! This blodeJazz thing of yours inspired me to do a "slightly" less sophisticated Netduino version Would be really cool if you took a look!

  • Hey Todd, nice job on the blodeJazz. I'm thinking of adapting the progression and chord sequence for the sparkfun musical instrument breakout board.... porting it to arduino, that is. I'm curious to know if you've already done something like this so I don't do something that's already out there. thanks in advance.

    • I have the same concepts written as a C++ object, which should work with Arduino. I will try to find it, clean it up, and put it on GitHub this weekend.

  • I would vote for ditching the animated gifs, personally. I would much rather watch a video than a poorly played, distracting animation that loops over and over.

    Otherwise, cool hack!

  • Now if you just could pipe this music into the elevator...

    or the Time Out Room�

    You would have people so relaxed there would be no more stress at Sparkfun�

    Image if you put this music on the phone� Better not do that, people would just call so they could fall asleep.

  • No more streaming ? :(

    i've studied all day with this music ! (ho by the way this is awesome) Plan to bring it back ? :D

  • Wow, no disrespect here but a company that prides itself on it's success and gives back to it's customers with a $200,000.00 free day doesn't need to be using Kickstarter.

    • This is Todd's (awesome) project that was used for Free Day 2012, but the Kickstarter campaign is not affiliated with SparkFun. That being said, we want to support our employees and many of us are backing his project because we want the delicious red vinyl.

    • I disagree. Crowd sourced funding is quickly changing the game, now people on the interwebs can actually get something completely unmarketable created if only enough people want it made, aka this ridiculous vinyl album from Sparkfun. With the all or nothing funding at Kickstarter this is a perfect project to make sure the creator doesn't lose money.

      • Humm, kinda sounds like "pre-Order" to me. They can simply state "If we get enough orders we will produce it".

        I simply feel that Sites like KickStarter should be left to those who can't afford to do it on there own and actually need community support to launch their idea/product. It shouldn't be used to eliminate all risk/liability to an already established company.

        • There is a large upfront cost to make vinyl and since this was a personal project I didn't feel comfortable asking for funding from SparkFun. I had no idea how many people would be interested in vinyl (even though I am), and the project still may not reach its funding goal. I feel that KickStarter was a great option for this project.

  • Any idea how to listen to it under Firefox when you can't get Flash to work? The Ustream feed is just a black rectangle, and the one at the top says "Curses! Please switch to a browser that provides native H.264 support". Maybe a YouTube video? Most of them work fine.

      • Thanks for the suggestion! Unfortunately that says "Blast! Please switch to a browser that provides native H.264 support" as well. It said I could log in to download it so I signed up for an account, but now it says "Sorry, not available for download" :-(

        • I am guessing that you need to upgrade Firefox or disable add ons. All current browsers should work with Vimeo.

          • I just upgraded to Firefox 13.0a2 but no change. AFAIK Firefox doesn't natively support H.264 video due to patent issues, so the only option to watch those videos in FF is to run Flash. Shame. Anyone have a YouTube link or an .ogg download I can listen to instead? Even downloading the H.264 video would be fine, then I can watch it in mplayer.

            • Sorry, my mistake. I just changed the settings so you should be able to download the source video from the vimeo link.

  • It's like a bunch of monkey's hitting a keyboard, except it is more controlled and sounds a lot better.

  • I would love to see this as a Facebook Application, mixing Sparkfun.com traffic with Sparkfun's Facebook Page traffic. And then, give us a Smartphone App to download and execute where we could select 'Sparkfun website traffic', 'Facebook Page traffic' or 'Dual Traffic Mashup'

  • I don't know, I just hear it as prettier noise.

    Though I can certainly appreciate the tech behind it.

    Sorry I have call I'm as I see um.

  • This is cool, clicking the login button multiple times really fast makes a bunch of chords a few seconds later.

Related Posts

Recent Posts


All Tags