My Marbles' minor mode is actually dorian 🤔

(I’ve posted about this in the main Marbles thread but I’m starting a separate one because it seems like an unusual case.)

Weird that I wasn’t aware of this before, but in minor mode, my Marbles outputs a major sixth above the root instead of a minor sixth, making it a dorian scale instead of aeolian (natural minor).

[1, 2, ♭3, 4, 5, 6, ♭7, 8]
instead of
[1, 2, ♭3, 4, 5, ♭6, ♭7, 8].

After noticing this, I’ve confirmed it using my Audiothingies CED tuner module. I’ve also tested it with the following settings:

Output voltage range +2   (J-button LED green)
Spread 0                  (fully counter-clockwise)
Steps 2 o'clock           (output quantized to full scale)

I slowly turned the Bias knob from all the way counter-clockwise to all the way clockwise, measured the output on my cheap voltmeter, and noted the values every time it changed. Here they are with the corresponding notes (if C is the root):

0.00   C
0.16   D
0.25   Eb
0.41   F
0.58   G
0.75   A  !!
0.83   Bb
1.00   C
1.16   D
1.25   Eb
1.41   F
1.58   G
1.75   A  !!
1.83   Bb
2.00   C

Compare these values to those in the file on Github:

// C minor
      { 0.0000f, 255 },  // C
      { 0.0833f, 16 },   // C#
      { 0.1667f, 96 },   // D
      { 0.2500f, 128 },  // Eb
      { 0.3333f, 8 },    // E
      { 0.4167f, 64 },   // F
      { 0.5000f, 4 },    // F#
      { 0.5833f, 192 },  // G
      { 0.6667f, 96 },   // G#
      { 0.7500f, 16 },   // A
      { 0.8333f, 128 },  // Bb
      { 0.9167f, 16 },   // B

The value setting the relative importance for each note is higher for G# (96) than it is for A (16), meaning that A should be eliminated from the scale before G#/Ab (turning the chromatic scale into natural minor as you dial Steps from 1 to 2 o’clock).

So… it’s very weird that I’m getting an A (.75) rather than Ab (.66), since the code (correctly) suggests otherwise. @pichenettes, could it be that I have a module with a different (earlier) firmware? I’m pretty sure I’ve never overwritten any scales, but just to make sure I’ve reset the minor scale according to the instructions in the manual before the above test. Incidentally, my major scale behaves entirely as expected.

(Of course, to get a natural minor scale I can just tune my oscillator to a fifth below the root note I want (or use a precision adder to transpose Marbles’ output, as @donrock suggested).)

There’s a really simple fix: record a new minor scale!
Btw one really cool thing is the “note carving”. By recording a new scale you can determine which notes should have more weight (by playing them more often). So do record your own scales, it’s worth it!

1 Like

Yes, I’m looking forward to exploring that side! I’ve already experimented with live external input processing, but with custom scales, combined with manipulating the Steps knob, the possibilities seem endless.

Émilie confirmed in the main Marbles thread that the anomaly in the minor scale was a known “bug” in earlier firmware. I think I’ll upgrade to 1.1 to get the default vanilla minor scale to fall back on, so I can use scale recording for more exotic stuff.

Not that an upgrade won’t magically change the scale (the module has no way of knowing that it’s not your own data!). You have to reset the scale to factory default to write the correct data in.

Oh, right, that makes sense. Thanks again!