week 72: small things

– So this is really interesting:  Bespoke controllers.

TWO HOURS from the Paradise Garage closing party.

– In other DJ set news, I am slowly catching up with my massive backlog.  Some highlights have been Deepchord’s RA Podcast anbd the Mr. Sunday Night / Gowanus Grove closing party

– Julia Easterlin put out a summary EP in October:  you should buy it.

week 72: automatic music hackathon

I went to Brooklyn, I went to a hack day, I built a thing called grid, which touches on a few things that I am wrestling with for my master’s thesis.

 

Grid takes an image from Wikipedia, turns that image into, wait for it,  a grid of buttons, and then maps those buttons to pitches, based on the scale that you specify.  The mapping is based mostly on the colour, and slightly on the location of each button in the grid.

pixels

 

Specifically, the mappings are:

  • Colour saturation is volume:  more colourful colours are louder.
  • Pitch class is hue, mapped to the given scale:  hue, like pitch, wraps around.
  • Octave is brightness:  lighter colours play higher octaves.
  • Timbre is the RGB values:  they scale a sine, triangle, and square wave.
  • Filter frequency is diagonal:  the x + y location in the grid.

The synthesis is all done in WebAudio.  This hack would be much more impressive with a good synth behind it, which I will try to build at some point.

This is related to my thesis in terms of converting abstract geometries into mappings.  In this app, the mapping is set, and I’m taking the first steps at going from the Real World to abstract geometry.  It’s probably the simplest abstract geometry possible, but it will do for now.

MMHD

Also, I am going to NYC next weekend for the Monthly Music Hackathon!  The theme is Automatic Music – it’d be great to see you there.

thor vs. the internet

At work, we listen to a lot of music from the internet:  either a paid streaming service, or YouTube.  At home, I listen to lots of music from my harddrive, because I feel that buying music is important.  In addition to streaming services making very little money for musicians, I’ve always been leery of them because I’ve never had that much luck finding techno jams on them.

So, I decided to test it.  I maintain a list of music that I need to obtain.  I ran through the first 200 singles from that through the search function of a streaming music service*, and counted how many tracks the service could play for me.  The results:

Thor:  88 (44%)

Internet:  112  (56%)

Advantage internet – but not by much.  And only being able to hear 56% of the music that I want is not that great –  so I certainly won’t forgo buying music, for now.  I could, in theory, cut my music budget by streaming half of my tunes – but that is not really what I am after.

In defense of the internet, some tracks on that list are vinyl only and are not available anywhere in digital.  I was also surprised that some very rep-heavy techno labels (L.I.E.S., for example) have their catalogs up.  Once someone make a plugin that allows for DJing via streams, we’ll see a very interesting debate, for serious.

*names changed to protect the innocent

romancing the throne

I finished a mixtape about love, for a friend’s wedding.  It is in fact the Mixtape About Love, the canonical, best one, for all time… at least for me.

In an attempt to make music scarce again, this mix is only being distributed as a wedding present (and as a post-dated wedding present) – so you can’t hear it.  You can hear all the tracks that I couldn’t fit in, over at This Is My Jam, over the next month or so.

week 71

Things from the internet:

blend.io is almost my dream app, in terms of being able to make my own custom mixdown of any song.

– OK, the music video for Like A Rolling Stone is actually really good.

– Science Fiction as Interface, on 99% Invisible and on the amazing scifiinterfaces.com.

week 70

Things from the internet:

Rolling Jubilee:  Important, still important.  (I also realized this week that Twitter has been a key influence in pushing me more and more to the left, especially over the last few years.  So it goes.)

The Grand Taxonomy of Rap Names.  Yes.

Soulwax slows down gabber to 115, becomes amazing.  (Look at the dancers, aiiiii!)

week 69.5: elvis by elvis

Ryan Groves and I presented a piece of music at ISMIR this year:  he sang two Elvis Costello tunes, and I synthesized the backing music from beats of Elvis Presley songs.  It was…interesting.  Ryan nailed the performance of the first song, we got a good reception, and it was a far cry from the usual po-faced academic/computer music things that get played at conferences…and then we made the cardinal sin of overstaying our welcome on the second song.  But the first song!  Ah, good times.

So how did we do it?  By combining our respective small pieces of music tech magic.  I maintain the Echo Nest Remix API, which gives us access to timing data for each beat in a song, and Ryan builds harmonizers that can pick chords and chord progressions based on vocal input.

Ryan build his side in SuperCollider and C++:  it listens to his voice, quantizes the harmonic content to the nearest note, and then picks a chord to go with it – based on both the input and the previous chord (Hidden Markov models are involved, if that sort of thing is your jam – his paper is here.).  This chord is sent to my machine as a string, over OSC.

On my  side, I went through the McGill Billboard dataset, and found audio for six Elvis songs that also had timing data for each of their chords.  I then wrote a script using Remix to segment out each beat of each song into a folder – so I ended up with g_major, g_minor, and so on.  Then, for playback, I made a controller in Python that would read OSC from Ryan, validate the chord, and then send another OSC message to ChucK, which would play back the audio.  It sounds a bit like this.

In terms of long-distance collaboration, this worked really well:  we only had one point where our systems had to meet, and that was made simple by OSC – just send or read a chord string, and let the other guy worry about the details.  No word of lie, we got it working on the second try.  (And then almost died when it came time to perform it in the main venue.  If you’re using OSC, always test your work on the network you will be performing on.)

The songs we did were Alison and Pump It Up. I ran levels on both of them, both acting as a live human compressor, and as a kind of attempt to provide rhythm that would match Ryan’s singing, as opposed to the rather…confusing rhythm of the concatenated music.   It sounded like this, and I’m pretty happy with it, really.

The technical side was a resounding success:  we did exactly what we claimed to do, and the network  stood up for the entire performance.  The artistic side could use some work:  it would be nice to follow the signer’s rhythm, take volume and timbre into account, and so on.  I also think that I am over ChucK:  I am tired of having no useful string manipulation and other things that I take for granted in Python.

Hilariously, all of my side could be done really easily in remix.js – so maybe there will be a JavaScript version soon!

week 69: ISMIR

I went to ISMIR, and presented a paper about how DJs select and order tracks, which went pretty well.  Ryan Groves and I also ‘performed’ two Elvis Costello songs, with backing chords from Elvis Presely songs.  We probably should have cut it at one, but the first song (Alison, since you asked) was a big hit.  I’ll have a detailed post about it soon, with audio and hopefully video.

Other ISMIR / Curitiba highlights include:

  • Learning about 72-note-to-the-octave Byzantine chant.  (Maria Pantelli, U Cyprus)
  • Learning about ragtime, Andalusian, Turkish, Carnatic / Hindi, Chilean music from a data perspective.  (Anja Volk, Alastair Porter, Sertan Senturk, Monojit Choudhury, Gabriel Vigliensoni, and many more)
  • Learning about Francois Pachet’s work with “style” and for systems that encourage flow.
  • David Hauger’s Million Musical Tweet Database has potential.
  • I am over trying to machine-learn emotional music.  Just done with it.  The only possible answer is to build a constantly updating neural network for every single person in the world.
  • Some neat stuff on automashups by I-Ting Liu, also by Matthew Davies
  • The band at the reception, Caracoarco, can play.  Likewise the quasi-Celtic band we saw at a random pub.
  • Arne Eigenfeldt’s procedural techno machine is really, really good at drums and bass.  The leads are not there, but it is close
  • Cachaca is delicious and covers far more ground than I thought:  I had apple ones, smoked variations, and so on.
  • Academia is fun, but man, it moves slowly and has too many dudes in it.

 

Much more importantly, I also saw two dear friends get married in Toronto.  All the love to them.

week 68

It was a good week for things.

– My man Nathan Friedman came up to Boston to see a concert of Chaya Czernowin pieces, including the brand new Upstream, which was especially rad.  Well done to the NEC new music group, and to Miss Czernowin.

– Dave Tompkins wrote a gorgeous article about Cybortron’s Enter.

Trevor Jackson and Ata.

– Katie Paterson sent Beethoven’s Moonlight Sonata literally to the moon.

‘Black Midi’ – like The Black Page, but for computers.

– Where does your data go on the Internet?  Will the NSA hoover it up?  Now you can find out, with Border Check.