Archive for category code

Have a Very Nestive Christmas

We are approaching peak Christmas music season. That means that many of us are getting really sick of hearing the same Christmas songs over and over.  One can only hear Bing Crosby’s White Christmas so many times before measures must be taken.  To remedy this situation,  this morning I created a quick web app that  let you chose from among a number of different Christmas genres (from classical to heavy metal) to let you add a little variety to your Christmas mix.  If you are getting weary of the Christmas standards, but still want to listen to Christmas music, you may want to give it a try:  The Christmas Playlister

ss

3 Comments

Attention Deficit Radio

This weekend, I’ve been in London, attending the London Music Hack Day. For this weekend’s hack, I was inspired by daughter’s music listening behavior – when she listens to music, she is good for the first verse or two and the chorus, but after that, she’s on to the next song. She probably has never heard a bridge.  So for my daughter, and folks like her with short attention spans, I’ve built Attention Deficit Radio. ADR creates a Pandora-like radio station based upon a seed artist, but doesn’t bother you by playing whole songs. Instead, after about 30 seconds or so, it is on to the next song. The nifty bit is that ADR will try to beat-match and crossfade between the songs giving you a (hopefully) seamless listening experience as you fly through the playlist. Of course those with short attention spans need something to look at while listening, so ADR has lots of gauges that show the radio status – it shows the current beat, the status of the cross-fade, tempo and song loading status.

Attention_Deficit_Radio

There may be a few rough edges, and the paint is not yet dry, but give Attention Deficit Radio a try if you have a short listening attention span.

,

3 Comments

Swap the Drop

I’ve been in Helsinki this weekend (which is not in Sweden btw) for the Helsinki Music Hack Day.  I wanted to try my hand at a DJ app that will allow you to dynamically and interactively mix two songs.  I started with Girl Talk in a Box, ripped out the innards and made a whole bunch of neat changes:

  1. You can load more than one song at a time. Each song will appear as its own block of music tiles.
  2. You can seamlessly play tiles from either song.
  3. You can setup branch points to let you jump from an point in one song to any point in another (or the same) song.
    Swap_the_Drop_for_Kill_EVERYBODY_by_Skrillex
  4. And the killer feature – you can have two active play heads  allowing you to dynamically interact with two separate audio streams.  The two play heads are always beat matched (the first play head is the master that sets the tempo for everyone else). You can cross-fade between the two audio streams – letting you move different parts of the song into the foreground and the background.

All the regular features of Girl Talk in a Box are retained – bookmarks, arrow key control, w/a/s/d navigation and so on.  See the help for more details on the controls.

You can try the app here:  Swap the Drop

, ,

Leave a comment

PAPPA – Paul’s Awesome Party Playlisting App

For my Boston Music Hack Day hack I built Yet Another Party Playlisting App (YAPPA), because the world needed another party playlister – but really, I built it because I needed another hack, because 15 hours into the 24 hour hackathon I realized that my first hack just wasn’t going to work (more on that in another post). And so, with 9 hours left in the hack day, I thought I would try my hand at the party playlisting app.

The YAPPA is a frequently built app. In some sense one can look at the act of building a YAPPA as a hacking exercise. Just as a still life painter will practice by painting a bowl of fruit, or a pianist will practice scales, a music hacker can build their hacking muscle by creating a YAPPA.

The essential features of a YAPPA are straightforward – create a listening experience for a party based upon the tastes of the guests.  Allow guests to suggest music for the party, apply some rules to select music that satisfies all the guests, and keep the music flowing.

With those features in mind, I created my party playlisting app. The interface is dead simple – guests can add music to the party via the master web interface or text the artist and song from the mobile phones to the party phone number. Once the party has started, PAPPA will keep the music flowing.

WSIW_-_Avicii-2

The key technology of PAPPA is how it picks the music to play next. Most YAPPAs will try to schedule music based on fairness so that everyone’s music taste is considered. Some YAPPAs also use song attributes such as song hotttnesss, song energy and danceability to make sure that the music matches the vibe of the party. PAPPA takes a very different approach to scheduling music. That’s because PAPPA takes a very different approach to parties. PAPPA doesn’t like parties. PAPPA wants everyone to go home. So PAPPA takes all of these songs that have been carefully texted to the party phone number, along with all the artist and song suggestions submitted via the web and throws them away. It doesn’t care about the music taste of the guests at the party. In fact it despises their taste (and the guests as well). Instead, PAPPA selects and plays the absolute worst music it can find. It gives the listener an endless string of the most horrible (but popular) music. Here’s a sample (the first 3 songs are bait to lure in the unwitting party guests):

  1. Royals by Lorde
  2. Levels by Avicii
  3. Blurred Lines by Robin Thicke
  4. #Twerkit featuring Nicki Minaj by Busta Rhymes
  5. From The Bottom Of My Broken Heart by Britney Spears
  6. Amigas Cheetahs by The Cheetah Girls
  7. Do Ya Think I’m Sexy by Paris Hilton
  8. Incredible by Clique Girlz
  9. No Ordinary Love by Jennifer Love Hewitt
  10. Mexican Wrestler by Emma Roberts
  11. I Don’t Think About It by Emily Osment
  12. A La Nanita Nana by The Cheetah Girls
  13. Don”t Let Me Be The Last To Know by Britney Spears
  14. Wild featuring Big Sean by Jessie J
  15. Heartbeat (Album Version) by Paris Hilton
  16. Love The Way You Love Me by The Pussycat Dolls
  17. When You Told Me You Loved Me by Jessica Simpson
  18. Jericho by Hilary Duff
  19. Strip by Brooke Hogan
  20. Pero Me Acuerdo De Tí by Christina Aguilera
  21. Bang Bang by Joachim Garraud
  22. Right Now featuring David Guetta (Sick Individuals Dub) by Rihanna
  23. Wilde Piraten by The Cool Kids
  24. Friend Lover by Electrik Red
  25. Betcha Can’t Do It Like Me by D4L
  26. Who’s That Girl by Hilary Duff
  27. Get In There, Frank! by Fun
  28. Hold It Don”t Drop It by Jennifer Lopez
  29. Sweet Sixteen by Hilary Duff
  30. Live It Up featuring Pitbull by Jennifer Lopez
  31. Freckles by Natasha Bedingfield
  32. I Want You by Paris Hilton
  33. Hold It Close by Fun
  34. Magic by The Pussycat Dolls
  35. How To Lose A Girl by Mitchel Musso
  36. Fairy Tales by JoJo
  37. Slow It Down featuring Fabolous (Album Version (Explicit)) by The-Dream
  38. Mr. Hamudah by Charles Hamilton
  39. Promise by Vanessa Hudgens
  40. Metamorphosis by Hilary Duff

How does PAPPA find the worst music in the world?  It looks through all the data that The Echo Nest is collecting about how people experience music online to find the songs that have been banned frequently. When a music listener says “ban this song” they are making a pretty strong statement about the song – essentially saying, “I do not ever want to hear that song again in my life”.  PAPPA finds these songs that have the highest banned-to-play ratio (i.e. the songs that have been proportionally banned the most when play count is taken into consideration) and adds them to the playlist. The result being a playlist filled with the most reviled music – with songs by Paris Hilton, Jennifer Love Hewitt and the great Emma Roberts. The perfect playlist to send your guests home.

At this moment, lets pause and listen to the song Mexican Wrestler by Emma Roberts:


What happens to all those carefully crafted text messages of songs sent by the guests?  No, there’s no Twilio app catching all those messages, parsing out songs and adding them to a play queue to be scheduled. They just go to my phone. That’s so if people are not leaving the party fast enough, I can use all the phone numbers of the guests to start to text them back and tell them they should go home.

photo-10

By the way, if you look at the songs that were texted to me during my two minute demo you’d realize how fruitless a YAPPA really is. There’s no possible way to make a party playlist that is going to satisfy everyone in the room. Tastes are too varied, and there’s always that guy who thinks he is clever by adding some Rick Astly to the party queue. Here’s what was texted to me during my two minute demo:

  1. Gregory Porter – be good
  2. Rebecca Black – It’s Friday
  3. Weird Al Yankovic – Fat
  4. Lady Gaga – Applause
  5. Weird Al Yankovic – Amish Paradise (from a different phone number from the other weird Al fan)
  6. Ghostbusters
  7. boss ass bitch
  8. Basement Jaxx raindrops
  9. John Mayer your body is a wonderland
  10. jay z holy grail
  11. Underworld spikee
  12. wake me up
  13. Britney Spears – Hit Me Baby One More Time
  14. Slayer War Ensemble
  15. Bieber baby
  16. KANYE
  17. Royksopp
  18. Ra Ra riot
  19. Rick Astley
  20. Mozart
  21. OSM
  22. Mikey Cyrus
  23. Hi paul
  24. Stevie wonder overjoyed

Imagine trying to build a party playlist based upon those 24 input songs. Admittedly, a hackathon demo session is not a real test case for a party playlister but I still think you’d end up with a terrible mix of songs that no smart algorithm, nor any smart human, could stitch together into a playlist that would be appropriate and pleasing for a party.  My guess is that if you did an A/B test for two parties, where one party played music based upon suggestions texted to a YAPPA and the other party played the top hotttest songs, the YAPPA party would always lose. I’d run this test, but that would mean I’d have to go to two parties. I hate parties, so this test will never happen. Its one of the flaws in our scientific method.

Who are the worst artists?
Looking at the PAPPA playlists I see a number of recurring artists – Britney Spears and Paris Hilton seem to be well represented. I thought it would be interesting to create a histogram of the top recurring artists in the most banned songs list.  Here’s the fascinating result:

PAPPA_-_Paul_s_Awesome_Party_Playlist_App

One thing I find notable about this list is the predominance of female artists.  Females outnumber males by a substantial amount.  Here’s some pie:

PAPPA_-_Paul_s_Awesome_Party_Playlist_App

80% of the most banned artists are female. A stunning result. There’s something going on here. Someone suggested that the act of banning a song is an aggressive act that may skew male, and many of these aggressively banning males don’t like to listen to female artists. More study is needed here. It may involve parties, so I’m out.

Wrapping it all up

I enjoyed creating my PAPPA YAPPA. Demoing it was really fun and the audience seemed to enjoy the twist ending.  The patterns in the data underlying the app are pretty interesting too. Why are so many banned songs by female artists?

If you are having your own party and want to use PAPPA to help enhance the party you can go to:

                     static.echonest.com/pappa/?phone=603+555+1212 

Just replace the phone number in the URL with your own and you are good to go.

PAPPA - Paul's Awesome Party Playlisting App - Ruining parties since 2013

PAPPA – Paul’s Awesome Party Playlisting App – Ruining parties since 2013

, , , , ,

1 Comment

Dogstep

For my Malmö Music Hack Day hack I built an app called Dogstep. Dogstep takes any song and re-renders it such that a pack of dogs harmonizes along with the song.  It was a lot of fun to build and I was rather pleased with the results.  You can try the app out yourself: Dogstep.

Seven_Nation_Army_by_The_White_Stripes_dogstep_

I got to try a few new things on this hack. First, off I needed some good dog sounds. I found all I needed and more at Freesound.org. What a great resource that is! I then needed to process the barks (trim them, pitch shift them, volume-equalize ). For this I used Audacity. It was way easier to use than garageband and it has all the audio filters that I needed (including the awesome Paul’s stretch we can make any howl sound like a banshee from hell).

To create realistic and varying barking, I created a barking state machine, where each state in the machine represents the barking activity for a bar in the song and each state has a set of transitions to other states in the machine governed by a probability that that transition will be taken.  When a song is playing, I use the state machine to pick the state for the currently playing bar and emit the barking audio at the right times within the bar.  Here’s a visualization of the barking state machine:

barkstates.gv

In addition to these barks, I look for the loudest parts in the songs and add a bunch of extra howling at these peak moments.  Finally, I use the Stylophone play-along algorithm to have one of the dogs try to sing along with the melody.

Creating this state machine was really fun. There’s still a few bits that I want to do – such as having separate state machines for different parts of the song – i.e. a state machine when the song is very quiet vs. one when the song is loud and energetic.  A hack is never really done.

The source for the hack is on github.

4 Comments

Getty Images and The Echo Nest

This week, The Echo Nest and Getty Images announced that they were partnering to make thousands of high quality artist images available for developers through The Echo Nest API. Getty Images has spent years building an amazing library of artist images and now, as a result of this partnership, it is easy for developers to use these images in music apps.

I took the new Getty Images API for a spin and built a couple of apps that show how easy it is to build an Echo Nest app that uses the images. First, I built an app that shows images of the top hotttest artists:

Echo_Nest___Getty_Images_demo

 

 

Next, since Getty Images has some really awesome images going back to the classic rock era, I adapted my app to show some Getty Images for some of our top classic rock artists:

 

 

Echo_Nest___Getty_Images_demo-2

We’ve extended our image API to return additional information with the Getty images. There’s image attribution information, image size information, and some curated image tags that you can use to select the best image for your app. Tags include landscape, portrait, black-and-white, solo, award, performance, color and many more.

The Getty Images are really top notch.  It’s a great addition to The Echo Nest API. I’m excited to see how developers will use this asset.

, ,

3 Comments

Passive-aggressive playlisting

On Friday evening at the Tufts hack I made a little Python script that makes playlists with an acrostic messages embedded in them. I enjoyed the hack so much that I spent a few hours turning it into a web app. This means that you don’t have to be a Pythonista to generate your own acrostic playlists.

The app, called Acrostic Playlist Maker, lets you select from a handful of genres and type in your ‘secret’ message.

Acrostic_Playlist_Maker

When you hit the button it will generate a playlist where the first letter of each song in the playlist spells out the message.

Acrostic_Playlist_Maker-2

You can listen to the music in the playlist by clicking on any song, and you can save the playlist back to Rdio.

I_hate_country_music_–_Rdio

Anyone who works in music tech has probably been called upon to ‘do the music’ at some social event. Now with the Acrostic Playlist Maker you can can make those playlists, while secretly expressing how you really feel.

Leave a comment

The Ultimate List of Music APIs

I’ve started to build the ultimate list of music APIs. My goal for the list is for it to be a one-stop spot to find the best music apis. Currently 65 APIs are listed across 10 categories. Check out the list here: Music APIs

music-api-logos-small

, ,

3 Comments

Music Hack Day NYC

Music_Hack_Day_NYC_-_Splash

Music Hack Day NYC has just wrapped up, and what a great weekend it was!. Hosted at Spotify’s spiffy new headquarters in midtown, Music Hack Day NYC was the place to be if you are passionate music, technology and building stuff. During all night Friday and all day Saturday, hundreds of hackers used music APIs from companies like The Echo Nest, Soundcloud, Gracenote, Rdio and of course Spotify, to build next generation music apps.

spotify_entrance

It was a really fun event. The Spotify headquarters are perfect for hacking. Flawless and apparently limitless wifi/bandwidth, awesome A/V setup, and great sound for an unending social hacking playlist.

hackers-lg

Over the course of about 20 hours of hacking, 36 hacks were built and demoed.  There was quite a range of inventive hacks. Some of my favorites:

EERFY
The crowd favorite was Oscar Celma’s extremely clever EERFY – He solved the Music Industry Problem in 24 hours by turning it upside down with EERFY:

halfstep
Another favorite was Leo and Jason’s halfstep –  a chrome extension that motivates you to move more. How? If you only moved 20% of your movement goal yesterday, then halfstep will also let you listen to first 20% of any songs today. Check out the screencast of their hack.

Screenshot_10_21_13_12_27_PM

PartyOutlook
There were lots of great Echo Nest hacks including the Echo Nest prize winner partyOutlook by Matt Egan. PartyOutlook is a CocoaLibSpotify powered iPad jukebox that accepts tracks via the Twillio API and displays real-time information about the life of the party using Echo Nest song data. Allows an administrator to pause and play music, as well as skip tracks.

EFudpJI

TuneTravelr
Another really neat Echo Nest hack was TuneTravelr created by Chris Evans and Joshua Boggs. Tune Travelr  is a web app that  takes cities and locales a well as a time period and returns a  playlist of songs that were hot at the time. It uses the Echo Nest data to leverage some analytic querying, before pipping the results into Rdio’s web API for playback.

TuneTravelr

MoodVenue
MoodVenue used The Echo Nest API to help find out what’s going on tonight based on your mood and location.

Landing_Page___Mood_Venue

Repetition faceoff
Artists fight to the death, using only the sheer repetitive force of their music! By Brian McFee. Brian used the Echo Nest analysis data to build a custom metric for repetition for any song and used that to score songs by the artist for the face-off.

repfaceoff.png__1366×724_


Cheese Tray
A novel use of The Echo Nest API was Cheese Tray – A  Spotify app that takes selects randomly from among your Spotify playlists and analyzes it. It then adds to that playlist a song that best represents the average attributes of the playlist, as given by The Echo Nest API. Then, via SMS through the Twilio service, it sends a command to your Android device that changes its background to the album artwork for that average song.

logo (1)

Songs About
Uses wikipedia articles titled ‘List of songs about…” to generate Spotify/Rdio playlists about different subjects/places. Songs about used The Echo Nest’s Rosetta Stone to get the song IDs for playing in Spotify and Rdio.

Topics_and_Edit_Post_‹_Music_Machinery_—_WordPress-2


Awesome Chart Explorer

This is my hack. A visualization that lets you explore and listen to 50 years of Billboard charts.
ss

ccRex
Upload a song, ccRex’ll fetch Creative Commons music to match using Echo Nest song attributes to determine the best match.

CCREX

Other nifty Echo Nest hacks:

  • opporTUNEcontext dependent playlisting based upon weather, activity, location, time of day and your favorite genresopporTUNE____Music_Hack_Day_NYC_2013____Hacker_League
  • crowdPlay – an SMS enabled party playlisterCrowdPlay_-2
  • BPM Reader –  an app that updates a playlist in real-time based on user keyboard input correlated to BPM. Tap in your beat, and generate a playlist of songs with that rhythm.facemelter.neocities.org
  • Moody calls – Get a phone call with a song that matches your moodMoodyCalls
  • Spotify V. Rdio -Pitting the two music platforms against each other using your listening history
    .
    Spotify_v._Rdio-2
  • Perl client for the Echo Nest – Ajax built a library that provides support for nearly all of The Echo Nest API features.
    trs-80_WWW-TheEchoNest

All in all, it was a great event with lots of awesome, innovative hacks and lots of smart people. A good time was had by all.  Thanks to Spotify and @mager for organizing the event. Well Done!

Andrew_Mager_-_SXSW_2010___Flickr_-_Photo_Sharing_

Leave a comment

The Awesome Chart Explorer

I just finished coding up my Music Hack Day NYC hack called The Awesome Chart Explorer. It’s a web app that combines Billboard and Echo Nest data into a visual wonderland. (yes, I’m a little tired). Check it out here.  Almost time to give the demo, so more about the tech behind the hack later on.

ss

,

1 Comment

Follow

Get every new post delivered to your Inbox.

Join 1,004 other followers