Taming TriplePlay

08.02.15

When I frist tried my new TriplePlay I got really excited, MIDI tracking seemed really great, including slides and bends, chords, muted notes... Quick, let's plug it into Whole-Play and... well, what about all these odd results? Harmony detection (which I'm working on at the moment) is all over the place. Beat detection has lost a lot of its accuracy. Oh oh... no panic, let's figure out what's going on. And since right now I'm in a wondeful personal music retreat with nothing to do except music, this is the perfect relaxed and focused environment to tackle this. :)

It turns out that there's quite a lot of false notes being triggered by TriplePlay. A bit of investigation revealed that many come from noises made while playing by muting/resting the right hand on the strings. These get translated to very odd notes that have nothing to do with what's being played. Most of these notes wouldn't be noticeable if I was using the MIDI data to trigger an external synth because they are very short and/or low volume. But feeding them to the analysers in Whole-Play really throws results off.

Step one was to find the simplest bending mode in the TriplePlay, which removes the complexity of continuous controllers and just gives me new pitches by steps. Step two was to tell the Entity Analyser to skip very soft/short notes (this is the component of Whole-Play responsible for receiving incoming MIDI and translating it to notes and chords). But this didn't work so well, still lots of false triggers! The conflicting areas are:

  • Bends
  • Slides
  • Trills, mordents, appogiaturas..

The problem with the above, particularly with bends and slides, is that any intermediate notes, which are not really relevant from a harmonic point of view, are still being triggered as MIDI notes, completely messing up results. For example, a slide C to D would send three MIDI notes: C+C#+D. Longer slides get even more interesting, because some of the steps might be missing (maybe they're too quick or too soft to be picked up by TriplePlay). So sliding from C to G could yield various results: C+C#+D+F+G, C+C#+D#+F+F#+G, etc. This kind of data makes harmonic analysis impossible. I was hoping to be able to detect that it's a slide because it moves by semitones, but the missing steps make this also complicated.

The solution I've found I call SuperEntities. A SuperEntity is a note or a chord, with or without ornaments. So for example the C-D slide above would be represented by a SuperEntity consisting of note D and ornaments C and C#. This means that now I can perform analysis on the notes only (bypassing ornaments) and get more accurate results, both rhythmically and harmonically. Well, that was the plan, and it seems to be a good plan because after my initial tests results have improved a lot. Which means now I can use my guitar with Whole-Play with very reasonable accuracy. :) It's not perfect, still get the odd false positive, and sometimes I might be missing important information by simplifying things this way. But it seems to be a good approach and works quite well. TriplePlay is now my bitch. :)

0 comments

Add a comment


[ change image ]

PS: no links allowed in comment.


End of page. Back to page navigation.