Investigation of Scaler MIDI and audio detection - Part III

Test III - piano, chords and melodic content

This test involved a piece which was largely melodic, but had chords sketched out at the beginning of each bar. It’s a harder case for any system, but the sort of thing that I suspect @sseltenrych was asking about. It’s still monotimbral.

The files can be found at . | BTinternot as detection-nk

The midi file can be seen at ‘nk dabmg mid piano roll.jpg’ and as a mid at ‘nk dabmg mid’. The audio rendered file is at ‘nk dabmg.wav’.
The chords are pretty clear starting in each bar, but Scaler appeared to flunk the MDI detection - see ‘nk scaler.jpg.’ I may have done something wrong here, but for Scaler it’s “null pwan” as they used to say for Britain every year in the Eurovision song contest (fix!).

BIAB did better ‘nk bb.jpg’, picking up the sequence well enough to generate a pad backing.
Scaler Audio was fed the WAV file, and the results are shown in ‘nk audio detection.jpg’. Here it interpreted 7 out of the 8 bars. Where chords were detected, they were technically correct, but not necessarily the ones one might have chosen for a backing pad.

Feeding the WAV to deCoda produced ‘nk decoda.jpg’. It’s clear that it struggles with anything other than a triad interpretation. However, having said that deCoda has a real place in interpretation, as will be explained later

Test IV - piano melodic content with time variation.

This piece has been chosen as an example of a difficult file to analyse the chordal basis of melody, since there are mostly no chords within it.

The files can be found at . | BTinternot as detection-na (warning >40Mb)

Here, the solo notes defeated (as expected) Scaler’s MIDI detection (‘na scaler a.jpg’). BIAB made a reasonable, ironically probably because of a more naïve interpretation algorithm than Scaler.(‘na bb.pdf’).

Scaler Audio’s detection was more useful that the MIDI detection.

This example shows the issues for MIDI detection. This piece is about as simple as it can be in tune structure, and you can work out what it is, and accompany it in 30 seconds on a guitar using triads.

Part IV will contain some conclusions and some lessons learned by yorkeman in future.


Hi Yorkeman,

I have discovered a way to make use of Scaler’s powerful MIDI chord analysis that overcomes the timing issue.
First, copy the MIDI track to preserve the original notes and timings.
Second, with the copy, quantize all note to fill a beat (or two beats for slower music).
Third, play the MIDI file with Scaler record button on.

The results are an accurate chord analysis of the song, because any notes that were too short
or out of time with other chord notes are now appearing together, which Scaler likes.

I also tried mixing down the audio of a simple song and using the Audio file analysis and the results weren’t accurate, so I will be sticking to the MIDI analysis.

From my small sample so far, Scaler has been 100% accurate, even with 13th chords.