::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact

Chord Shape as Input

February 23rd, 2018
music, tech, ideas  [html]
When I'm playing mandolin, sometimes it would be nice to have a bass player. Nothing fancy, something like hitting every downbeat and playing the same chords as I am. What's interesting is I'm already providing the information necessary for this:

  • The shape of my fingers on the mandolin fretboard indicates what chord I'm about to play.
  • I tap my foot on downbeats.

That is, I'd like to infer the bass note from hand position, and then get the timing and intensity from foot tapping.

I already know how to do the foot portion: I regularly play with something that converts foot tapping to midi, so the tricky part is figuring out which note to play.

There's a lot of research on figuring out chords from audio, but that's not useful to me here. Consider switching from one chord to the next: the soonest you might hear of the new chord is the downbeat, but by that point it's too late to make the bass come out on the right note. Plus, often you want the bass on the downbeat and the mandolin on the upbeat.

What I think could work better is using a camera. The chord shapes I play are very straightforward, and I switch shapes far enough in advance that something could interpret the shape and infer the appropriate bass note to play before I hit the foot trigger.

This might be the sort of thing that deep learning has made a lot easier? Here's how I think training this could work:

  • Set up a camera pointing at the mandolin fretboard.
  • Record a video where you only play variations of the same chord. Say, lots of different things that should all trigger the bass note 'G'. Move around as you do this, trying to get a range of fretboard angles.
  • Record another video where you do the same thing with a different chord.
  • Pull out the frames and label them with which video they came from, train on that.

Alternatively, you could train two networks, one to identify the hand shape, and another to identify the fret that the lowest string is being played at.

People who know more ML than me: is this the sort of thing that actually is relatively straightforward with entry-level tools these days? With enough accuracy that it's not going to play the wrong notes live in an unfamiliar environment?

Comment via: google plus, facebook

Recent posts on blogs I like:

Trip Chaining, Redux

There’s been an ongoing conversation about how public transport can be used for non-work trips (and what it means for women) that makes me go back to something I wrote in 2012 about trip chaining. In that post I asserted a distinction between long and sho…

via Pedestrian Observations June 13, 2019

Unintended pregnancy in folk songs

I’ve been listening to a lot of the Watersons and Waterson:Carthy this week. It’s reminded me how absolutely full British folk music is of songs about unintended pregnancy. Most commonly the result is unhappy motherhood: “But if I had kent that I now ken …

via The whole sky June 1, 2019

Programmer migration patterns

I made a little flow chart of mainstream programming languages and how programmers seem to move from one to another. There's a more common kind of chart, which shows how the languages themselves evolved. I didn't want to show the point of view of …

via apenwarr March 18, 2019

via openring

More Posts:


  ::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact