The Optimal Route on the Concertina [2]

Muphin
2 min readJan 5, 2021

--

Distance Matrix

Let’s say we want to play A->G on the third octave.

If the A3 (note A on third octave) is on button 1, 2 and 3, and G3 is on button 4 and 5, there are 6 possible paths to play A3->G3:

[1,4] [1,5] [2,4] [2,5] [3,4] [3,5]

where [1,4] is playing first button 1, second button 4. You might already notice that this will grow quickly if searching a complete tune.

If [1,4] is an easy step, and [1,5] is not, we prefer the [1,4]. We will need a kind of a score to compare both options, and therefore we calculate a so called Distance Matrix. It describes the level of difficulty to play note on button y after note on button x.

The difficulty of playing note y after note x depends on:

  • stay on the same side (left or right): same side is a tiny little bit easier,
  • stay on the same row: (c, g or top row): I don’t care, no score
  • samefinger, same side = hopping: severe penalty
  • prefer g and c row: g and c row preferred over top row
  • prefer finger: playing on the inside button is good. Therefore a benefit if it’s the first (or second) button on a row
  • switch from push to pull or vice versa: a small penalty
  • same note? than play it on the same button.

Distance from button to button

The lower the value in the distance-matrix, the easier the play from button -> button.

We calculate the score by comparing the two buttons:

  • whether they are on the same side of the tina → sameside(f,t)
  • DELETED:: — whether they are on the same row → samerow(f,t) ::DELETED
  • whether you switch from Push to Pull → ppchng(f,t)

or by the attributes of the next button:

  • which row (top row, c row, g row) → prefrow(f,t)
  • preferred finger is 1, or 2. This will play on the inner buttons if possible → preffing(f,t)

or hopping:

  • samefinger, same side, no switch from push to pull => hopping. Severe penalty → hopp(f,t)

--

--