Also see the list of articles, none to be taken seriously.

My silly hack, written and presented at Music Hack Day Boston 2010 last weekend.


1. A problem

For an increasing number of us, the same device we use to play music also handles email and GPS directions. Listen with me for a few moments of my drive.

2. A solution: “In 500 feet...”

Let’s throw a ridiculous amount of technology at it!

We analyze the phonemes of the speech and map each syllable to a MIDI note.


We’ll use Yamaha’s Vocaloid speech synthesizer available as part of the Canoris API to sing the GPS directions, overlaying the lyrics.


3. Another problem: “Keep going straight”

So now we’re listening to the Byrds.

As speech technology improves, this could get confusing.


4. Another solution: Musixmatch lyrics lookup

We’ll look for songs that contain “dangerous” phrases, and just not play them.

Python code listing

5. Technique

The current iteration required hand tweaking to get the timing right, but this is the roadmap:

Extract melody from channel 4 of karaoke MIDI file (.kar)

If no MIDI source available, synchronize syllables to Echo Nest beats, and use root of chord for corresponding timestamp from analysis.

In the future, the same technique could be used to change the lyrics for an entire song.

Stay tuned for more information and source code.

Read and Post Comments

Random notes for Rhode Islanders:

  • 90.3 FM (WRIU) makes a great change from 95.5 WBRU. Even after listening for more than a year, 90.3 still plays lots I haven’t heard before, and their unvarnished DJs are the polar opposites of the annoying ones that used to try way too hard at 99.7 "the edge" (now defunct). Unfortunately, being a small college station, they switch off completely during the summer.

    I can’t quite say that you won’t catch them repeating anything, because one evening last week, they left the same CD shuffling in the player for hours. I heard the exact same songs (Erin McKeown, Distillation) on three separate short car trips over a two-and-a-half-hour period, starting at 6:30 PM. When I was listening at home after 9, a DJ came on and apologized for being a little late.

  • has lots of pictures and background info on the Providence buildings that will be torn down, or have already come down, as a result of the I-195 relocation project. I walk by Thurston Manufacturing (their link) and the former Providence Machine Company (their link, my photo) almost every weekday on the way to lunch.

Read and Post Comments

I went to Jeffrey Siegel’s classical piano concert at RIC last Wednesday, October 23 — the first time I’ve been to a classical concert in a few years. It was part of a series he calls Keyboard Conversations™ (yes, the program always used a trademark symbol; the merchandising may follow) where he talks about each piece before playing it in full, going briefly into interesting bits of context and history, and demonstrating important musical phrases to prime everyone’s ears.

At the beginning, with Fur Elise, which everyone has heard as a recital staple, and Rage over a Lost Penny, which he called Beethoven’s party piece, I thought he might be choosing the songs based more on what he had good stories about than what were Beethoven's best works. But that fear dissolved with the next two pieces.

(Even in classical music concerts, some people still talk as if it were a movie. In his speech before the Moonlight Sonata, which he said was known for breaking the rules, Siegel added that “Beethoven’s audience would have expected a first movement that was happy and lively. First movements are traditionally happy and lively. Without further ado, the beginning of the first movement.” Then during the pause as he prepared to play, a woman behind me notified her husband, loudly and slowly, that “It’s not going to be happy and lively!”)

His aim was to be completely understandable to music novices while still imparting knowledge to musicians, and he was very successful at it. I realized that this ability had parallels with good interface design for computers. He was very careful to avoid musical jargon completely, while remaining interesting to those who knew which words he was avoiding.

An interface design should be understandable to new users without getting in the way of the experts or old hands who already know what’s going on. Same techniques.

Read and Post Comments