AudibleInstruments icon indicating copy to clipboard operation
AudibleInstruments copied to clipboard

Marbles: minor scale wrong

Open jpnielsen opened this issue 4 years ago • 2 comments

https://community.vcvrack.com/t/will-marbles-ever-get-fixed/13800/10

There indeed appears to be a discrepancy in the code between the original hardware and the Audible Instruments versions.

The Mutable Instruments code defines the minor scale as following in settings.cc :

// C minor
  {
    1.0f,
    12,
    {
      { 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
    }
  },

While the Audible Instruments code has this in Marbles.cpp :

// C minor
	{
		1.0f,
		12,
		{
			{ 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, 16 },   // G#
			{ 0.7500f, 96 },   // A
			{ 0.8333f, 128 },  // Bb
			{ 0.9167f, 16 },   // B
		}
	},

The note A has the weight 96 that can make it happen occasionally, while the weight 16 in the Mutable Instruments code probably makes it almost never happen. It looks like the weights of G# and A have been swapped in the Audible Instruments code.

jpnielsen avatar Aug 04 '21 15:08 jpnielsen

Confirmed issue in 3363887706d5350911df2b0ca580e06edeb1ae35.

cschol avatar Nov 21 '21 16:11 cschol

$ diff marbles.cpp marbles.cpp.fix

46,47c46,47
<                       { 0.6667f, 16 },   // G#
<                       { 0.7500f, 96 },   // A
---
>                       { 0.6667f, 96 },   // G#
>                       { 0.7500f, 16 },   // A

jpnielsen avatar Dec 05 '21 05:12 jpnielsen