Reference Tables

Can anyone link to the naming scheme of the reference tables?

It’s the strangest thing- I don’t remember seeing all these extra scalings that I see today!

And secondly… hmm which one is an 8 note major scale?? I must be being idiot

Is this ER-101 standalone or connected to an ER-102?

Er102 by his side :slight_smile:

The scales (and the script that generates them) included with the ER-102 are documented here:

Chromatic Scales for the ER-102

Execute the script using Python v2.x like this:


python2 generate.py

This will create many XXXX-P.BIN files where XXXX is a (shortened) name for the 4-character display of the ER-102. The -P tells the ER-102 that these are pitch tables (as opposed to just voltage tables).

Here is the list of scales currently created by the script:

  • Chro-P.BIN : Chromatic [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
  • Majo-P.BIN : Major [0, 0, 2, 2, 4, 5, 5, 7, 7, 9, 9, 11]
  • Mino-P.BIN : Minor [0, 0, 2, 3, 3, 5, 5, 7, 7, 8, 10, 10]
  • HMin-P.BIN : Harmonic Minor [0, 0, 2, 3, 3, 5, 5, 7, 7, 8, 11, 11]
  • MMin-P.BIN : Melodic Minor [0, 0, 2, 3, 3, 5, 5, 7, 7, 9, 11, 11]
  • Pent-P.BIN : Pentatonic [1, 1, 1, 3, 3, 6, 6, 6, 8, 8, 10, 10]
  • PNeu-P.BIN : Pentatonic Neutral [0, 0, 2, 2, 2, 5, 5, 7, 7, 7, 10, 10]
  • PMin-P.BIN : Pentatonic Minor [0, 0, 0, 3, 3, 5, 5, 7, 7, 7, 10, 10]
  • PMaj-P.BIN : Pentatonic Major [0, 0, 2, 2, 4, 4, 4, 7, 7, 9, 9, 9]
  • Blue-P.BIN : Blues [0, 0, 0, 3, 3, 5, 6, 7, 7, 7, 10, 10]
  • Dori-P.BIN : Dorian [0, 0, 2, 3, 3, 5, 5, 7, 7, 9, 10, 10]
  • Mixo-P.BIN : Mixolydian [0, 0, 2, 2, 4, 5, 5, 7, 7, 9, 10, 10]
  • Phry-P.BIN : Phrygian [0, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10]
  • Lydi-P.BIN : Lydian [0, 0, 2, 2, 4, 4, 6, 7, 7, 9, 9, 11]
  • Locr-P.BIN : Locrian [0, 1, 1, 3, 3, 5, 6, 6, 8, 8, 10, 10]
  • DHal-P.BIN : Dim Half [0, 1, 1, 3, 4, 4, 6, 7, 7, 9, 10, 10]
  • DWho-P.BIN : Dim Whole [0, 0, 2, 3, 3, 5, 6, 6, 8, 9, 9, 11]
  • Augm-P.BIN : Augmented [0, 0, 0, 3, 4, 4, 6, 6, 8, 8, 8, 11]
  • RMin-P.BIN : Roumanian Minor [0, 0, 2, 3, 3, 3, 6, 7, 7, 9, 10, 10]
  • SGyp-P.BIN : Spanish Gypsy [0, 1, 1, 1, 4, 5, 5, 7, 8, 8, 10, 10]
  • Diat-P.BIN : Diatonic [0, 0, 2, 2, 4, 5, 5, 7, 7, 9, 9, 9]
  • DHar-P.BIN : Double Harmonic [0, 1, 1, 1, 4, 5, 5, 7, 8, 8, 8, 10]
  • Eigh-P.BIN : Eight Tone Spanish [0, 1, 1, 3, 4, 5, 6, 6, 8, 8, 10, 10]
  • Enig-P.BIN : Enigmatic [0, 1, 1, 1, 4, 4, 6, 6, 8, 8, 10, 11]
  • Alge-P.BIN : Algerian [0, 0, 2, 3, 3, 5, 6, 7, 8, 8, 8, 11]
  • AraA-P.BIN : Arabian A [0, 0, 2, 3, 3, 5, 6, 6, 8, 9, 9, 11]
  • AraB-P.BIN : Arabian B [0, 0, 2, 2, 4, 5, 6, 6, 8, 8, 10, 10]
  • Bali-P.BIN : Balinese [0, 1, 1, 3, 3, 3, 7, 8, 8, 8, 8, 8]
  • Byza-P.BIN : Byzantine [0, 1, 1, 1, 4, 5, 5, 7, 8, 8, 8, 11]
  • Chin-P.BIN : Chinese [0, 0, 0, 0, 4, 4, 6, 7, 7, 7, 7, 11]
  • Egyp-P.BIN : Egyptian [0, 0, 2, 2, 2, 5, 5, 7, 7, 7, 10, 10]
  • Hind-P.BIN : Hindu [0, 0, 2, 2, 4, 5, 5, 7, 8, 8, 10, 10]
  • Hira-P.BIN : Hirajoshi [0, 0, 2, 3, 3, 3, 3, 7, 8, 8, 8, 8]
  • HGyp-P.BIN : Hungarian Gypsy [0, 0, 2, 3, 3, 3, 6, 7, 8, 8, 8, 11]
  • HPer-P.BIN : H.Gypsy Persian [0, 1, 1, 1, 4, 5, 5, 7, 8, 8, 8, 11]
  • JapA-P.BIN : Japanese A [0, 1, 1, 1, 1, 5, 5, 7, 8, 8, 8, 8]
  • JapB-P.BIN : Japanese B [0, 0, 2, 2, 2, 5, 5, 7, 8, 8, 8, 8]
  • Pers-P.BIN : Persian [0, 1, 1, 1, 4, 5, 6, 6, 8, 8, 8, 11]
  • Prom-P.BIN : Prometheus [0, 0, 2, 2, 4, 4, 6, 6, 6, 9, 10, 10]
  • Six -P.BIN : Six Tone Symetrical [0, 1, 1, 1, 4, 5, 5, 5, 8, 9, 9, 9]
  • SLoc-P.BIN : Super Locrian [0, 1, 1, 3, 4, 4, 6, 6, 8, 8, 10, 10]
  • Whol-P.BIN : Wholetone [0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10]

All of these scales are quantizations of the base 12-TET scale. In other words, each chromatic note is mapped to another note. Often multiple notes are mapped to the same note. This way you can write your song using modulo 12 scale degrees and then switch freely amongst any of these scales while preserving octave-equivalence.

2 Likes

Nuff said

Hi! I was going to manually create these voltage tables for scales in 1.2v/oct to load into my er-102 when I came across this script. I was curious if I could modify generate.py to generate these voltage tables in 1.2v per octave scales? I gave it a shot, modifying some of the math in the chromatic_to_voltage_table function but didn’t have much success as I’m not exactly sure I know what I’m doing haha. Any pointers would be much appreciated! :hugs:

edit:

I think I figured it out! For anyone else trying to use this script, I believe that there is a miscalculation in this line:

unrolled = [degrees[i%len(degrees)]+12*(i/12) for i in range(100)]

it should be:

unrolled = [degrees[i%len(degrees)]+12*(i//12) for i in range(100)]

to get the floor-rounded value of the divided index and properly extend the scale degrees to 100 entries. This is for 1v/oct scales as well. This was what was throwing me off thinking that I wasn’t doing the calculations properly.

At that point, I modified the next line to:
codes = [int(round(x*9600/12.0)) for x in unrolled]
to get 0.1v per semitone and all looks good!

It would be awesome to be able to have our own custom entries in the note display but for now I’m happy to use Number display. I’m very excited to have a quantizer for my buchla system!