Online Sequencer Forums
More Keys? - Printable Version

+- Online Sequencer Forums (https://onlinesequencer.net/forum)
+-- Forum: Online Sequencer (https://onlinesequencer.net/forum/forum-3.html)
+--- Forum: Suggestions (https://onlinesequencer.net/forum/forum-6.html)
+--- Thread: More Keys? (/thread-2920.html)

Pages: 1 2


RE: More Keys? - dfhwze - 03-16-2019

Features v.0.2:

- scales
        - major, melodic minor, harmonic major, harmonic minor, double harmonic, bebop, blues, symmetric scale families
- time signatures
        - common, dotted, rational tuplets
- instruments
        - unfinished instruments support

Code:
// ==UserScript==
// @name         OSEnhanced
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  try to take over the world!
// @author       You
// @match        https://onlinesequencer.net
// @match        https://onlinesequencer.net/*
// @grant        none
// ==/UserScript==

(function() {
   $( document ).ready(function() {
       loadOS( 1, 10 );
   });

   function loadOS( attempt, maxAttempts ) {
       var thirdPartyLoaded = false;
       try {
           if ( instrumentSelect == undefined || settings == undefined || grid_select == undefined || keySelect == undefined ) {
               thirdPartyLoaded = false;
           } else {
               thirdPartyLoaded = true;
           }
       } catch (err) {
           thirdPartyLoaded = false;
       }
       if ( !thirdPartyLoaded ) {
           if ( attempt < maxAttempts ) {
               console.log("awaiting OS to be loaded: attempt #" + attempt);
               setTimeout(function() {
                   loadOS( attempt + 1, maxAttempts );
               }, 1000);
           } else {
               console.log("loading OS timed out at max attempt #" + maxAttempts);
           }
       } else {
           loadInstruments();
           loadTimeSignatures();
           loadScales();
       }
   }

   function loadScales() {
       settings.scaleNames = ["No Key Guide", "C Acoustic", "C Aeolian", "C Aeolian flat 1", "C Aeolian Harmonic", "C Altered Dorian", "C Augmented Inverse", "C Diminished", "C Dorian", "C Dorian flat 5", "C Harmonic Major", "C Harmonic Minor", "C Harmonic Minor inverse", "C Ionian Augmented", "C Locrian", "C Locrian Double-flat 7", "C Locrian natural 6", "C Lydian", "C Lydian Augmented", "C Lydian Diminished", "C Major", "C Major Augmented", "C Major-Minor", "C Makam Huzzam", "C Mela Natakapriya", "C Melodic Minor ascending", "C Minor Locrian", "C Mixolydian", "C Octatonic", "C Phrygian", "C Phrygian Dominant", "C Superlocrian", "C Ultralocrian", "C Whole-tone", "C Double Harmonic", "C Lydian Sharp 2 Sharp 6", "C Ultraphrygian", "C Double Harmonic Minor", "C Asian", "C Ionian Augmented Sharp 2", "C Locrian Double-flat 3 Double-flat 7", "C Minor Pentatonic", "C Major Pentatonic", "C Minor Bebop", "C Major Bebop", "C Dominant Bebop", "C Blues scale", "C Blues scale II", "C# Acoustic", "C# Aeolian", "C# Aeolian flat 1", "C# Aeolian Harmonic", "C# Altered Dorian", "C# Augmented Inverse", "C# Diminished", "C# Dorian", "C# Dorian flat 5", "C# Harmonic Major", "C# Harmonic Minor", "C# Harmonic Minor inverse", "C# Ionian Augmented", "C# Locrian", "C# Locrian Double-flat 7", "C# Locrian natural 6", "C# Lydian", "C# Lydian Augmented", "C# Lydian Diminished", "C# Major", "C# Major Augmented", "C# Major-Minor", "C# Makam Huzzam", "C# Mela Natakapriya", "C# Melodic Minor ascending", "C# Minor Locrian", "C# Mixolydian", "C# Octatonic", "C# Phrygian", "C# Phrygian Dominant", "C# Superlocrian", "C# Ultralocrian", "C# Whole-tone", "C# Double Harmonic", "C# Lydian Sharp 2 Sharp 6", "C# Ultraphrygian", "C# Double Harmonic Minor", "C# Asian", "C# Ionian Augmented Sharp 2", "C# Locrian Double-flat 3 Double-flat 7", "C# Minor Pentatonic", "C# Major Pentatonic", "C# Minor Bebop", "C# Major Bebop", "C# Dominant Bebop", "C# Blues scale", "C# Blues scale II", "D Acoustic", "D Aeolian", "D Aeolian flat 1", "D Aeolian Harmonic", "D Altered Dorian", "D Augmented Inverse", "D Diminished", "D Dorian", "D Dorian flat 5", "D Harmonic Major", "D Harmonic Minor", "D Harmonic Minor inverse", "D Ionian Augmented", "D Locrian", "D Locrian Double-flat 7", "D Locrian natural 6", "D Lydian", "D Lydian Augmented", "D Lydian Diminished", "D Major", "D Major Augmented", "D Major-Minor", "D Makam Huzzam", "D Mela Natakapriya", "D Melodic Minor ascending", "D Minor Locrian", "D Mixolydian", "D Octatonic", "D Phrygian", "D Phrygian Dominant", "D Superlocrian", "D Ultralocrian", "D Whole-tone", "D Double Harmonic", "D Lydian Sharp 2 Sharp 6", "D Ultraphrygian", "D Double Harmonic Minor", "D Asian", "D Ionian Augmented Sharp 2", "D Locrian Double-flat 3 Double-flat 7", "D Minor Pentatonic", "D Major Pentatonic", "D Minor Bebop", "D Major Bebop", "D Dominant Bebop", "D Blues scale", "D Blues scale II", "D# Acoustic", "D# Aeolian", "D# Aeolian flat 1", "D# Aeolian Harmonic", "D# Altered Dorian", "D# Augmented Inverse", "D# Diminished", "D# Dorian", "D# Dorian flat 5", "D# Harmonic Major", "D# Harmonic Minor", "D# Harmonic Minor inverse", "D# Ionian Augmented", "D# Locrian", "D# Locrian Double-flat 7", "D# Locrian natural 6", "D# Lydian", "D# Lydian Augmented", "D# Lydian Diminished", "D# Major", "D# Major Augmented", "D# Major-Minor", "D# Makam Huzzam", "D# Mela Natakapriya", "D# Melodic Minor ascending", "D# Minor Locrian", "D# Mixolydian", "D# Octatonic", "D# Phrygian", "D# Phrygian Dominant", "D# Superlocrian", "D# Ultralocrian", "D# Whole-tone", "D# Double Harmonic", "D# Lydian Sharp 2 Sharp 6", "D# Ultraphrygian", "D# Double Harmonic Minor", "D# Asian", "D# Ionian Augmented Sharp 2", "D# Locrian Double-flat 3 Double-flat 7", "D# Minor Pentatonic", "D# Major Pentatonic", "D# Minor Bebop", "D# Major Bebop", "D# Dominant Bebop", "D# Blues scale", "D# Blues scale II", "E Acoustic", "E Aeolian", "E Aeolian flat 1", "E Aeolian Harmonic", "E Altered Dorian", "E Augmented Inverse", "E Diminished", "E Dorian", "E Dorian flat 5", "E Harmonic Major", "E Harmonic Minor", "E Harmonic Minor inverse", "E Ionian Augmented", "E Locrian", "E Locrian Double-flat 7", "E Locrian natural 6", "E Lydian", "E Lydian Augmented", "E Lydian Diminished", "E Major", "E Major Augmented", "E Major-Minor", "E Makam Huzzam", "E Mela Natakapriya", "E Melodic Minor ascending", "E Minor Locrian", "E Mixolydian", "E Octatonic", "E Phrygian", "E Phrygian Dominant", "E Superlocrian", "E Ultralocrian", "E Whole-tone", "E Double Harmonic", "E Lydian Sharp 2 Sharp 6", "E Ultraphrygian", "E Double Harmonic Minor", "E Asian", "E Ionian Augmented Sharp 2", "E Locrian Double-flat 3 Double-flat 7", "E Minor Pentatonic", "E Major Pentatonic", "E Minor Bebop", "E Major Bebop", "E Dominant Bebop", "E Blues scale", "E Blues scale II", "F Acoustic", "F Aeolian", "F Aeolian flat 1", "F Aeolian Harmonic", "F Altered Dorian", "F Augmented Inverse", "F Diminished", "F Dorian", "F Dorian flat 5", "F Harmonic Major", "F Harmonic Minor", "F Harmonic Minor inverse", "F Ionian Augmented", "F Locrian", "F Locrian Double-flat 7", "F Locrian natural 6", "F Lydian", "F Lydian Augmented", "F Lydian Diminished", "F Major", "F Major Augmented", "F Major-Minor", "F Makam Huzzam", "F Mela Natakapriya", "F Melodic Minor ascending", "F Minor Locrian", "F Mixolydian", "F Octatonic", "F Phrygian", "F Phrygian Dominant", "F Superlocrian", "F Ultralocrian", "F Whole-tone", "F Double Harmonic", "F Lydian Sharp 2 Sharp 6", "F Ultraphrygian", "F Double Harmonic Minor", "F Asian", "F Ionian Augmented Sharp 2", "F Locrian Double-flat 3 Double-flat 7", "F Minor Pentatonic", "F Major Pentatonic", "F Minor Bebop", "F Major Bebop", "F Dominant Bebop", "F Blues scale", "F Blues scale II", "F# Acoustic", "F# Aeolian", "F# Aeolian flat 1", "F# Aeolian Harmonic", "F# Altered Dorian", "F# Augmented Inverse", "F# Diminished", "F# Dorian", "F# Dorian flat 5", "F# Harmonic Major", "F# Harmonic Minor", "F# Harmonic Minor inverse", "F# Ionian Augmented", "F# Locrian", "F# Locrian Double-flat 7", "F# Locrian natural 6", "F# Lydian", "F# Lydian Augmented", "F# Lydian Diminished", "F# Major", "F# Major Augmented", "F# Major-Minor", "F# Makam Huzzam", "F# Mela Natakapriya", "F# Melodic Minor ascending", "F# Minor Locrian", "F# Mixolydian", "F# Octatonic", "F# Phrygian", "F# Phrygian Dominant", "F# Superlocrian", "F# Ultralocrian", "F# Whole-tone", "F# Double Harmonic", "F# Lydian Sharp 2 Sharp 6", "F# Ultraphrygian", "F# Double Harmonic Minor", "F# Asian", "F# Ionian Augmented Sharp 2", "F# Locrian Double-flat 3 Double-flat 7", "F# Minor Pentatonic", "F# Major Pentatonic", "F# Minor Bebop", "F# Major Bebop", "F# Dominant Bebop", "F# Blues scale", "F# Blues scale II", "G Acoustic", "G Aeolian", "G Aeolian flat 1", "G Aeolian Harmonic", "G Altered Dorian", "G Augmented Inverse", "G Diminished", "G Dorian", "G Dorian flat 5", "G Harmonic Major", "G Harmonic Minor", "G Harmonic Minor inverse", "G Ionian Augmented", "G Locrian", "G Locrian Double-flat 7", "G Locrian natural 6", "G Lydian", "G Lydian Augmented", "G Lydian Diminished", "G Major", "G Major Augmented", "G Major-Minor", "G Makam Huzzam", "G Mela Natakapriya", "G Melodic Minor ascending", "G Minor Locrian", "G Mixolydian", "G Octatonic", "G Phrygian", "G Phrygian Dominant", "G Superlocrian", "G Ultralocrian", "G Whole-tone", "G Double Harmonic", "G Lydian Sharp 2 Sharp 6", "G Ultraphrygian", "G Double Harmonic Minor", "G Asian", "G Ionian Augmented Sharp 2", "G Locrian Double-flat 3 Double-flat 7", "G Minor Pentatonic", "G Major Pentatonic", "G Minor Bebop", "G Major Bebop", "G Dominant Bebop", "G Blues scale", "G Blues scale II", "G# Acoustic", "G# Aeolian", "G# Aeolian flat 1", "G# Aeolian Harmonic", "G# Altered Dorian", "G# Augmented Inverse", "G# Diminished", "G# Dorian", "G# Dorian flat 5", "G# Harmonic Major", "G# Harmonic Minor", "G# Harmonic Minor inverse", "G# Ionian Augmented", "G# Locrian", "G# Locrian Double-flat 7", "G# Locrian natural 6", "G# Lydian", "G# Lydian Augmented", "G# Lydian Diminished", "G# Major", "G# Major Augmented", "G# Major-Minor", "G# Makam Huzzam", "G# Mela Natakapriya", "G# Melodic Minor ascending", "G# Minor Locrian", "G# Mixolydian", "G# Octatonic", "G# Phrygian", "G# Phrygian Dominant", "G# Superlocrian", "G# Ultralocrian", "G# Whole-tone", "G# Double Harmonic", "G# Lydian Sharp 2 Sharp 6", "G# Ultraphrygian", "G# Double Harmonic Minor", "G# Asian", "G# Ionian Augmented Sharp 2", "G# Locrian Double-flat 3 Double-flat 7", "G# Minor Pentatonic", "G# Major Pentatonic", "G# Minor Bebop", "G# Major Bebop", "G# Dominant Bebop", "G# Blues scale", "G# Blues scale II", "A Acoustic", "A Aeolian", "A Aeolian flat 1", "A Aeolian Harmonic", "A Altered Dorian", "A Augmented Inverse", "A Diminished", "A Dorian", "A Dorian flat 5", "A Harmonic Major", "A Harmonic Minor", "A Harmonic Minor inverse", "A Ionian Augmented", "A Locrian", "A Locrian Double-flat 7", "A Locrian natural 6", "A Lydian", "A Lydian Augmented", "A Lydian Diminished", "A Major", "A Major Augmented", "A Major-Minor", "A Makam Huzzam", "A Mela Natakapriya", "A Melodic Minor ascending", "A Minor Locrian", "A Mixolydian", "A Octatonic", "A Phrygian", "A Phrygian Dominant", "A Superlocrian", "A Ultralocrian", "A Whole-tone", "A Double Harmonic", "A Lydian Sharp 2 Sharp 6", "A Ultraphrygian", "A Double Harmonic Minor", "A Asian", "A Ionian Augmented Sharp 2", "A Locrian Double-flat 3 Double-flat 7", "A Minor Pentatonic", "A Major Pentatonic", "A Minor Bebop", "A Major Bebop", "A Dominant Bebop", "A Blues scale", "A Blues scale II", "A# Acoustic", "A# Aeolian", "A# Aeolian flat 1", "A# Aeolian Harmonic", "A# Altered Dorian", "A# Augmented Inverse", "A# Diminished", "A# Dorian", "A# Dorian flat 5", "A# Harmonic Major", "A# Harmonic Minor", "A# Harmonic Minor inverse", "A# Ionian Augmented", "A# Locrian", "A# Locrian Double-flat 7", "A# Locrian natural 6", "A# Lydian", "A# Lydian Augmented", "A# Lydian Diminished", "A# Major", "A# Major Augmented", "A# Major-Minor", "A# Makam Huzzam", "A# Mela Natakapriya", "A# Melodic Minor ascending", "A# Minor Locrian", "A# Mixolydian", "A# Octatonic", "A# Phrygian", "A# Phrygian Dominant", "A# Superlocrian", "A# Ultralocrian", "A# Whole-tone", "A# Double Harmonic", "A# Lydian Sharp 2 Sharp 6", "A# Ultraphrygian", "A# Double Harmonic Minor", "A# Asian", "A# Ionian Augmented Sharp 2", "A# Locrian Double-flat 3 Double-flat 7", "A# Minor Pentatonic", "A# Major Pentatonic", "A# Minor Bebop", "A# Major Bebop", "A# Dominant Bebop", "A# Blues scale", "A# Blues scale II", "B Acoustic", "B Aeolian", "B Aeolian flat 1", "B Aeolian Harmonic", "B Altered Dorian", "B Augmented Inverse", "B Diminished", "B Dorian", "B Dorian flat 5", "B Harmonic Major", "B Harmonic Minor", "B Harmonic Minor inverse", "B Ionian Augmented", "B Locrian", "B Locrian Double-flat 7", "B Locrian natural 6", "B Lydian", "B Lydian Augmented", "B Lydian Diminished", "B Major", "B Major Augmented", "B Major-Minor", "B Makam Huzzam", "B Mela Natakapriya", "B Melodic Minor ascending", "B Minor Locrian", "B Mixolydian", "B Octatonic", "B Phrygian", "B Phrygian Dominant", "B Superlocrian", "B Ultralocrian", "B Whole-tone", "B Double Harmonic", "B Lydian Sharp 2 Sharp 6", "B Ultraphrygian", "B Double Harmonic Minor", "B Asian", "B Ionian Augmented Sharp 2", "B Locrian Double-flat 3 Double-flat 7", "B Minor Pentatonic", "B Major Pentatonic", "B Minor Bebop", "B Major Bebop", "B Dominant Bebop", "B Blues scale", "B Blues scale II"];
       settings.scales = [[], ["C", "D", "E", "F#", "G", "A", "A#"], ["C", "D", "D#", "F", "G", "G#", "A#"], ["C", "D#", "E", "F#", "G#", "A", "B"], ["C", "D#", "E", "F#", "G", "A", "B"], ["C", "D", "D#", "F#", "G", "A", "A#"], ["C", "C#", "E", "F", "G#", "A"], ["C", "D", "D#", "F", "F#", "G#", "A", "B"], ["C", "D", "D#", "F", "G", "A", "A#"], ["C", "D", "D#", "F", "F#", "A", "A#"], ["C", "D", "E", "F", "G", "G#", "B"], ["C", "D", "D#", "F", "G", "G#", "B"], ["C", "C#", "E", "F", "G", "A", "A#"], ["C", "D", "E", "F", "G#", "A", "B"], ["C", "C#", "D#", "F", "F#", "G#", "A#"], ["C", "C#", "D#", "F", "F#", "G#", "A"], ["C", "C#", "D#", "F", "F#", "A", "A#"], ["C", "D", "E", "F#", "G", "A", "B"], ["C", "D", "E", "F#", "G#", "A", "B"], ["C", "D", "D#", "F#", "G", "A", "B"], ["C", "D", "E", "F", "G", "A", "B"], ["C", "D#", "E", "G", "G#", "B"], ["C", "D", "E", "F", "G", "G#", "A#"], ["C", "C#", "D#", "E", "G", "G#", "A#"], ["C", "C#", "D#", "F", "G", "A", "A#"], ["C", "D", "D#", "F", "G", "A", "B"], ["C", "D", "D#", "F", "F#", "G#", "A#"], ["C", "D", "E", "F", "G", "A", "A#"], ["C", "C#", "D#", "E", "F#", "G", "A", "A#"], ["C", "C#", "D#", "F", "G", "G#", "A#"], ["C", "C#", "E", "F", "G", "G#", "A#"], ["C", "C#", "D#", "E", "F#", "G#", "A#"], ["C", "C#", "D#", "E", "F#", "G#", "A"], ["C", "D", "E", "F#", "G#", "A#"], ["C", "C#", "E", "F", "G", "G#", "B"], ["C", "D#", "E", "F#", "G", "A#", "B"], ["C", "C#", "D#", "E", "G", "G#", "A"], ["C", "D", "D#", "F#", "G", "G#", "B"], ["C", "C#", "E", "F", "F#", "A", "A#"], ["C", "D#", "E", "F", "G#", "A", "B"], ["C", "C#", "D", "F", "F#", "G#", "A"], ["C", "D#", "F", "G", "A#"], ["C", "D", "E", "G", "A"], ["C", "D", "D#", "E", "F", "G", "A", "A#"], ["C", "D", "E", "F", "G", "G#", "A", "B"], ["C", "D", "E", "F", "G", "A", "A#", "B"], ["C", "D#", "F", "F#", "G", "A#"], ["C", "D", "D#", "F", "F#", "G", "A", "A#"], ["C#", "D#", "F", "G", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G#", "A", "B"], ["C#", "E", "F", "G", "A", "A#", "C"], ["C#", "E", "F", "G", "G#", "A#", "C"], ["C#", "D#", "E", "G", "G#", "A#", "B"], ["C#", "D", "F", "F#", "A", "A#"], ["C#", "D#", "E", "F#", "G", "A", "A#", "C"], ["C#", "D#", "E", "F#", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G", "A#", "B"], ["C#", "D#", "F", "F#", "G#", "A", "C"], ["C#", "D#", "E", "F#", "G#", "A", "C"], ["C#", "D", "F", "F#", "G#", "A#", "B"], ["C#", "D#", "F", "F#", "A", "A#", "C"], ["C#", "D", "E", "F#", "G", "A", "B"], ["C#", "D", "E", "F#", "G", "A", "A#"], ["C#", "D", "E", "F#", "G", "A#", "B"], ["C#", "D#", "F", "G", "G#", "A#", "C"], ["C#", "D#", "F", "G", "A", "A#", "C"], ["C#", "D#", "E", "G", "G#", "A#", "C"], ["C#", "D#", "F", "F#", "G#", "A#", "C"], ["C#", "E", "F", "G#", "A", "C"], ["C#", "D#", "F", "F#", "G#", "A", "B"], ["C#", "D", "E", "F", "G#", "A", "B"], ["C#", "D", "E", "F#", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G#", "A#", "C"], ["C#", "D#", "E", "F#", "G", "A", "B"], ["C#", "D#", "F", "F#", "G#", "A#", "B"], ["C#", "D", "E", "F", "G", "G#", "A#", "B"], ["C#", "D", "E", "F#", "G#", "A", "B"], ["C#", "D", "F", "F#", "G#", "A", "B"], ["C#", "D", "E", "F", "G", "A", "B"], ["C#", "D", "E", "F", "G", "A", "A#"], ["C#", "D#", "F", "G", "A", "B"], ["C#", "D", "F", "F#", "G#", "A", "C"], ["C#", "E", "F", "G", "G#", "B", "C"], ["C#", "D", "E", "F", "G#", "A", "A#"], ["C#", "D#", "E", "G", "G#", "A", "C"], ["C#", "D", "F", "F#", "G", "A#", "B"], ["C#", "E", "F", "F#", "A", "A#", "C"], ["C#", "D", "D#", "F#", "G", "A", "A#"], ["C#", "E", "F#", "G#", "B"], ["C#", "D#", "F", "G#", "A#"], ["C#", "D#", "E", "F", "F#", "G#", "A#", "B"], ["C#", "D#", "F", "F#", "G#", "A", "A#", "C"], ["C#", "D#", "F", "F#", "G#", "A#", "B", "C"], ["C#", "E", "F#", "G", "G#", "B"], ["C#", "D#", "E", "F#", "G", "G#", "A#", "B"], ["D", "E", "F#", "G#", "A", "B", "C"], ["D", "E", "F", "G", "A", "A#", "C"], ["D", "F", "F#", "G#", "A#", "B", "C#"], ["D", "F", "F#", "G#", "A", "B", "C#"], ["D", "E", "F", "G#", "A", "B", "C"], ["D", "D#", "F#", "G", "A#", "B"], ["D", "E", "F", "G", "G#", "A#", "B", "C#"], ["D", "E", "F", "G", "A", "B", "C"], ["D", "E", "F", "G", "G#", "B", "C"], ["D", "E", "F#", "G", "A", "A#", "C#"], ["D", "E", "F", "G", "A", "A#", "C#"], ["D", "D#", "F#", "G", "A", "B", "C"], ["D", "E", "F#", "G", "A#", "B", "C#"], ["D", "D#", "F", "G", "G#", "A#", "C"], ["D", "D#", "F", "G", "G#", "A#", "B"], ["D", "D#", "F", "G", "G#", "B", "C"], ["D", "E", "F#", "G#", "A", "B", "C#"], ["D", "E", "F#", "G#", "A#", "B", "C#"], ["D", "E", "F", "G#", "A", "B", "C#"], ["D", "E", "F#", "G", "A", "B", "C#"], ["D", "F", "F#", "A", "A#", "C#"], ["D", "E", "F#", "G", "A", "A#", "C"], ["D", "D#", "F", "F#", "A", "A#", "C"], ["D", "D#", "F", "G", "A", "B", "C"], ["D", "E", "F", "G", "A", "B", "C#"], ["D", "E", "F", "G", "G#", "A#", "C"], ["D", "E", "F#", "G", "A", "B", "C"], ["D", "D#", "F", "F#", "G#", "A", "B", "C"], ["D", "D#", "F", "G", "A", "A#", "C"], ["D", "D#", "F#", "G", "A", "A#", "C"], ["D", "D#", "F", "F#", "G#", "A#", "C"], ["D", "D#", "F", "F#", "G#", "A#", "B"], ["D", "E", "F#", "G#", "A#", "C"], ["D", "D#", "F#", "G", "A", "A#", "C#"], ["D", "F", "F#", "G#", "A", "C", "C#"], ["D", "D#", "F", "F#", "A", "A#", "B"], ["D", "E", "F", "G#", "A", "A#", "C#"], ["D", "D#", "F#", "G", "G#", "B", "C"], ["D", "F", "F#", "G", "A#", "B", "C#"], ["D", "D#", "E", "G", "G#", "A#", "B"], ["D", "F", "G", "A", "C"], ["D", "E", "F#", "A", "B"], ["D", "E", "F", "F#", "G", "A", "B", "C"], ["D", "E", "F#", "G", "A", "A#", "B", "C#"], ["D", "E", "F#", "G", "A", "B", "C", "C#"], ["D", "F", "G", "G#", "A", "C"], ["D", "E", "F", "G", "G#", "A", "B", "C"], ["D#", "F", "G", "A", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A#", "B", "C#"], ["D#", "F#", "G", "A", "B", "C", "D"], ["D#", "F#", "G", "A", "A#", "C", "D"], ["D#", "F", "F#", "A", "A#", "C", "C#"], ["D#", "E", "G", "G#", "B", "C"], ["D#", "F", "F#", "G#", "A", "B", "C", "D"], ["D#", "F", "F#", "G#", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A", "C", "C#"], ["D#", "F", "G", "G#", "A#", "B", "D"], ["D#", "F", "F#", "G#", "A#", "B", "D"], ["D#", "E", "G", "G#", "A#", "C", "C#"], ["D#", "F", "G", "G#", "B", "C", "D"], ["D#", "E", "F#", "G#", "A", "B", "C#"], ["D#", "E", "F#", "G#", "A", "B", "C"], ["D#", "E", "F#", "G#", "A", "C", "C#"], ["D#", "F", "G", "A", "A#", "C", "D"], ["D#", "F", "G", "A", "B", "C", "D"], ["D#", "F", "F#", "A", "A#", "C", "D"], ["D#", "F", "G", "G#", "A#", "C", "D"], ["D#", "F#", "G", "A#", "B", "D"], ["D#", "F", "G", "G#", "A#", "B", "C#"], ["D#", "E", "F#", "G", "A#", "B", "C#"], ["D#", "E", "F#", "G#", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A#", "C", "D"], ["D#", "F", "F#", "G#", "A", "B", "C#"], ["D#", "F", "G", "G#", "A#", "C", "C#"], ["D#", "E", "F#", "G", "A", "A#", "C", "C#"], ["D#", "E", "F#", "G#", "A#", "B", "C#"], ["D#", "E", "G", "G#", "A#", "B", "C#"], ["D#", "E", "F#", "G", "A", "B", "C#"], ["D#", "E", "F#", "G", "A", "B", "C"], ["D#", "F", "G", "A", "B", "C#"], ["D#", "E", "G", "G#", "A#", "B", "D"], ["D#", "F#", "G", "A", "A#", "C#", "D"], ["D#", "E", "F#", "G", "A#", "B", "C"], ["D#", "F", "F#", "A", "A#", "B", "D"], ["D#", "E", "G", "G#", "A", "C", "C#"], ["D#", "F#", "G", "G#", "B", "C", "D"], ["D#", "E", "F", "G#", "A", "B", "C"], ["D#", "F#", "G#", "A#", "C#"], ["D#", "F", "G", "A#", "C"], ["D#", "F", "F#", "G", "G#", "A#", "C", "C#"], ["D#", "F", "G", "G#", "A#", "B", "C", "D"], ["D#", "F", "G", "G#", "A#", "C", "C#", "D"], ["D#", "F#", "G#", "A", "A#", "C#"], ["D#", "F", "F#", "G#", "A", "A#", "C", "C#"], ["E", "F#", "G#", "A#", "B", "C#", "D"], ["E", "F#", "G", "A", "B", "C", "D"], ["E", "G", "G#", "A#", "C", "C#", "D#"], ["E", "G", "G#", "A#", "B", "C#", "D#"], ["E", "F#", "G", "A#", "B", "C#", "D"], ["E", "F", "G#", "A", "C", "C#"], ["E", "F#", "G", "A", "A#", "C", "C#", "D#"], ["E", "F#", "G", "A", "B", "C#", "D"], ["E", "F#", "G", "A", "A#", "C#", "D"], ["E", "F#", "G#", "A", "B", "C", "D#"], ["E", "F#", "G", "A", "B", "C", "D#"], ["E", "F", "G#", "A", "B", "C#", "D"], ["E", "F#", "G#", "A", "C", "C#", "D#"], ["E", "F", "G", "A", "A#", "C", "D"], ["E", "F", "G", "A", "A#", "C", "C#"], ["E", "F", "G", "A", "A#", "C#", "D"], ["E", "F#", "G#", "A#", "B", "C#", "D#"], ["E", "F#", "G#", "A#", "C", "C#", "D#"], ["E", "F#", "G", "A#", "B", "C#", "D#"], ["E", "F#", "G#", "A", "B", "C#", "D#"], ["E", "G", "G#", "B", "C", "D#"], ["E", "F#", "G#", "A", "B", "C", "D"], ["E", "F", "G", "G#", "B", "C", "D"], ["E", "F", "G", "A", "B", "C#", "D"], ["E", "F#", "G", "A", "B", "C#", "D#"], ["E", "F#", "G", "A", "A#", "C", "D"], ["E", "F#", "G#", "A", "B", "C#", "D"], ["E", "F", "G", "G#", "A#", "B", "C#", "D"], ["E", "F", "G", "A", "B", "C", "D"], ["E", "F", "G#", "A", "B", "C", "D"], ["E", "F", "G", "G#", "A#", "C", "D"], ["E", "F", "G", "G#", "A#", "C", "C#"], ["E", "F#", "G#", "A#", "C", "D"], ["E", "F", "G#", "A", "B", "C", "D#"], ["E", "G", "G#", "A#", "B", "D", "D#"], ["E", "F", "G", "G#", "B", "C", "C#"], ["E", "F#", "G", "A#", "B", "C", "D#"], ["E", "F", "G#", "A", "A#", "C#", "D"], ["E", "G", "G#", "A", "C", "C#", "D#"], ["E", "F", "F#", "A", "A#", "C", "C#"], ["E", "G", "A", "B", "D"], ["E", "F#", "G#", "B", "C#"], ["E", "F#", "G", "G#", "A", "B", "C#", "D"], ["E", "F#", "G#", "A", "B", "C", "C#", "D#"], ["E", "F#", "G#", "A", "B", "C#", "D", "D#"], ["E", "G", "A", "A#", "B", "D"], ["E", "F#", "G", "A", "A#", "B", "C#", "D"], ["F", "G", "A", "B", "C", "D", "D#"], ["F", "G", "G#", "A#", "C", "C#", "D#"], ["F", "G#", "A", "B", "C#", "D", "E"], ["F", "G#", "A", "B", "C", "D", "E"], ["F", "G", "G#", "B", "C", "D", "D#"], ["F", "F#", "A", "A#", "C#", "D"], ["F", "G", "G#", "A#", "B", "C#", "D", "E"], ["F", "G", "G#", "A#", "C", "D", "D#"], ["F", "G", "G#", "A#", "B", "D", "D#"], ["F", "G", "A", "A#", "C", "C#", "E"], ["F", "G", "G#", "A#", "C", "C#", "E"], ["F", "F#", "A", "A#", "C", "D", "D#"], ["F", "G", "A", "A#", "C#", "D", "E"], ["F", "F#", "G#", "A#", "B", "C#", "D#"], ["F", "F#", "G#", "A#", "B", "C#", "D"], ["F", "F#", "G#", "A#", "B", "D", "D#"], ["F", "G", "A", "B", "C", "D", "E"], ["F", "G", "A", "B", "C#", "D", "E"], ["F", "G", "G#", "B", "C", "D", "E"], ["F", "G", "A", "A#", "C", "D", "E"], ["F", "G#", "A", "C", "C#", "E"], ["F", "G", "A", "A#", "C", "C#", "D#"], ["F", "F#", "G#", "A", "C", "C#", "D#"], ["F", "F#", "G#", "A#", "C", "D", "D#"], ["F", "G", "G#", "A#", "C", "D", "E"], ["F", "G", "G#", "A#", "B", "C#", "D#"], ["F", "G", "A", "A#", "C", "D", "D#"], ["F", "F#", "G#", "A", "B", "C", "D", "D#"], ["F", "F#", "G#", "A#", "C", "C#", "D#"], ["F", "F#", "A", "A#", "C", "C#", "D#"], ["F", "F#", "G#", "A", "B", "C#", "D#"], ["F", "F#", "G#", "A", "B", "C#", "D"], ["F", "G", "A", "B", "C#", "D#"], ["F", "F#", "A", "A#", "C", "C#", "E"], ["F", "G#", "A", "B", "C", "D#", "E"], ["F", "F#", "G#", "A", "C", "C#", "D"], ["F", "G", "G#", "B", "C", "C#", "E"], ["F", "F#", "A", "A#", "B", "D", "D#"], ["F", "G#", "A", "A#", "C#", "D", "E"], ["F", "F#", "G", "A#", "B", "C#", "D"], ["F", "G#", "A#", "C", "D#"], ["F", "G", "A", "C", "D"], ["F", "G", "G#", "A", "A#", "C", "D", "D#"], ["F", "G", "A", "A#", "C", "C#", "D", "E"], ["F", "G", "A", "A#", "C", "D", "D#", "E"], ["F", "G#", "A#", "B", "C", "D#"], ["F", "G", "G#", "A#", "B", "C", "D", "D#"], ["F#", "G#", "A#", "C", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C#", "D", "E"], ["F#", "A", "A#", "C", "D", "D#", "F"], ["F#", "A", "A#", "C", "C#", "D#", "F"], ["F#", "G#", "A", "C", "C#", "D#", "E"], ["F#", "G", "A#", "B", "D", "D#"], ["F#", "G#", "A", "B", "C", "D", "D#", "F"], ["F#", "G#", "A", "B", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C", "D#", "E"], ["F#", "G#", "A#", "B", "C#", "D", "F"], ["F#", "G#", "A", "B", "C#", "D", "F"], ["F#", "G", "A#", "B", "C#", "D#", "E"], ["F#", "G#", "A#", "B", "D", "D#", "F"], ["F#", "G", "A", "B", "C", "D", "E"], ["F#", "G", "A", "B", "C", "D", "D#"], ["F#", "G", "A", "B", "C", "D#", "E"], ["F#", "G#", "A#", "C", "C#", "D#", "F"], ["F#", "G#", "A#", "C", "D", "D#", "F"], ["F#", "G#", "A", "C", "C#", "D#", "F"], ["F#", "G#", "A#", "B", "C#", "D#", "F"], ["F#", "A", "A#", "C#", "D", "F"], ["F#", "G#", "A#", "B", "C#", "D", "E"], ["F#", "G", "A", "A#", "C#", "D", "E"], ["F#", "G", "A", "B", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C#", "D#", "F"], ["F#", "G#", "A", "B", "C", "D", "E"], ["F#", "G#", "A#", "B", "C#", "D#", "E"], ["F#", "G", "A", "A#", "C", "C#", "D#", "E"], ["F#", "G", "A", "B", "C#", "D", "E"], ["F#", "G", "A#", "B", "C#", "D", "E"], ["F#", "G", "A", "A#", "C", "D", "E"], ["F#", "G", "A", "A#", "C", "D", "D#"], ["F#", "G#", "A#", "C", "D", "E"], ["F#", "G", "A#", "B", "C#", "D", "F"], ["F#", "A", "A#", "C", "C#", "E", "F"], ["F#", "G", "A", "A#", "C#", "D", "D#"], ["F#", "G#", "A", "C", "C#", "D", "F"], ["F#", "G", "A#", "B", "C", "D#", "E"], ["F#", "A", "A#", "B", "D", "D#", "F"], ["F#", "G", "G#", "B", "C", "D", "D#"], ["F#", "A", "B", "C#", "E"], ["F#", "G#", "A#", "C#", "D#"], ["F#", "G#", "A", "A#", "B", "C#", "D#", "E"], ["F#", "G#", "A#", "B", "C#", "D", "D#", "F"], ["F#", "G#", "A#", "B", "C#", "D#", "E", "F"], ["F#", "A", "B", "C", "C#", "E"], ["F#", "G#", "A", "B", "C", "C#", "D#", "E"], ["G", "A", "B", "C#", "D", "E", "F"], ["G", "A", "A#", "C", "D", "D#", "F"], ["G", "A#", "B", "C#", "D#", "E", "F#"], ["G", "A#", "B", "C#", "D", "E", "F#"], ["G", "A", "A#", "C#", "D", "E", "F"], ["G", "G#", "B", "C", "D#", "E"], ["G", "A", "A#", "C", "C#", "D#", "E", "F#"], ["G", "A", "A#", "C", "D", "E", "F"], ["G", "A", "A#", "C", "C#", "E", "F"], ["G", "A", "B", "C", "D", "D#", "F#"], ["G", "A", "A#", "C", "D", "D#", "F#"], ["G", "G#", "B", "C", "D", "E", "F"], ["G", "A", "B", "C", "D#", "E", "F#"], ["G", "G#", "A#", "C", "C#", "D#", "F"], ["G", "G#", "A#", "C", "C#", "D#", "E"], ["G", "G#", "A#", "C", "C#", "E", "F"], ["G", "A", "B", "C#", "D", "E", "F#"], ["G", "A", "B", "C#", "D#", "E", "F#"], ["G", "A", "A#", "C#", "D", "E", "F#"], ["G", "A", "B", "C", "D", "E", "F#"], ["G", "A#", "B", "D", "D#", "F#"], ["G", "A", "B", "C", "D", "D#", "F"], ["G", "G#", "A#", "B", "D", "D#", "F"], ["G", "G#", "A#", "C", "D", "E", "F"], ["G", "A", "A#", "C", "D", "E", "F#"], ["G", "A", "A#", "C", "C#", "D#", "F"], ["G", "A", "B", "C", "D", "E", "F"], ["G", "G#", "A#", "B", "C#", "D", "E", "F"], ["G", "G#", "A#", "C", "D", "D#", "F"], ["G", "G#", "B", "C", "D", "D#", "F"], ["G", "G#", "A#", "B", "C#", "D#", "F"], ["G", "G#", "A#", "B", "C#", "D#", "E"], ["G", "A", "B", "C#", "D#", "F"], ["G", "G#", "B", "C", "D", "D#", "F#"], ["G", "A#", "B", "C#", "D", "F", "F#"], ["G", "G#", "A#", "B", "D", "D#", "E"], ["G", "A", "A#", "C#", "D", "D#", "F#"], ["G", "G#", "B", "C", "C#", "E", "F"], ["G", "A#", "B", "C", "D#", "E", "F#"], ["G", "G#", "A", "C", "C#", "D#", "E"], ["G", "A#", "C", "D", "F"], ["G", "A", "B", "D", "E"], ["G", "A", "A#", "B", "C", "D", "E", "F"], ["G", "A", "B", "C", "D", "D#", "E", "F#"], ["G", "A", "B", "C", "D", "E", "F", "F#"], ["G", "A#", "C", "C#", "D", "F"], ["G", "A", "A#", "C", "C#", "D", "E", "F"], ["G#", "A#", "C", "D", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D#", "E", "F#"], ["G#", "B", "C", "D", "E", "F", "G"], ["G#", "B", "C", "D", "D#", "F", "G"], ["G#", "A#", "B", "D", "D#", "F", "F#"], ["G#", "A", "C", "C#", "E", "F"], ["G#", "A#", "B", "C#", "D", "E", "F", "G"], ["G#", "A#", "B", "C#", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D", "F", "F#"], ["G#", "A#", "C", "C#", "D#", "E", "G"], ["G#", "A#", "B", "C#", "D#", "E", "G"], ["G#", "A", "C", "C#", "D#", "F", "F#"], ["G#", "A#", "C", "C#", "E", "F", "G"], ["G#", "A", "B", "C#", "D", "E", "F#"], ["G#", "A", "B", "C#", "D", "E", "F"], ["G#", "A", "B", "C#", "D", "F", "F#"], ["G#", "A#", "C", "D", "D#", "F", "G"], ["G#", "A#", "C", "D", "E", "F", "G"], ["G#", "A#", "B", "D", "D#", "F", "G"], ["G#", "A#", "C", "C#", "D#", "F", "G"], ["G#", "B", "C", "D#", "E", "G"], ["G#", "A#", "C", "C#", "D#", "E", "F#"], ["G#", "A", "B", "C", "D#", "E", "F#"], ["G#", "A", "B", "C#", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D#", "F", "G"], ["G#", "A#", "B", "C#", "D", "E", "F#"], ["G#", "A#", "C", "C#", "D#", "F", "F#"], ["G#", "A", "B", "C", "D", "D#", "F", "F#"], ["G#", "A", "B", "C#", "D#", "E", "F#"], ["G#", "A", "C", "C#", "D#", "E", "F#"], ["G#", "A", "B", "C", "D", "E", "F#"], ["G#", "A", "B", "C", "D", "E", "F"], ["G#", "A#", "C", "D", "E", "F#"], ["G#", "A", "C", "C#", "D#", "E", "G"], ["G#", "B", "C", "D", "D#", "F#", "G"], ["G#", "A", "B", "C", "D#", "E", "F"], ["G#", "A#", "B", "D", "D#", "E", "G"], ["G#", "A", "C", "C#", "D", "F", "F#"], ["G#", "B", "C", "C#", "E", "F", "G"], ["G#", "A", "A#", "C#", "D", "E", "F"], ["G#", "B", "C#", "D#", "F#"], ["G#", "A#", "C", "D#", "F"], ["G#", "A#", "B", "C", "C#", "D#", "F", "F#"], ["G#", "A#", "C", "C#", "D#", "E", "F", "G"], ["G#", "A#", "C", "C#", "D#", "F", "F#", "G"], ["G#", "B", "C#", "D", "D#", "F#"], ["G#", "A#", "B", "C#", "D", "D#", "F", "F#"], ["A", "B", "C#", "D#", "E", "F#", "G"], ["A", "B", "C", "D", "E", "F", "G"], ["A", "C", "C#", "D#", "F", "F#", "G#"], ["A", "C", "C#", "D#", "E", "F#", "G#"], ["A", "B", "C", "D#", "E", "F#", "G"], ["A", "A#", "C#", "D", "F", "F#"], ["A", "B", "C", "D", "D#", "F", "F#", "G#"], ["A", "B", "C", "D", "E", "F#", "G"], ["A", "B", "C", "D", "D#", "F#", "G"], ["A", "B", "C#", "D", "E", "F", "G#"], ["A", "B", "C", "D", "E", "F", "G#"], ["A", "A#", "C#", "D", "E", "F#", "G"], ["A", "B", "C#", "D", "F", "F#", "G#"], ["A", "A#", "C", "D", "D#", "F", "G"], ["A", "A#", "C", "D", "D#", "F", "F#"], ["A", "A#", "C", "D", "D#", "F#", "G"], ["A", "B", "C#", "D#", "E", "F#", "G#"], ["A", "B", "C#", "D#", "F", "F#", "G#"], ["A", "B", "C", "D#", "E", "F#", "G#"], ["A", "B", "C#", "D", "E", "F#", "G#"], ["A", "C", "C#", "E", "F", "G#"], ["A", "B", "C#", "D", "E", "F", "G"], ["A", "A#", "C", "C#", "E", "F", "G"], ["A", "A#", "C", "D", "E", "F#", "G"], ["A", "B", "C", "D", "E", "F#", "G#"], ["A", "B", "C", "D", "D#", "F", "G"], ["A", "B", "C#", "D", "E", "F#", "G"], ["A", "A#", "C", "C#", "D#", "E", "F#", "G"], ["A", "A#", "C", "D", "E", "F", "G"], ["A", "A#", "C#", "D", "E", "F", "G"], ["A", "A#", "C", "C#", "D#", "F", "G"], ["A", "A#", "C", "C#", "D#", "F", "F#"], ["A", "B", "C#", "D#", "F", "G"], ["A", "A#", "C#", "D", "E", "F", "G#"], ["A", "C", "C#", "D#", "E", "G", "G#"], ["A", "A#", "C", "C#", "E", "F", "F#"], ["A", "B", "C", "D#", "E", "F", "G#"], ["A", "A#", "C#", "D", "D#", "F#", "G"], ["A", "C", "C#", "D", "F", "F#", "G#"], ["A", "A#", "B", "D", "D#", "F", "F#"], ["A", "C", "D", "E", "G"], ["A", "B", "C#", "E", "F#"], ["A", "B", "C", "C#", "D", "E", "F#", "G"], ["A", "B", "C#", "D", "E", "F", "F#", "G#"], ["A", "B", "C#", "D", "E", "F#", "G", "G#"], ["A", "C", "D", "D#", "E", "G"], ["A", "B", "C", "D", "D#", "E", "F#", "G"], ["A#", "C", "D", "E", "F", "G", "G#"], ["A#", "C", "C#", "D#", "F", "F#", "G#"], ["A#", "C#", "D", "E", "F#", "G", "A"], ["A#", "C#", "D", "E", "F", "G", "A"], ["A#", "C", "C#", "E", "F", "G", "G#"], ["A#", "B", "D", "D#", "F#", "G"], ["A#", "C", "C#", "D#", "E", "F#", "G", "A"], ["A#", "C", "C#", "D#", "F", "G", "G#"], ["A#", "C", "C#", "D#", "E", "G", "G#"], ["A#", "C", "D", "D#", "F", "F#", "A"], ["A#", "C", "C#", "D#", "F", "F#", "A"], ["A#", "B", "D", "D#", "F", "G", "G#"], ["A#", "C", "D", "D#", "F#", "G", "A"], ["A#", "B", "C#", "D#", "E", "F#", "G#"], ["A#", "B", "C#", "D#", "E", "F#", "G"], ["A#", "B", "C#", "D#", "E", "G", "G#"], ["A#", "C", "D", "E", "F", "G", "A"], ["A#", "C", "D", "E", "F#", "G", "A"], ["A#", "C", "C#", "E", "F", "G", "A"], ["A#", "C", "D", "D#", "F", "G", "A"], ["A#", "C#", "D", "F", "F#", "A"], ["A#", "C", "D", "D#", "F", "F#", "G#"], ["A#", "B", "C#", "D", "F", "F#", "G#"], ["A#", "B", "C#", "D#", "F", "G", "G#"], ["A#", "C", "C#", "D#", "F", "G", "A"], ["A#", "C", "C#", "D#", "E", "F#", "G#"], ["A#", "C", "D", "D#", "F", "G", "G#"], ["A#", "B", "C#", "D", "E", "F", "G", "G#"], ["A#", "B", "C#", "D#", "F", "F#", "G#"], ["A#", "B", "D", "D#", "F", "F#", "G#"], ["A#", "B", "C#", "D", "E", "F#", "G#"], ["A#", "B", "C#", "D", "E", "F#", "G"], ["A#", "C", "D", "E", "F#", "G#"], ["A#", "B", "D", "D#", "F", "F#", "A"], ["A#", "C#", "D", "E", "F", "G#", "A"], ["A#", "B", "C#", "D", "F", "F#", "G"], ["A#", "C", "C#", "E", "F", "F#", "A"], ["A#", "B", "D", "D#", "E", "G", "G#"], ["A#", "C#", "D", "D#", "F#", "G", "A"], ["A#", "B", "C", "D#", "E", "F#", "G"], ["A#", "C#", "D#", "F", "G#"], ["A#", "C", "D", "F", "G"], ["A#", "C", "C#", "D", "D#", "F", "G", "G#"], ["A#", "C", "D", "D#", "F", "F#", "G", "A"], ["A#", "C", "D", "D#", "F", "G", "G#", "A"], ["A#", "C#", "D#", "E", "F", "G#"], ["A#", "C", "C#", "D#", "E", "F", "G", "G#"], ["B", "C#", "D#", "F", "F#", "G#", "A"], ["B", "C#", "D", "E", "F#", "G", "A"], ["B", "D", "D#", "F", "G", "G#", "A#"], ["B", "D", "D#", "F", "F#", "G#", "A#"], ["B", "C#", "D", "F", "F#", "G#", "A"], ["B", "C", "D#", "E", "G", "G#"], ["B", "C#", "D", "E", "F", "G", "G#", "A#"], ["B", "C#", "D", "E", "F#", "G#", "A"], ["B", "C#", "D", "E", "F", "G#", "A"], ["B", "C#", "D#", "E", "F#", "G", "A#"], ["B", "C#", "D", "E", "F#", "G", "A#"], ["B", "C", "D#", "E", "F#", "G#", "A"], ["B", "C#", "D#", "E", "G", "G#", "A#"], ["B", "C", "D", "E", "F", "G", "A"], ["B", "C", "D", "E", "F", "G", "G#"], ["B", "C", "D", "E", "F", "G#", "A"], ["B", "C#", "D#", "F", "F#", "G#", "A#"], ["B", "C#", "D#", "F", "G", "G#", "A#"], ["B", "C#", "D", "F", "F#", "G#", "A#"], ["B", "C#", "D#", "E", "F#", "G#", "A#"], ["B", "D", "D#", "F#", "G", "A#"], ["B", "C#", "D#", "E", "F#", "G", "A"], ["B", "C", "D", "D#", "F#", "G", "A"], ["B", "C", "D", "E", "F#", "G#", "A"], ["B", "C#", "D", "E", "F#", "G#", "A#"], ["B", "C#", "D", "E", "F", "G", "A"], ["B", "C#", "D#", "E", "F#", "G#", "A"], ["B", "C", "D", "D#", "F", "F#", "G#", "A"], ["B", "C", "D", "E", "F#", "G", "A"], ["B", "C", "D#", "E", "F#", "G", "A"], ["B", "C", "D", "D#", "F", "G", "A"], ["B", "C", "D", "D#", "F", "G", "G#"], ["B", "C#", "D#", "F", "G", "A"], ["B", "C", "D#", "E", "F#", "G", "A#"], ["B", "D", "D#", "F", "F#", "A", "A#"], ["B", "C", "D", "D#", "F#", "G", "G#"], ["B", "C#", "D", "F", "F#", "G", "A#"], ["B", "C", "D#", "E", "F", "G#", "A"], ["B", "D", "D#", "E", "G", "G#", "A#"], ["B", "C", "C#", "E", "F", "G", "G#"], ["B", "D", "E", "F#", "A"], ["B", "C#", "D#", "F#", "G#"], ["B", "C#", "D", "D#", "E", "F#", "G#", "A"], ["B", "C#", "D#", "E", "F#", "G", "G#", "A#"], ["B", "C#", "D#", "E", "F#", "G#", "A", "A#"], ["B", "D", "E", "F", "F#", "A"], ["B", "C#", "D", "E", "F", "F#", "G#", "A"]];
       while (keySelect.firstChild) {
           keySelect.removeChild(keySelect.firstChild);
       }
       for (var i = 0; i < settings['scales'].length; i++) {
           var option = document.createElement("option");
           option.innerHTML = settings['scaleNames'][i];
           keySelect.appendChild(option);
       }
       console.log("scales loaded");
   }

   function loadTimeSignatures() {
       var note_lengths = [64, 32, 16, 8, 4, 2, 1, 0.5, 0.25];
       var note_symbols = ["16", "8", "4", "2", "1", "1/2", "1/4", "1/8", "1/16"];
       var tuplets = [3, 5, 7, 11];
       var tuplet_names = ["3:2", "5:4", "7:8", "11:16"];
       var idx = 0;
       while (grid_select.firstChild) {
           grid_select.removeChild(grid_select.firstChild);
       }
       for (var i = 0; i < note_lengths.length; i++) {
           var nl = note_lengths[i];
           var ns = note_symbols[i];
           var opt = document.createElement("option"); opt.value = 1/nl; opt.text = ns; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 2/(nl*3); opt.text = ns + " dot"; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 1.75/(nl*3); opt.text = ns + " dot dot"; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 1.675/(nl*3); opt.text = ns + " dot dot dot"; grid_select.add(opt);
           for (var j = 0; j < tuplets.length; j++) {
               var t = tuplets[j];
               var tn = tuplet_names[j];
               var opt1 = document.createElement("option"); opt1.value = t/(nl*(Math.pow(2, j + 1))); opt1.text = ns + " - (" + tn + ")"; grid_select.add(opt1);
           }
           if (ns === "1/4") {
               idx = i * (tuplets.length + 4);
           }
       }
       grid_select.selectedIndex = idx;
       console.log("time signatures loaded");
   }

   function loadInstruments() {
       var insts=[];
       for(var i=0;i<instrumentSelect.length;i++)
       {
           insts.push(parseInt(instrumentSelect[i].value))
       }
       var grp = document.createElement("optgroup");
       grp.label = "Unfinished";
       instrumentSelect.add(grp);
       for(i=0;i<settings.instrumentColors.length;i++)
       {
           if(!insts.includes(i))
           {
               var opt = document.createElement("option");
               opt.value = i;
               opt.text = settings.instruments[i];
               grp.appendChild(opt);
               var instSettings = document.createElement("div");
               instSettings.innerHTML = "<div class=\"instrument_option\"><div><div id=\"instrument_lock_" + i + "\" class=\"instrument_lock btn tooltipstered\" onclick=\"lockInstrument(" + i + ")\"></div><span id=\"instrument_name_" + i + "\" onclick=\"selectInstrument(" + i + ")\">" + settings.instruments[i] + "</span><div class=\"chip instrument" + i + "\"></div></div><div class=\"row\"><input id=\"instrument_volume_" + i + "\" class=\"slider\" type=\"range\" min=\"0\" max=\"2\" step=\"0.01\" oninput=\"audioSystem.setInstrumentVolume(" + i + ", this.value)\"><div id=\"instrument_delay_" + i + "\" class=\"button tooltipstered\" onclick=\"selectDelay(" + i + ")\">D</div><div id=\"instrument_reverb_" + i + "\" class=\"button tooltipstered\" onclick=\"selectReverb(" + i + ")\">R</div></div></div>;"
               document.getElementById("instrument_options").appendChild(instSettings.firstChild);
           }
       }
       console.log("instruments loaded");
   }
})();



RE: More Keys? - blobertthebob - 03-19-2019

(03-16-2019, 12:25 PM)dfhwze Wrote: Features v.0.2:

- scales
        - major, melodic minor, harmonic major, harmonic minor, double harmonic, bebop, blues, symmetric scale families
- time signatures
        - common, dotted, rational tuplets
- instruments
        - unfinished instruments support

Code:
// ==UserScript==
// @name         OSEnhanced
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  try to take over the world!
// @author       You
// @match        https://onlinesequencer.net
// @match        https://onlinesequencer.net/*
// @grant        none
// ==/UserScript==

(function() {
   $( document ).ready(function() {
       loadOS( 1, 10 );
   });

   function loadOS( attempt, maxAttempts ) {
       var thirdPartyLoaded = false;
       try {
           if ( instrumentSelect == undefined || settings == undefined || grid_select == undefined || keySelect == undefined ) {
               thirdPartyLoaded = false;
           } else {
               thirdPartyLoaded = true;
           }
       } catch (err) {
           thirdPartyLoaded = false;
       }
       if ( !thirdPartyLoaded ) {
           if ( attempt < maxAttempts ) {
               console.log("awaiting OS to be loaded: attempt #" + attempt);
               setTimeout(function() {
                   loadOS( attempt + 1, maxAttempts );
               }, 1000);
           } else {
               console.log("loading OS timed out at max attempt #" + maxAttempts);
           }
       } else {
           loadInstruments();
           loadTimeSignatures();
           loadScales();
       }
   }

   function loadScales() {
       settings.scaleNames = ["No Key Guide", "C Acoustic", "C Aeolian", "C Aeolian flat 1", "C Aeolian Harmonic", "C Altered Dorian", "C Augmented Inverse", "C Diminished", "C Dorian", "C Dorian flat 5", "C Harmonic Major", "C Harmonic Minor", "C Harmonic Minor inverse", "C Ionian Augmented", "C Locrian", "C Locrian Double-flat 7", "C Locrian natural 6", "C Lydian", "C Lydian Augmented", "C Lydian Diminished", "C Major", "C Major Augmented", "C Major-Minor", "C Makam Huzzam", "C Mela Natakapriya", "C Melodic Minor ascending", "C Minor Locrian", "C Mixolydian", "C Octatonic", "C Phrygian", "C Phrygian Dominant", "C Superlocrian", "C Ultralocrian", "C Whole-tone", "C Double Harmonic", "C Lydian Sharp 2 Sharp 6", "C Ultraphrygian", "C Double Harmonic Minor", "C Asian", "C Ionian Augmented Sharp 2", "C Locrian Double-flat 3 Double-flat 7", "C Minor Pentatonic", "C Major Pentatonic", "C Minor Bebop", "C Major Bebop", "C Dominant Bebop", "C Blues scale", "C Blues scale II", "C# Acoustic", "C# Aeolian", "C# Aeolian flat 1", "C# Aeolian Harmonic", "C# Altered Dorian", "C# Augmented Inverse", "C# Diminished", "C# Dorian", "C# Dorian flat 5", "C# Harmonic Major", "C# Harmonic Minor", "C# Harmonic Minor inverse", "C# Ionian Augmented", "C# Locrian", "C# Locrian Double-flat 7", "C# Locrian natural 6", "C# Lydian", "C# Lydian Augmented", "C# Lydian Diminished", "C# Major", "C# Major Augmented", "C# Major-Minor", "C# Makam Huzzam", "C# Mela Natakapriya", "C# Melodic Minor ascending", "C# Minor Locrian", "C# Mixolydian", "C# Octatonic", "C# Phrygian", "C# Phrygian Dominant", "C# Superlocrian", "C# Ultralocrian", "C# Whole-tone", "C# Double Harmonic", "C# Lydian Sharp 2 Sharp 6", "C# Ultraphrygian", "C# Double Harmonic Minor", "C# Asian", "C# Ionian Augmented Sharp 2", "C# Locrian Double-flat 3 Double-flat 7", "C# Minor Pentatonic", "C# Major Pentatonic", "C# Minor Bebop", "C# Major Bebop", "C# Dominant Bebop", "C# Blues scale", "C# Blues scale II", "D Acoustic", "D Aeolian", "D Aeolian flat 1", "D Aeolian Harmonic", "D Altered Dorian", "D Augmented Inverse", "D Diminished", "D Dorian", "D Dorian flat 5", "D Harmonic Major", "D Harmonic Minor", "D Harmonic Minor inverse", "D Ionian Augmented", "D Locrian", "D Locrian Double-flat 7", "D Locrian natural 6", "D Lydian", "D Lydian Augmented", "D Lydian Diminished", "D Major", "D Major Augmented", "D Major-Minor", "D Makam Huzzam", "D Mela Natakapriya", "D Melodic Minor ascending", "D Minor Locrian", "D Mixolydian", "D Octatonic", "D Phrygian", "D Phrygian Dominant", "D Superlocrian", "D Ultralocrian", "D Whole-tone", "D Double Harmonic", "D Lydian Sharp 2 Sharp 6", "D Ultraphrygian", "D Double Harmonic Minor", "D Asian", "D Ionian Augmented Sharp 2", "D Locrian Double-flat 3 Double-flat 7", "D Minor Pentatonic", "D Major Pentatonic", "D Minor Bebop", "D Major Bebop", "D Dominant Bebop", "D Blues scale", "D Blues scale II", "D# Acoustic", "D# Aeolian", "D# Aeolian flat 1", "D# Aeolian Harmonic", "D# Altered Dorian", "D# Augmented Inverse", "D# Diminished", "D# Dorian", "D# Dorian flat 5", "D# Harmonic Major", "D# Harmonic Minor", "D# Harmonic Minor inverse", "D# Ionian Augmented", "D# Locrian", "D# Locrian Double-flat 7", "D# Locrian natural 6", "D# Lydian", "D# Lydian Augmented", "D# Lydian Diminished", "D# Major", "D# Major Augmented", "D# Major-Minor", "D# Makam Huzzam", "D# Mela Natakapriya", "D# Melodic Minor ascending", "D# Minor Locrian", "D# Mixolydian", "D# Octatonic", "D# Phrygian", "D# Phrygian Dominant", "D# Superlocrian", "D# Ultralocrian", "D# Whole-tone", "D# Double Harmonic", "D# Lydian Sharp 2 Sharp 6", "D# Ultraphrygian", "D# Double Harmonic Minor", "D# Asian", "D# Ionian Augmented Sharp 2", "D# Locrian Double-flat 3 Double-flat 7", "D# Minor Pentatonic", "D# Major Pentatonic", "D# Minor Bebop", "D# Major Bebop", "D# Dominant Bebop", "D# Blues scale", "D# Blues scale II", "E Acoustic", "E Aeolian", "E Aeolian flat 1", "E Aeolian Harmonic", "E Altered Dorian", "E Augmented Inverse", "E Diminished", "E Dorian", "E Dorian flat 5", "E Harmonic Major", "E Harmonic Minor", "E Harmonic Minor inverse", "E Ionian Augmented", "E Locrian", "E Locrian Double-flat 7", "E Locrian natural 6", "E Lydian", "E Lydian Augmented", "E Lydian Diminished", "E Major", "E Major Augmented", "E Major-Minor", "E Makam Huzzam", "E Mela Natakapriya", "E Melodic Minor ascending", "E Minor Locrian", "E Mixolydian", "E Octatonic", "E Phrygian", "E Phrygian Dominant", "E Superlocrian", "E Ultralocrian", "E Whole-tone", "E Double Harmonic", "E Lydian Sharp 2 Sharp 6", "E Ultraphrygian", "E Double Harmonic Minor", "E Asian", "E Ionian Augmented Sharp 2", "E Locrian Double-flat 3 Double-flat 7", "E Minor Pentatonic", "E Major Pentatonic", "E Minor Bebop", "E Major Bebop", "E Dominant Bebop", "E Blues scale", "E Blues scale II", "F Acoustic", "F Aeolian", "F Aeolian flat 1", "F Aeolian Harmonic", "F Altered Dorian", "F Augmented Inverse", "F Diminished", "F Dorian", "F Dorian flat 5", "F Harmonic Major", "F Harmonic Minor", "F Harmonic Minor inverse", "F Ionian Augmented", "F Locrian", "F Locrian Double-flat 7", "F Locrian natural 6", "F Lydian", "F Lydian Augmented", "F Lydian Diminished", "F Major", "F Major Augmented", "F Major-Minor", "F Makam Huzzam", "F Mela Natakapriya", "F Melodic Minor ascending", "F Minor Locrian", "F Mixolydian", "F Octatonic", "F Phrygian", "F Phrygian Dominant", "F Superlocrian", "F Ultralocrian", "F Whole-tone", "F Double Harmonic", "F Lydian Sharp 2 Sharp 6", "F Ultraphrygian", "F Double Harmonic Minor", "F Asian", "F Ionian Augmented Sharp 2", "F Locrian Double-flat 3 Double-flat 7", "F Minor Pentatonic", "F Major Pentatonic", "F Minor Bebop", "F Major Bebop", "F Dominant Bebop", "F Blues scale", "F Blues scale II", "F# Acoustic", "F# Aeolian", "F# Aeolian flat 1", "F# Aeolian Harmonic", "F# Altered Dorian", "F# Augmented Inverse", "F# Diminished", "F# Dorian", "F# Dorian flat 5", "F# Harmonic Major", "F# Harmonic Minor", "F# Harmonic Minor inverse", "F# Ionian Augmented", "F# Locrian", "F# Locrian Double-flat 7", "F# Locrian natural 6", "F# Lydian", "F# Lydian Augmented", "F# Lydian Diminished", "F# Major", "F# Major Augmented", "F# Major-Minor", "F# Makam Huzzam", "F# Mela Natakapriya", "F# Melodic Minor ascending", "F# Minor Locrian", "F# Mixolydian", "F# Octatonic", "F# Phrygian", "F# Phrygian Dominant", "F# Superlocrian", "F# Ultralocrian", "F# Whole-tone", "F# Double Harmonic", "F# Lydian Sharp 2 Sharp 6", "F# Ultraphrygian", "F# Double Harmonic Minor", "F# Asian", "F# Ionian Augmented Sharp 2", "F# Locrian Double-flat 3 Double-flat 7", "F# Minor Pentatonic", "F# Major Pentatonic", "F# Minor Bebop", "F# Major Bebop", "F# Dominant Bebop", "F# Blues scale", "F# Blues scale II", "G Acoustic", "G Aeolian", "G Aeolian flat 1", "G Aeolian Harmonic", "G Altered Dorian", "G Augmented Inverse", "G Diminished", "G Dorian", "G Dorian flat 5", "G Harmonic Major", "G Harmonic Minor", "G Harmonic Minor inverse", "G Ionian Augmented", "G Locrian", "G Locrian Double-flat 7", "G Locrian natural 6", "G Lydian", "G Lydian Augmented", "G Lydian Diminished", "G Major", "G Major Augmented", "G Major-Minor", "G Makam Huzzam", "G Mela Natakapriya", "G Melodic Minor ascending", "G Minor Locrian", "G Mixolydian", "G Octatonic", "G Phrygian", "G Phrygian Dominant", "G Superlocrian", "G Ultralocrian", "G Whole-tone", "G Double Harmonic", "G Lydian Sharp 2 Sharp 6", "G Ultraphrygian", "G Double Harmonic Minor", "G Asian", "G Ionian Augmented Sharp 2", "G Locrian Double-flat 3 Double-flat 7", "G Minor Pentatonic", "G Major Pentatonic", "G Minor Bebop", "G Major Bebop", "G Dominant Bebop", "G Blues scale", "G Blues scale II", "G# Acoustic", "G# Aeolian", "G# Aeolian flat 1", "G# Aeolian Harmonic", "G# Altered Dorian", "G# Augmented Inverse", "G# Diminished", "G# Dorian", "G# Dorian flat 5", "G# Harmonic Major", "G# Harmonic Minor", "G# Harmonic Minor inverse", "G# Ionian Augmented", "G# Locrian", "G# Locrian Double-flat 7", "G# Locrian natural 6", "G# Lydian", "G# Lydian Augmented", "G# Lydian Diminished", "G# Major", "G# Major Augmented", "G# Major-Minor", "G# Makam Huzzam", "G# Mela Natakapriya", "G# Melodic Minor ascending", "G# Minor Locrian", "G# Mixolydian", "G# Octatonic", "G# Phrygian", "G# Phrygian Dominant", "G# Superlocrian", "G# Ultralocrian", "G# Whole-tone", "G# Double Harmonic", "G# Lydian Sharp 2 Sharp 6", "G# Ultraphrygian", "G# Double Harmonic Minor", "G# Asian", "G# Ionian Augmented Sharp 2", "G# Locrian Double-flat 3 Double-flat 7", "G# Minor Pentatonic", "G# Major Pentatonic", "G# Minor Bebop", "G# Major Bebop", "G# Dominant Bebop", "G# Blues scale", "G# Blues scale II", "A Acoustic", "A Aeolian", "A Aeolian flat 1", "A Aeolian Harmonic", "A Altered Dorian", "A Augmented Inverse", "A Diminished", "A Dorian", "A Dorian flat 5", "A Harmonic Major", "A Harmonic Minor", "A Harmonic Minor inverse", "A Ionian Augmented", "A Locrian", "A Locrian Double-flat 7", "A Locrian natural 6", "A Lydian", "A Lydian Augmented", "A Lydian Diminished", "A Major", "A Major Augmented", "A Major-Minor", "A Makam Huzzam", "A Mela Natakapriya", "A Melodic Minor ascending", "A Minor Locrian", "A Mixolydian", "A Octatonic", "A Phrygian", "A Phrygian Dominant", "A Superlocrian", "A Ultralocrian", "A Whole-tone", "A Double Harmonic", "A Lydian Sharp 2 Sharp 6", "A Ultraphrygian", "A Double Harmonic Minor", "A Asian", "A Ionian Augmented Sharp 2", "A Locrian Double-flat 3 Double-flat 7", "A Minor Pentatonic", "A Major Pentatonic", "A Minor Bebop", "A Major Bebop", "A Dominant Bebop", "A Blues scale", "A Blues scale II", "A# Acoustic", "A# Aeolian", "A# Aeolian flat 1", "A# Aeolian Harmonic", "A# Altered Dorian", "A# Augmented Inverse", "A# Diminished", "A# Dorian", "A# Dorian flat 5", "A# Harmonic Major", "A# Harmonic Minor", "A# Harmonic Minor inverse", "A# Ionian Augmented", "A# Locrian", "A# Locrian Double-flat 7", "A# Locrian natural 6", "A# Lydian", "A# Lydian Augmented", "A# Lydian Diminished", "A# Major", "A# Major Augmented", "A# Major-Minor", "A# Makam Huzzam", "A# Mela Natakapriya", "A# Melodic Minor ascending", "A# Minor Locrian", "A# Mixolydian", "A# Octatonic", "A# Phrygian", "A# Phrygian Dominant", "A# Superlocrian", "A# Ultralocrian", "A# Whole-tone", "A# Double Harmonic", "A# Lydian Sharp 2 Sharp 6", "A# Ultraphrygian", "A# Double Harmonic Minor", "A# Asian", "A# Ionian Augmented Sharp 2", "A# Locrian Double-flat 3 Double-flat 7", "A# Minor Pentatonic", "A# Major Pentatonic", "A# Minor Bebop", "A# Major Bebop", "A# Dominant Bebop", "A# Blues scale", "A# Blues scale II", "B Acoustic", "B Aeolian", "B Aeolian flat 1", "B Aeolian Harmonic", "B Altered Dorian", "B Augmented Inverse", "B Diminished", "B Dorian", "B Dorian flat 5", "B Harmonic Major", "B Harmonic Minor", "B Harmonic Minor inverse", "B Ionian Augmented", "B Locrian", "B Locrian Double-flat 7", "B Locrian natural 6", "B Lydian", "B Lydian Augmented", "B Lydian Diminished", "B Major", "B Major Augmented", "B Major-Minor", "B Makam Huzzam", "B Mela Natakapriya", "B Melodic Minor ascending", "B Minor Locrian", "B Mixolydian", "B Octatonic", "B Phrygian", "B Phrygian Dominant", "B Superlocrian", "B Ultralocrian", "B Whole-tone", "B Double Harmonic", "B Lydian Sharp 2 Sharp 6", "B Ultraphrygian", "B Double Harmonic Minor", "B Asian", "B Ionian Augmented Sharp 2", "B Locrian Double-flat 3 Double-flat 7", "B Minor Pentatonic", "B Major Pentatonic", "B Minor Bebop", "B Major Bebop", "B Dominant Bebop", "B Blues scale", "B Blues scale II"];
       settings.scales = [[], ["C", "D", "E", "F#", "G", "A", "A#"], ["C", "D", "D#", "F", "G", "G#", "A#"], ["C", "D#", "E", "F#", "G#", "A", "B"], ["C", "D#", "E", "F#", "G", "A", "B"], ["C", "D", "D#", "F#", "G", "A", "A#"], ["C", "C#", "E", "F", "G#", "A"], ["C", "D", "D#", "F", "F#", "G#", "A", "B"], ["C", "D", "D#", "F", "G", "A", "A#"], ["C", "D", "D#", "F", "F#", "A", "A#"], ["C", "D", "E", "F", "G", "G#", "B"], ["C", "D", "D#", "F", "G", "G#", "B"], ["C", "C#", "E", "F", "G", "A", "A#"], ["C", "D", "E", "F", "G#", "A", "B"], ["C", "C#", "D#", "F", "F#", "G#", "A#"], ["C", "C#", "D#", "F", "F#", "G#", "A"], ["C", "C#", "D#", "F", "F#", "A", "A#"], ["C", "D", "E", "F#", "G", "A", "B"], ["C", "D", "E", "F#", "G#", "A", "B"], ["C", "D", "D#", "F#", "G", "A", "B"], ["C", "D", "E", "F", "G", "A", "B"], ["C", "D#", "E", "G", "G#", "B"], ["C", "D", "E", "F", "G", "G#", "A#"], ["C", "C#", "D#", "E", "G", "G#", "A#"], ["C", "C#", "D#", "F", "G", "A", "A#"], ["C", "D", "D#", "F", "G", "A", "B"], ["C", "D", "D#", "F", "F#", "G#", "A#"], ["C", "D", "E", "F", "G", "A", "A#"], ["C", "C#", "D#", "E", "F#", "G", "A", "A#"], ["C", "C#", "D#", "F", "G", "G#", "A#"], ["C", "C#", "E", "F", "G", "G#", "A#"], ["C", "C#", "D#", "E", "F#", "G#", "A#"], ["C", "C#", "D#", "E", "F#", "G#", "A"], ["C", "D", "E", "F#", "G#", "A#"], ["C", "C#", "E", "F", "G", "G#", "B"], ["C", "D#", "E", "F#", "G", "A#", "B"], ["C", "C#", "D#", "E", "G", "G#", "A"], ["C", "D", "D#", "F#", "G", "G#", "B"], ["C", "C#", "E", "F", "F#", "A", "A#"], ["C", "D#", "E", "F", "G#", "A", "B"], ["C", "C#", "D", "F", "F#", "G#", "A"], ["C", "D#", "F", "G", "A#"], ["C", "D", "E", "G", "A"], ["C", "D", "D#", "E", "F", "G", "A", "A#"], ["C", "D", "E", "F", "G", "G#", "A", "B"], ["C", "D", "E", "F", "G", "A", "A#", "B"], ["C", "D#", "F", "F#", "G", "A#"], ["C", "D", "D#", "F", "F#", "G", "A", "A#"], ["C#", "D#", "F", "G", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G#", "A", "B"], ["C#", "E", "F", "G", "A", "A#", "C"], ["C#", "E", "F", "G", "G#", "A#", "C"], ["C#", "D#", "E", "G", "G#", "A#", "B"], ["C#", "D", "F", "F#", "A", "A#"], ["C#", "D#", "E", "F#", "G", "A", "A#", "C"], ["C#", "D#", "E", "F#", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G", "A#", "B"], ["C#", "D#", "F", "F#", "G#", "A", "C"], ["C#", "D#", "E", "F#", "G#", "A", "C"], ["C#", "D", "F", "F#", "G#", "A#", "B"], ["C#", "D#", "F", "F#", "A", "A#", "C"], ["C#", "D", "E", "F#", "G", "A", "B"], ["C#", "D", "E", "F#", "G", "A", "A#"], ["C#", "D", "E", "F#", "G", "A#", "B"], ["C#", "D#", "F", "G", "G#", "A#", "C"], ["C#", "D#", "F", "G", "A", "A#", "C"], ["C#", "D#", "E", "G", "G#", "A#", "C"], ["C#", "D#", "F", "F#", "G#", "A#", "C"], ["C#", "E", "F", "G#", "A", "C"], ["C#", "D#", "F", "F#", "G#", "A", "B"], ["C#", "D", "E", "F", "G#", "A", "B"], ["C#", "D", "E", "F#", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G#", "A#", "C"], ["C#", "D#", "E", "F#", "G", "A", "B"], ["C#", "D#", "F", "F#", "G#", "A#", "B"], ["C#", "D", "E", "F", "G", "G#", "A#", "B"], ["C#", "D", "E", "F#", "G#", "A", "B"], ["C#", "D", "F", "F#", "G#", "A", "B"], ["C#", "D", "E", "F", "G", "A", "B"], ["C#", "D", "E", "F", "G", "A", "A#"], ["C#", "D#", "F", "G", "A", "B"], ["C#", "D", "F", "F#", "G#", "A", "C"], ["C#", "E", "F", "G", "G#", "B", "C"], ["C#", "D", "E", "F", "G#", "A", "A#"], ["C#", "D#", "E", "G", "G#", "A", "C"], ["C#", "D", "F", "F#", "G", "A#", "B"], ["C#", "E", "F", "F#", "A", "A#", "C"], ["C#", "D", "D#", "F#", "G", "A", "A#"], ["C#", "E", "F#", "G#", "B"], ["C#", "D#", "F", "G#", "A#"], ["C#", "D#", "E", "F", "F#", "G#", "A#", "B"], ["C#", "D#", "F", "F#", "G#", "A", "A#", "C"], ["C#", "D#", "F", "F#", "G#", "A#", "B", "C"], ["C#", "E", "F#", "G", "G#", "B"], ["C#", "D#", "E", "F#", "G", "G#", "A#", "B"], ["D", "E", "F#", "G#", "A", "B", "C"], ["D", "E", "F", "G", "A", "A#", "C"], ["D", "F", "F#", "G#", "A#", "B", "C#"], ["D", "F", "F#", "G#", "A", "B", "C#"], ["D", "E", "F", "G#", "A", "B", "C"], ["D", "D#", "F#", "G", "A#", "B"], ["D", "E", "F", "G", "G#", "A#", "B", "C#"], ["D", "E", "F", "G", "A", "B", "C"], ["D", "E", "F", "G", "G#", "B", "C"], ["D", "E", "F#", "G", "A", "A#", "C#"], ["D", "E", "F", "G", "A", "A#", "C#"], ["D", "D#", "F#", "G", "A", "B", "C"], ["D", "E", "F#", "G", "A#", "B", "C#"], ["D", "D#", "F", "G", "G#", "A#", "C"], ["D", "D#", "F", "G", "G#", "A#", "B"], ["D", "D#", "F", "G", "G#", "B", "C"], ["D", "E", "F#", "G#", "A", "B", "C#"], ["D", "E", "F#", "G#", "A#", "B", "C#"], ["D", "E", "F", "G#", "A", "B", "C#"], ["D", "E", "F#", "G", "A", "B", "C#"], ["D", "F", "F#", "A", "A#", "C#"], ["D", "E", "F#", "G", "A", "A#", "C"], ["D", "D#", "F", "F#", "A", "A#", "C"], ["D", "D#", "F", "G", "A", "B", "C"], ["D", "E", "F", "G", "A", "B", "C#"], ["D", "E", "F", "G", "G#", "A#", "C"], ["D", "E", "F#", "G", "A", "B", "C"], ["D", "D#", "F", "F#", "G#", "A", "B", "C"], ["D", "D#", "F", "G", "A", "A#", "C"], ["D", "D#", "F#", "G", "A", "A#", "C"], ["D", "D#", "F", "F#", "G#", "A#", "C"], ["D", "D#", "F", "F#", "G#", "A#", "B"], ["D", "E", "F#", "G#", "A#", "C"], ["D", "D#", "F#", "G", "A", "A#", "C#"], ["D", "F", "F#", "G#", "A", "C", "C#"], ["D", "D#", "F", "F#", "A", "A#", "B"], ["D", "E", "F", "G#", "A", "A#", "C#"], ["D", "D#", "F#", "G", "G#", "B", "C"], ["D", "F", "F#", "G", "A#", "B", "C#"], ["D", "D#", "E", "G", "G#", "A#", "B"], ["D", "F", "G", "A", "C"], ["D", "E", "F#", "A", "B"], ["D", "E", "F", "F#", "G", "A", "B", "C"], ["D", "E", "F#", "G", "A", "A#", "B", "C#"], ["D", "E", "F#", "G", "A", "B", "C", "C#"], ["D", "F", "G", "G#", "A", "C"], ["D", "E", "F", "G", "G#", "A", "B", "C"], ["D#", "F", "G", "A", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A#", "B", "C#"], ["D#", "F#", "G", "A", "B", "C", "D"], ["D#", "F#", "G", "A", "A#", "C", "D"], ["D#", "F", "F#", "A", "A#", "C", "C#"], ["D#", "E", "G", "G#", "B", "C"], ["D#", "F", "F#", "G#", "A", "B", "C", "D"], ["D#", "F", "F#", "G#", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A", "C", "C#"], ["D#", "F", "G", "G#", "A#", "B", "D"], ["D#", "F", "F#", "G#", "A#", "B", "D"], ["D#", "E", "G", "G#", "A#", "C", "C#"], ["D#", "F", "G", "G#", "B", "C", "D"], ["D#", "E", "F#", "G#", "A", "B", "C#"], ["D#", "E", "F#", "G#", "A", "B", "C"], ["D#", "E", "F#", "G#", "A", "C", "C#"], ["D#", "F", "G", "A", "A#", "C", "D"], ["D#", "F", "G", "A", "B", "C", "D"], ["D#", "F", "F#", "A", "A#", "C", "D"], ["D#", "F", "G", "G#", "A#", "C", "D"], ["D#", "F#", "G", "A#", "B", "D"], ["D#", "F", "G", "G#", "A#", "B", "C#"], ["D#", "E", "F#", "G", "A#", "B", "C#"], ["D#", "E", "F#", "G#", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A#", "C", "D"], ["D#", "F", "F#", "G#", "A", "B", "C#"], ["D#", "F", "G", "G#", "A#", "C", "C#"], ["D#", "E", "F#", "G", "A", "A#", "C", "C#"], ["D#", "E", "F#", "G#", "A#", "B", "C#"], ["D#", "E", "G", "G#", "A#", "B", "C#"], ["D#", "E", "F#", "G", "A", "B", "C#"], ["D#", "E", "F#", "G", "A", "B", "C"], ["D#", "F", "G", "A", "B", "C#"], ["D#", "E", "G", "G#", "A#", "B", "D"], ["D#", "F#", "G", "A", "A#", "C#", "D"], ["D#", "E", "F#", "G", "A#", "B", "C"], ["D#", "F", "F#", "A", "A#", "B", "D"], ["D#", "E", "G", "G#", "A", "C", "C#"], ["D#", "F#", "G", "G#", "B", "C", "D"], ["D#", "E", "F", "G#", "A", "B", "C"], ["D#", "F#", "G#", "A#", "C#"], ["D#", "F", "G", "A#", "C"], ["D#", "F", "F#", "G", "G#", "A#", "C", "C#"], ["D#", "F", "G", "G#", "A#", "B", "C", "D"], ["D#", "F", "G", "G#", "A#", "C", "C#", "D"], ["D#", "F#", "G#", "A", "A#", "C#"], ["D#", "F", "F#", "G#", "A", "A#", "C", "C#"], ["E", "F#", "G#", "A#", "B", "C#", "D"], ["E", "F#", "G", "A", "B", "C", "D"], ["E", "G", "G#", "A#", "C", "C#", "D#"], ["E", "G", "G#", "A#", "B", "C#", "D#"], ["E", "F#", "G", "A#", "B", "C#", "D"], ["E", "F", "G#", "A", "C", "C#"], ["E", "F#", "G", "A", "A#", "C", "C#", "D#"], ["E", "F#", "G", "A", "B", "C#", "D"], ["E", "F#", "G", "A", "A#", "C#", "D"], ["E", "F#", "G#", "A", "B", "C", "D#"], ["E", "F#", "G", "A", "B", "C", "D#"], ["E", "F", "G#", "A", "B", "C#", "D"], ["E", "F#", "G#", "A", "C", "C#", "D#"], ["E", "F", "G", "A", "A#", "C", "D"], ["E", "F", "G", "A", "A#", "C", "C#"], ["E", "F", "G", "A", "A#", "C#", "D"], ["E", "F#", "G#", "A#", "B", "C#", "D#"], ["E", "F#", "G#", "A#", "C", "C#", "D#"], ["E", "F#", "G", "A#", "B", "C#", "D#"], ["E", "F#", "G#", "A", "B", "C#", "D#"], ["E", "G", "G#", "B", "C", "D#"], ["E", "F#", "G#", "A", "B", "C", "D"], ["E", "F", "G", "G#", "B", "C", "D"], ["E", "F", "G", "A", "B", "C#", "D"], ["E", "F#", "G", "A", "B", "C#", "D#"], ["E", "F#", "G", "A", "A#", "C", "D"], ["E", "F#", "G#", "A", "B", "C#", "D"], ["E", "F", "G", "G#", "A#", "B", "C#", "D"], ["E", "F", "G", "A", "B", "C", "D"], ["E", "F", "G#", "A", "B", "C", "D"], ["E", "F", "G", "G#", "A#", "C", "D"], ["E", "F", "G", "G#", "A#", "C", "C#"], ["E", "F#", "G#", "A#", "C", "D"], ["E", "F", "G#", "A", "B", "C", "D#"], ["E", "G", "G#", "A#", "B", "D", "D#"], ["E", "F", "G", "G#", "B", "C", "C#"], ["E", "F#", "G", "A#", "B", "C", "D#"], ["E", "F", "G#", "A", "A#", "C#", "D"], ["E", "G", "G#", "A", "C", "C#", "D#"], ["E", "F", "F#", "A", "A#", "C", "C#"], ["E", "G", "A", "B", "D"], ["E", "F#", "G#", "B", "C#"], ["E", "F#", "G", "G#", "A", "B", "C#", "D"], ["E", "F#", "G#", "A", "B", "C", "C#", "D#"], ["E", "F#", "G#", "A", "B", "C#", "D", "D#"], ["E", "G", "A", "A#", "B", "D"], ["E", "F#", "G", "A", "A#", "B", "C#", "D"], ["F", "G", "A", "B", "C", "D", "D#"], ["F", "G", "G#", "A#", "C", "C#", "D#"], ["F", "G#", "A", "B", "C#", "D", "E"], ["F", "G#", "A", "B", "C", "D", "E"], ["F", "G", "G#", "B", "C", "D", "D#"], ["F", "F#", "A", "A#", "C#", "D"], ["F", "G", "G#", "A#", "B", "C#", "D", "E"], ["F", "G", "G#", "A#", "C", "D", "D#"], ["F", "G", "G#", "A#", "B", "D", "D#"], ["F", "G", "A", "A#", "C", "C#", "E"], ["F", "G", "G#", "A#", "C", "C#", "E"], ["F", "F#", "A", "A#", "C", "D", "D#"], ["F", "G", "A", "A#", "C#", "D", "E"], ["F", "F#", "G#", "A#", "B", "C#", "D#"], ["F", "F#", "G#", "A#", "B", "C#", "D"], ["F", "F#", "G#", "A#", "B", "D", "D#"], ["F", "G", "A", "B", "C", "D", "E"], ["F", "G", "A", "B", "C#", "D", "E"], ["F", "G", "G#", "B", "C", "D", "E"], ["F", "G", "A", "A#", "C", "D", "E"], ["F", "G#", "A", "C", "C#", "E"], ["F", "G", "A", "A#", "C", "C#", "D#"], ["F", "F#", "G#", "A", "C", "C#", "D#"], ["F", "F#", "G#", "A#", "C", "D", "D#"], ["F", "G", "G#", "A#", "C", "D", "E"], ["F", "G", "G#", "A#", "B", "C#", "D#"], ["F", "G", "A", "A#", "C", "D", "D#"], ["F", "F#", "G#", "A", "B", "C", "D", "D#"], ["F", "F#", "G#", "A#", "C", "C#", "D#"], ["F", "F#", "A", "A#", "C", "C#", "D#"], ["F", "F#", "G#", "A", "B", "C#", "D#"], ["F", "F#", "G#", "A", "B", "C#", "D"], ["F", "G", "A", "B", "C#", "D#"], ["F", "F#", "A", "A#", "C", "C#", "E"], ["F", "G#", "A", "B", "C", "D#", "E"], ["F", "F#", "G#", "A", "C", "C#", "D"], ["F", "G", "G#", "B", "C", "C#", "E"], ["F", "F#", "A", "A#", "B", "D", "D#"], ["F", "G#", "A", "A#", "C#", "D", "E"], ["F", "F#", "G", "A#", "B", "C#", "D"], ["F", "G#", "A#", "C", "D#"], ["F", "G", "A", "C", "D"], ["F", "G", "G#", "A", "A#", "C", "D", "D#"], ["F", "G", "A", "A#", "C", "C#", "D", "E"], ["F", "G", "A", "A#", "C", "D", "D#", "E"], ["F", "G#", "A#", "B", "C", "D#"], ["F", "G", "G#", "A#", "B", "C", "D", "D#"], ["F#", "G#", "A#", "C", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C#", "D", "E"], ["F#", "A", "A#", "C", "D", "D#", "F"], ["F#", "A", "A#", "C", "C#", "D#", "F"], ["F#", "G#", "A", "C", "C#", "D#", "E"], ["F#", "G", "A#", "B", "D", "D#"], ["F#", "G#", "A", "B", "C", "D", "D#", "F"], ["F#", "G#", "A", "B", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C", "D#", "E"], ["F#", "G#", "A#", "B", "C#", "D", "F"], ["F#", "G#", "A", "B", "C#", "D", "F"], ["F#", "G", "A#", "B", "C#", "D#", "E"], ["F#", "G#", "A#", "B", "D", "D#", "F"], ["F#", "G", "A", "B", "C", "D", "E"], ["F#", "G", "A", "B", "C", "D", "D#"], ["F#", "G", "A", "B", "C", "D#", "E"], ["F#", "G#", "A#", "C", "C#", "D#", "F"], ["F#", "G#", "A#", "C", "D", "D#", "F"], ["F#", "G#", "A", "C", "C#", "D#", "F"], ["F#", "G#", "A#", "B", "C#", "D#", "F"], ["F#", "A", "A#", "C#", "D", "F"], ["F#", "G#", "A#", "B", "C#", "D", "E"], ["F#", "G", "A", "A#", "C#", "D", "E"], ["F#", "G", "A", "B", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C#", "D#", "F"], ["F#", "G#", "A", "B", "C", "D", "E"], ["F#", "G#", "A#", "B", "C#", "D#", "E"], ["F#", "G", "A", "A#", "C", "C#", "D#", "E"], ["F#", "G", "A", "B", "C#", "D", "E"], ["F#", "G", "A#", "B", "C#", "D", "E"], ["F#", "G", "A", "A#", "C", "D", "E"], ["F#", "G", "A", "A#", "C", "D", "D#"], ["F#", "G#", "A#", "C", "D", "E"], ["F#", "G", "A#", "B", "C#", "D", "F"], ["F#", "A", "A#", "C", "C#", "E", "F"], ["F#", "G", "A", "A#", "C#", "D", "D#"], ["F#", "G#", "A", "C", "C#", "D", "F"], ["F#", "G", "A#", "B", "C", "D#", "E"], ["F#", "A", "A#", "B", "D", "D#", "F"], ["F#", "G", "G#", "B", "C", "D", "D#"], ["F#", "A", "B", "C#", "E"], ["F#", "G#", "A#", "C#", "D#"], ["F#", "G#", "A", "A#", "B", "C#", "D#", "E"], ["F#", "G#", "A#", "B", "C#", "D", "D#", "F"], ["F#", "G#", "A#", "B", "C#", "D#", "E", "F"], ["F#", "A", "B", "C", "C#", "E"], ["F#", "G#", "A", "B", "C", "C#", "D#", "E"], ["G", "A", "B", "C#", "D", "E", "F"], ["G", "A", "A#", "C", "D", "D#", "F"], ["G", "A#", "B", "C#", "D#", "E", "F#"], ["G", "A#", "B", "C#", "D", "E", "F#"], ["G", "A", "A#", "C#", "D", "E", "F"], ["G", "G#", "B", "C", "D#", "E"], ["G", "A", "A#", "C", "C#", "D#", "E", "F#"], ["G", "A", "A#", "C", "D", "E", "F"], ["G", "A", "A#", "C", "C#", "E", "F"], ["G", "A", "B", "C", "D", "D#", "F#"], ["G", "A", "A#", "C", "D", "D#", "F#"], ["G", "G#", "B", "C", "D", "E", "F"], ["G", "A", "B", "C", "D#", "E", "F#"], ["G", "G#", "A#", "C", "C#", "D#", "F"], ["G", "G#", "A#", "C", "C#", "D#", "E"], ["G", "G#", "A#", "C", "C#", "E", "F"], ["G", "A", "B", "C#", "D", "E", "F#"], ["G", "A", "B", "C#", "D#", "E", "F#"], ["G", "A", "A#", "C#", "D", "E", "F#"], ["G", "A", "B", "C", "D", "E", "F#"], ["G", "A#", "B", "D", "D#", "F#"], ["G", "A", "B", "C", "D", "D#", "F"], ["G", "G#", "A#", "B", "D", "D#", "F"], ["G", "G#", "A#", "C", "D", "E", "F"], ["G", "A", "A#", "C", "D", "E", "F#"], ["G", "A", "A#", "C", "C#", "D#", "F"], ["G", "A", "B", "C", "D", "E", "F"], ["G", "G#", "A#", "B", "C#", "D", "E", "F"], ["G", "G#", "A#", "C", "D", "D#", "F"], ["G", "G#", "B", "C", "D", "D#", "F"], ["G", "G#", "A#", "B", "C#", "D#", "F"], ["G", "G#", "A#", "B", "C#", "D#", "E"], ["G", "A", "B", "C#", "D#", "F"], ["G", "G#", "B", "C", "D", "D#", "F#"], ["G", "A#", "B", "C#", "D", "F", "F#"], ["G", "G#", "A#", "B", "D", "D#", "E"], ["G", "A", "A#", "C#", "D", "D#", "F#"], ["G", "G#", "B", "C", "C#", "E", "F"], ["G", "A#", "B", "C", "D#", "E", "F#"], ["G", "G#", "A", "C", "C#", "D#", "E"], ["G", "A#", "C", "D", "F"], ["G", "A", "B", "D", "E"], ["G", "A", "A#", "B", "C", "D", "E", "F"], ["G", "A", "B", "C", "D", "D#", "E", "F#"], ["G", "A", "B", "C", "D", "E", "F", "F#"], ["G", "A#", "C", "C#", "D", "F"], ["G", "A", "A#", "C", "C#", "D", "E", "F"], ["G#", "A#", "C", "D", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D#", "E", "F#"], ["G#", "B", "C", "D", "E", "F", "G"], ["G#", "B", "C", "D", "D#", "F", "G"], ["G#", "A#", "B", "D", "D#", "F", "F#"], ["G#", "A", "C", "C#", "E", "F"], ["G#", "A#", "B", "C#", "D", "E", "F", "G"], ["G#", "A#", "B", "C#", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D", "F", "F#"], ["G#", "A#", "C", "C#", "D#", "E", "G"], ["G#", "A#", "B", "C#", "D#", "E", "G"], ["G#", "A", "C", "C#", "D#", "F", "F#"], ["G#", "A#", "C", "C#", "E", "F", "G"], ["G#", "A", "B", "C#", "D", "E", "F#"], ["G#", "A", "B", "C#", "D", "E", "F"], ["G#", "A", "B", "C#", "D", "F", "F#"], ["G#", "A#", "C", "D", "D#", "F", "G"], ["G#", "A#", "C", "D", "E", "F", "G"], ["G#", "A#", "B", "D", "D#", "F", "G"], ["G#", "A#", "C", "C#", "D#", "F", "G"], ["G#", "B", "C", "D#", "E", "G"], ["G#", "A#", "C", "C#", "D#", "E", "F#"], ["G#", "A", "B", "C", "D#", "E", "F#"], ["G#", "A", "B", "C#", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D#", "F", "G"], ["G#", "A#", "B", "C#", "D", "E", "F#"], ["G#", "A#", "C", "C#", "D#", "F", "F#"], ["G#", "A", "B", "C", "D", "D#", "F", "F#"], ["G#", "A", "B", "C#", "D#", "E", "F#"], ["G#", "A", "C", "C#", "D#", "E", "F#"], ["G#", "A", "B", "C", "D", "E", "F#"], ["G#", "A", "B", "C", "D", "E", "F"], ["G#", "A#", "C", "D", "E", "F#"], ["G#", "A", "C", "C#", "D#", "E", "G"], ["G#", "B", "C", "D", "D#", "F#", "G"], ["G#", "A", "B", "C", "D#", "E", "F"], ["G#", "A#", "B", "D", "D#", "E", "G"], ["G#", "A", "C", "C#", "D", "F", "F#"], ["G#", "B", "C", "C#", "E", "F", "G"], ["G#", "A", "A#", "C#", "D", "E", "F"], ["G#", "B", "C#", "D#", "F#"], ["G#", "A#", "C", "D#", "F"], ["G#", "A#", "B", "C", "C#", "D#", "F", "F#"], ["G#", "A#", "C", "C#", "D#", "E", "F", "G"], ["G#", "A#", "C", "C#", "D#", "F", "F#", "G"], ["G#", "B", "C#", "D", "D#", "F#"], ["G#", "A#", "B", "C#", "D", "D#", "F", "F#"], ["A", "B", "C#", "D#", "E", "F#", "G"], ["A", "B", "C", "D", "E", "F", "G"], ["A", "C", "C#", "D#", "F", "F#", "G#"], ["A", "C", "C#", "D#", "E", "F#", "G#"], ["A", "B", "C", "D#", "E", "F#", "G"], ["A", "A#", "C#", "D", "F", "F#"], ["A", "B", "C", "D", "D#", "F", "F#", "G#"], ["A", "B", "C", "D", "E", "F#", "G"], ["A", "B", "C", "D", "D#", "F#", "G"], ["A", "B", "C#", "D", "E", "F", "G#"], ["A", "B", "C", "D", "E", "F", "G#"], ["A", "A#", "C#", "D", "E", "F#", "G"], ["A", "B", "C#", "D", "F", "F#", "G#"], ["A", "A#", "C", "D", "D#", "F", "G"], ["A", "A#", "C", "D", "D#", "F", "F#"], ["A", "A#", "C", "D", "D#", "F#", "G"], ["A", "B", "C#", "D#", "E", "F#", "G#"], ["A", "B", "C#", "D#", "F", "F#", "G#"], ["A", "B", "C", "D#", "E", "F#", "G#"], ["A", "B", "C#", "D", "E", "F#", "G#"], ["A", "C", "C#", "E", "F", "G#"], ["A", "B", "C#", "D", "E", "F", "G"], ["A", "A#", "C", "C#", "E", "F", "G"], ["A", "A#", "C", "D", "E", "F#", "G"], ["A", "B", "C", "D", "E", "F#", "G#"], ["A", "B", "C", "D", "D#", "F", "G"], ["A", "B", "C#", "D", "E", "F#", "G"], ["A", "A#", "C", "C#", "D#", "E", "F#", "G"], ["A", "A#", "C", "D", "E", "F", "G"], ["A", "A#", "C#", "D", "E", "F", "G"], ["A", "A#", "C", "C#", "D#", "F", "G"], ["A", "A#", "C", "C#", "D#", "F", "F#"], ["A", "B", "C#", "D#", "F", "G"], ["A", "A#", "C#", "D", "E", "F", "G#"], ["A", "C", "C#", "D#", "E", "G", "G#"], ["A", "A#", "C", "C#", "E", "F", "F#"], ["A", "B", "C", "D#", "E", "F", "G#"], ["A", "A#", "C#", "D", "D#", "F#", "G"], ["A", "C", "C#", "D", "F", "F#", "G#"], ["A", "A#", "B", "D", "D#", "F", "F#"], ["A", "C", "D", "E", "G"], ["A", "B", "C#", "E", "F#"], ["A", "B", "C", "C#", "D", "E", "F#", "G"], ["A", "B", "C#", "D", "E", "F", "F#", "G#"], ["A", "B", "C#", "D", "E", "F#", "G", "G#"], ["A", "C", "D", "D#", "E", "G"], ["A", "B", "C", "D", "D#", "E", "F#", "G"], ["A#", "C", "D", "E", "F", "G", "G#"], ["A#", "C", "C#", "D#", "F", "F#", "G#"], ["A#", "C#", "D", "E", "F#", "G", "A"], ["A#", "C#", "D", "E", "F", "G", "A"], ["A#", "C", "C#", "E", "F", "G", "G#"], ["A#", "B", "D", "D#", "F#", "G"], ["A#", "C", "C#", "D#", "E", "F#", "G", "A"], ["A#", "C", "C#", "D#", "F", "G", "G#"], ["A#", "C", "C#", "D#", "E", "G", "G#"], ["A#", "C", "D", "D#", "F", "F#", "A"], ["A#", "C", "C#", "D#", "F", "F#", "A"], ["A#", "B", "D", "D#", "F", "G", "G#"], ["A#", "C", "D", "D#", "F#", "G", "A"], ["A#", "B", "C#", "D#", "E", "F#", "G#"], ["A#", "B", "C#", "D#", "E", "F#", "G"], ["A#", "B", "C#", "D#", "E", "G", "G#"], ["A#", "C", "D", "E", "F", "G", "A"], ["A#", "C", "D", "E", "F#", "G", "A"], ["A#", "C", "C#", "E", "F", "G", "A"], ["A#", "C", "D", "D#", "F", "G", "A"], ["A#", "C#", "D", "F", "F#", "A"], ["A#", "C", "D", "D#", "F", "F#", "G#"], ["A#", "B", "C#", "D", "F", "F#", "G#"], ["A#", "B", "C#", "D#", "F", "G", "G#"], ["A#", "C", "C#", "D#", "F", "G", "A"], ["A#", "C", "C#", "D#", "E", "F#", "G#"], ["A#", "C", "D", "D#", "F", "G", "G#"], ["A#", "B", "C#", "D", "E", "F", "G", "G#"], ["A#", "B", "C#", "D#", "F", "F#", "G#"], ["A#", "B", "D", "D#", "F", "F#", "G#"], ["A#", "B", "C#", "D", "E", "F#", "G#"], ["A#", "B", "C#", "D", "E", "F#", "G"], ["A#", "C", "D", "E", "F#", "G#"], ["A#", "B", "D", "D#", "F", "F#", "A"], ["A#", "C#", "D", "E", "F", "G#", "A"], ["A#", "B", "C#", "D", "F", "F#", "G"], ["A#", "C", "C#", "E", "F", "F#", "A"], ["A#", "B", "D", "D#", "E", "G", "G#"], ["A#", "C#", "D", "D#", "F#", "G", "A"], ["A#", "B", "C", "D#", "E", "F#", "G"], ["A#", "C#", "D#", "F", "G#"], ["A#", "C", "D", "F", "G"], ["A#", "C", "C#", "D", "D#", "F", "G", "G#"], ["A#", "C", "D", "D#", "F", "F#", "G", "A"], ["A#", "C", "D", "D#", "F", "G", "G#", "A"], ["A#", "C#", "D#", "E", "F", "G#"], ["A#", "C", "C#", "D#", "E", "F", "G", "G#"], ["B", "C#", "D#", "F", "F#", "G#", "A"], ["B", "C#", "D", "E", "F#", "G", "A"], ["B", "D", "D#", "F", "G", "G#", "A#"], ["B", "D", "D#", "F", "F#", "G#", "A#"], ["B", "C#", "D", "F", "F#", "G#", "A"], ["B", "C", "D#", "E", "G", "G#"], ["B", "C#", "D", "E", "F", "G", "G#", "A#"], ["B", "C#", "D", "E", "F#", "G#", "A"], ["B", "C#", "D", "E", "F", "G#", "A"], ["B", "C#", "D#", "E", "F#", "G", "A#"], ["B", "C#", "D", "E", "F#", "G", "A#"], ["B", "C", "D#", "E", "F#", "G#", "A"], ["B", "C#", "D#", "E", "G", "G#", "A#"], ["B", "C", "D", "E", "F", "G", "A"], ["B", "C", "D", "E", "F", "G", "G#"], ["B", "C", "D", "E", "F", "G#", "A"], ["B", "C#", "D#", "F", "F#", "G#", "A#"], ["B", "C#", "D#", "F", "G", "G#", "A#"], ["B", "C#", "D", "F", "F#", "G#", "A#"], ["B", "C#", "D#", "E", "F#", "G#", "A#"], ["B", "D", "D#", "F#", "G", "A#"], ["B", "C#", "D#", "E", "F#", "G", "A"], ["B", "C", "D", "D#", "F#", "G", "A"], ["B", "C", "D", "E", "F#", "G#", "A"], ["B", "C#", "D", "E", "F#", "G#", "A#"], ["B", "C#", "D", "E", "F", "G", "A"], ["B", "C#", "D#", "E", "F#", "G#", "A"], ["B", "C", "D", "D#", "F", "F#", "G#", "A"], ["B", "C", "D", "E", "F#", "G", "A"], ["B", "C", "D#", "E", "F#", "G", "A"], ["B", "C", "D", "D#", "F", "G", "A"], ["B", "C", "D", "D#", "F", "G", "G#"], ["B", "C#", "D#", "F", "G", "A"], ["B", "C", "D#", "E", "F#", "G", "A#"], ["B", "D", "D#", "F", "F#", "A", "A#"], ["B", "C", "D", "D#", "F#", "G", "G#"], ["B", "C#", "D", "F", "F#", "G", "A#"], ["B", "C", "D#", "E", "F", "G#", "A"], ["B", "D", "D#", "E", "G", "G#", "A#"], ["B", "C", "C#", "E", "F", "G", "G#"], ["B", "D", "E", "F#", "A"], ["B", "C#", "D#", "F#", "G#"], ["B", "C#", "D", "D#", "E", "F#", "G#", "A"], ["B", "C#", "D#", "E", "F#", "G", "G#", "A#"], ["B", "C#", "D#", "E", "F#", "G#", "A", "A#"], ["B", "D", "E", "F", "F#", "A"], ["B", "C#", "D", "E", "F", "F#", "G#", "A"]];
       while (keySelect.firstChild) {
           keySelect.removeChild(keySelect.firstChild);
       }
       for (var i = 0; i < settings['scales'].length; i++) {
           var option = document.createElement("option");
           option.innerHTML = settings['scaleNames'][i];
           keySelect.appendChild(option);
       }
       console.log("scales loaded");
   }

   function loadTimeSignatures() {
       var note_lengths = [64, 32, 16, 8, 4, 2, 1, 0.5, 0.25];
       var note_symbols = ["16", "8", "4", "2", "1", "1/2", "1/4", "1/8", "1/16"];
       var tuplets = [3, 5, 7, 11];
       var tuplet_names = ["3:2", "5:4", "7:8", "11:16"];
       var idx = 0;
       while (grid_select.firstChild) {
           grid_select.removeChild(grid_select.firstChild);
       }
       for (var i = 0; i < note_lengths.length; i++) {
           var nl = note_lengths[i];
           var ns = note_symbols[i];
           var opt = document.createElement("option"); opt.value = 1/nl; opt.text = ns; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 2/(nl*3); opt.text = ns + " dot"; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 1.75/(nl*3); opt.text = ns + " dot dot"; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 1.675/(nl*3); opt.text = ns + " dot dot dot"; grid_select.add(opt);
           for (var j = 0; j < tuplets.length; j++) {
               var t = tuplets[j];
               var tn = tuplet_names[j];
               var opt1 = document.createElement("option"); opt1.value = t/(nl*(Math.pow(2, j + 1))); opt1.text = ns + " - (" + tn + ")"; grid_select.add(opt1);
           }
           if (ns === "1/4") {
               idx = i * (tuplets.length + 4);
           }
       }
       grid_select.selectedIndex = idx;
       console.log("time signatures loaded");
   }

   function loadInstruments() {
       var insts=[];
       for(var i=0;i<instrumentSelect.length;i++)
       {
           insts.push(parseInt(instrumentSelect[i].value))
       }
       var grp = document.createElement("optgroup");
       grp.label = "Unfinished";
       instrumentSelect.add(grp);
       for(i=0;i<settings.instrumentColors.length;i++)
       {
           if(!insts.includes(i))
           {
               var opt = document.createElement("option");
               opt.value = i;
               opt.text = settings.instruments[i];
               grp.appendChild(opt);
               var instSettings = document.createElement("div");
               instSettings.innerHTML = "<div class=\"instrument_option\"><div><div id=\"instrument_lock_" + i + "\" class=\"instrument_lock btn tooltipstered\" onclick=\"lockInstrument(" + i + ")\"></div><span id=\"instrument_name_" + i + "\" onclick=\"selectInstrument(" + i + ")\">" + settings.instruments[i] + "</span><div class=\"chip instrument" + i + "\"></div></div><div class=\"row\"><input id=\"instrument_volume_" + i + "\" class=\"slider\" type=\"range\" min=\"0\" max=\"2\" step=\"0.01\" oninput=\"audioSystem.setInstrumentVolume(" + i + ", this.value)\"><div id=\"instrument_delay_" + i + "\" class=\"button tooltipstered\" onclick=\"selectDelay(" + i + ")\">D</div><div id=\"instrument_reverb_" + i + "\" class=\"button tooltipstered\" onclick=\"selectReverb(" + i + ")\">R</div></div></div>;"
               document.getElementById("instrument_options").appendChild(instSettings.firstChild);
           }
       }
       console.log("instruments loaded");
   }
})();
No minor? I mean you could always put them as the major equivalent but it's still nice to have the minor scales.


RE: More Keys? - dfhwze - 03-21-2019

(03-19-2019, 03:59 PM)blobertthebob Wrote:
(03-16-2019, 12:25 PM)dfhwze Wrote: Features v.0.2:

- scales
        - major, melodic minor, harmonic major, harmonic minor, double harmonic, bebop, blues, symmetric scale families
- time signatures
        - common, dotted, rational tuplets
- instruments
        - unfinished instruments support

Code:
// ==UserScript==
// @name         OSEnhanced
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  try to take over the world!
// @author       You
// @match        https://onlinesequencer.net
// @match        https://onlinesequencer.net/*
// @grant        none
// ==/UserScript==

(function() {
   $( document ).ready(function() {
       loadOS( 1, 10 );
   });

   function loadOS( attempt, maxAttempts ) {
       var thirdPartyLoaded = false;
       try {
           if ( instrumentSelect == undefined || settings == undefined || grid_select == undefined || keySelect == undefined ) {
               thirdPartyLoaded = false;
           } else {
               thirdPartyLoaded = true;
           }
       } catch (err) {
           thirdPartyLoaded = false;
       }
       if ( !thirdPartyLoaded ) {
           if ( attempt < maxAttempts ) {
               console.log("awaiting OS to be loaded: attempt #" + attempt);
               setTimeout(function() {
                   loadOS( attempt + 1, maxAttempts );
               }, 1000);
           } else {
               console.log("loading OS timed out at max attempt #" + maxAttempts);
           }
       } else {
           loadInstruments();
           loadTimeSignatures();
           loadScales();
       }
   }

   function loadScales() {
       settings.scaleNames = ["No Key Guide", "C Acoustic", "C Aeolian", "C Aeolian flat 1", "C Aeolian Harmonic", "C Altered Dorian", "C Augmented Inverse", "C Diminished", "C Dorian", "C Dorian flat 5", "C Harmonic Major", "C Harmonic Minor", "C Harmonic Minor inverse", "C Ionian Augmented", "C Locrian", "C Locrian Double-flat 7", "C Locrian natural 6", "C Lydian", "C Lydian Augmented", "C Lydian Diminished", "C Major", "C Major Augmented", "C Major-Minor", "C Makam Huzzam", "C Mela Natakapriya", "C Melodic Minor ascending", "C Minor Locrian", "C Mixolydian", "C Octatonic", "C Phrygian", "C Phrygian Dominant", "C Superlocrian", "C Ultralocrian", "C Whole-tone", "C Double Harmonic", "C Lydian Sharp 2 Sharp 6", "C Ultraphrygian", "C Double Harmonic Minor", "C Asian", "C Ionian Augmented Sharp 2", "C Locrian Double-flat 3 Double-flat 7", "C Minor Pentatonic", "C Major Pentatonic", "C Minor Bebop", "C Major Bebop", "C Dominant Bebop", "C Blues scale", "C Blues scale II", "C# Acoustic", "C# Aeolian", "C# Aeolian flat 1", "C# Aeolian Harmonic", "C# Altered Dorian", "C# Augmented Inverse", "C# Diminished", "C# Dorian", "C# Dorian flat 5", "C# Harmonic Major", "C# Harmonic Minor", "C# Harmonic Minor inverse", "C# Ionian Augmented", "C# Locrian", "C# Locrian Double-flat 7", "C# Locrian natural 6", "C# Lydian", "C# Lydian Augmented", "C# Lydian Diminished", "C# Major", "C# Major Augmented", "C# Major-Minor", "C# Makam Huzzam", "C# Mela Natakapriya", "C# Melodic Minor ascending", "C# Minor Locrian", "C# Mixolydian", "C# Octatonic", "C# Phrygian", "C# Phrygian Dominant", "C# Superlocrian", "C# Ultralocrian", "C# Whole-tone", "C# Double Harmonic", "C# Lydian Sharp 2 Sharp 6", "C# Ultraphrygian", "C# Double Harmonic Minor", "C# Asian", "C# Ionian Augmented Sharp 2", "C# Locrian Double-flat 3 Double-flat 7", "C# Minor Pentatonic", "C# Major Pentatonic", "C# Minor Bebop", "C# Major Bebop", "C# Dominant Bebop", "C# Blues scale", "C# Blues scale II", "D Acoustic", "D Aeolian", "D Aeolian flat 1", "D Aeolian Harmonic", "D Altered Dorian", "D Augmented Inverse", "D Diminished", "D Dorian", "D Dorian flat 5", "D Harmonic Major", "D Harmonic Minor", "D Harmonic Minor inverse", "D Ionian Augmented", "D Locrian", "D Locrian Double-flat 7", "D Locrian natural 6", "D Lydian", "D Lydian Augmented", "D Lydian Diminished", "D Major", "D Major Augmented", "D Major-Minor", "D Makam Huzzam", "D Mela Natakapriya", "D Melodic Minor ascending", "D Minor Locrian", "D Mixolydian", "D Octatonic", "D Phrygian", "D Phrygian Dominant", "D Superlocrian", "D Ultralocrian", "D Whole-tone", "D Double Harmonic", "D Lydian Sharp 2 Sharp 6", "D Ultraphrygian", "D Double Harmonic Minor", "D Asian", "D Ionian Augmented Sharp 2", "D Locrian Double-flat 3 Double-flat 7", "D Minor Pentatonic", "D Major Pentatonic", "D Minor Bebop", "D Major Bebop", "D Dominant Bebop", "D Blues scale", "D Blues scale II", "D# Acoustic", "D# Aeolian", "D# Aeolian flat 1", "D# Aeolian Harmonic", "D# Altered Dorian", "D# Augmented Inverse", "D# Diminished", "D# Dorian", "D# Dorian flat 5", "D# Harmonic Major", "D# Harmonic Minor", "D# Harmonic Minor inverse", "D# Ionian Augmented", "D# Locrian", "D# Locrian Double-flat 7", "D# Locrian natural 6", "D# Lydian", "D# Lydian Augmented", "D# Lydian Diminished", "D# Major", "D# Major Augmented", "D# Major-Minor", "D# Makam Huzzam", "D# Mela Natakapriya", "D# Melodic Minor ascending", "D# Minor Locrian", "D# Mixolydian", "D# Octatonic", "D# Phrygian", "D# Phrygian Dominant", "D# Superlocrian", "D# Ultralocrian", "D# Whole-tone", "D# Double Harmonic", "D# Lydian Sharp 2 Sharp 6", "D# Ultraphrygian", "D# Double Harmonic Minor", "D# Asian", "D# Ionian Augmented Sharp 2", "D# Locrian Double-flat 3 Double-flat 7", "D# Minor Pentatonic", "D# Major Pentatonic", "D# Minor Bebop", "D# Major Bebop", "D# Dominant Bebop", "D# Blues scale", "D# Blues scale II", "E Acoustic", "E Aeolian", "E Aeolian flat 1", "E Aeolian Harmonic", "E Altered Dorian", "E Augmented Inverse", "E Diminished", "E Dorian", "E Dorian flat 5", "E Harmonic Major", "E Harmonic Minor", "E Harmonic Minor inverse", "E Ionian Augmented", "E Locrian", "E Locrian Double-flat 7", "E Locrian natural 6", "E Lydian", "E Lydian Augmented", "E Lydian Diminished", "E Major", "E Major Augmented", "E Major-Minor", "E Makam Huzzam", "E Mela Natakapriya", "E Melodic Minor ascending", "E Minor Locrian", "E Mixolydian", "E Octatonic", "E Phrygian", "E Phrygian Dominant", "E Superlocrian", "E Ultralocrian", "E Whole-tone", "E Double Harmonic", "E Lydian Sharp 2 Sharp 6", "E Ultraphrygian", "E Double Harmonic Minor", "E Asian", "E Ionian Augmented Sharp 2", "E Locrian Double-flat 3 Double-flat 7", "E Minor Pentatonic", "E Major Pentatonic", "E Minor Bebop", "E Major Bebop", "E Dominant Bebop", "E Blues scale", "E Blues scale II", "F Acoustic", "F Aeolian", "F Aeolian flat 1", "F Aeolian Harmonic", "F Altered Dorian", "F Augmented Inverse", "F Diminished", "F Dorian", "F Dorian flat 5", "F Harmonic Major", "F Harmonic Minor", "F Harmonic Minor inverse", "F Ionian Augmented", "F Locrian", "F Locrian Double-flat 7", "F Locrian natural 6", "F Lydian", "F Lydian Augmented", "F Lydian Diminished", "F Major", "F Major Augmented", "F Major-Minor", "F Makam Huzzam", "F Mela Natakapriya", "F Melodic Minor ascending", "F Minor Locrian", "F Mixolydian", "F Octatonic", "F Phrygian", "F Phrygian Dominant", "F Superlocrian", "F Ultralocrian", "F Whole-tone", "F Double Harmonic", "F Lydian Sharp 2 Sharp 6", "F Ultraphrygian", "F Double Harmonic Minor", "F Asian", "F Ionian Augmented Sharp 2", "F Locrian Double-flat 3 Double-flat 7", "F Minor Pentatonic", "F Major Pentatonic", "F Minor Bebop", "F Major Bebop", "F Dominant Bebop", "F Blues scale", "F Blues scale II", "F# Acoustic", "F# Aeolian", "F# Aeolian flat 1", "F# Aeolian Harmonic", "F# Altered Dorian", "F# Augmented Inverse", "F# Diminished", "F# Dorian", "F# Dorian flat 5", "F# Harmonic Major", "F# Harmonic Minor", "F# Harmonic Minor inverse", "F# Ionian Augmented", "F# Locrian", "F# Locrian Double-flat 7", "F# Locrian natural 6", "F# Lydian", "F# Lydian Augmented", "F# Lydian Diminished", "F# Major", "F# Major Augmented", "F# Major-Minor", "F# Makam Huzzam", "F# Mela Natakapriya", "F# Melodic Minor ascending", "F# Minor Locrian", "F# Mixolydian", "F# Octatonic", "F# Phrygian", "F# Phrygian Dominant", "F# Superlocrian", "F# Ultralocrian", "F# Whole-tone", "F# Double Harmonic", "F# Lydian Sharp 2 Sharp 6", "F# Ultraphrygian", "F# Double Harmonic Minor", "F# Asian", "F# Ionian Augmented Sharp 2", "F# Locrian Double-flat 3 Double-flat 7", "F# Minor Pentatonic", "F# Major Pentatonic", "F# Minor Bebop", "F# Major Bebop", "F# Dominant Bebop", "F# Blues scale", "F# Blues scale II", "G Acoustic", "G Aeolian", "G Aeolian flat 1", "G Aeolian Harmonic", "G Altered Dorian", "G Augmented Inverse", "G Diminished", "G Dorian", "G Dorian flat 5", "G Harmonic Major", "G Harmonic Minor", "G Harmonic Minor inverse", "G Ionian Augmented", "G Locrian", "G Locrian Double-flat 7", "G Locrian natural 6", "G Lydian", "G Lydian Augmented", "G Lydian Diminished", "G Major", "G Major Augmented", "G Major-Minor", "G Makam Huzzam", "G Mela Natakapriya", "G Melodic Minor ascending", "G Minor Locrian", "G Mixolydian", "G Octatonic", "G Phrygian", "G Phrygian Dominant", "G Superlocrian", "G Ultralocrian", "G Whole-tone", "G Double Harmonic", "G Lydian Sharp 2 Sharp 6", "G Ultraphrygian", "G Double Harmonic Minor", "G Asian", "G Ionian Augmented Sharp 2", "G Locrian Double-flat 3 Double-flat 7", "G Minor Pentatonic", "G Major Pentatonic", "G Minor Bebop", "G Major Bebop", "G Dominant Bebop", "G Blues scale", "G Blues scale II", "G# Acoustic", "G# Aeolian", "G# Aeolian flat 1", "G# Aeolian Harmonic", "G# Altered Dorian", "G# Augmented Inverse", "G# Diminished", "G# Dorian", "G# Dorian flat 5", "G# Harmonic Major", "G# Harmonic Minor", "G# Harmonic Minor inverse", "G# Ionian Augmented", "G# Locrian", "G# Locrian Double-flat 7", "G# Locrian natural 6", "G# Lydian", "G# Lydian Augmented", "G# Lydian Diminished", "G# Major", "G# Major Augmented", "G# Major-Minor", "G# Makam Huzzam", "G# Mela Natakapriya", "G# Melodic Minor ascending", "G# Minor Locrian", "G# Mixolydian", "G# Octatonic", "G# Phrygian", "G# Phrygian Dominant", "G# Superlocrian", "G# Ultralocrian", "G# Whole-tone", "G# Double Harmonic", "G# Lydian Sharp 2 Sharp 6", "G# Ultraphrygian", "G# Double Harmonic Minor", "G# Asian", "G# Ionian Augmented Sharp 2", "G# Locrian Double-flat 3 Double-flat 7", "G# Minor Pentatonic", "G# Major Pentatonic", "G# Minor Bebop", "G# Major Bebop", "G# Dominant Bebop", "G# Blues scale", "G# Blues scale II", "A Acoustic", "A Aeolian", "A Aeolian flat 1", "A Aeolian Harmonic", "A Altered Dorian", "A Augmented Inverse", "A Diminished", "A Dorian", "A Dorian flat 5", "A Harmonic Major", "A Harmonic Minor", "A Harmonic Minor inverse", "A Ionian Augmented", "A Locrian", "A Locrian Double-flat 7", "A Locrian natural 6", "A Lydian", "A Lydian Augmented", "A Lydian Diminished", "A Major", "A Major Augmented", "A Major-Minor", "A Makam Huzzam", "A Mela Natakapriya", "A Melodic Minor ascending", "A Minor Locrian", "A Mixolydian", "A Octatonic", "A Phrygian", "A Phrygian Dominant", "A Superlocrian", "A Ultralocrian", "A Whole-tone", "A Double Harmonic", "A Lydian Sharp 2 Sharp 6", "A Ultraphrygian", "A Double Harmonic Minor", "A Asian", "A Ionian Augmented Sharp 2", "A Locrian Double-flat 3 Double-flat 7", "A Minor Pentatonic", "A Major Pentatonic", "A Minor Bebop", "A Major Bebop", "A Dominant Bebop", "A Blues scale", "A Blues scale II", "A# Acoustic", "A# Aeolian", "A# Aeolian flat 1", "A# Aeolian Harmonic", "A# Altered Dorian", "A# Augmented Inverse", "A# Diminished", "A# Dorian", "A# Dorian flat 5", "A# Harmonic Major", "A# Harmonic Minor", "A# Harmonic Minor inverse", "A# Ionian Augmented", "A# Locrian", "A# Locrian Double-flat 7", "A# Locrian natural 6", "A# Lydian", "A# Lydian Augmented", "A# Lydian Diminished", "A# Major", "A# Major Augmented", "A# Major-Minor", "A# Makam Huzzam", "A# Mela Natakapriya", "A# Melodic Minor ascending", "A# Minor Locrian", "A# Mixolydian", "A# Octatonic", "A# Phrygian", "A# Phrygian Dominant", "A# Superlocrian", "A# Ultralocrian", "A# Whole-tone", "A# Double Harmonic", "A# Lydian Sharp 2 Sharp 6", "A# Ultraphrygian", "A# Double Harmonic Minor", "A# Asian", "A# Ionian Augmented Sharp 2", "A# Locrian Double-flat 3 Double-flat 7", "A# Minor Pentatonic", "A# Major Pentatonic", "A# Minor Bebop", "A# Major Bebop", "A# Dominant Bebop", "A# Blues scale", "A# Blues scale II", "B Acoustic", "B Aeolian", "B Aeolian flat 1", "B Aeolian Harmonic", "B Altered Dorian", "B Augmented Inverse", "B Diminished", "B Dorian", "B Dorian flat 5", "B Harmonic Major", "B Harmonic Minor", "B Harmonic Minor inverse", "B Ionian Augmented", "B Locrian", "B Locrian Double-flat 7", "B Locrian natural 6", "B Lydian", "B Lydian Augmented", "B Lydian Diminished", "B Major", "B Major Augmented", "B Major-Minor", "B Makam Huzzam", "B Mela Natakapriya", "B Melodic Minor ascending", "B Minor Locrian", "B Mixolydian", "B Octatonic", "B Phrygian", "B Phrygian Dominant", "B Superlocrian", "B Ultralocrian", "B Whole-tone", "B Double Harmonic", "B Lydian Sharp 2 Sharp 6", "B Ultraphrygian", "B Double Harmonic Minor", "B Asian", "B Ionian Augmented Sharp 2", "B Locrian Double-flat 3 Double-flat 7", "B Minor Pentatonic", "B Major Pentatonic", "B Minor Bebop", "B Major Bebop", "B Dominant Bebop", "B Blues scale", "B Blues scale II"];
       settings.scales = [[], ["C", "D", "E", "F#", "G", "A", "A#"], ["C", "D", "D#", "F", "G", "G#", "A#"], ["C", "D#", "E", "F#", "G#", "A", "B"], ["C", "D#", "E", "F#", "G", "A", "B"], ["C", "D", "D#", "F#", "G", "A", "A#"], ["C", "C#", "E", "F", "G#", "A"], ["C", "D", "D#", "F", "F#", "G#", "A", "B"], ["C", "D", "D#", "F", "G", "A", "A#"], ["C", "D", "D#", "F", "F#", "A", "A#"], ["C", "D", "E", "F", "G", "G#", "B"], ["C", "D", "D#", "F", "G", "G#", "B"], ["C", "C#", "E", "F", "G", "A", "A#"], ["C", "D", "E", "F", "G#", "A", "B"], ["C", "C#", "D#", "F", "F#", "G#", "A#"], ["C", "C#", "D#", "F", "F#", "G#", "A"], ["C", "C#", "D#", "F", "F#", "A", "A#"], ["C", "D", "E", "F#", "G", "A", "B"], ["C", "D", "E", "F#", "G#", "A", "B"], ["C", "D", "D#", "F#", "G", "A", "B"], ["C", "D", "E", "F", "G", "A", "B"], ["C", "D#", "E", "G", "G#", "B"], ["C", "D", "E", "F", "G", "G#", "A#"], ["C", "C#", "D#", "E", "G", "G#", "A#"], ["C", "C#", "D#", "F", "G", "A", "A#"], ["C", "D", "D#", "F", "G", "A", "B"], ["C", "D", "D#", "F", "F#", "G#", "A#"], ["C", "D", "E", "F", "G", "A", "A#"], ["C", "C#", "D#", "E", "F#", "G", "A", "A#"], ["C", "C#", "D#", "F", "G", "G#", "A#"], ["C", "C#", "E", "F", "G", "G#", "A#"], ["C", "C#", "D#", "E", "F#", "G#", "A#"], ["C", "C#", "D#", "E", "F#", "G#", "A"], ["C", "D", "E", "F#", "G#", "A#"], ["C", "C#", "E", "F", "G", "G#", "B"], ["C", "D#", "E", "F#", "G", "A#", "B"], ["C", "C#", "D#", "E", "G", "G#", "A"], ["C", "D", "D#", "F#", "G", "G#", "B"], ["C", "C#", "E", "F", "F#", "A", "A#"], ["C", "D#", "E", "F", "G#", "A", "B"], ["C", "C#", "D", "F", "F#", "G#", "A"], ["C", "D#", "F", "G", "A#"], ["C", "D", "E", "G", "A"], ["C", "D", "D#", "E", "F", "G", "A", "A#"], ["C", "D", "E", "F", "G", "G#", "A", "B"], ["C", "D", "E", "F", "G", "A", "A#", "B"], ["C", "D#", "F", "F#", "G", "A#"], ["C", "D", "D#", "F", "F#", "G", "A", "A#"], ["C#", "D#", "F", "G", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G#", "A", "B"], ["C#", "E", "F", "G", "A", "A#", "C"], ["C#", "E", "F", "G", "G#", "A#", "C"], ["C#", "D#", "E", "G", "G#", "A#", "B"], ["C#", "D", "F", "F#", "A", "A#"], ["C#", "D#", "E", "F#", "G", "A", "A#", "C"], ["C#", "D#", "E", "F#", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G", "A#", "B"], ["C#", "D#", "F", "F#", "G#", "A", "C"], ["C#", "D#", "E", "F#", "G#", "A", "C"], ["C#", "D", "F", "F#", "G#", "A#", "B"], ["C#", "D#", "F", "F#", "A", "A#", "C"], ["C#", "D", "E", "F#", "G", "A", "B"], ["C#", "D", "E", "F#", "G", "A", "A#"], ["C#", "D", "E", "F#", "G", "A#", "B"], ["C#", "D#", "F", "G", "G#", "A#", "C"], ["C#", "D#", "F", "G", "A", "A#", "C"], ["C#", "D#", "E", "G", "G#", "A#", "C"], ["C#", "D#", "F", "F#", "G#", "A#", "C"], ["C#", "E", "F", "G#", "A", "C"], ["C#", "D#", "F", "F#", "G#", "A", "B"], ["C#", "D", "E", "F", "G#", "A", "B"], ["C#", "D", "E", "F#", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G#", "A#", "C"], ["C#", "D#", "E", "F#", "G", "A", "B"], ["C#", "D#", "F", "F#", "G#", "A#", "B"], ["C#", "D", "E", "F", "G", "G#", "A#", "B"], ["C#", "D", "E", "F#", "G#", "A", "B"], ["C#", "D", "F", "F#", "G#", "A", "B"], ["C#", "D", "E", "F", "G", "A", "B"], ["C#", "D", "E", "F", "G", "A", "A#"], ["C#", "D#", "F", "G", "A", "B"], ["C#", "D", "F", "F#", "G#", "A", "C"], ["C#", "E", "F", "G", "G#", "B", "C"], ["C#", "D", "E", "F", "G#", "A", "A#"], ["C#", "D#", "E", "G", "G#", "A", "C"], ["C#", "D", "F", "F#", "G", "A#", "B"], ["C#", "E", "F", "F#", "A", "A#", "C"], ["C#", "D", "D#", "F#", "G", "A", "A#"], ["C#", "E", "F#", "G#", "B"], ["C#", "D#", "F", "G#", "A#"], ["C#", "D#", "E", "F", "F#", "G#", "A#", "B"], ["C#", "D#", "F", "F#", "G#", "A", "A#", "C"], ["C#", "D#", "F", "F#", "G#", "A#", "B", "C"], ["C#", "E", "F#", "G", "G#", "B"], ["C#", "D#", "E", "F#", "G", "G#", "A#", "B"], ["D", "E", "F#", "G#", "A", "B", "C"], ["D", "E", "F", "G", "A", "A#", "C"], ["D", "F", "F#", "G#", "A#", "B", "C#"], ["D", "F", "F#", "G#", "A", "B", "C#"], ["D", "E", "F", "G#", "A", "B", "C"], ["D", "D#", "F#", "G", "A#", "B"], ["D", "E", "F", "G", "G#", "A#", "B", "C#"], ["D", "E", "F", "G", "A", "B", "C"], ["D", "E", "F", "G", "G#", "B", "C"], ["D", "E", "F#", "G", "A", "A#", "C#"], ["D", "E", "F", "G", "A", "A#", "C#"], ["D", "D#", "F#", "G", "A", "B", "C"], ["D", "E", "F#", "G", "A#", "B", "C#"], ["D", "D#", "F", "G", "G#", "A#", "C"], ["D", "D#", "F", "G", "G#", "A#", "B"], ["D", "D#", "F", "G", "G#", "B", "C"], ["D", "E", "F#", "G#", "A", "B", "C#"], ["D", "E", "F#", "G#", "A#", "B", "C#"], ["D", "E", "F", "G#", "A", "B", "C#"], ["D", "E", "F#", "G", "A", "B", "C#"], ["D", "F", "F#", "A", "A#", "C#"], ["D", "E", "F#", "G", "A", "A#", "C"], ["D", "D#", "F", "F#", "A", "A#", "C"], ["D", "D#", "F", "G", "A", "B", "C"], ["D", "E", "F", "G", "A", "B", "C#"], ["D", "E", "F", "G", "G#", "A#", "C"], ["D", "E", "F#", "G", "A", "B", "C"], ["D", "D#", "F", "F#", "G#", "A", "B", "C"], ["D", "D#", "F", "G", "A", "A#", "C"], ["D", "D#", "F#", "G", "A", "A#", "C"], ["D", "D#", "F", "F#", "G#", "A#", "C"], ["D", "D#", "F", "F#", "G#", "A#", "B"], ["D", "E", "F#", "G#", "A#", "C"], ["D", "D#", "F#", "G", "A", "A#", "C#"], ["D", "F", "F#", "G#", "A", "C", "C#"], ["D", "D#", "F", "F#", "A", "A#", "B"], ["D", "E", "F", "G#", "A", "A#", "C#"], ["D", "D#", "F#", "G", "G#", "B", "C"], ["D", "F", "F#", "G", "A#", "B", "C#"], ["D", "D#", "E", "G", "G#", "A#", "B"], ["D", "F", "G", "A", "C"], ["D", "E", "F#", "A", "B"], ["D", "E", "F", "F#", "G", "A", "B", "C"], ["D", "E", "F#", "G", "A", "A#", "B", "C#"], ["D", "E", "F#", "G", "A", "B", "C", "C#"], ["D", "F", "G", "G#", "A", "C"], ["D", "E", "F", "G", "G#", "A", "B", "C"], ["D#", "F", "G", "A", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A#", "B", "C#"], ["D#", "F#", "G", "A", "B", "C", "D"], ["D#", "F#", "G", "A", "A#", "C", "D"], ["D#", "F", "F#", "A", "A#", "C", "C#"], ["D#", "E", "G", "G#", "B", "C"], ["D#", "F", "F#", "G#", "A", "B", "C", "D"], ["D#", "F", "F#", "G#", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A", "C", "C#"], ["D#", "F", "G", "G#", "A#", "B", "D"], ["D#", "F", "F#", "G#", "A#", "B", "D"], ["D#", "E", "G", "G#", "A#", "C", "C#"], ["D#", "F", "G", "G#", "B", "C", "D"], ["D#", "E", "F#", "G#", "A", "B", "C#"], ["D#", "E", "F#", "G#", "A", "B", "C"], ["D#", "E", "F#", "G#", "A", "C", "C#"], ["D#", "F", "G", "A", "A#", "C", "D"], ["D#", "F", "G", "A", "B", "C", "D"], ["D#", "F", "F#", "A", "A#", "C", "D"], ["D#", "F", "G", "G#", "A#", "C", "D"], ["D#", "F#", "G", "A#", "B", "D"], ["D#", "F", "G", "G#", "A#", "B", "C#"], ["D#", "E", "F#", "G", "A#", "B", "C#"], ["D#", "E", "F#", "G#", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A#", "C", "D"], ["D#", "F", "F#", "G#", "A", "B", "C#"], ["D#", "F", "G", "G#", "A#", "C", "C#"], ["D#", "E", "F#", "G", "A", "A#", "C", "C#"], ["D#", "E", "F#", "G#", "A#", "B", "C#"], ["D#", "E", "G", "G#", "A#", "B", "C#"], ["D#", "E", "F#", "G", "A", "B", "C#"], ["D#", "E", "F#", "G", "A", "B", "C"], ["D#", "F", "G", "A", "B", "C#"], ["D#", "E", "G", "G#", "A#", "B", "D"], ["D#", "F#", "G", "A", "A#", "C#", "D"], ["D#", "E", "F#", "G", "A#", "B", "C"], ["D#", "F", "F#", "A", "A#", "B", "D"], ["D#", "E", "G", "G#", "A", "C", "C#"], ["D#", "F#", "G", "G#", "B", "C", "D"], ["D#", "E", "F", "G#", "A", "B", "C"], ["D#", "F#", "G#", "A#", "C#"], ["D#", "F", "G", "A#", "C"], ["D#", "F", "F#", "G", "G#", "A#", "C", "C#"], ["D#", "F", "G", "G#", "A#", "B", "C", "D"], ["D#", "F", "G", "G#", "A#", "C", "C#", "D"], ["D#", "F#", "G#", "A", "A#", "C#"], ["D#", "F", "F#", "G#", "A", "A#", "C", "C#"], ["E", "F#", "G#", "A#", "B", "C#", "D"], ["E", "F#", "G", "A", "B", "C", "D"], ["E", "G", "G#", "A#", "C", "C#", "D#"], ["E", "G", "G#", "A#", "B", "C#", "D#"], ["E", "F#", "G", "A#", "B", "C#", "D"], ["E", "F", "G#", "A", "C", "C#"], ["E", "F#", "G", "A", "A#", "C", "C#", "D#"], ["E", "F#", "G", "A", "B", "C#", "D"], ["E", "F#", "G", "A", "A#", "C#", "D"], ["E", "F#", "G#", "A", "B", "C", "D#"], ["E", "F#", "G", "A", "B", "C", "D#"], ["E", "F", "G#", "A", "B", "C#", "D"], ["E", "F#", "G#", "A", "C", "C#", "D#"], ["E", "F", "G", "A", "A#", "C", "D"], ["E", "F", "G", "A", "A#", "C", "C#"], ["E", "F", "G", "A", "A#", "C#", "D"], ["E", "F#", "G#", "A#", "B", "C#", "D#"], ["E", "F#", "G#", "A#", "C", "C#", "D#"], ["E", "F#", "G", "A#", "B", "C#", "D#"], ["E", "F#", "G#", "A", "B", "C#", "D#"], ["E", "G", "G#", "B", "C", "D#"], ["E", "F#", "G#", "A", "B", "C", "D"], ["E", "F", "G", "G#", "B", "C", "D"], ["E", "F", "G", "A", "B", "C#", "D"], ["E", "F#", "G", "A", "B", "C#", "D#"], ["E", "F#", "G", "A", "A#", "C", "D"], ["E", "F#", "G#", "A", "B", "C#", "D"], ["E", "F", "G", "G#", "A#", "B", "C#", "D"], ["E", "F", "G", "A", "B", "C", "D"], ["E", "F", "G#", "A", "B", "C", "D"], ["E", "F", "G", "G#", "A#", "C", "D"], ["E", "F", "G", "G#", "A#", "C", "C#"], ["E", "F#", "G#", "A#", "C", "D"], ["E", "F", "G#", "A", "B", "C", "D#"], ["E", "G", "G#", "A#", "B", "D", "D#"], ["E", "F", "G", "G#", "B", "C", "C#"], ["E", "F#", "G", "A#", "B", "C", "D#"], ["E", "F", "G#", "A", "A#", "C#", "D"], ["E", "G", "G#", "A", "C", "C#", "D#"], ["E", "F", "F#", "A", "A#", "C", "C#"], ["E", "G", "A", "B", "D"], ["E", "F#", "G#", "B", "C#"], ["E", "F#", "G", "G#", "A", "B", "C#", "D"], ["E", "F#", "G#", "A", "B", "C", "C#", "D#"], ["E", "F#", "G#", "A", "B", "C#", "D", "D#"], ["E", "G", "A", "A#", "B", "D"], ["E", "F#", "G", "A", "A#", "B", "C#", "D"], ["F", "G", "A", "B", "C", "D", "D#"], ["F", "G", "G#", "A#", "C", "C#", "D#"], ["F", "G#", "A", "B", "C#", "D", "E"], ["F", "G#", "A", "B", "C", "D", "E"], ["F", "G", "G#", "B", "C", "D", "D#"], ["F", "F#", "A", "A#", "C#", "D"], ["F", "G", "G#", "A#", "B", "C#", "D", "E"], ["F", "G", "G#", "A#", "C", "D", "D#"], ["F", "G", "G#", "A#", "B", "D", "D#"], ["F", "G", "A", "A#", "C", "C#", "E"], ["F", "G", "G#", "A#", "C", "C#", "E"], ["F", "F#", "A", "A#", "C", "D", "D#"], ["F", "G", "A", "A#", "C#", "D", "E"], ["F", "F#", "G#", "A#", "B", "C#", "D#"], ["F", "F#", "G#", "A#", "B", "C#", "D"], ["F", "F#", "G#", "A#", "B", "D", "D#"], ["F", "G", "A", "B", "C", "D", "E"], ["F", "G", "A", "B", "C#", "D", "E"], ["F", "G", "G#", "B", "C", "D", "E"], ["F", "G", "A", "A#", "C", "D", "E"], ["F", "G#", "A", "C", "C#", "E"], ["F", "G", "A", "A#", "C", "C#", "D#"], ["F", "F#", "G#", "A", "C", "C#", "D#"], ["F", "F#", "G#", "A#", "C", "D", "D#"], ["F", "G", "G#", "A#", "C", "D", "E"], ["F", "G", "G#", "A#", "B", "C#", "D#"], ["F", "G", "A", "A#", "C", "D", "D#"], ["F", "F#", "G#", "A", "B", "C", "D", "D#"], ["F", "F#", "G#", "A#", "C", "C#", "D#"], ["F", "F#", "A", "A#", "C", "C#", "D#"], ["F", "F#", "G#", "A", "B", "C#", "D#"], ["F", "F#", "G#", "A", "B", "C#", "D"], ["F", "G", "A", "B", "C#", "D#"], ["F", "F#", "A", "A#", "C", "C#", "E"], ["F", "G#", "A", "B", "C", "D#", "E"], ["F", "F#", "G#", "A", "C", "C#", "D"], ["F", "G", "G#", "B", "C", "C#", "E"], ["F", "F#", "A", "A#", "B", "D", "D#"], ["F", "G#", "A", "A#", "C#", "D", "E"], ["F", "F#", "G", "A#", "B", "C#", "D"], ["F", "G#", "A#", "C", "D#"], ["F", "G", "A", "C", "D"], ["F", "G", "G#", "A", "A#", "C", "D", "D#"], ["F", "G", "A", "A#", "C", "C#", "D", "E"], ["F", "G", "A", "A#", "C", "D", "D#", "E"], ["F", "G#", "A#", "B", "C", "D#"], ["F", "G", "G#", "A#", "B", "C", "D", "D#"], ["F#", "G#", "A#", "C", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C#", "D", "E"], ["F#", "A", "A#", "C", "D", "D#", "F"], ["F#", "A", "A#", "C", "C#", "D#", "F"], ["F#", "G#", "A", "C", "C#", "D#", "E"], ["F#", "G", "A#", "B", "D", "D#"], ["F#", "G#", "A", "B", "C", "D", "D#", "F"], ["F#", "G#", "A", "B", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C", "D#", "E"], ["F#", "G#", "A#", "B", "C#", "D", "F"], ["F#", "G#", "A", "B", "C#", "D", "F"], ["F#", "G", "A#", "B", "C#", "D#", "E"], ["F#", "G#", "A#", "B", "D", "D#", "F"], ["F#", "G", "A", "B", "C", "D", "E"], ["F#", "G", "A", "B", "C", "D", "D#"], ["F#", "G", "A", "B", "C", "D#", "E"], ["F#", "G#", "A#", "C", "C#", "D#", "F"], ["F#", "G#", "A#", "C", "D", "D#", "F"], ["F#", "G#", "A", "C", "C#", "D#", "F"], ["F#", "G#", "A#", "B", "C#", "D#", "F"], ["F#", "A", "A#", "C#", "D", "F"], ["F#", "G#", "A#", "B", "C#", "D", "E"], ["F#", "G", "A", "A#", "C#", "D", "E"], ["F#", "G", "A", "B", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C#", "D#", "F"], ["F#", "G#", "A", "B", "C", "D", "E"], ["F#", "G#", "A#", "B", "C#", "D#", "E"], ["F#", "G", "A", "A#", "C", "C#", "D#", "E"], ["F#", "G", "A", "B", "C#", "D", "E"], ["F#", "G", "A#", "B", "C#", "D", "E"], ["F#", "G", "A", "A#", "C", "D", "E"], ["F#", "G", "A", "A#", "C", "D", "D#"], ["F#", "G#", "A#", "C", "D", "E"], ["F#", "G", "A#", "B", "C#", "D", "F"], ["F#", "A", "A#", "C", "C#", "E", "F"], ["F#", "G", "A", "A#", "C#", "D", "D#"], ["F#", "G#", "A", "C", "C#", "D", "F"], ["F#", "G", "A#", "B", "C", "D#", "E"], ["F#", "A", "A#", "B", "D", "D#", "F"], ["F#", "G", "G#", "B", "C", "D", "D#"], ["F#", "A", "B", "C#", "E"], ["F#", "G#", "A#", "C#", "D#"], ["F#", "G#", "A", "A#", "B", "C#", "D#", "E"], ["F#", "G#", "A#", "B", "C#", "D", "D#", "F"], ["F#", "G#", "A#", "B", "C#", "D#", "E", "F"], ["F#", "A", "B", "C", "C#", "E"], ["F#", "G#", "A", "B", "C", "C#", "D#", "E"], ["G", "A", "B", "C#", "D", "E", "F"], ["G", "A", "A#", "C", "D", "D#", "F"], ["G", "A#", "B", "C#", "D#", "E", "F#"], ["G", "A#", "B", "C#", "D", "E", "F#"], ["G", "A", "A#", "C#", "D", "E", "F"], ["G", "G#", "B", "C", "D#", "E"], ["G", "A", "A#", "C", "C#", "D#", "E", "F#"], ["G", "A", "A#", "C", "D", "E", "F"], ["G", "A", "A#", "C", "C#", "E", "F"], ["G", "A", "B", "C", "D", "D#", "F#"], ["G", "A", "A#", "C", "D", "D#", "F#"], ["G", "G#", "B", "C", "D", "E", "F"], ["G", "A", "B", "C", "D#", "E", "F#"], ["G", "G#", "A#", "C", "C#", "D#", "F"], ["G", "G#", "A#", "C", "C#", "D#", "E"], ["G", "G#", "A#", "C", "C#", "E", "F"], ["G", "A", "B", "C#", "D", "E", "F#"], ["G", "A", "B", "C#", "D#", "E", "F#"], ["G", "A", "A#", "C#", "D", "E", "F#"], ["G", "A", "B", "C", "D", "E", "F#"], ["G", "A#", "B", "D", "D#", "F#"], ["G", "A", "B", "C", "D", "D#", "F"], ["G", "G#", "A#", "B", "D", "D#", "F"], ["G", "G#", "A#", "C", "D", "E", "F"], ["G", "A", "A#", "C", "D", "E", "F#"], ["G", "A", "A#", "C", "C#", "D#", "F"], ["G", "A", "B", "C", "D", "E", "F"], ["G", "G#", "A#", "B", "C#", "D", "E", "F"], ["G", "G#", "A#", "C", "D", "D#", "F"], ["G", "G#", "B", "C", "D", "D#", "F"], ["G", "G#", "A#", "B", "C#", "D#", "F"], ["G", "G#", "A#", "B", "C#", "D#", "E"], ["G", "A", "B", "C#", "D#", "F"], ["G", "G#", "B", "C", "D", "D#", "F#"], ["G", "A#", "B", "C#", "D", "F", "F#"], ["G", "G#", "A#", "B", "D", "D#", "E"], ["G", "A", "A#", "C#", "D", "D#", "F#"], ["G", "G#", "B", "C", "C#", "E", "F"], ["G", "A#", "B", "C", "D#", "E", "F#"], ["G", "G#", "A", "C", "C#", "D#", "E"], ["G", "A#", "C", "D", "F"], ["G", "A", "B", "D", "E"], ["G", "A", "A#", "B", "C", "D", "E", "F"], ["G", "A", "B", "C", "D", "D#", "E", "F#"], ["G", "A", "B", "C", "D", "E", "F", "F#"], ["G", "A#", "C", "C#", "D", "F"], ["G", "A", "A#", "C", "C#", "D", "E", "F"], ["G#", "A#", "C", "D", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D#", "E", "F#"], ["G#", "B", "C", "D", "E", "F", "G"], ["G#", "B", "C", "D", "D#", "F", "G"], ["G#", "A#", "B", "D", "D#", "F", "F#"], ["G#", "A", "C", "C#", "E", "F"], ["G#", "A#", "B", "C#", "D", "E", "F", "G"], ["G#", "A#", "B", "C#", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D", "F", "F#"], ["G#", "A#", "C", "C#", "D#", "E", "G"], ["G#", "A#", "B", "C#", "D#", "E", "G"], ["G#", "A", "C", "C#", "D#", "F", "F#"], ["G#", "A#", "C", "C#", "E", "F", "G"], ["G#", "A", "B", "C#", "D", "E", "F#"], ["G#", "A", "B", "C#", "D", "E", "F"], ["G#", "A", "B", "C#", "D", "F", "F#"], ["G#", "A#", "C", "D", "D#", "F", "G"], ["G#", "A#", "C", "D", "E", "F", "G"], ["G#", "A#", "B", "D", "D#", "F", "G"], ["G#", "A#", "C", "C#", "D#", "F", "G"], ["G#", "B", "C", "D#", "E", "G"], ["G#", "A#", "C", "C#", "D#", "E", "F#"], ["G#", "A", "B", "C", "D#", "E", "F#"], ["G#", "A", "B", "C#", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D#", "F", "G"], ["G#", "A#", "B", "C#", "D", "E", "F#"], ["G#", "A#", "C", "C#", "D#", "F", "F#"], ["G#", "A", "B", "C", "D", "D#", "F", "F#"], ["G#", "A", "B", "C#", "D#", "E", "F#"], ["G#", "A", "C", "C#", "D#", "E", "F#"], ["G#", "A", "B", "C", "D", "E", "F#"], ["G#", "A", "B", "C", "D", "E", "F"], ["G#", "A#", "C", "D", "E", "F#"], ["G#", "A", "C", "C#", "D#", "E", "G"], ["G#", "B", "C", "D", "D#", "F#", "G"], ["G#", "A", "B", "C", "D#", "E", "F"], ["G#", "A#", "B", "D", "D#", "E", "G"], ["G#", "A", "C", "C#", "D", "F", "F#"], ["G#", "B", "C", "C#", "E", "F", "G"], ["G#", "A", "A#", "C#", "D", "E", "F"], ["G#", "B", "C#", "D#", "F#"], ["G#", "A#", "C", "D#", "F"], ["G#", "A#", "B", "C", "C#", "D#", "F", "F#"], ["G#", "A#", "C", "C#", "D#", "E", "F", "G"], ["G#", "A#", "C", "C#", "D#", "F", "F#", "G"], ["G#", "B", "C#", "D", "D#", "F#"], ["G#", "A#", "B", "C#", "D", "D#", "F", "F#"], ["A", "B", "C#", "D#", "E", "F#", "G"], ["A", "B", "C", "D", "E", "F", "G"], ["A", "C", "C#", "D#", "F", "F#", "G#"], ["A", "C", "C#", "D#", "E", "F#", "G#"], ["A", "B", "C", "D#", "E", "F#", "G"], ["A", "A#", "C#", "D", "F", "F#"], ["A", "B", "C", "D", "D#", "F", "F#", "G#"], ["A", "B", "C", "D", "E", "F#", "G"], ["A", "B", "C", "D", "D#", "F#", "G"], ["A", "B", "C#", "D", "E", "F", "G#"], ["A", "B", "C", "D", "E", "F", "G#"], ["A", "A#", "C#", "D", "E", "F#", "G"], ["A", "B", "C#", "D", "F", "F#", "G#"], ["A", "A#", "C", "D", "D#", "F", "G"], ["A", "A#", "C", "D", "D#", "F", "F#"], ["A", "A#", "C", "D", "D#", "F#", "G"], ["A", "B", "C#", "D#", "E", "F#", "G#"], ["A", "B", "C#", "D#", "F", "F#", "G#"], ["A", "B", "C", "D#", "E", "F#", "G#"], ["A", "B", "C#", "D", "E", "F#", "G#"], ["A", "C", "C#", "E", "F", "G#"], ["A", "B", "C#", "D", "E", "F", "G"], ["A", "A#", "C", "C#", "E", "F", "G"], ["A", "A#", "C", "D", "E", "F#", "G"], ["A", "B", "C", "D", "E", "F#", "G#"], ["A", "B", "C", "D", "D#", "F", "G"], ["A", "B", "C#", "D", "E", "F#", "G"], ["A", "A#", "C", "C#", "D#", "E", "F#", "G"], ["A", "A#", "C", "D", "E", "F", "G"], ["A", "A#", "C#", "D", "E", "F", "G"], ["A", "A#", "C", "C#", "D#", "F", "G"], ["A", "A#", "C", "C#", "D#", "F", "F#"], ["A", "B", "C#", "D#", "F", "G"], ["A", "A#", "C#", "D", "E", "F", "G#"], ["A", "C", "C#", "D#", "E", "G", "G#"], ["A", "A#", "C", "C#", "E", "F", "F#"], ["A", "B", "C", "D#", "E", "F", "G#"], ["A", "A#", "C#", "D", "D#", "F#", "G"], ["A", "C", "C#", "D", "F", "F#", "G#"], ["A", "A#", "B", "D", "D#", "F", "F#"], ["A", "C", "D", "E", "G"], ["A", "B", "C#", "E", "F#"], ["A", "B", "C", "C#", "D", "E", "F#", "G"], ["A", "B", "C#", "D", "E", "F", "F#", "G#"], ["A", "B", "C#", "D", "E", "F#", "G", "G#"], ["A", "C", "D", "D#", "E", "G"], ["A", "B", "C", "D", "D#", "E", "F#", "G"], ["A#", "C", "D", "E", "F", "G", "G#"], ["A#", "C", "C#", "D#", "F", "F#", "G#"], ["A#", "C#", "D", "E", "F#", "G", "A"], ["A#", "C#", "D", "E", "F", "G", "A"], ["A#", "C", "C#", "E", "F", "G", "G#"], ["A#", "B", "D", "D#", "F#", "G"], ["A#", "C", "C#", "D#", "E", "F#", "G", "A"], ["A#", "C", "C#", "D#", "F", "G", "G#"], ["A#", "C", "C#", "D#", "E", "G", "G#"], ["A#", "C", "D", "D#", "F", "F#", "A"], ["A#", "C", "C#", "D#", "F", "F#", "A"], ["A#", "B", "D", "D#", "F", "G", "G#"], ["A#", "C", "D", "D#", "F#", "G", "A"], ["A#", "B", "C#", "D#", "E", "F#", "G#"], ["A#", "B", "C#", "D#", "E", "F#", "G"], ["A#", "B", "C#", "D#", "E", "G", "G#"], ["A#", "C", "D", "E", "F", "G", "A"], ["A#", "C", "D", "E", "F#", "G", "A"], ["A#", "C", "C#", "E", "F", "G", "A"], ["A#", "C", "D", "D#", "F", "G", "A"], ["A#", "C#", "D", "F", "F#", "A"], ["A#", "C", "D", "D#", "F", "F#", "G#"], ["A#", "B", "C#", "D", "F", "F#", "G#"], ["A#", "B", "C#", "D#", "F", "G", "G#"], ["A#", "C", "C#", "D#", "F", "G", "A"], ["A#", "C", "C#", "D#", "E", "F#", "G#"], ["A#", "C", "D", "D#", "F", "G", "G#"], ["A#", "B", "C#", "D", "E", "F", "G", "G#"], ["A#", "B", "C#", "D#", "F", "F#", "G#"], ["A#", "B", "D", "D#", "F", "F#", "G#"], ["A#", "B", "C#", "D", "E", "F#", "G#"], ["A#", "B", "C#", "D", "E", "F#", "G"], ["A#", "C", "D", "E", "F#", "G#"], ["A#", "B", "D", "D#", "F", "F#", "A"], ["A#", "C#", "D", "E", "F", "G#", "A"], ["A#", "B", "C#", "D", "F", "F#", "G"], ["A#", "C", "C#", "E", "F", "F#", "A"], ["A#", "B", "D", "D#", "E", "G", "G#"], ["A#", "C#", "D", "D#", "F#", "G", "A"], ["A#", "B", "C", "D#", "E", "F#", "G"], ["A#", "C#", "D#", "F", "G#"], ["A#", "C", "D", "F", "G"], ["A#", "C", "C#", "D", "D#", "F", "G", "G#"], ["A#", "C", "D", "D#", "F", "F#", "G", "A"], ["A#", "C", "D", "D#", "F", "G", "G#", "A"], ["A#", "C#", "D#", "E", "F", "G#"], ["A#", "C", "C#", "D#", "E", "F", "G", "G#"], ["B", "C#", "D#", "F", "F#", "G#", "A"], ["B", "C#", "D", "E", "F#", "G", "A"], ["B", "D", "D#", "F", "G", "G#", "A#"], ["B", "D", "D#", "F", "F#", "G#", "A#"], ["B", "C#", "D", "F", "F#", "G#", "A"], ["B", "C", "D#", "E", "G", "G#"], ["B", "C#", "D", "E", "F", "G", "G#", "A#"], ["B", "C#", "D", "E", "F#", "G#", "A"], ["B", "C#", "D", "E", "F", "G#", "A"], ["B", "C#", "D#", "E", "F#", "G", "A#"], ["B", "C#", "D", "E", "F#", "G", "A#"], ["B", "C", "D#", "E", "F#", "G#", "A"], ["B", "C#", "D#", "E", "G", "G#", "A#"], ["B", "C", "D", "E", "F", "G", "A"], ["B", "C", "D", "E", "F", "G", "G#"], ["B", "C", "D", "E", "F", "G#", "A"], ["B", "C#", "D#", "F", "F#", "G#", "A#"], ["B", "C#", "D#", "F", "G", "G#", "A#"], ["B", "C#", "D", "F", "F#", "G#", "A#"], ["B", "C#", "D#", "E", "F#", "G#", "A#"], ["B", "D", "D#", "F#", "G", "A#"], ["B", "C#", "D#", "E", "F#", "G", "A"], ["B", "C", "D", "D#", "F#", "G", "A"], ["B", "C", "D", "E", "F#", "G#", "A"], ["B", "C#", "D", "E", "F#", "G#", "A#"], ["B", "C#", "D", "E", "F", "G", "A"], ["B", "C#", "D#", "E", "F#", "G#", "A"], ["B", "C", "D", "D#", "F", "F#", "G#", "A"], ["B", "C", "D", "E", "F#", "G", "A"], ["B", "C", "D#", "E", "F#", "G", "A"], ["B", "C", "D", "D#", "F", "G", "A"], ["B", "C", "D", "D#", "F", "G", "G#"], ["B", "C#", "D#", "F", "G", "A"], ["B", "C", "D#", "E", "F#", "G", "A#"], ["B", "D", "D#", "F", "F#", "A", "A#"], ["B", "C", "D", "D#", "F#", "G", "G#"], ["B", "C#", "D", "F", "F#", "G", "A#"], ["B", "C", "D#", "E", "F", "G#", "A"], ["B", "D", "D#", "E", "G", "G#", "A#"], ["B", "C", "C#", "E", "F", "G", "G#"], ["B", "D", "E", "F#", "A"], ["B", "C#", "D#", "F#", "G#"], ["B", "C#", "D", "D#", "E", "F#", "G#", "A"], ["B", "C#", "D#", "E", "F#", "G", "G#", "A#"], ["B", "C#", "D#", "E", "F#", "G#", "A", "A#"], ["B", "D", "E", "F", "F#", "A"], ["B", "C#", "D", "E", "F", "F#", "G#", "A"]];
       while (keySelect.firstChild) {
           keySelect.removeChild(keySelect.firstChild);
       }
       for (var i = 0; i < settings['scales'].length; i++) {
           var option = document.createElement("option");
           option.innerHTML = settings['scaleNames'][i];
           keySelect.appendChild(option);
       }
       console.log("scales loaded");
   }

   function loadTimeSignatures() {
       var note_lengths = [64, 32, 16, 8, 4, 2, 1, 0.5, 0.25];
       var note_symbols = ["16", "8", "4", "2", "1", "1/2", "1/4", "1/8", "1/16"];
       var tuplets = [3, 5, 7, 11];
       var tuplet_names = ["3:2", "5:4", "7:8", "11:16"];
       var idx = 0;
       while (grid_select.firstChild) {
           grid_select.removeChild(grid_select.firstChild);
       }
       for (var i = 0; i < note_lengths.length; i++) {
           var nl = note_lengths[i];
           var ns = note_symbols[i];
           var opt = document.createElement("option"); opt.value = 1/nl; opt.text = ns; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 2/(nl*3); opt.text = ns + " dot"; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 1.75/(nl*3); opt.text = ns + " dot dot"; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 1.675/(nl*3); opt.text = ns + " dot dot dot"; grid_select.add(opt);
           for (var j = 0; j < tuplets.length; j++) {
               var t = tuplets[j];
               var tn = tuplet_names[j];
               var opt1 = document.createElement("option"); opt1.value = t/(nl*(Math.pow(2, j + 1))); opt1.text = ns + " - (" + tn + ")"; grid_select.add(opt1);
           }
           if (ns === "1/4") {
               idx = i * (tuplets.length + 4);
           }
       }
       grid_select.selectedIndex = idx;
       console.log("time signatures loaded");
   }

   function loadInstruments() {
       var insts=[];
       for(var i=0;i<instrumentSelect.length;i++)
       {
           insts.push(parseInt(instrumentSelect[i].value))
       }
       var grp = document.createElement("optgroup");
       grp.label = "Unfinished";
       instrumentSelect.add(grp);
       for(i=0;i<settings.instrumentColors.length;i++)
       {
           if(!insts.includes(i))
           {
               var opt = document.createElement("option");
               opt.value = i;
               opt.text = settings.instruments[i];
               grp.appendChild(opt);
               var instSettings = document.createElement("div");
               instSettings.innerHTML = "<div class=\"instrument_option\"><div><div id=\"instrument_lock_" + i + "\" class=\"instrument_lock btn tooltipstered\" onclick=\"lockInstrument(" + i + ")\"></div><span id=\"instrument_name_" + i + "\" onclick=\"selectInstrument(" + i + ")\">" + settings.instruments[i] + "</span><div class=\"chip instrument" + i + "\"></div></div><div class=\"row\"><input id=\"instrument_volume_" + i + "\" class=\"slider\" type=\"range\" min=\"0\" max=\"2\" step=\"0.01\" oninput=\"audioSystem.setInstrumentVolume(" + i + ", this.value)\"><div id=\"instrument_delay_" + i + "\" class=\"button tooltipstered\" onclick=\"selectDelay(" + i + ")\">D</div><div id=\"instrument_reverb_" + i + "\" class=\"button tooltipstered\" onclick=\"selectReverb(" + i + ")\">R</div></div></div>;"
               document.getElementById("instrument_options").appendChild(instSettings.firstChild);
           }
       }
       console.log("instruments loaded");
   }
})();
No minor? I mean you could always put them as the major equivalent but it's still nice to have the minor scales.

Hi man, Aeolian is the natural minor scale. Enjoy!


RE: More Keys? - blobertthebob - 03-21-2019

(03-21-2019, 07:06 AM)dfhwze Wrote:
(03-19-2019, 03:59 PM)blobertthebob Wrote:
(03-16-2019, 12:25 PM)dfhwze Wrote: Features v.0.2:

- scales
        - major, melodic minor, harmonic major, harmonic minor, double harmonic, bebop, blues, symmetric scale families
- time signatures
        - common, dotted, rational tuplets
- instruments
        - unfinished instruments support

Code:
// ==UserScript==
// @name         OSEnhanced
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  try to take over the world!
// @author       You
// @match        https://onlinesequencer.net
// @match        https://onlinesequencer.net/*
// @grant        none
// ==/UserScript==

(function() {
   $( document ).ready(function() {
       loadOS( 1, 10 );
   });

   function loadOS( attempt, maxAttempts ) {
       var thirdPartyLoaded = false;
       try {
           if ( instrumentSelect == undefined || settings == undefined || grid_select == undefined || keySelect == undefined ) {
               thirdPartyLoaded = false;
           } else {
               thirdPartyLoaded = true;
           }
       } catch (err) {
           thirdPartyLoaded = false;
       }
       if ( !thirdPartyLoaded ) {
           if ( attempt < maxAttempts ) {
               console.log("awaiting OS to be loaded: attempt #" + attempt);
               setTimeout(function() {
                   loadOS( attempt + 1, maxAttempts );
               }, 1000);
           } else {
               console.log("loading OS timed out at max attempt #" + maxAttempts);
           }
       } else {
           loadInstruments();
           loadTimeSignatures();
           loadScales();
       }
   }

   function loadScales() {
       settings.scaleNames = ["No Key Guide", "C Acoustic", "C Aeolian", "C Aeolian flat 1", "C Aeolian Harmonic", "C Altered Dorian", "C Augmented Inverse", "C Diminished", "C Dorian", "C Dorian flat 5", "C Harmonic Major", "C Harmonic Minor", "C Harmonic Minor inverse", "C Ionian Augmented", "C Locrian", "C Locrian Double-flat 7", "C Locrian natural 6", "C Lydian", "C Lydian Augmented", "C Lydian Diminished", "C Major", "C Major Augmented", "C Major-Minor", "C Makam Huzzam", "C Mela Natakapriya", "C Melodic Minor ascending", "C Minor Locrian", "C Mixolydian", "C Octatonic", "C Phrygian", "C Phrygian Dominant", "C Superlocrian", "C Ultralocrian", "C Whole-tone", "C Double Harmonic", "C Lydian Sharp 2 Sharp 6", "C Ultraphrygian", "C Double Harmonic Minor", "C Asian", "C Ionian Augmented Sharp 2", "C Locrian Double-flat 3 Double-flat 7", "C Minor Pentatonic", "C Major Pentatonic", "C Minor Bebop", "C Major Bebop", "C Dominant Bebop", "C Blues scale", "C Blues scale II", "C# Acoustic", "C# Aeolian", "C# Aeolian flat 1", "C# Aeolian Harmonic", "C# Altered Dorian", "C# Augmented Inverse", "C# Diminished", "C# Dorian", "C# Dorian flat 5", "C# Harmonic Major", "C# Harmonic Minor", "C# Harmonic Minor inverse", "C# Ionian Augmented", "C# Locrian", "C# Locrian Double-flat 7", "C# Locrian natural 6", "C# Lydian", "C# Lydian Augmented", "C# Lydian Diminished", "C# Major", "C# Major Augmented", "C# Major-Minor", "C# Makam Huzzam", "C# Mela Natakapriya", "C# Melodic Minor ascending", "C# Minor Locrian", "C# Mixolydian", "C# Octatonic", "C# Phrygian", "C# Phrygian Dominant", "C# Superlocrian", "C# Ultralocrian", "C# Whole-tone", "C# Double Harmonic", "C# Lydian Sharp 2 Sharp 6", "C# Ultraphrygian", "C# Double Harmonic Minor", "C# Asian", "C# Ionian Augmented Sharp 2", "C# Locrian Double-flat 3 Double-flat 7", "C# Minor Pentatonic", "C# Major Pentatonic", "C# Minor Bebop", "C# Major Bebop", "C# Dominant Bebop", "C# Blues scale", "C# Blues scale II", "D Acoustic", "D Aeolian", "D Aeolian flat 1", "D Aeolian Harmonic", "D Altered Dorian", "D Augmented Inverse", "D Diminished", "D Dorian", "D Dorian flat 5", "D Harmonic Major", "D Harmonic Minor", "D Harmonic Minor inverse", "D Ionian Augmented", "D Locrian", "D Locrian Double-flat 7", "D Locrian natural 6", "D Lydian", "D Lydian Augmented", "D Lydian Diminished", "D Major", "D Major Augmented", "D Major-Minor", "D Makam Huzzam", "D Mela Natakapriya", "D Melodic Minor ascending", "D Minor Locrian", "D Mixolydian", "D Octatonic", "D Phrygian", "D Phrygian Dominant", "D Superlocrian", "D Ultralocrian", "D Whole-tone", "D Double Harmonic", "D Lydian Sharp 2 Sharp 6", "D Ultraphrygian", "D Double Harmonic Minor", "D Asian", "D Ionian Augmented Sharp 2", "D Locrian Double-flat 3 Double-flat 7", "D Minor Pentatonic", "D Major Pentatonic", "D Minor Bebop", "D Major Bebop", "D Dominant Bebop", "D Blues scale", "D Blues scale II", "D# Acoustic", "D# Aeolian", "D# Aeolian flat 1", "D# Aeolian Harmonic", "D# Altered Dorian", "D# Augmented Inverse", "D# Diminished", "D# Dorian", "D# Dorian flat 5", "D# Harmonic Major", "D# Harmonic Minor", "D# Harmonic Minor inverse", "D# Ionian Augmented", "D# Locrian", "D# Locrian Double-flat 7", "D# Locrian natural 6", "D# Lydian", "D# Lydian Augmented", "D# Lydian Diminished", "D# Major", "D# Major Augmented", "D# Major-Minor", "D# Makam Huzzam", "D# Mela Natakapriya", "D# Melodic Minor ascending", "D# Minor Locrian", "D# Mixolydian", "D# Octatonic", "D# Phrygian", "D# Phrygian Dominant", "D# Superlocrian", "D# Ultralocrian", "D# Whole-tone", "D# Double Harmonic", "D# Lydian Sharp 2 Sharp 6", "D# Ultraphrygian", "D# Double Harmonic Minor", "D# Asian", "D# Ionian Augmented Sharp 2", "D# Locrian Double-flat 3 Double-flat 7", "D# Minor Pentatonic", "D# Major Pentatonic", "D# Minor Bebop", "D# Major Bebop", "D# Dominant Bebop", "D# Blues scale", "D# Blues scale II", "E Acoustic", "E Aeolian", "E Aeolian flat 1", "E Aeolian Harmonic", "E Altered Dorian", "E Augmented Inverse", "E Diminished", "E Dorian", "E Dorian flat 5", "E Harmonic Major", "E Harmonic Minor", "E Harmonic Minor inverse", "E Ionian Augmented", "E Locrian", "E Locrian Double-flat 7", "E Locrian natural 6", "E Lydian", "E Lydian Augmented", "E Lydian Diminished", "E Major", "E Major Augmented", "E Major-Minor", "E Makam Huzzam", "E Mela Natakapriya", "E Melodic Minor ascending", "E Minor Locrian", "E Mixolydian", "E Octatonic", "E Phrygian", "E Phrygian Dominant", "E Superlocrian", "E Ultralocrian", "E Whole-tone", "E Double Harmonic", "E Lydian Sharp 2 Sharp 6", "E Ultraphrygian", "E Double Harmonic Minor", "E Asian", "E Ionian Augmented Sharp 2", "E Locrian Double-flat 3 Double-flat 7", "E Minor Pentatonic", "E Major Pentatonic", "E Minor Bebop", "E Major Bebop", "E Dominant Bebop", "E Blues scale", "E Blues scale II", "F Acoustic", "F Aeolian", "F Aeolian flat 1", "F Aeolian Harmonic", "F Altered Dorian", "F Augmented Inverse", "F Diminished", "F Dorian", "F Dorian flat 5", "F Harmonic Major", "F Harmonic Minor", "F Harmonic Minor inverse", "F Ionian Augmented", "F Locrian", "F Locrian Double-flat 7", "F Locrian natural 6", "F Lydian", "F Lydian Augmented", "F Lydian Diminished", "F Major", "F Major Augmented", "F Major-Minor", "F Makam Huzzam", "F Mela Natakapriya", "F Melodic Minor ascending", "F Minor Locrian", "F Mixolydian", "F Octatonic", "F Phrygian", "F Phrygian Dominant", "F Superlocrian", "F Ultralocrian", "F Whole-tone", "F Double Harmonic", "F Lydian Sharp 2 Sharp 6", "F Ultraphrygian", "F Double Harmonic Minor", "F Asian", "F Ionian Augmented Sharp 2", "F Locrian Double-flat 3 Double-flat 7", "F Minor Pentatonic", "F Major Pentatonic", "F Minor Bebop", "F Major Bebop", "F Dominant Bebop", "F Blues scale", "F Blues scale II", "F# Acoustic", "F# Aeolian", "F# Aeolian flat 1", "F# Aeolian Harmonic", "F# Altered Dorian", "F# Augmented Inverse", "F# Diminished", "F# Dorian", "F# Dorian flat 5", "F# Harmonic Major", "F# Harmonic Minor", "F# Harmonic Minor inverse", "F# Ionian Augmented", "F# Locrian", "F# Locrian Double-flat 7", "F# Locrian natural 6", "F# Lydian", "F# Lydian Augmented", "F# Lydian Diminished", "F# Major", "F# Major Augmented", "F# Major-Minor", "F# Makam Huzzam", "F# Mela Natakapriya", "F# Melodic Minor ascending", "F# Minor Locrian", "F# Mixolydian", "F# Octatonic", "F# Phrygian", "F# Phrygian Dominant", "F# Superlocrian", "F# Ultralocrian", "F# Whole-tone", "F# Double Harmonic", "F# Lydian Sharp 2 Sharp 6", "F# Ultraphrygian", "F# Double Harmonic Minor", "F# Asian", "F# Ionian Augmented Sharp 2", "F# Locrian Double-flat 3 Double-flat 7", "F# Minor Pentatonic", "F# Major Pentatonic", "F# Minor Bebop", "F# Major Bebop", "F# Dominant Bebop", "F# Blues scale", "F# Blues scale II", "G Acoustic", "G Aeolian", "G Aeolian flat 1", "G Aeolian Harmonic", "G Altered Dorian", "G Augmented Inverse", "G Diminished", "G Dorian", "G Dorian flat 5", "G Harmonic Major", "G Harmonic Minor", "G Harmonic Minor inverse", "G Ionian Augmented", "G Locrian", "G Locrian Double-flat 7", "G Locrian natural 6", "G Lydian", "G Lydian Augmented", "G Lydian Diminished", "G Major", "G Major Augmented", "G Major-Minor", "G Makam Huzzam", "G Mela Natakapriya", "G Melodic Minor ascending", "G Minor Locrian", "G Mixolydian", "G Octatonic", "G Phrygian", "G Phrygian Dominant", "G Superlocrian", "G Ultralocrian", "G Whole-tone", "G Double Harmonic", "G Lydian Sharp 2 Sharp 6", "G Ultraphrygian", "G Double Harmonic Minor", "G Asian", "G Ionian Augmented Sharp 2", "G Locrian Double-flat 3 Double-flat 7", "G Minor Pentatonic", "G Major Pentatonic", "G Minor Bebop", "G Major Bebop", "G Dominant Bebop", "G Blues scale", "G Blues scale II", "G# Acoustic", "G# Aeolian", "G# Aeolian flat 1", "G# Aeolian Harmonic", "G# Altered Dorian", "G# Augmented Inverse", "G# Diminished", "G# Dorian", "G# Dorian flat 5", "G# Harmonic Major", "G# Harmonic Minor", "G# Harmonic Minor inverse", "G# Ionian Augmented", "G# Locrian", "G# Locrian Double-flat 7", "G# Locrian natural 6", "G# Lydian", "G# Lydian Augmented", "G# Lydian Diminished", "G# Major", "G# Major Augmented", "G# Major-Minor", "G# Makam Huzzam", "G# Mela Natakapriya", "G# Melodic Minor ascending", "G# Minor Locrian", "G# Mixolydian", "G# Octatonic", "G# Phrygian", "G# Phrygian Dominant", "G# Superlocrian", "G# Ultralocrian", "G# Whole-tone", "G# Double Harmonic", "G# Lydian Sharp 2 Sharp 6", "G# Ultraphrygian", "G# Double Harmonic Minor", "G# Asian", "G# Ionian Augmented Sharp 2", "G# Locrian Double-flat 3 Double-flat 7", "G# Minor Pentatonic", "G# Major Pentatonic", "G# Minor Bebop", "G# Major Bebop", "G# Dominant Bebop", "G# Blues scale", "G# Blues scale II", "A Acoustic", "A Aeolian", "A Aeolian flat 1", "A Aeolian Harmonic", "A Altered Dorian", "A Augmented Inverse", "A Diminished", "A Dorian", "A Dorian flat 5", "A Harmonic Major", "A Harmonic Minor", "A Harmonic Minor inverse", "A Ionian Augmented", "A Locrian", "A Locrian Double-flat 7", "A Locrian natural 6", "A Lydian", "A Lydian Augmented", "A Lydian Diminished", "A Major", "A Major Augmented", "A Major-Minor", "A Makam Huzzam", "A Mela Natakapriya", "A Melodic Minor ascending", "A Minor Locrian", "A Mixolydian", "A Octatonic", "A Phrygian", "A Phrygian Dominant", "A Superlocrian", "A Ultralocrian", "A Whole-tone", "A Double Harmonic", "A Lydian Sharp 2 Sharp 6", "A Ultraphrygian", "A Double Harmonic Minor", "A Asian", "A Ionian Augmented Sharp 2", "A Locrian Double-flat 3 Double-flat 7", "A Minor Pentatonic", "A Major Pentatonic", "A Minor Bebop", "A Major Bebop", "A Dominant Bebop", "A Blues scale", "A Blues scale II", "A# Acoustic", "A# Aeolian", "A# Aeolian flat 1", "A# Aeolian Harmonic", "A# Altered Dorian", "A# Augmented Inverse", "A# Diminished", "A# Dorian", "A# Dorian flat 5", "A# Harmonic Major", "A# Harmonic Minor", "A# Harmonic Minor inverse", "A# Ionian Augmented", "A# Locrian", "A# Locrian Double-flat 7", "A# Locrian natural 6", "A# Lydian", "A# Lydian Augmented", "A# Lydian Diminished", "A# Major", "A# Major Augmented", "A# Major-Minor", "A# Makam Huzzam", "A# Mela Natakapriya", "A# Melodic Minor ascending", "A# Minor Locrian", "A# Mixolydian", "A# Octatonic", "A# Phrygian", "A# Phrygian Dominant", "A# Superlocrian", "A# Ultralocrian", "A# Whole-tone", "A# Double Harmonic", "A# Lydian Sharp 2 Sharp 6", "A# Ultraphrygian", "A# Double Harmonic Minor", "A# Asian", "A# Ionian Augmented Sharp 2", "A# Locrian Double-flat 3 Double-flat 7", "A# Minor Pentatonic", "A# Major Pentatonic", "A# Minor Bebop", "A# Major Bebop", "A# Dominant Bebop", "A# Blues scale", "A# Blues scale II", "B Acoustic", "B Aeolian", "B Aeolian flat 1", "B Aeolian Harmonic", "B Altered Dorian", "B Augmented Inverse", "B Diminished", "B Dorian", "B Dorian flat 5", "B Harmonic Major", "B Harmonic Minor", "B Harmonic Minor inverse", "B Ionian Augmented", "B Locrian", "B Locrian Double-flat 7", "B Locrian natural 6", "B Lydian", "B Lydian Augmented", "B Lydian Diminished", "B Major", "B Major Augmented", "B Major-Minor", "B Makam Huzzam", "B Mela Natakapriya", "B Melodic Minor ascending", "B Minor Locrian", "B Mixolydian", "B Octatonic", "B Phrygian", "B Phrygian Dominant", "B Superlocrian", "B Ultralocrian", "B Whole-tone", "B Double Harmonic", "B Lydian Sharp 2 Sharp 6", "B Ultraphrygian", "B Double Harmonic Minor", "B Asian", "B Ionian Augmented Sharp 2", "B Locrian Double-flat 3 Double-flat 7", "B Minor Pentatonic", "B Major Pentatonic", "B Minor Bebop", "B Major Bebop", "B Dominant Bebop", "B Blues scale", "B Blues scale II"];
       settings.scales = [[], ["C", "D", "E", "F#", "G", "A", "A#"], ["C", "D", "D#", "F", "G", "G#", "A#"], ["C", "D#", "E", "F#", "G#", "A", "B"], ["C", "D#", "E", "F#", "G", "A", "B"], ["C", "D", "D#", "F#", "G", "A", "A#"], ["C", "C#", "E", "F", "G#", "A"], ["C", "D", "D#", "F", "F#", "G#", "A", "B"], ["C", "D", "D#", "F", "G", "A", "A#"], ["C", "D", "D#", "F", "F#", "A", "A#"], ["C", "D", "E", "F", "G", "G#", "B"], ["C", "D", "D#", "F", "G", "G#", "B"], ["C", "C#", "E", "F", "G", "A", "A#"], ["C", "D", "E", "F", "G#", "A", "B"], ["C", "C#", "D#", "F", "F#", "G#", "A#"], ["C", "C#", "D#", "F", "F#", "G#", "A"], ["C", "C#", "D#", "F", "F#", "A", "A#"], ["C", "D", "E", "F#", "G", "A", "B"], ["C", "D", "E", "F#", "G#", "A", "B"], ["C", "D", "D#", "F#", "G", "A", "B"], ["C", "D", "E", "F", "G", "A", "B"], ["C", "D#", "E", "G", "G#", "B"], ["C", "D", "E", "F", "G", "G#", "A#"], ["C", "C#", "D#", "E", "G", "G#", "A#"], ["C", "C#", "D#", "F", "G", "A", "A#"], ["C", "D", "D#", "F", "G", "A", "B"], ["C", "D", "D#", "F", "F#", "G#", "A#"], ["C", "D", "E", "F", "G", "A", "A#"], ["C", "C#", "D#", "E", "F#", "G", "A", "A#"], ["C", "C#", "D#", "F", "G", "G#", "A#"], ["C", "C#", "E", "F", "G", "G#", "A#"], ["C", "C#", "D#", "E", "F#", "G#", "A#"], ["C", "C#", "D#", "E", "F#", "G#", "A"], ["C", "D", "E", "F#", "G#", "A#"], ["C", "C#", "E", "F", "G", "G#", "B"], ["C", "D#", "E", "F#", "G", "A#", "B"], ["C", "C#", "D#", "E", "G", "G#", "A"], ["C", "D", "D#", "F#", "G", "G#", "B"], ["C", "C#", "E", "F", "F#", "A", "A#"], ["C", "D#", "E", "F", "G#", "A", "B"], ["C", "C#", "D", "F", "F#", "G#", "A"], ["C", "D#", "F", "G", "A#"], ["C", "D", "E", "G", "A"], ["C", "D", "D#", "E", "F", "G", "A", "A#"], ["C", "D", "E", "F", "G", "G#", "A", "B"], ["C", "D", "E", "F", "G", "A", "A#", "B"], ["C", "D#", "F", "F#", "G", "A#"], ["C", "D", "D#", "F", "F#", "G", "A", "A#"], ["C#", "D#", "F", "G", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G#", "A", "B"], ["C#", "E", "F", "G", "A", "A#", "C"], ["C#", "E", "F", "G", "G#", "A#", "C"], ["C#", "D#", "E", "G", "G#", "A#", "B"], ["C#", "D", "F", "F#", "A", "A#"], ["C#", "D#", "E", "F#", "G", "A", "A#", "C"], ["C#", "D#", "E", "F#", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G", "A#", "B"], ["C#", "D#", "F", "F#", "G#", "A", "C"], ["C#", "D#", "E", "F#", "G#", "A", "C"], ["C#", "D", "F", "F#", "G#", "A#", "B"], ["C#", "D#", "F", "F#", "A", "A#", "C"], ["C#", "D", "E", "F#", "G", "A", "B"], ["C#", "D", "E", "F#", "G", "A", "A#"], ["C#", "D", "E", "F#", "G", "A#", "B"], ["C#", "D#", "F", "G", "G#", "A#", "C"], ["C#", "D#", "F", "G", "A", "A#", "C"], ["C#", "D#", "E", "G", "G#", "A#", "C"], ["C#", "D#", "F", "F#", "G#", "A#", "C"], ["C#", "E", "F", "G#", "A", "C"], ["C#", "D#", "F", "F#", "G#", "A", "B"], ["C#", "D", "E", "F", "G#", "A", "B"], ["C#", "D", "E", "F#", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G#", "A#", "C"], ["C#", "D#", "E", "F#", "G", "A", "B"], ["C#", "D#", "F", "F#", "G#", "A#", "B"], ["C#", "D", "E", "F", "G", "G#", "A#", "B"], ["C#", "D", "E", "F#", "G#", "A", "B"], ["C#", "D", "F", "F#", "G#", "A", "B"], ["C#", "D", "E", "F", "G", "A", "B"], ["C#", "D", "E", "F", "G", "A", "A#"], ["C#", "D#", "F", "G", "A", "B"], ["C#", "D", "F", "F#", "G#", "A", "C"], ["C#", "E", "F", "G", "G#", "B", "C"], ["C#", "D", "E", "F", "G#", "A", "A#"], ["C#", "D#", "E", "G", "G#", "A", "C"], ["C#", "D", "F", "F#", "G", "A#", "B"], ["C#", "E", "F", "F#", "A", "A#", "C"], ["C#", "D", "D#", "F#", "G", "A", "A#"], ["C#", "E", "F#", "G#", "B"], ["C#", "D#", "F", "G#", "A#"], ["C#", "D#", "E", "F", "F#", "G#", "A#", "B"], ["C#", "D#", "F", "F#", "G#", "A", "A#", "C"], ["C#", "D#", "F", "F#", "G#", "A#", "B", "C"], ["C#", "E", "F#", "G", "G#", "B"], ["C#", "D#", "E", "F#", "G", "G#", "A#", "B"], ["D", "E", "F#", "G#", "A", "B", "C"], ["D", "E", "F", "G", "A", "A#", "C"], ["D", "F", "F#", "G#", "A#", "B", "C#"], ["D", "F", "F#", "G#", "A", "B", "C#"], ["D", "E", "F", "G#", "A", "B", "C"], ["D", "D#", "F#", "G", "A#", "B"], ["D", "E", "F", "G", "G#", "A#", "B", "C#"], ["D", "E", "F", "G", "A", "B", "C"], ["D", "E", "F", "G", "G#", "B", "C"], ["D", "E", "F#", "G", "A", "A#", "C#"], ["D", "E", "F", "G", "A", "A#", "C#"], ["D", "D#", "F#", "G", "A", "B", "C"], ["D", "E", "F#", "G", "A#", "B", "C#"], ["D", "D#", "F", "G", "G#", "A#", "C"], ["D", "D#", "F", "G", "G#", "A#", "B"], ["D", "D#", "F", "G", "G#", "B", "C"], ["D", "E", "F#", "G#", "A", "B", "C#"], ["D", "E", "F#", "G#", "A#", "B", "C#"], ["D", "E", "F", "G#", "A", "B", "C#"], ["D", "E", "F#", "G", "A", "B", "C#"], ["D", "F", "F#", "A", "A#", "C#"], ["D", "E", "F#", "G", "A", "A#", "C"], ["D", "D#", "F", "F#", "A", "A#", "C"], ["D", "D#", "F", "G", "A", "B", "C"], ["D", "E", "F", "G", "A", "B", "C#"], ["D", "E", "F", "G", "G#", "A#", "C"], ["D", "E", "F#", "G", "A", "B", "C"], ["D", "D#", "F", "F#", "G#", "A", "B", "C"], ["D", "D#", "F", "G", "A", "A#", "C"], ["D", "D#", "F#", "G", "A", "A#", "C"], ["D", "D#", "F", "F#", "G#", "A#", "C"], ["D", "D#", "F", "F#", "G#", "A#", "B"], ["D", "E", "F#", "G#", "A#", "C"], ["D", "D#", "F#", "G", "A", "A#", "C#"], ["D", "F", "F#", "G#", "A", "C", "C#"], ["D", "D#", "F", "F#", "A", "A#", "B"], ["D", "E", "F", "G#", "A", "A#", "C#"], ["D", "D#", "F#", "G", "G#", "B", "C"], ["D", "F", "F#", "G", "A#", "B", "C#"], ["D", "D#", "E", "G", "G#", "A#", "B"], ["D", "F", "G", "A", "C"], ["D", "E", "F#", "A", "B"], ["D", "E", "F", "F#", "G", "A", "B", "C"], ["D", "E", "F#", "G", "A", "A#", "B", "C#"], ["D", "E", "F#", "G", "A", "B", "C", "C#"], ["D", "F", "G", "G#", "A", "C"], ["D", "E", "F", "G", "G#", "A", "B", "C"], ["D#", "F", "G", "A", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A#", "B", "C#"], ["D#", "F#", "G", "A", "B", "C", "D"], ["D#", "F#", "G", "A", "A#", "C", "D"], ["D#", "F", "F#", "A", "A#", "C", "C#"], ["D#", "E", "G", "G#", "B", "C"], ["D#", "F", "F#", "G#", "A", "B", "C", "D"], ["D#", "F", "F#", "G#", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A", "C", "C#"], ["D#", "F", "G", "G#", "A#", "B", "D"], ["D#", "F", "F#", "G#", "A#", "B", "D"], ["D#", "E", "G", "G#", "A#", "C", "C#"], ["D#", "F", "G", "G#", "B", "C", "D"], ["D#", "E", "F#", "G#", "A", "B", "C#"], ["D#", "E", "F#", "G#", "A", "B", "C"], ["D#", "E", "F#", "G#", "A", "C", "C#"], ["D#", "F", "G", "A", "A#", "C", "D"], ["D#", "F", "G", "A", "B", "C", "D"], ["D#", "F", "F#", "A", "A#", "C", "D"], ["D#", "F", "G", "G#", "A#", "C", "D"], ["D#", "F#", "G", "A#", "B", "D"], ["D#", "F", "G", "G#", "A#", "B", "C#"], ["D#", "E", "F#", "G", "A#", "B", "C#"], ["D#", "E", "F#", "G#", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A#", "C", "D"], ["D#", "F", "F#", "G#", "A", "B", "C#"], ["D#", "F", "G", "G#", "A#", "C", "C#"], ["D#", "E", "F#", "G", "A", "A#", "C", "C#"], ["D#", "E", "F#", "G#", "A#", "B", "C#"], ["D#", "E", "G", "G#", "A#", "B", "C#"], ["D#", "E", "F#", "G", "A", "B", "C#"], ["D#", "E", "F#", "G", "A", "B", "C"], ["D#", "F", "G", "A", "B", "C#"], ["D#", "E", "G", "G#", "A#", "B", "D"], ["D#", "F#", "G", "A", "A#", "C#", "D"], ["D#", "E", "F#", "G", "A#", "B", "C"], ["D#", "F", "F#", "A", "A#", "B", "D"], ["D#", "E", "G", "G#", "A", "C", "C#"], ["D#", "F#", "G", "G#", "B", "C", "D"], ["D#", "E", "F", "G#", "A", "B", "C"], ["D#", "F#", "G#", "A#", "C#"], ["D#", "F", "G", "A#", "C"], ["D#", "F", "F#", "G", "G#", "A#", "C", "C#"], ["D#", "F", "G", "G#", "A#", "B", "C", "D"], ["D#", "F", "G", "G#", "A#", "C", "C#", "D"], ["D#", "F#", "G#", "A", "A#", "C#"], ["D#", "F", "F#", "G#", "A", "A#", "C", "C#"], ["E", "F#", "G#", "A#", "B", "C#", "D"], ["E", "F#", "G", "A", "B", "C", "D"], ["E", "G", "G#", "A#", "C", "C#", "D#"], ["E", "G", "G#", "A#", "B", "C#", "D#"], ["E", "F#", "G", "A#", "B", "C#", "D"], ["E", "F", "G#", "A", "C", "C#"], ["E", "F#", "G", "A", "A#", "C", "C#", "D#"], ["E", "F#", "G", "A", "B", "C#", "D"], ["E", "F#", "G", "A", "A#", "C#", "D"], ["E", "F#", "G#", "A", "B", "C", "D#"], ["E", "F#", "G", "A", "B", "C", "D#"], ["E", "F", "G#", "A", "B", "C#", "D"], ["E", "F#", "G#", "A", "C", "C#", "D#"], ["E", "F", "G", "A", "A#", "C", "D"], ["E", "F", "G", "A", "A#", "C", "C#"], ["E", "F", "G", "A", "A#", "C#", "D"], ["E", "F#", "G#", "A#", "B", "C#", "D#"], ["E", "F#", "G#", "A#", "C", "C#", "D#"], ["E", "F#", "G", "A#", "B", "C#", "D#"], ["E", "F#", "G#", "A", "B", "C#", "D#"], ["E", "G", "G#", "B", "C", "D#"], ["E", "F#", "G#", "A", "B", "C", "D"], ["E", "F", "G", "G#", "B", "C", "D"], ["E", "F", "G", "A", "B", "C#", "D"], ["E", "F#", "G", "A", "B", "C#", "D#"], ["E", "F#", "G", "A", "A#", "C", "D"], ["E", "F#", "G#", "A", "B", "C#", "D"], ["E", "F", "G", "G#", "A#", "B", "C#", "D"], ["E", "F", "G", "A", "B", "C", "D"], ["E", "F", "G#", "A", "B", "C", "D"], ["E", "F", "G", "G#", "A#", "C", "D"], ["E", "F", "G", "G#", "A#", "C", "C#"], ["E", "F#", "G#", "A#", "C", "D"], ["E", "F", "G#", "A", "B", "C", "D#"], ["E", "G", "G#", "A#", "B", "D", "D#"], ["E", "F", "G", "G#", "B", "C", "C#"], ["E", "F#", "G", "A#", "B", "C", "D#"], ["E", "F", "G#", "A", "A#", "C#", "D"], ["E", "G", "G#", "A", "C", "C#", "D#"], ["E", "F", "F#", "A", "A#", "C", "C#"], ["E", "G", "A", "B", "D"], ["E", "F#", "G#", "B", "C#"], ["E", "F#", "G", "G#", "A", "B", "C#", "D"], ["E", "F#", "G#", "A", "B", "C", "C#", "D#"], ["E", "F#", "G#", "A", "B", "C#", "D", "D#"], ["E", "G", "A", "A#", "B", "D"], ["E", "F#", "G", "A", "A#", "B", "C#", "D"], ["F", "G", "A", "B", "C", "D", "D#"], ["F", "G", "G#", "A#", "C", "C#", "D#"], ["F", "G#", "A", "B", "C#", "D", "E"], ["F", "G#", "A", "B", "C", "D", "E"], ["F", "G", "G#", "B", "C", "D", "D#"], ["F", "F#", "A", "A#", "C#", "D"], ["F", "G", "G#", "A#", "B", "C#", "D", "E"], ["F", "G", "G#", "A#", "C", "D", "D#"], ["F", "G", "G#", "A#", "B", "D", "D#"], ["F", "G", "A", "A#", "C", "C#", "E"], ["F", "G", "G#", "A#", "C", "C#", "E"], ["F", "F#", "A", "A#", "C", "D", "D#"], ["F", "G", "A", "A#", "C#", "D", "E"], ["F", "F#", "G#", "A#", "B", "C#", "D#"], ["F", "F#", "G#", "A#", "B", "C#", "D"], ["F", "F#", "G#", "A#", "B", "D", "D#"], ["F", "G", "A", "B", "C", "D", "E"], ["F", "G", "A", "B", "C#", "D", "E"], ["F", "G", "G#", "B", "C", "D", "E"], ["F", "G", "A", "A#", "C", "D", "E"], ["F", "G#", "A", "C", "C#", "E"], ["F", "G", "A", "A#", "C", "C#", "D#"], ["F", "F#", "G#", "A", "C", "C#", "D#"], ["F", "F#", "G#", "A#", "C", "D", "D#"], ["F", "G", "G#", "A#", "C", "D", "E"], ["F", "G", "G#", "A#", "B", "C#", "D#"], ["F", "G", "A", "A#", "C", "D", "D#"], ["F", "F#", "G#", "A", "B", "C", "D", "D#"], ["F", "F#", "G#", "A#", "C", "C#", "D#"], ["F", "F#", "A", "A#", "C", "C#", "D#"], ["F", "F#", "G#", "A", "B", "C#", "D#"], ["F", "F#", "G#", "A", "B", "C#", "D"], ["F", "G", "A", "B", "C#", "D#"], ["F", "F#", "A", "A#", "C", "C#", "E"], ["F", "G#", "A", "B", "C", "D#", "E"], ["F", "F#", "G#", "A", "C", "C#", "D"], ["F", "G", "G#", "B", "C", "C#", "E"], ["F", "F#", "A", "A#", "B", "D", "D#"], ["F", "G#", "A", "A#", "C#", "D", "E"], ["F", "F#", "G", "A#", "B", "C#", "D"], ["F", "G#", "A#", "C", "D#"], ["F", "G", "A", "C", "D"], ["F", "G", "G#", "A", "A#", "C", "D", "D#"], ["F", "G", "A", "A#", "C", "C#", "D", "E"], ["F", "G", "A", "A#", "C", "D", "D#", "E"], ["F", "G#", "A#", "B", "C", "D#"], ["F", "G", "G#", "A#", "B", "C", "D", "D#"], ["F#", "G#", "A#", "C", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C#", "D", "E"], ["F#", "A", "A#", "C", "D", "D#", "F"], ["F#", "A", "A#", "C", "C#", "D#", "F"], ["F#", "G#", "A", "C", "C#", "D#", "E"], ["F#", "G", "A#", "B", "D", "D#"], ["F#", "G#", "A", "B", "C", "D", "D#", "F"], ["F#", "G#", "A", "B", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C", "D#", "E"], ["F#", "G#", "A#", "B", "C#", "D", "F"], ["F#", "G#", "A", "B", "C#", "D", "F"], ["F#", "G", "A#", "B", "C#", "D#", "E"], ["F#", "G#", "A#", "B", "D", "D#", "F"], ["F#", "G", "A", "B", "C", "D", "E"], ["F#", "G", "A", "B", "C", "D", "D#"], ["F#", "G", "A", "B", "C", "D#", "E"], ["F#", "G#", "A#", "C", "C#", "D#", "F"], ["F#", "G#", "A#", "C", "D", "D#", "F"], ["F#", "G#", "A", "C", "C#", "D#", "F"], ["F#", "G#", "A#", "B", "C#", "D#", "F"], ["F#", "A", "A#", "C#", "D", "F"], ["F#", "G#", "A#", "B", "C#", "D", "E"], ["F#", "G", "A", "A#", "C#", "D", "E"], ["F#", "G", "A", "B", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C#", "D#", "F"], ["F#", "G#", "A", "B", "C", "D", "E"], ["F#", "G#", "A#", "B", "C#", "D#", "E"], ["F#", "G", "A", "A#", "C", "C#", "D#", "E"], ["F#", "G", "A", "B", "C#", "D", "E"], ["F#", "G", "A#", "B", "C#", "D", "E"], ["F#", "G", "A", "A#", "C", "D", "E"], ["F#", "G", "A", "A#", "C", "D", "D#"], ["F#", "G#", "A#", "C", "D", "E"], ["F#", "G", "A#", "B", "C#", "D", "F"], ["F#", "A", "A#", "C", "C#", "E", "F"], ["F#", "G", "A", "A#", "C#", "D", "D#"], ["F#", "G#", "A", "C", "C#", "D", "F"], ["F#", "G", "A#", "B", "C", "D#", "E"], ["F#", "A", "A#", "B", "D", "D#", "F"], ["F#", "G", "G#", "B", "C", "D", "D#"], ["F#", "A", "B", "C#", "E"], ["F#", "G#", "A#", "C#", "D#"], ["F#", "G#", "A", "A#", "B", "C#", "D#", "E"], ["F#", "G#", "A#", "B", "C#", "D", "D#", "F"], ["F#", "G#", "A#", "B", "C#", "D#", "E", "F"], ["F#", "A", "B", "C", "C#", "E"], ["F#", "G#", "A", "B", "C", "C#", "D#", "E"], ["G", "A", "B", "C#", "D", "E", "F"], ["G", "A", "A#", "C", "D", "D#", "F"], ["G", "A#", "B", "C#", "D#", "E", "F#"], ["G", "A#", "B", "C#", "D", "E", "F#"], ["G", "A", "A#", "C#", "D", "E", "F"], ["G", "G#", "B", "C", "D#", "E"], ["G", "A", "A#", "C", "C#", "D#", "E", "F#"], ["G", "A", "A#", "C", "D", "E", "F"], ["G", "A", "A#", "C", "C#", "E", "F"], ["G", "A", "B", "C", "D", "D#", "F#"], ["G", "A", "A#", "C", "D", "D#", "F#"], ["G", "G#", "B", "C", "D", "E", "F"], ["G", "A", "B", "C", "D#", "E", "F#"], ["G", "G#", "A#", "C", "C#", "D#", "F"], ["G", "G#", "A#", "C", "C#", "D#", "E"], ["G", "G#", "A#", "C", "C#", "E", "F"], ["G", "A", "B", "C#", "D", "E", "F#"], ["G", "A", "B", "C#", "D#", "E", "F#"], ["G", "A", "A#", "C#", "D", "E", "F#"], ["G", "A", "B", "C", "D", "E", "F#"], ["G", "A#", "B", "D", "D#", "F#"], ["G", "A", "B", "C", "D", "D#", "F"], ["G", "G#", "A#", "B", "D", "D#", "F"], ["G", "G#", "A#", "C", "D", "E", "F"], ["G", "A", "A#", "C", "D", "E", "F#"], ["G", "A", "A#", "C", "C#", "D#", "F"], ["G", "A", "B", "C", "D", "E", "F"], ["G", "G#", "A#", "B", "C#", "D", "E", "F"], ["G", "G#", "A#", "C", "D", "D#", "F"], ["G", "G#", "B", "C", "D", "D#", "F"], ["G", "G#", "A#", "B", "C#", "D#", "F"], ["G", "G#", "A#", "B", "C#", "D#", "E"], ["G", "A", "B", "C#", "D#", "F"], ["G", "G#", "B", "C", "D", "D#", "F#"], ["G", "A#", "B", "C#", "D", "F", "F#"], ["G", "G#", "A#", "B", "D", "D#", "E"], ["G", "A", "A#", "C#", "D", "D#", "F#"], ["G", "G#", "B", "C", "C#", "E", "F"], ["G", "A#", "B", "C", "D#", "E", "F#"], ["G", "G#", "A", "C", "C#", "D#", "E"], ["G", "A#", "C", "D", "F"], ["G", "A", "B", "D", "E"], ["G", "A", "A#", "B", "C", "D", "E", "F"], ["G", "A", "B", "C", "D", "D#", "E", "F#"], ["G", "A", "B", "C", "D", "E", "F", "F#"], ["G", "A#", "C", "C#", "D", "F"], ["G", "A", "A#", "C", "C#", "D", "E", "F"], ["G#", "A#", "C", "D", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D#", "E", "F#"], ["G#", "B", "C", "D", "E", "F", "G"], ["G#", "B", "C", "D", "D#", "F", "G"], ["G#", "A#", "B", "D", "D#", "F", "F#"], ["G#", "A", "C", "C#", "E", "F"], ["G#", "A#", "B", "C#", "D", "E", "F", "G"], ["G#", "A#", "B", "C#", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D", "F", "F#"], ["G#", "A#", "C", "C#", "D#", "E", "G"], ["G#", "A#", "B", "C#", "D#", "E", "G"], ["G#", "A", "C", "C#", "D#", "F", "F#"], ["G#", "A#", "C", "C#", "E", "F", "G"], ["G#", "A", "B", "C#", "D", "E", "F#"], ["G#", "A", "B", "C#", "D", "E", "F"], ["G#", "A", "B", "C#", "D", "F", "F#"], ["G#", "A#", "C", "D", "D#", "F", "G"], ["G#", "A#", "C", "D", "E", "F", "G"], ["G#", "A#", "B", "D", "D#", "F", "G"], ["G#", "A#", "C", "C#", "D#", "F", "G"], ["G#", "B", "C", "D#", "E", "G"], ["G#", "A#", "C", "C#", "D#", "E", "F#"], ["G#", "A", "B", "C", "D#", "E", "F#"], ["G#", "A", "B", "C#", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D#", "F", "G"], ["G#", "A#", "B", "C#", "D", "E", "F#"], ["G#", "A#", "C", "C#", "D#", "F", "F#"], ["G#", "A", "B", "C", "D", "D#", "F", "F#"], ["G#", "A", "B", "C#", "D#", "E", "F#"], ["G#", "A", "C", "C#", "D#", "E", "F#"], ["G#", "A", "B", "C", "D", "E", "F#"], ["G#", "A", "B", "C", "D", "E", "F"], ["G#", "A#", "C", "D", "E", "F#"], ["G#", "A", "C", "C#", "D#", "E", "G"], ["G#", "B", "C", "D", "D#", "F#", "G"], ["G#", "A", "B", "C", "D#", "E", "F"], ["G#", "A#", "B", "D", "D#", "E", "G"], ["G#", "A", "C", "C#", "D", "F", "F#"], ["G#", "B", "C", "C#", "E", "F", "G"], ["G#", "A", "A#", "C#", "D", "E", "F"], ["G#", "B", "C#", "D#", "F#"], ["G#", "A#", "C", "D#", "F"], ["G#", "A#", "B", "C", "C#", "D#", "F", "F#"], ["G#", "A#", "C", "C#", "D#", "E", "F", "G"], ["G#", "A#", "C", "C#", "D#", "F", "F#", "G"], ["G#", "B", "C#", "D", "D#", "F#"], ["G#", "A#", "B", "C#", "D", "D#", "F", "F#"], ["A", "B", "C#", "D#", "E", "F#", "G"], ["A", "B", "C", "D", "E", "F", "G"], ["A", "C", "C#", "D#", "F", "F#", "G#"], ["A", "C", "C#", "D#", "E", "F#", "G#"], ["A", "B", "C", "D#", "E", "F#", "G"], ["A", "A#", "C#", "D", "F", "F#"], ["A", "B", "C", "D", "D#", "F", "F#", "G#"], ["A", "B", "C", "D", "E", "F#", "G"], ["A", "B", "C", "D", "D#", "F#", "G"], ["A", "B", "C#", "D", "E", "F", "G#"], ["A", "B", "C", "D", "E", "F", "G#"], ["A", "A#", "C#", "D", "E", "F#", "G"], ["A", "B", "C#", "D", "F", "F#", "G#"], ["A", "A#", "C", "D", "D#", "F", "G"], ["A", "A#", "C", "D", "D#", "F", "F#"], ["A", "A#", "C", "D", "D#", "F#", "G"], ["A", "B", "C#", "D#", "E", "F#", "G#"], ["A", "B", "C#", "D#", "F", "F#", "G#"], ["A", "B", "C", "D#", "E", "F#", "G#"], ["A", "B", "C#", "D", "E", "F#", "G#"], ["A", "C", "C#", "E", "F", "G#"], ["A", "B", "C#", "D", "E", "F", "G"], ["A", "A#", "C", "C#", "E", "F", "G"], ["A", "A#", "C", "D", "E", "F#", "G"], ["A", "B", "C", "D", "E", "F#", "G#"], ["A", "B", "C", "D", "D#", "F", "G"], ["A", "B", "C#", "D", "E", "F#", "G"], ["A", "A#", "C", "C#", "D#", "E", "F#", "G"], ["A", "A#", "C", "D", "E", "F", "G"], ["A", "A#", "C#", "D", "E", "F", "G"], ["A", "A#", "C", "C#", "D#", "F", "G"], ["A", "A#", "C", "C#", "D#", "F", "F#"], ["A", "B", "C#", "D#", "F", "G"], ["A", "A#", "C#", "D", "E", "F", "G#"], ["A", "C", "C#", "D#", "E", "G", "G#"], ["A", "A#", "C", "C#", "E", "F", "F#"], ["A", "B", "C", "D#", "E", "F", "G#"], ["A", "A#", "C#", "D", "D#", "F#", "G"], ["A", "C", "C#", "D", "F", "F#", "G#"], ["A", "A#", "B", "D", "D#", "F", "F#"], ["A", "C", "D", "E", "G"], ["A", "B", "C#", "E", "F#"], ["A", "B", "C", "C#", "D", "E", "F#", "G"], ["A", "B", "C#", "D", "E", "F", "F#", "G#"], ["A", "B", "C#", "D", "E", "F#", "G", "G#"], ["A", "C", "D", "D#", "E", "G"], ["A", "B", "C", "D", "D#", "E", "F#", "G"], ["A#", "C", "D", "E", "F", "G", "G#"], ["A#", "C", "C#", "D#", "F", "F#", "G#"], ["A#", "C#", "D", "E", "F#", "G", "A"], ["A#", "C#", "D", "E", "F", "G", "A"], ["A#", "C", "C#", "E", "F", "G", "G#"], ["A#", "B", "D", "D#", "F#", "G"], ["A#", "C", "C#", "D#", "E", "F#", "G", "A"], ["A#", "C", "C#", "D#", "F", "G", "G#"], ["A#", "C", "C#", "D#", "E", "G", "G#"], ["A#", "C", "D", "D#", "F", "F#", "A"], ["A#", "C", "C#", "D#", "F", "F#", "A"], ["A#", "B", "D", "D#", "F", "G", "G#"], ["A#", "C", "D", "D#", "F#", "G", "A"], ["A#", "B", "C#", "D#", "E", "F#", "G#"], ["A#", "B", "C#", "D#", "E", "F#", "G"], ["A#", "B", "C#", "D#", "E", "G", "G#"], ["A#", "C", "D", "E", "F", "G", "A"], ["A#", "C", "D", "E", "F#", "G", "A"], ["A#", "C", "C#", "E", "F", "G", "A"], ["A#", "C", "D", "D#", "F", "G", "A"], ["A#", "C#", "D", "F", "F#", "A"], ["A#", "C", "D", "D#", "F", "F#", "G#"], ["A#", "B", "C#", "D", "F", "F#", "G#"], ["A#", "B", "C#", "D#", "F", "G", "G#"], ["A#", "C", "C#", "D#", "F", "G", "A"], ["A#", "C", "C#", "D#", "E", "F#", "G#"], ["A#", "C", "D", "D#", "F", "G", "G#"], ["A#", "B", "C#", "D", "E", "F", "G", "G#"], ["A#", "B", "C#", "D#", "F", "F#", "G#"], ["A#", "B", "D", "D#", "F", "F#", "G#"], ["A#", "B", "C#", "D", "E", "F#", "G#"], ["A#", "B", "C#", "D", "E", "F#", "G"], ["A#", "C", "D", "E", "F#", "G#"], ["A#", "B", "D", "D#", "F", "F#", "A"], ["A#", "C#", "D", "E", "F", "G#", "A"], ["A#", "B", "C#", "D", "F", "F#", "G"], ["A#", "C", "C#", "E", "F", "F#", "A"], ["A#", "B", "D", "D#", "E", "G", "G#"], ["A#", "C#", "D", "D#", "F#", "G", "A"], ["A#", "B", "C", "D#", "E", "F#", "G"], ["A#", "C#", "D#", "F", "G#"], ["A#", "C", "D", "F", "G"], ["A#", "C", "C#", "D", "D#", "F", "G", "G#"], ["A#", "C", "D", "D#", "F", "F#", "G", "A"], ["A#", "C", "D", "D#", "F", "G", "G#", "A"], ["A#", "C#", "D#", "E", "F", "G#"], ["A#", "C", "C#", "D#", "E", "F", "G", "G#"], ["B", "C#", "D#", "F", "F#", "G#", "A"], ["B", "C#", "D", "E", "F#", "G", "A"], ["B", "D", "D#", "F", "G", "G#", "A#"], ["B", "D", "D#", "F", "F#", "G#", "A#"], ["B", "C#", "D", "F", "F#", "G#", "A"], ["B", "C", "D#", "E", "G", "G#"], ["B", "C#", "D", "E", "F", "G", "G#", "A#"], ["B", "C#", "D", "E", "F#", "G#", "A"], ["B", "C#", "D", "E", "F", "G#", "A"], ["B", "C#", "D#", "E", "F#", "G", "A#"], ["B", "C#", "D", "E", "F#", "G", "A#"], ["B", "C", "D#", "E", "F#", "G#", "A"], ["B", "C#", "D#", "E", "G", "G#", "A#"], ["B", "C", "D", "E", "F", "G", "A"], ["B", "C", "D", "E", "F", "G", "G#"], ["B", "C", "D", "E", "F", "G#", "A"], ["B", "C#", "D#", "F", "F#", "G#", "A#"], ["B", "C#", "D#", "F", "G", "G#", "A#"], ["B", "C#", "D", "F", "F#", "G#", "A#"], ["B", "C#", "D#", "E", "F#", "G#", "A#"], ["B", "D", "D#", "F#", "G", "A#"], ["B", "C#", "D#", "E", "F#", "G", "A"], ["B", "C", "D", "D#", "F#", "G", "A"], ["B", "C", "D", "E", "F#", "G#", "A"], ["B", "C#", "D", "E", "F#", "G#", "A#"], ["B", "C#", "D", "E", "F", "G", "A"], ["B", "C#", "D#", "E", "F#", "G#", "A"], ["B", "C", "D", "D#", "F", "F#", "G#", "A"], ["B", "C", "D", "E", "F#", "G", "A"], ["B", "C", "D#", "E", "F#", "G", "A"], ["B", "C", "D", "D#", "F", "G", "A"], ["B", "C", "D", "D#", "F", "G", "G#"], ["B", "C#", "D#", "F", "G", "A"], ["B", "C", "D#", "E", "F#", "G", "A#"], ["B", "D", "D#", "F", "F#", "A", "A#"], ["B", "C", "D", "D#", "F#", "G", "G#"], ["B", "C#", "D", "F", "F#", "G", "A#"], ["B", "C", "D#", "E", "F", "G#", "A"], ["B", "D", "D#", "E", "G", "G#", "A#"], ["B", "C", "C#", "E", "F", "G", "G#"], ["B", "D", "E", "F#", "A"], ["B", "C#", "D#", "F#", "G#"], ["B", "C#", "D", "D#", "E", "F#", "G#", "A"], ["B", "C#", "D#", "E", "F#", "G", "G#", "A#"], ["B", "C#", "D#", "E", "F#", "G#", "A", "A#"], ["B", "D", "E", "F", "F#", "A"], ["B", "C#", "D", "E", "F", "F#", "G#", "A"]];
       while (keySelect.firstChild) {
           keySelect.removeChild(keySelect.firstChild);
       }
       for (var i = 0; i < settings['scales'].length; i++) {
           var option = document.createElement("option");
           option.innerHTML = settings['scaleNames'][i];
           keySelect.appendChild(option);
       }
       console.log("scales loaded");
   }

   function loadTimeSignatures() {
       var note_lengths = [64, 32, 16, 8, 4, 2, 1, 0.5, 0.25];
       var note_symbols = ["16", "8", "4", "2", "1", "1/2", "1/4", "1/8", "1/16"];
       var tuplets = [3, 5, 7, 11];
       var tuplet_names = ["3:2", "5:4", "7:8", "11:16"];
       var idx = 0;
       while (grid_select.firstChild) {
           grid_select.removeChild(grid_select.firstChild);
       }
       for (var i = 0; i < note_lengths.length; i++) {
           var nl = note_lengths[i];
           var ns = note_symbols[i];
           var opt = document.createElement("option"); opt.value = 1/nl; opt.text = ns; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 2/(nl*3); opt.text = ns + " dot"; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 1.75/(nl*3); opt.text = ns + " dot dot"; grid_select.add(opt);
           opt = document.createElement("option"); opt.value = 1.675/(nl*3); opt.text = ns + " dot dot dot"; grid_select.add(opt);
           for (var j = 0; j < tuplets.length; j++) {
               var t = tuplets[j];
               var tn = tuplet_names[j];
               var opt1 = document.createElement("option"); opt1.value = t/(nl*(Math.pow(2, j + 1))); opt1.text = ns + " - (" + tn + ")"; grid_select.add(opt1);
           }
           if (ns === "1/4") {
               idx = i * (tuplets.length + 4);
           }
       }
       grid_select.selectedIndex = idx;
       console.log("time signatures loaded");
   }

   function loadInstruments() {
       var insts=[];
       for(var i=0;i<instrumentSelect.length;i++)
       {
           insts.push(parseInt(instrumentSelect[i].value))
       }
       var grp = document.createElement("optgroup");
       grp.label = "Unfinished";
       instrumentSelect.add(grp);
       for(i=0;i<settings.instrumentColors.length;i++)
       {
           if(!insts.includes(i))
           {
               var opt = document.createElement("option");
               opt.value = i;
               opt.text = settings.instruments[i];
               grp.appendChild(opt);
               var instSettings = document.createElement("div");
               instSettings.innerHTML = "<div class=\"instrument_option\"><div><div id=\"instrument_lock_" + i + "\" class=\"instrument_lock btn tooltipstered\" onclick=\"lockInstrument(" + i + ")\"></div><span id=\"instrument_name_" + i + "\" onclick=\"selectInstrument(" + i + ")\">" + settings.instruments[i] + "</span><div class=\"chip instrument" + i + "\"></div></div><div class=\"row\"><input id=\"instrument_volume_" + i + "\" class=\"slider\" type=\"range\" min=\"0\" max=\"2\" step=\"0.01\" oninput=\"audioSystem.setInstrumentVolume(" + i + ", this.value)\"><div id=\"instrument_delay_" + i + "\" class=\"button tooltipstered\" onclick=\"selectDelay(" + i + ")\">D</div><div id=\"instrument_reverb_" + i + "\" class=\"button tooltipstered\" onclick=\"selectReverb(" + i + ")\">R</div></div></div>;"
               document.getElementById("instrument_options").appendChild(instSettings.firstChild);
           }
       }
       console.log("instruments loaded");
   }
})();
No minor? I mean you could always put them as the major equivalent but it's still nice to have the minor scales.

Hi man, Aeolian is the natural minor scale. Enjoy!
oh ***** i'm dumb thanks B)


RE: More Keys? - Frank - 06-08-2019

How did this thread escape me. Props to dfhwze, he's a certified mothertrucker for doing this.


RE: More Keys? - Sosasees - 06-08-2019

Online Sequencer is using the Western Standard Scale.
Maybe, we could make it so, that you can create your own custom Microtonal Scales and give the new Notes you add Custom Names. This would be very useful for creating more unconvenional music, because there are already a few musicians who use microtonal scales. And it works.

The upside of this would be, that Music Making with Microtonal Scales would be massively available to everyone.
The only issue I see with this is, that you likely wouldn't be able to download MIDIs from music in these custom note scales. But this wouldn't be a downside to already existing music (and future music) on this website, which was made with the Western Standard Scale, where we already know that MIDIs support it perfectly.