diff --git a/ziffers/classes.py b/ziffers/classes.py index 3123c16..2f859d0 100644 --- a/ziffers/classes.py +++ b/ziffers/classes.py @@ -4,7 +4,7 @@ from itertools import product, islice, cycle import operator import random from .defaults import DEFAULT_OPTIONS -from .scale import note_from_pc, midi_to_pitch_class, midi_to_freq +from .scale import note_from_pc, midi_to_pitch_class, midi_to_freq, get_scale_length @dataclass(kw_only=True) @@ -15,16 +15,16 @@ class Meta: def __post_init__(self): if self.kwargs: - self.update_new(self.kwargs) + self.update_options(self.kwargs) - def update(self, new_values): - """Update attributes from dict""" + def replace_options(self, new_values): + """Replaces attribute values from dict""" for key, value in new_values.items(): if hasattr(self, key): setattr(self, key, value) - def update_new(self, new_values): - """Updates new attributes from dict""" + def update_options(self, new_values): + """Updates attribute values only if value is None""" for key, value in new_values.items(): if hasattr(self, key): if getattr(self, key) is None: @@ -169,15 +169,13 @@ class RandomPitch(Event): pitch_class: int = field(default=None) - # FIXME: Get scale length as max somehow? - # pylint: disable=locally-disabled, unused-argument - def get_value(self) -> int: + def get_value(self, options: dict) -> int: """Return random value Returns: int: Returns random pitch """ - return random.randint(0, 9) + return random.randint(0, get_scale_length(options.get("scale","Major")) if options else 9) @dataclass(kw_only=True) @@ -197,7 +195,15 @@ class Chord(Event): def set_notes(self, notes: list[int]): """Set notes to the class""" self.notes = notes - + + def update_notes(self, options): + """Update notes""" + notes = [] + for pitch in self.pitch_classes: + pitch.update_options(options) + pitch.update_note() + notes.append(pitch.note) + self.notes = notes @dataclass(kw_only=True) class RomanNumeral(Event): @@ -277,41 +283,41 @@ class Sequence(Meta): eval_tree (bool, optional): Flag for using the evaluated subtree. Defaults to False. """ - def resolve_item(item: Meta, options: dict): + def _resolve_item(item: Meta, options: dict): """Resolve cyclic value""" if isinstance(item, Sequence): if isinstance(item, ListOperation): yield from item.evaluate_tree(options, True) elif isinstance(item, RepeatedSequence): repeats = item.repeats.get_value() - yield from normal_repeat(item.evaluated_values, repeats, options) + yield from _normal_repeat(item.evaluated_values, repeats, options) elif isinstance(item, RepeatedListSequence): repeats = item.repeats.get_value() - yield from generative_repeat(item, repeats, options) + yield from _generative_repeat(item, repeats, options) else: yield from item.evaluate_tree(options) elif isinstance(item, Cyclic): - yield from resolve_item(item.get_value(), options) + yield from _resolve_item(item.get_value(), options) elif isinstance(item, Modification): - options = update_options(item, options) + options = _update_options(item, options) elif isinstance(item, Meta): # Filters whitespace - yield update_item(item, options) + yield _update_item(item, options) # pylint: disable=locally-disabled, unused-variable - def generative_repeat(tree: list, times: int, options: dict): + def _generative_repeat(tree: list, times: int, options: dict): """Repeats items and generates new random values""" for i in range(times): for item in tree.evaluate_tree(options): - yield from resolve_item(item, options) + yield from _resolve_item(item, options) # pylint: disable=locally-disabled, unused-variable - def normal_repeat(tree: list, times: int, options: dict): + def _normal_repeat(tree: list, times: int, options: dict): """Repeats items with the same random values""" for i in range(times): for item in tree: - yield from resolve_item(item, options) + yield from _resolve_item(item, options) - def update_options(current: Item, options: dict) -> dict: + def _update_options(current: Item, options: dict) -> dict: """Update options based on current item""" if current.item_type == "change": # Change options options[current.key] = current.value @@ -322,7 +328,7 @@ class Sequence(Meta): options[current.key] = current.value return options - def create_pitch(current: Item, options: dict) -> dict: + def _create_pitch(current: Item, options: dict) -> dict: """Create pitch based on values and options""" if "modifier" in options: @@ -340,17 +346,17 @@ class Sequence(Meta): if hasattr(current, "octave") and current.octave is not None: c_octave += current.octave - + current_value = current.get_value(options) note = note_from_pc( root=options["key"], - pitch_class=current.get_value(), + pitch_class=current_value, intervals=options["scale"], modifier=c_modifier, octave=c_octave, ) new_pitch = Pitch( - pitch_class=current.get_value(), - text=str(current.get_value()), + pitch_class=current_value, + text=str(current_value), note=note, freq=midi_to_freq(note), octave=c_octave, @@ -359,57 +365,47 @@ class Sequence(Meta): ) return new_pitch - def update_chord(current: Chord, options: dict) -> Chord: - """Update chord based on options""" - pcs = current.pitch_classes - notes = [ - pc.set_note( - note_from_pc(options["key"], pc.pitch_class, options["scale"]) - ) - for pc in pcs - ] - current.set_notes(notes) - return current - - def create_chord_from_roman(current: RomanNumeral, options: dict) -> Chord: + def _create_chord_from_roman(current: RomanNumeral, options: dict) -> Chord: """Create chord fom roman numeral""" key = options["key"] scale = options["scale"] - pitches = [midi_to_pitch_class(note, key, scale) for note in current.notes] - chord_notes = [ - note_from_pc( + pitch_text="" + pitch_classes = [] + chord_notes = [] + for note in current.notes: + pitch_dict = midi_to_pitch_class(note, key, scale) + pitch_classes.append(Pitch(pitch_class=pitch_dict["pitch_class"],kwargs=(pitch_dict | options))) + pitch_text+=pitch_dict["text"] + chord_notes.append(note_from_pc( root=key, - pitch_class=pitch, + pitch_class=pitch_dict["pitch_class"], intervals=scale, - modifier=current.modifier if hasattr(current, "modifier") else 0, - ) - for pitch in pitches - ] + modifier=pitch_dict.get("modifier",0), + octave=pitch_dict.get("octave",0) + )) + chord = Chord( - text="".join(pitches), pitch_classes=pitches, notes=chord_notes + text=pitch_text, pitch_classes=pitch_classes, notes=chord_notes, kwargs=options ) return chord - def update_item(item, options): + def _update_item(item, options): """Update or create new pitch""" if set(("key", "scale")) <= options.keys(): if isinstance(item,Pitch): - # TODO: Re-evaluation? - # item.check_note(options) - pass + item.update_options(options) elif isinstance(item, (RandomPitch, RandomInteger)): - item = create_pitch(item, options) + item = _create_pitch(item, options) elif isinstance(item, Chord): - item = update_chord(item, options) + item.update_notes(options) elif isinstance(item, RomanNumeral): - item = create_chord_from_roman(item, options) - item.update_new(options) + item = _create_chord_from_roman(item, options) return item # Start of the main function: Evaluate and flatten the Ziffers object tree values = self.evaluated_values if eval_tree else self.values for item in values: - yield from resolve_item(item, options) + yield from _resolve_item(item, options) def filter(self, keep: tuple): """Filter out items from sequence. @@ -551,7 +547,7 @@ class RandomInteger(Item): self.max = new_max # pylint: disable=locally-disabled, unused-argument - def get_value(self): + def get_value(self, options: dict=None): """Evaluate the random value for the generator""" return random.randint(self.min, self.max) diff --git a/ziffers/defaults.py b/ziffers/defaults.py index 1511435..490b9ac 100644 --- a/ziffers/defaults.py +++ b/ziffers/defaults.py @@ -41,7 +41,7 @@ DEFAULT_DURS = { DEFAULT_OCTAVE = 4 -DEFAULT_OPTIONS = {"octave": 0, "duration": 0.25, "key":"C4", "scale":"IONIAN"} +DEFAULT_OPTIONS = {"octave": 0, "duration": 0.25, "key": "C4", "scale": "IONIAN"} OPERATORS = { "+": operator.add, @@ -53,36 +53,50 @@ OPERATORS = { NOTES_TO_INTERVALS = { - 'C': 0, - 'Cs': 1, - 'D': 2, - 'Eb': 3, - 'E': 4, - 'F': 5, - 'Fs': 6, - 'G': 7, - 'Ab': 8, - 'A': 9, - 'Bb': 10, - 'B': 11 - } - -INTERVALS_TO_NOTES = { - 0: 'C', - 1: 'Cs', - 2: 'D', - 3: 'Eb', - 4: 'E', - 5: 'F', - 6: 'Fs', - 7: 'G', - 8: 'Ab', - 9: 'A', - 10: 'Bb', - 11: 'B' + "C": 0, + "Cs": 1, + "D": 2, + "Eb": 3, + "E": 4, + "F": 5, + "Fs": 6, + "G": 7, + "Ab": 8, + "A": 9, + "Bb": 10, + "B": 11, } -CIRCLE_OF_FIFTHS = ['Gb', 'Cs', 'Ab', 'Eb', 'Bb', 'F', 'C', 'G', 'D', 'A', 'E', 'B', 'Fs'] +INTERVALS_TO_NOTES = { + 0: "C", + 1: "Cs", + 2: "D", + 3: "Eb", + 4: "E", + 5: "F", + 6: "Fs", + 7: "G", + 8: "Ab", + 9: "A", + 10: "Bb", + 11: "B", +} + +CIRCLE_OF_FIFTHS = [ + "Gb", + "Cs", + "Ab", + "Eb", + "Bb", + "F", + "C", + "G", + "D", + "A", + "E", + "B", + "Fs", +] MODIFIERS = { "#": 1, @@ -94,1498 +108,1525 @@ ROMANS = {"i": 1, "v": 5, "x": 10, "l": 50, "c": 100, "d": 500, "m": 1000} # pylint: disable=locally-disabled, too-many-lines -SCALES = { - "Minoric": 444, - "Thaptic": 4341, - "Lothic": 3414, - "Phratic": 4143, - "Aerathic": 1434, - "Epathic": 4323, - "Mynic": 3234, - "Rothic": 2343, - "Eporic": 3432, - "Zyphic": 4431, - "Epogic": 4314, - "Lanic": 3144, - "Pyrric": 1443, - "Aeoloric": 4413, - "Gonic": 4134, - "Dalic": 1344, - "Dygic": 3441, - "Daric": 4332, - "Lonic": 3324, - "Phradic": 3243, - "Bolic": 2433, - "Saric": 4233, - "Zoptic": 2334, - "Aeraphic": 3342, - "Byptic": 3423, - "Aeolic": 4422, - "Koptic": 4224, - "Mixolyric": 2244, - "Lydic": 2442, - "Stathic": 4242, - "Dadic": 2424, - "Phrynic": 3333, - "Epathitonic": 32322, - "Mynitonic": 23223, - "Rocritonic": 32232, - "Pentatonic": 22323, - "Thaptitonic": 23232, - "Magitonic": 43221, - "Daditonic": 32214, - "Aeolyphritonic": 22143, - "Gycritonic": 21432, - "Pyritonic": 14322, - "Gathitonic": 42321, - "Ionitonic": 23214, - "Phrynitonic": 32142, - "Stathitonic": 21423, - "Thalitonic": 14232, - "Zolitonic": 42141, - "Epogitonic": 21414, - "Lanitonic": 14142, - "Paptitonic": 41421, - "Ionacritonic": 14214, - "Phraditonic": 41412, - "Aeoloritonic": 14124, - "Gonitonic": 41241, - "Dalitonic": 12414, - "Dygitonic": 24141, - "Aeracritonic": 41232, - "Byptitonic": 12324, - "Daritonic": 23241, - "Lonitonic": 32412, - "Ionycritonic": 24123, - "Lothitonic": 41223, - "Phratonic": 12234, - "Aerathitonic": 22341, - "Saritonic": 23412, - "Zoptitonic": 34122, - "Dolitonic": 44121, - "Poritonic": 41214, - "Aerylitonic": 12144, - "Zagitonic": 21441, - "Lagitonic": 14412, - "Molitonic": 43311, - "Staptitonic": 33114, - "Mothitonic": 31143, - "Aeritonic": 11433, - "Ragitonic": 14331, - "Ionaditonic": 43212, - "Bocritonic": 32124, - "Gythitonic": 21243, - "Pagitonic": 12432, - "Aeolythitonic": 24321, - "Zacritonic": 43131, - "Laritonic": 31314, - "Thacritonic": 13143, - "Styditonic": 31431, - "Loritonic": 14313, - "Aeolyritonic": 43113, - "Goritonic": 31134, - "Aeoloditonic": 11343, - "Doptitonic": 13431, - "Aeraphitonic": 34311, - "Zathitonic": 42411, - "Raditonic": 24114, - "Stonitonic": 41142, - "Syptitonic": 11424, - "Ionythitonic": 14241, - "Aeolanitonic": 42231, - "Danitonic": 22314, - "Ionaritonic": 23142, - "Dynitonic": 31422, - "Zyditonic": 14223, - "Aeolacritonic": 42123, - "Zythitonic": 21234, - "Dyritonic": 12342, - "Koptitonic": 23421, - "Thocritonic": 34212, - "Lycritonic": 41331, - "Daptitonic": 13314, - "Kygitonic": 33141, - "Mocritonic": 31413, - "Zynitonic": 14133, - "Epygitonic": 41322, - "Zaptitonic": 13224, - "Kagitonic": 32241, - "Zogitonic": 22413, - "Epyritonic": 24132, - "Zothitonic": 41313, - "Phrolitonic": 13134, - "Ionagitonic": 31341, - "Aeolapritonic": 13413, - "Kyritonic": 34131, - "Ionyptitonic": 41133, - "Gyritonic": 11334, - "Zalitonic": 13341, - "Stolitonic": 33411, - "Bylitonic": 34113, - "Thoditonic": 33231, - "Dogitonic": 32313, - "Phralitonic": 23133, - "Garitonic": 31332, - "Soptitonic": 13323, - "Kataritonic": 33222, - "Sylitonic": 32223, - "Thonitonic": 22233, - "Phropitonic": 22332, - "Staditonic": 23322, - "Lyditonic": 33132, - "Mythitonic": 31323, - "Sogitonic": 13233, - "Gothitonic": 32331, - "Rothitonic": 23313, - "Zylitonic": 44211, - "Zoditonic": 42114, - "Zaritonic": 21144, - "Phrythitonic": 11442, - "Rolitonic": 14421, - "Ranitonic": 44112, - "Laditonic": 41124, - "Poditonic": 11244, - "Ionothitonic": 12441, - "Kanitonic": 24411, - "Ryphitonic": 43122, - "Gylitonic": 31224, - "Aeolycritonic": 12243, - "Pynitonic": 22431, - "Zanitonic": 24312, - "Phronitonic": 42312, - "Banitonic": 23124, - "Aeronitonic": 31242, - "Golitonic": 12423, - "Dyptitonic": 24231, - "Aerynitonic": 42213, - "Palitonic": 22134, - "Stothitonic": 21342, - "Aerophitonic": 13422, - "Katagitonic": 34221, - "Ionoditonic": 42132, - "Bogitonic": 21324, - "Mogitonic": 13242, - "Docritonic": 32421, - "Epaditonic": 24213, - "Mixitonic": 33321, - "Phrothitonic": 33213, - "Katycritonic": 32133, - "Ionalitonic": 21333, - "Loptitonic": 13332, - "Thyritonic": 33312, - "Thoptitonic": 33123, - "Bycritonic": 31233, - "Pathitonic": 12333, - "Myditonic": 23331, - "Bolitonic": 42222, - "Bothitonic": 22224, - "Kataditonic": 22242, - "Koditonic": 22422, - "Tholitonic": 24222, - "Epathimic": 322122, - "Mynimic": 221223, - "Rocrimic": 212232, - "Eporimic": 122322, - "Thaptimic": 223221, - "Lothimic": 232212, - "Dyrimic": 421221, - "Koptimic": 212214, - "Thocrimic": 122142, - "Aeolanimic": 221421, - "Danimic": 214212, - "Ionarimic": 142122, - "Daptimic": 414111, - "Kygimic": 141114, - "Mocrimic": 411141, - "Zynimic": 111414, - "Aeolimic": 114141, - "Zythimic": 141411, - "Epygimic": 412311, - "Zaptimic": 123114, - "Kagimic": 231141, - "Zogimic": 311412, - "Epyrimic": 114123, - "Lycrimic": 141231, - "Bylimic": 412221, - "Zothimic": 122214, - "Phrolimic": 222141, - "Ionagimic": 221412, - "Aeolaphimic": 214122, - "Kycrimic": 141222, - "Garimic": 412212, - "Soptimic": 122124, - "Ionyptimic": 221241, - "Gyrimic": 212412, - "Zalimic": 124122, - "Stolimic": 241221, - "Thonimic": 411411, - "Stadimic": 114114, - "Thodimic": 141141, - "Mythimic": 411321, - "Sogimic": 113214, - "Gogimic": 132141, - "Rothimic": 321411, - "Katarimic": 214113, - "Sylimic": 141132, - "Mixolimic": 323211, - "Dadimic": 232113, - "Aeolyphimic": 321132, - "Gycrimic": 211323, - "Pyrimic": 113232, - "Lydimic": 132321, - "Ionacrimic": 323112, - "Gathimic": 231123, - "Ionynimic": 311232, - "Phrynimic": 112323, - "Stathimic": 123231, - "Thatimic": 232311, - "Dalimic": 322311, - "Dygimic": 223113, - "Zolimic": 231132, - "Epogimic": 311322, - "Lanimic": 113223, - "Paptimic": 132231, - "Darmic": 322212, - "Lonimic": 222123, - "Ionycrimic": 221232, - "Phradimic": 212322, - "Aeolorimic": 123222, - "Gonimic": 232221, - "Phracrimic": 321222, - "Aerathimic": 212223, - "Sarimic": 122232, - "Zoptimic": 222321, - "Zeracrimic": 223212, - "Byptimic": 232122, - "Starimic": 432111, - "Phrathimic": 321114, - "Saptimic": 211143, - "Aerodimic": 111432, - "Macrimic": 114321, - "Rogimic": 143211, - "Bygimic": 431121, - "Thycrimic": 311214, - "Aeoladimic": 112143, - "Dylimic": 121431, - "Eponimic": 214311, - "Katygimic": 143112, - "Stalimic": 423111, - "Stoptimic": 231114, - "Zygimic": 311142, - "Kataptimic": 111423, - "Aeolaptimic": 114231, - "Pothimic": 142311, - "Rycrimic": 422121, - "Ronimic": 221214, - "Stycrimic": 212142, - "Katorimic": 121422, - "Epythimic": 214221, - "Kaptimic": 142212, - "Katythimic": 421311, - "Madimic": 213114, - "Aerygimic": 131142, - "Pylimic": 311421, - "Ionathimic": 114213, - "Morimic": 142131, - "Aerycrimic": 421131, - "Ganimic": 211314, - "Eparimic": 113142, - "Lyrimic": 131421, - "Phraptimic": 314211, - "Bacrimic": 142113, - "Phralimic": 413211, - "Phrogimic": 132114, - "Rathimic": 321141, - "Katocrimic": 211413, - "Phryptimic": 114132, - "Katynimic": 141321, - "Solimic": 413121, - "Ionolimic": 131214, - "Ionophimic": 312141, - "Aeologimic": 121413, - "Zadimic": 214131, - "Sygimic": 141312, - "Thogimic": 413112, - "Rythimic": 131124, - "Donimic": 311241, - "Aeoloptimic": 112413, - "Panimic": 124131, - "Lodimic": 241311, - "Laptimic": 412131, - "Lygimic": 121314, - "Logimic": 213141, - "Lalimic": 131412, - "Sothimic": 314121, - "Phrocrimic": 141213, - "Modimic": 412122, - "Barimic": 121224, - "Poptimic": 212241, - "Sagimic": 122412, - "Aelothimic": 224121, - "Socrimic": 241212, - "Syrimic": 412113, - "Stodimic": 121134, - "Ionocrimic": 211341, - "Zycrimic": 113412, - "Ionygimic": 134121, - "Katathimic": 341211, - "Bolimic": 411312, - "Bothimic": 113124, - "Katadimic": 131241, - "Kodimic": 312411, - "Tholimic": 124113, - "Ralimic": 241131, - "Kanimic": 411231, - "Zylimic": 112314, - "Zodimic": 123141, - "Zarimic": 231411, - "Phrythimic": 314112, - "Rorimic": 141123, - "Pynimic": 411132, - "Zanimic": 111324, - "Ranimic": 113241, - "Ladimic": 132411, - "Podimic": 324111, - "Ionothimic": 241113, - "Kytrimic": 411123, - "Golimic": 111234, - "Dyptimic": 112341, - "Ryrimic": 123411, - "Gylimic": 234111, - "Aeolycrimic": 341112, - "Palimic": 332211, - "Stothimic": 322113, - "Aeronimic": 221133, - "Katagimic": 211332, - "Phronimic": 113322, - "Banimic": 133221, - "Ionodimic": 331311, - "Bogimic": 313113, - "Mogimic": 131133, - "Docrimic": 311331, - "Epadimic": 113313, - "Aerynimic": 133131, - "Mydimic": 331131, - "Thyptimic": 311313, - "Phrothimic": 113133, - "Katycrimic": 131331, - "Ionalimic": 313311, - "Loptimic": 133113, - "Zagimic": 331122, - "Lagimic": 311223, - "Thyrimic": 112233, - "Thothimic": 122331, - "Bycrimic": 223311, - "Pathimic": 233112, - "Mothimic": 322131, - "Aeranimic": 221313, - "Ragimic": 213132, - "Dolimic": 131322, - "Porimic": 313221, - "Aerylimic": 132213, - "Bocrimic": 321312, - "Gythimic": 213123, - "Pagimic": 131232, - "Aeolythimic": 312321, - "Molimic": 123213, - "Staptimic": 232131, - "Zacrimic": 321231, - "Larimic": 212313, - "Thacrimic": 123132, - "Stydimic": 231321, - "Lorimic": 313212, - "Ionadimic": 132123, - "Ionythimic": 313131, - "Aerythimic": 131313, - "Dynimic": 313122, - "Zydimic": 131223, - "Zathimic": 312231, - "Radimic": 122313, - "Stonimic": 223131, - "Syptimic": 231312, - "Ponimic": 441111, - "Kadimic": 411114, - "Gynimic": 111144, - "Thydimic": 111441, - "Polimic": 114411, - "Thanimic": 144111, - "Lathimic": 431211, - "Aeralimic": 312114, - "Kynimic": 121143, - "Stynimic": 211431, - "Epytimic": 114312, - "Katoptimic": 143121, - "Galimic": 431112, - "Kathimic": 311124, - "Lylimic": 111243, - "Epalimic": 112431, - "Epacrimic": 124311, - "Sathimic": 243111, - "Katanimic": 422211, - "Katyrimic": 222114, - "Rynimic": 221142, - "Pogimic": 211422, - "Aeraptimic": 114222, - "Epylimic": 142221, - "Manimic": 421212, - "Marimic": 212124, - "Locrimic": 121242, - "Rylimic": 212421, - "Epatimic": 124212, - "Byrimic": 242121, - "Kocrimic": 421113, - "Korimic": 211134, - "Lynimic": 111342, - "Malimic": 113421, - "Synimic": 134211, - "Phragimic": 342111, - "Mycrimic": 411222, - "Ionorimic": 112224, - "Phrydimic": 122241, - "Zyptimic": 222411, - "Katothimic": 224112, - "Phrylimic": 241122, - "Aerothimic": 411213, - "Stagimic": 112134, - "Dorimic": 121341, - "Phrycrimic": 213411, - "Kyptimic": 134112, - "Ionylimic": 341121, - "Epynimic": 333111, - "Ionogimic": 331113, - "Kydimic": 311133, - "Gaptimic": 111333, - "Tharimic": 113331, - "Ionaphimic": 133311, - "Thoptimic": 332121, - "Bagimic": 321213, - "Kyrimic": 212133, - "Sonimic": 121332, - "Aeolonimic": 213321, - "Rygimic": 133212, - "Thagimic": 332112, - "Kolimic": 321123, - "Dycrimic": 211233, - "Epycrimic": 112332, - "Gocrimic": 123321, - "Katolimic": 233211, - "Dagimic": 331221, - "Aeolydimic": 312213, - "Parimic": 122133, - "Ionaptimic": 221331, - "Thylimic": 213312, - "Lolimic": 133122, - "Thalimic": 331212, - "Stygimic": 312123, - "Aeolygimic": 121233, - "Aerogimic": 212331, - "Dacrimic": 123312, - "Baptimic": 233121, - "Stythimic": 323121, - "Kothimic": 231213, - "Pygimic": 312132, - "Rodimic": 121323, - "Sorimic": 213231, - "Monimic": 132312, - "Aeragimic": 322221, - "Epothimic": 222213, - "Salimic": 222132, - "Lyptimic": 221322, - "Katonimic": 213222, - "Gygimic": 132222, - "Aeradimic": 321321, - "Zyrimic": 213213, - "Stylimic": 132132, - "Lythimic": 312312, - "Dodimic": 123123, - "Katalimic": 231231, - "Boptimic": 312222, - "Stogimic": 122223, - "Thynimic": 222231, - "Aeolathimic": 222312, - "Bythimic": 223122, - "Padimic": 231222, - "Dathimic": 422112, - "Epagimic": 221124, - "Raptimic": 211242, - "Epolimic": 112422, - "Sythimic": 124221, - "Sydimic": 242211, - "Gacrimic": 421122, - "Borimic": 211224, - "Sycrimic": 112242, - "Gadimic": 122421, - "Aeolocrimic": 224211, - "Phrygimic": 242112, - "WholeTone": 222222, - "Lydian": 2221221, - "Mixolydian": 2212212, - "Aeolian": 2122122, - "Locrian": 1221222, - "Ionian": 2212221, - "Dorian": 2122212, - "Phrygian": 1222122, - "Ionythian": 4122111, - "Aeolyrian": 1221114, - "Gorian": 2211141, - "Aeolodian": 2111412, - "Doptian": 1114122, - "Aeraphian": 1141221, - "Zacrian": 1412211, - "Ionarian": 4113111, - "Dynian": 1131114, - "Zydian": 1311141, - "Zathian": 3111411, - "Radian": 1114113, - "Stonian": 1141131, - "Syptian": 1411311, - "Aeolacrian": 4111311, - "Zythian": 1113114, - "Dyrian": 1131141, - "Koptian": 1311411, - "Thocrian": 3114111, - "Aeolanian": 1141113, - "Danian": 1411131, - "Zogian": 4111221, - "Epyrian": 1112214, - "Lycrian": 1122141, - "Daptian": 1221411, - "Kygian": 2214111, - "Mocrian": 2141112, - "Zynian": 1411122, - "Phrolian": 3221211, - "Ionagian": 2212113, - "Aeodian": 2121132, - "Kycrian": 1211322, - "Epygian": 2113221, - "Zaptian": 1132212, - "Kagian": 1322121, - "Soptian": 3221112, - "Ionyptian": 2211123, - "Gyrian": 2111232, - "Zalian": 1112322, - "Stolian": 1123221, - "Bylian": 1232211, - "Zothian": 2322111, - "Thonian": 3212211, - "Phrorian": 2122113, - "Stadian": 1221132, - "Thodian": 2211321, - "Dogian": 2113212, - "Mixopyrian": 1132122, - "Garian": 1321221, - "Epathian": 3211311, - "Mythian": 2113113, - "Sogian": 1131132, - "Gogian": 1311321, - "Rothian": 3113211, - "Katarian": 1132113, - "Stylian": 1321131, - "Stathian": 3211122, - "Mixonyphian": 2111223, - "Magian": 1112232, - "Dadian": 1122321, - "Aeolylian": 1223211, - "Gycrian": 2232111, - "Pyrian": 2321112, - "Epogian": 3113112, - "Lanian": 1131123, - "Paptian": 1311231, - "Ionacrian": 3112311, - "Gathian": 1123113, - "Ionyphian": 1231131, - "Phrynian": 2311311, - "Ionycrian": 3112212, - "Phradian": 1122123, - "Aeolorian": 1221231, - "Gonian": 2212311, - "Dalian": 2123112, - "Dygian": 1231122, - "Zolian": 2311221, - "Aerathian": 3112122, - "Sarian": 1121223, - "Zoptian": 1212231, - "Aeracrian": 2122311, - "Byptian": 1223112, - "Darian": 2231121, - "Lonian": 2311212, - "Aeopian": 4212111, - "Rygian": 2121114, - "Epynian": 1211142, - "Ionogian": 2111421, - "Kydian": 1114212, - "Gaptian": 1142121, - "Tharian": 1421211, - "Epycrian": 4211121, - "Gocrian": 2111214, - "Katolian": 1112142, - "Thoptian": 1121421, - "Bagian": 1214211, - "Kyrian": 2142111, - "Sonian": 1421112, - "Parian": 4131111, - "Ionaptian": 1311114, - "Thylian": 3111141, - "Lolian": 1111413, - "Thagian": 1114131, - "Kolian": 1141311, - "Dycrian": 1413111, - "Stygian": 4121211, - "Aeolygian": 1212114, - "Aerogian": 2121141, - "Dacrian": 1211412, - "Baptian": 2114121, - "Dagian": 1141212, - "Aeolydian": 1412121, - "Stythian": 4121121, - "Kothian": 1211214, - "Pygian": 2112141, - "Rodian": 1121412, - "Sorian": 1214121, - "Monian": 2141211, - "Thalian": 1412112, - "Zorian": 4121112, - "Aeragian": 1211124, - "Epothian": 2111241, - "Salian": 1112412, - "Lyptian": 1124121, - "Katonian": 1241211, - "Gyphian": 2412111, - "Thacrian": 4112211, - "Dodian": 1122114, - "Aeolyptian": 1221141, - "Aeolonian": 2211411, - "Aeradian": 2114112, - "Aeolagian": 1141122, - "Zyrian": 1411221, - "Aeolathian": 4112121, - "Bythian": 1121214, - "Padian": 1212141, - "Rolian": 2121411, - "Pydian": 1214112, - "Thygian": 2141121, - "Katalian": 1411212, - "Saptian": 4111212, - "Aerodian": 1112124, - "Macrian": 1121241, - "Rogian": 1212411, - "Boptian": 2124111, - "Stogian": 1241112, - "Thynian": 2411121, - "Thycrian": 4111131, - "Aeoladian": 1111314, - "Dylian": 1113141, - "Eponian": 1131411, - "Katygian": 1314111, - "Starian": 3141111, - "Phrathian": 1411113, - "Stalian": 3311211, - "Stoptian": 3112113, - "Zygian": 1121133, - "Kataptian": 1211331, - "Aeolaptian": 2113311, - "Pothian": 1133112, - "Bygian": 1331121, - "Morian": 3231111, - "Rycrian": 2311113, - "Ronian": 3111132, - "Stycrian": 1111323, - "Katorian": 1113231, - "Epythian": 1132311, - "Kaptian": 1323111, - "Phraptian": 3222111, - "Bacrian": 2221113, - "Katythian": 2211132, - "Madian": 2111322, - "Aerygian": 1113222, - "Pylian": 1132221, - "Ionathian": 1322211, - "Katocrian": 3213111, - "Phryptian": 2131113, - "Katynian": 1311132, - "Aerycrian": 3111321, - "Ganian": 1113213, - "Eparian": 1132131, - "Lyrian": 1321311, - "Ionopian": 3212112, - "Aeologian": 2121123, - "Zadian": 1211232, - "Sygian": 2112321, - "Phralian": 1123212, - "Phrogian": 1232121, - "Rathian": 2321211, - "Rythian": 3211212, - "Donian": 2112123, - "Aeoloptian": 1121232, - "Panian": 1212321, - "Lodian": 2123211, - "Solian": 1232112, - "Ionolian": 2321121, - "Laptian": 3211131, - "Lygian": 2111313, - "Logian": 1113132, - "Lalian": 1131321, - "Sothian": 1313211, - "Phrocrian": 3132111, - "Thogian": 1321113, - "Katathian": 3131211, - "Modian": 1312113, - "Barian": 3121131, - "Mixolocrian": 1211313, - "Sagian": 2113131, - "Aeolothian": 1131312, - "Socrian": 1313121, - "Tholian": 3131121, - "Ralian": 1311213, - "Syrian": 3112131, - "Stodian": 1121313, - "Ionocrian": 1213131, - "Zycrian": 2131311, - "Ionygian": 1313112, - "Zarian": 3131112, - "Phrythian": 1311123, - "Rorian": 3111231, - "Bolian": 1112313, - "Bothian": 1123131, - "Katadian": 1231311, - "Kodian": 2313111, - "Ranian": 3123111, - "Ladian": 1231113, - "Podian": 2311131, - "Ionothian": 3111312, - "Kanian": 1113123, - "Zylian": 1131231, - "Zodian": 1312311, - "Golian": 3122211, - "Dyptian": 1222113, - "Ryphian": 2221131, - "Gylian": 2211312, - "Aeolycrian": 2113122, - "Pynian": 1131222, - "Zanian": 1312221, - "Palian": 3122121, - "Stothian": 1221213, - "Aerorian": 2212131, - "Katagian": 2121312, - "Phronian": 1213122, - "Banian": 2131221, - "Aeronian": 1312212, - "Loptian": 3121311, - "Ionodian": 1213113, - "Bogian": 2131131, - "Mogian": 1311312, - "Docrian": 3113121, - "Epadian": 1131213, - "Aerynian": 1312131, - "Bycrian": 3121221, - "Pathian": 1212213, - "Mydian": 2122131, - "Thyptian": 1221312, - "Phrothian": 2213121, - "Katycrian": 2131212, - "Ionalian": 1312122, - "Dolian": 3112221, - "Porian": 1122213, - "Aerylian": 1222131, - "Zagian": 2221311, - "Lagian": 2213112, - "Tyrian": 2131122, - "Mixonorian": 1311222, - "Pagian": 3111222, - "Aeolythian": 1112223, - "Molian": 1122231, - "Staptian": 1222311, - "Mothian": 2223111, - "Aeranian": 2231112, - "Ragian": 2311122, - "Larian": 2222121, - "Lythian": 2221212, - "Stydian": 2212122, - "Lorian": 2121222, - "Ionadian": 1212222, - "Bocrian": 2122221, - "Mixolythian": 1222212, - "Thadian": 4311111, - "Sanian": 3111114, - "Ionydian": 1111143, - "Epydian": 1111431, - "Katydian": 1114311, - "Mathian": 1143111, - "Aeryptian": 1431111, - "Pythian": 4221111, - "Katylian": 2211114, - "Bydian": 2111142, - "Bynian": 1111422, - "Galian": 1114221, - "Zonian": 1142211, - "Myrian": 1422111, - "Katogian": 4211211, - "Stacrian": 2112114, - "Styrian": 1121142, - "Ionyrian": 1211421, - "Phrodian": 2114211, - "Pycrian": 1142112, - "Gyptian": 1421121, - "Katacrian": 4112112, - "Sodian": 1121124, - "Bathian": 1211241, - "Mylian": 2112411, - "Godian": 1124112, - "Thorian": 1241121, - "Zocrian": 2411211, - "Stanian": 4111122, - "Epanian": 1111224, - "Konian": 1112241, - "Stocrian": 1122411, - "Kalian": 1224111, - "Phroptian": 2241111, - "Dydian": 2411112, - "Katyptian": 4111113, - "Epodian": 1111134, - "Mygian": 1111341, - "Pacrian": 1113411, - "Aerocrian": 1134111, - "Aeolarian": 1341111, - "Kythian": 3411111, - "Bonian": 3321111, - "Badian": 3211113, - "Katodian": 2111133, - "Sadian": 1111332, - "Dothian": 1113321, - "Moptian": 1133211, - "Aeryrian": 1332111, - "Epagian": 3312111, - "Raptian": 3121113, - "Epolian": 1211133, - "Sythian": 2111331, - "Sydian": 1113312, - "Epocrian": 1133121, - "Kylian": 1331211, - "Gacrian": 3311121, - "Borian": 3111213, - "Sycrian": 1112133, - "Gadian": 1121331, - "Aeolocrian": 1213311, - "Mixodorian": 2133111, - "Dathian": 1331112, - "Katoptian": 3311112, - "Ponian": 3111123, - "Kadian": 1111233, - "Gynian": 1112331, - "Thyphian": 1123311, - "Polian": 1233111, - "Thanian": 2331111, - "Epacrian": 3221121, - "Sathian": 2211213, - "Lathian": 2112132, - "Aeralian": 1121322, - "Kynian": 1213221, - "Stynian": 2132211, - "Epyphian": 1322112, - "Pogian": 3212121, - "Aeraptian": 2121213, - "Epylian": 1212132, - "Gamian": 2121321, - "Kathian": 1213212, - "Lylian": 2132121, - "Epalian": 1321212, - "Eporian": 3211221, - "Rylian": 2112213, - "Epaptian": 1122132, - "Byrian": 1221321, - "Katanian": 2213211, - "Katyrian": 2132112, - "Rynian": 1321122, - "Korian": 3122112, - "Lynian": 1221123, - "Malian": 2211231, - "Synian": 2112312, - "Phragian": 1123122, - "Manian": 1231221, - "Marian": 2312211, - "Mycrian": 3121212, - "Ionorian": 1212123, - "Phrydian": 2121231, - "Zyptian": 1212312, - "Katothian": 2123121, - "Phrylian": 1231212, - "Kocrian": 2312121, - "Ionanian": 3121122, - "Aerothian": 1211223, - "Stagian": 2112231, - "Lothian": 1122312, - "Phrycrian": 1223121, - "Kyptian": 2231211, - "Ionylian": 2312112, - "Gydian": 4211112, - "Kogian": 2111124, - "Rarian": 1111242, - "Aerolian": 1112421, - "Karian": 1124211, - "Myptian": 1242111, - "Rydian": 2421111, - "Aeolynian": 2222211, - "Aeroptian": 2222112, - "Phryrian": 2221122, - "Gothian": 2211222, - "Storian": 2112222, - "Pyptian": 1122222, - "Thydian": 1222221, - "Aerycryllic": 22122111, - "Gadyllic": 21221112, - "Solyllic": 12211122, - "Zylyllic": 22111221, - "Mixodyllic": 21112212, - "Soryllic": 11122122, - "Godyllic": 11221221, - "Epiphyllic": 12212211, - "Pynyllic": 41112111, - "Bocryllic": 11121114, - "Kogyllic": 11211141, - "Raryllic": 12111411, - "Zycryllic": 21114111, - "Mycryllic": 11141112, - "Laptyllic": 11411121, - "Pylyllic": 14111211, - "Pothyllic": 32111211, - "Phronyllic": 21112113, - "Stynyllic": 11121132, - "Rathyllic": 11211321, - "Aeryptyllic": 12113211, - "Zydyllic": 21132111, - "Katolyllic": 11321112, - "Rythyllic": 13211121, - "Locryllic": 31131111, - "Bylyllic": 11311113, - "Sogyllic": 13111131, - "Ionycryllic": 31111311, - "Koptyllic": 11113113, - "Epyryllic": 11131131, - "Soptyllic": 11311311, - "Aeolylyllic": 13113111, - "Aeracryllic": 31122111, - "Epygyllic": 11221113, - "Thonyllic": 12211131, - "Lanyllic": 22111311, - "Phrynyllic": 21113112, - "Lycryllic": 11131122, - "Ionyptyllic": 11311221, - "Epathyllic": 13112211, - "Dydyllic": 31121211, - "Thogyllic": 11212113, - "Rygyllic": 12121131, - "Bycryllic": 21211311, - "Zacryllic": 12113112, - "Panyllic": 21131121, - "Dyryllic": 11311212, - "Zathyllic": 13112121, - "Dagyllic": 31121112, - "Katalyllic": 11211123, - "Katoryllic": 12111231, - "Dodyllic": 21112311, - "Zogyllic": 11123112, - "Madyllic": 11231121, - "Dycryllic": 12311211, - "Aeologyllic": 23112111, - "Sydyllic": 31113111, - "Katogyllic": 11131113, - "Zygyllic": 11311131, - "Aeralyllic": 13111311, - "Bacryllic": 31112211, - "Aerygyllic": 11122113, - "Dathyllic": 11221131, - "Boptyllic": 12211311, - "Bagyllic": 22113111, - "Mathyllic": 21131112, - "Styptyllic": 11311122, - "Zolyllic": 13111221, - "Rocryllic": 22212111, - "Zyryllic": 22121112, - "Sagyllic": 21211122, - "Epinyllic": 12111222, - "Katagyllic": 21112221, - "Ragyllic": 11122212, - "Gothyllic": 11222121, - "Lythyllic": 12221211, - "Ionocryllic": 22211121, - "Gocryllic": 22111212, - "Epiryllic": 21112122, - "Aeradyllic": 11121222, - "Staptyllic": 11212221, - "Danyllic": 12122211, - "Goptyllic": 21222111, - "Epocryllic": 12221112, - "Ionoptyllic": 22121121, - "Aeoloryllic": 21211212, - "Thydyllic": 12112122, - "Gycryllic": 21121221, - "Lyryllic": 11212212, - "Mogyllic": 12122121, - "Katodyllic": 21221211, - "Moptyllic": 12212112, - "Dolyllic": 41211111, - "Moryllic": 12111114, - "Bydyllic": 21111141, - "Pocryllic": 11111412, - "Phracryllic": 11114121, - "Gyryllic": 11141211, - "Phrygyllic": 11412111, - "Dogyllic": 14121111, - "Thagyllic": 41121111, - "Thoptyllic": 11211114, - "Phraptyllic": 12111141, - "Gylyllic": 21111411, - "Phralyllic": 11114112, - "Dygyllic": 11141121, - "Ronyllic": 11411211, - "Epogyllic": 14112111, - "Aeoladyllic": 41111211, - "Kocryllic": 11112114, - "Lodyllic": 11121141, - "Bynyllic": 11211411, - "Kydyllic": 12114111, - "Bygyllic": 21141111, - "Phryptyllic": 11411112, - "Ionayllic": 14111121, - "Phroryllic": 41111121, - "Thyphyllic": 11111214, - "Poptyllic": 11112141, - "Mixonyllic": 11121411, - "Paptyllic": 11214111, - "Storyllic": 12141111, - "Phrycryllic": 21411111, - "Palyllic": 14111112, - "Phranyllic": 32211111, - "Stydyllic": 22111113, - "Zadyllic": 21111132, - "Zalyllic": 11111322, - "Zocryllic": 11113221, - "Katocryllic": 11132211, - "Aerathyllic": 11322111, - "Stoptyllic": 13221111, - "Lydyllic": 32121111, - "Radyllic": 21211113, - "Stagyllic": 12111132, - "Ionoryllic": 21111321, - "Phrodyllic": 11113212, - "Aeragyllic": 11132121, - "Banyllic": 11321211, - "Epothyllic": 13212111, - "Zoryllic": 32112111, - "Phrolyllic": 21121113, - "Kolyllic": 11211132, - "Thodyllic": 12111321, - "Socryllic": 21113211, - "Aeolyllic": 11132112, - "Zythyllic": 11321121, - "Aeoryllic": 13211211, - "Mixolydyllic": 32111112, - "Mixonyphyllic": 21111123, - "Aeolanyllic": 11111232, - "Thocryllic": 11112321, - "Kygyllic": 11123211, - "Ionagyllic": 11232111, - "Gogyllic": 12321111, - "Phradyllic": 23211111, - "Ioniptyllic": 31311111, - "Kycryllic": 13111113, - "Aeolaptyllic": 31111131, - "Rodyllic": 11111313, - "Ionathyllic": 11113131, - "Pythyllic": 11131311, - "Zonyllic": 11313111, - "Ryryllic": 13131111, - "Aeolothyllic": 31221111, - "Ionyryllic": 12211113, - "Rydyllic": 22111131, - "Gonyllic": 21111312, - "Rolyllic": 11113122, - "Katydyllic": 11131221, - "Zyptyllic": 11312211, - "Modyllic": 13122111, - "Maptyllic": 31212111, - "Aeraptyllic": 12121113, - "Katadyllic": 21211131, - "Magyllic": 12111312, - "Phrylyllic": 21113121, - "Epigyllic": 11131212, - "Molyllic": 11312121, - "Ponyllic": 13121211, - "Thyptyllic": 31211211, - "Ionogyllic": 12112113, - "Aeolaryllic": 21121131, - "Katygyllic": 11211312, - "Ganyllic": 12113121, - "Kyptyllic": 21131211, - "Salyllic": 11312112, - "Sanyllic": 13121121, - "Doptyllic": 31211121, - "Ionilyllic": 12111213, - "Manyllic": 21112131, - "Polyllic": 11121312, - "Stanyllic": 11213121, - "Mixotharyllic": 12131211, - "Eporyllic": 21312111, - "Aerynyllic": 13121112, - "Lonyllic": 31121121, - "Sathyllic": 11211213, - "Layllic": 12112131, - "Saryllic": 21121311, - "Thacryllic": 11213112, - "Aeolynyllic": 12131121, - "Thadyllic": 21311211, - "Lynyllic": 13112112, - "Aeolathyllic": 31112121, - "Aeolocryllic": 11121213, - "Phroptyllic": 11212131, - "Kodyllic": 12121311, - "Epaptyllic": 21213111, - "Ionoyllic": 12131112, - "Gyptyllic": 21311121, - "Aerythyllic": 13111212, - "Zagyllic": 31112112, - "Epacryllic": 11121123, - "Thorcryllic": 11211231, - "Loptyllic": 12112311, - "Katylyllic": 21123111, - "Malyllic": 11231112, - "Mydyllic": 12311121, - "Thycryllic": 23111211, - "Gythyllic": 31111221, - "Pyryllic": 11112213, - "Rycryllic": 11122131, - "Phrathyllic": 11221311, - "Badyllic": 12213111, - "Phrocryllic": 22131111, - "Staryllic": 21311112, - "Zothyllic": 13111122, - "Tharyllic": 31111212, - "Sylyllic": 11112123, - "Lothyllic": 11121231, - "Daryllic": 11212311, - "Monyllic": 12123111, - "Styryllic": 21231111, - "Aeolacryllic": 12311112, - "Raptyllic": 23111121, - "Kataryllic": 31111122, - "Aerocryllic": 11111223, - "Zanyllic": 11112231, - "Aeolonyllic": 11122311, - "Aeonyllic": 11223111, - "Kyryllic": 12231111, - "Sythyllic": 22311111, - "Katycryllic": 23111112, - "Stogyllic": 22121211, - "Ionidyllic": 21212112, - "Stonyllic": 12121122, - "Stalyllic": 21211221, - "Poryllic": 12112212, - "Mocryllic": 21122121, - "Aeolyryllic": 11221212, - "Baryllic": 12212121, - "Dalyllic": 22112121, - "Ionyphyllic": 21121212, - "Zaptyllic": 11212122, - "Garyllic": 12121221, - "Gathyllic": 21212211, - "Mixopyryllic": 12122112, - "Ionacryllic": 21221121, - "Stylyllic": 12211212, - "Stycryllic": 42111111, - "Ionothyllic": 21111114, - "Mythyllic": 11111142, - "Aerylyllic": 11111421, - "Bonyllic": 11114211, - "Tholyllic": 11142111, - "Katyryllic": 11421111, - "Sadyllic": 14211111, - "Stolyllic": 41111112, - "Logyllic": 11111124, - "Dacryllic": 11111241, - "Thynyllic": 11112411, - "Gydyllic": 11124111, - "Eparyllic": 11241111, - "Dynyllic": 12411111, - "Ionyllic": 24111111, - "Zaryllic": 33111111, - "Dythyllic": 31111113, - "Ionaryllic": 11111133, - "Laryllic": 11111331, - "Kataptyllic": 11113311, - "Sonyllic": 11133111, - "Pathyllic": 11331111, - "Loryllic": 13311111, - "Aeronyllic": 32111121, - "Pycryllic": 21111213, - "Mygyllic": 11112132, - "Lylyllic": 11121321, - "Daptyllic": 11213211, - "Ioninyllic": 12132111, - "Epaphyllic": 21321111, - "Lolyllic": 13211112, - "Stacryllic": 31211112, - "Doryllic": 12111123, - "Kadyllic": 21111231, - "Rynyllic": 11112312, - "Aerogyllic": 11123121, - "Rothyllic": 11231211, - "Kagyllic": 12312111, - "Stathyllic": 23121111, - "Thyryllic": 22221111, - "Gygyllic": 22211112, - "Sodyllic": 22111122, - "Goryllic": 21111222, - "Bothyllic": 11112222, - "Gynyllic": 11122221, - "Ionaptyllic": 11222211, - "Phryryllic": 12222111, - "Racryllic": 22211211, - "Epicryllic": 22112112, - "Stygyllic": 21121122, - "Syryllic": 11211222, - "Stythyllic": 12112221, - "Aerothyllic": 21122211, - "Mixoryllic": 11222112, - "Thanyllic": 12221121, - "Roryllic": 22112211, - "Epotyllic": 21122112, - "Epidyllic": 11221122, - "Kaptyllic": 12211221, - "MajorDimin.": 21212121, - "MinorDimin.": 12121212, - "Aerycrygic": 221112111, - "Gadygic": 211121112, - "Solygic": 111211122, - "Zylygic": 112111221, - "Garygic": 121112211, - "Sorygic": 211122111, - "Godygic": 111221112, - "Epithygic": 112211121, - "Ionoptygic": 122111211, - "Kalygic": 311211111, - "Ionodygic": 112111113, - "Bythygic": 121111131, - "Epygic": 211111311, - "Marygic": 111113112, - "Gaptygic": 111131121, - "Aeroptygic": 111311211, - "Mylygic": 113112111, - "Galygic": 131121111, - "Mixolydygic": 311121111, - "Ionycrygic": 111211113, - "Zoptygic": 112111131, - "Phrygygic": 121111311, - "Locrygic": 211113111, - "Gonygic": 111131112, - "Aeracrygic": 111311121, - "Aerathygic": 113111211, - "Dorygic": 131112111, - "Dycrygic": 311112111, - "Aeolygic": 111121113, - "Dydygic": 111211131, - "Tholygic": 112111311, - "Rynygic": 121113111, - "Bycrygic": 211131111, - "Zacrygic": 111311112, - "Panygic": 113111121, - "Dyrygic": 131111211, - "Loptygic": 311111211, - "Katylygic": 111112113, - "Phradygic": 111121131, - "Mixodygic": 111211311, - "Katalygic": 112113111, - "Katorygic": 121131111, - "Dogygic": 211311111, - "Zodygic": 113111112, - "Madygic": 131111121, - "Bagygic": 221211111, - "Mathygic": 212111112, - "Styptygic": 121111122, - "Zolygic": 211111221, - "Sydygic": 111112212, - "Katygic": 111122121, - "Zyphygic": 111221211, - "Aeralygic": 112212111, - "Ryptygic": 122121111, - "Apinygic": 221111121, - "Katagygic": 211111212, - "Radygic": 111112122, - "Gothygic": 111121221, - "Lythygic": 111212211, - "Bacrygic": 112122111, - "Aerygic": 121221111, - "Dathygic": 212211111, - "Boptygic": 122111112, - "Epyrygic": 212112111, - "Aeradygic": 121121112, - "Staptygic": 211211121, - "Danygic": 112111212, - "Goptygic": 121112121, - "Epocrygic": 211121211, - "Rocrygic": 111212112, - "Zyrygic": 112121121, - "Sadygic": 121211211, - "Aeolorygic": 212111211, - "Thydygic": 121112112, - "Gycrygic": 211121121, - "Lyrygic": 111211212, - "Modygic": 112112121, - "Katodygic": 121121211, - "Moptygic": 211212111, - "Ionocrygic": 112121112, - "Gocrygic": 121211121, - "Manygic": 411111111, - "Polygic": 111111114, - "Stanygic": 111111141, - "Thaptygic": 111111411, - "Eporygic": 111114111, - "Aerynygic": 111141111, - "Thyptygic": 111411111, - "Ionogygic": 114111111, - "Aeolarygic": 141111111, - "Sathygic": 321111111, - "Ladygic": 211111113, - "Sarygic": 111111132, - "Thacrygic": 111111321, - "Aeolynygic": 111113211, - "Thadygic": 111132111, - "Lynygic": 111321111, - "Doptygic": 113211111, - "Ionilygic": 132111111, - "Phrygic": 312111111, - "Aeranygic": 121111113, - "Dothygic": 211111131, - "Lydygic": 111111312, - "Stadygic": 111113121, - "Byptygic": 111131211, - "Stodygic": 111312111, - "Zynygic": 113121111, - "Lonygic": 131211111, - "Zothygic": 311111121, - "Aeolathygic": 111111213, - "Aeolocrygic": 111112131, - "Phroptygic": 111121311, - "Kodygic": 111213111, - "Eparygic": 112131111, - "Ionygic": 121311111, - "Gyptygic": 213111111, - "Aerythygic": 131111112, - "Aeolacrygic": 311111112, - "Raptygic": 111111123, - "Gythygic": 111111231, - "Pyrygic": 111112311, - "Rycrygic": 111123111, - "Phrathygic": 111231111, - "Badygic": 112311111, - "Phrocrygic": 123111111, - "Starygic": 231111111, - "Kyrygic": 222111111, - "Sythygic": 221111112, - "Katycrygic": 211111122, - "Tharygic": 111111222, - "Sylygic": 111112221, - "Lothygic": 111122211, - "Darygic": 111222111, - "Monygic": 112221111, - "Styrygic": 122211111, - "Porygic": 221121111, - "Mocrygic": 211211112, - "Aeolyrygic": 112111122, - "Barygic": 121111221, - "Katarygic": 211112211, - "Aerocrygic": 111122112, - "Zanygic": 111221121, - "Aeolonygic": 112211211, - "Aeolanygic": 122112111, - "Kaptygic": 221111211, - "Sacrygic": 211112112, - "Padygic": 111121122, - "Epilygic": 111211221, - "Kynygic": 112112211, - "Stophygic": 121122111, - "Ionidygic": 211221111, - "Stonygic": 112211112, - "Stalygic": 122111121, - "Koptygic": 212121111, - "Raphygic": 121211112, - "Zycrygic": 212111121, - "Mycrygic": 121111212, - "Laptygic": 211112121, - "Pylygic": 111121212, - "Rodygic": 111212121, - "Epolygic": 112121211, - "Epidygic": 121212111, - "Phronygic": 211211211, - "Stynygic": 112112112, - "Zydygic": 121121121, - "Aerycryllian": 2111211111, - "Gadyllian": 1112111112, - "Solyllian": 1121111121, - "Zyphyllian": 1211111211, - "Garyllian": 2111112111, - "Soryllian": 1111121112, - "Godyllian": 1111211121, - "Epityllian": 1112111211, - "Ionyllian": 1121112111, - "Aeoryllian": 1211121111, - "Katoryllian": 3111111111, - "Dodyllian": 1111111113, - "Zogyllian": 1111111131, - "Madyllian": 1111111311, - "Dycryllian": 1111113111, - "Aeogyllian": 1111131111, - "Dydyllian": 1111311111, - "Thogyllian": 1113111111, - "Rygyllian": 1131111111, - "Bathyllian": 1311111111, - "Sydyllian": 2211111111, - "Katogyllian": 2111111112, - "Mixodyllian": 1111111122, - "Aeradyllian": 1111111221, - "Ryptyllian": 1111112211, - "Loptyllian": 1111122111, - "Kataphyllian": 1111221111, - "Phradyllian": 1112211111, - "Dagyllian": 1122111111, - "Katyllian": 1221111111, - "Gothyllian": 2121111111, - "Lythyllian": 1211111112, - "Bacryllian": 2111111121, - "Aerygyllian": 1111111212, - "Dathyllian": 1111112121, - "Boptyllian": 1111121211, - "Bagyllian": 1111212111, - "Mathyllian": 1112121111, - "Styptyllian": 1121211111, - "Zolyllian": 1212111111, - "Staptyllian": 2112111111, - "Danyllian": 1121111112, - "Goptyllian": 1211111121, - "Epocryllian": 2111111211, - "Rocryllian": 1111112112, - "Zyryllian": 1111121121, - "Sagyllian": 1111211211, - "Epinyllian": 1112112111, - "Katagyllian": 1121121111, - "Ragyllian": 1211211111, - "Thydyllian": 2111121111, - "Epiryllian": 1111211112, - "Lyryllian": 1112111121, - "Mogyllian": 1121111211, - "Katodyllian": 1211112111, - "Aerycratic": 21111111111, - "Monatic": 11111111112, - "Solatic": 11111111121, - "Zylatic": 11111111211, - "Mixolatic": 11111112111, - "Soratic": 11111121111, - "Godatic": 11111211111, - "Eptatic": 11112111111, - "Ionatic": 11121111111, - "Aeolatic": 11211111111, - "Thydatic": 12111111111, - "Chromatic": 111111111111, -} +def __build_scales(): + + aeolian = [2, 1, 2, 2, 1, 2, 2] + ionian = [2, 2, 1, 2, 2, 2, 1] + mydian = [2, 1, 2, 2, 1, 3, 1] + aerorian = [2, 2, 1, 2, 1, 3, 1] + rocritonic = [3, 2, 2, 3, 2] + thaptitonic = [2, 3, 2, 3, 2] + whole = [2, 2, 2, 2, 2, 2] + gycrimic = [2, 1, 1, 3, 2, 3] + aeolyphimic = [3, 2, 1, 1, 3, 2] + bocrian = [2, 1, 2, 2, 2, 2, 1] + stydian = [2, 2, 1, 2, 1, 2, 2] + all_scales = { + "Major": ionian, + "Minor": aeolian, + "Harmonic minor": mydian, + "Harmonic major": aerorian, + "Minor pentatonic": rocritonic, + "Suspended pentatonic": thaptitonic, + "Blues major": gycrimic, + "Blues minor": aeolyphimic, + "Whole": whole, + "Melodic minor": bocrian, + "Melodic major": stydian, + "Minoric": [4, 4, 4], + "Thaptic": [4, 3, 4, 1], + "Lothic": [3, 4, 1, 4], + "Phratic": [4, 1, 4, 3], + "Aerathic": [1, 4, 3, 4], + "Epathic": [4, 3, 2, 3], + "Mynic": [3, 2, 3, 4], + "Rothic": [2, 3, 4, 3], + "Eporic": [3, 4, 3, 2], + "Zyphic": [4, 4, 3, 1], + "Epogic": [4, 3, 1, 4], + "Lanic": [3, 1, 4, 4], + "Pyrric": [1, 4, 4, 3], + "Aeoloric": [4, 4, 1, 3], + "Gonic": [4, 1, 3, 4], + "Dalic": [1, 3, 4, 4], + "Dygic": [3, 4, 4, 1], + "Daric": [4, 3, 3, 2], + "Lonic": [3, 3, 2, 4], + "Phradic": [3, 2, 4, 3], + "Bolic": [2, 4, 3, 3], + "Saric": [4, 2, 3, 3], + "Zoptic": [2, 3, 3, 4], + "Aeraphic": [3, 3, 4, 2], + "Byptic": [3, 4, 2, 3], + "Aeolic": [4, 4, 2, 2], + "Koptic": [4, 2, 2, 4], + "Mixolyric": [2, 2, 4, 4], + "Lydic": [2, 4, 4, 2], + "Stathic": [4, 2, 4, 2], + "Dadic": [2, 4, 2, 4], + "Phrynic": [3, 3, 3, 3], + "Epathitonic": [3, 2, 3, 2, 2], + "Mynitonic": [2, 3, 2, 2, 3], + "Rocritonic": rocritonic, + "Pentatonic": [2, 2, 3, 2, 3], + "Thaptitonic": thaptitonic, + "Magitonic": [4, 3, 2, 2, 1], + "Daditonic": [3, 2, 2, 1, 4], + "Aeolyphritonic": [2, 2, 1, 4, 3], + "Gycritonic": [2, 1, 4, 3, 2], + "Pyritonic": [1, 4, 3, 2, 2], + "Gathitonic": [4, 2, 3, 2, 1], + "Ionitonic": [2, 3, 2, 1, 4], + "Phrynitonic": [3, 2, 1, 4, 2], + "Stathitonic": [2, 1, 4, 2, 3], + "Thalitonic": [1, 4, 2, 3, 2], + "Zolitonic": [4, 2, 1, 4, 1], + "Epogitonic": [2, 1, 4, 1, 4], + "Lanitonic": [1, 4, 1, 4, 2], + "Paptitonic": [4, 1, 4, 2, 1], + "Ionacritonic": [1, 4, 2, 1, 4], + "Phraditonic": [4, 1, 4, 1, 2], + "Aeoloritonic": [1, 4, 1, 2, 4], + "Gonitonic": [4, 1, 2, 4, 1], + "Dalitonic": [1, 2, 4, 1, 4], + "Dygitonic": [2, 4, 1, 4, 1], + "Aeracritonic": [4, 1, 2, 3, 2], + "Byptitonic": [1, 2, 3, 2, 4], + "Daritonic": [2, 3, 2, 4, 1], + "Lonitonic": [3, 2, 4, 1, 2], + "Ionycritonic": [2, 4, 1, 2, 3], + "Lothitonic": [4, 1, 2, 2, 3], + "Phratonic": [1, 2, 2, 3, 4], + "Aerathitonic": [2, 2, 3, 4, 1], + "Saritonic": [2, 3, 4, 1, 2], + "Zoptitonic": [3, 4, 1, 2, 2], + "Dolitonic": [4, 4, 1, 2, 1], + "Poritonic": [4, 1, 2, 1, 4], + "Aerylitonic": [1, 2, 1, 4, 4], + "Zagitonic": [2, 1, 4, 4, 1], + "Lagitonic": [1, 4, 4, 1, 2], + "Molitonic": [4, 3, 3, 1, 1], + "Staptitonic": [3, 3, 1, 1, 4], + "Mothitonic": [3, 1, 1, 4, 3], + "Aeritonic": [1, 1, 4, 3, 3], + "Ragitonic": [1, 4, 3, 3, 1], + "Ionaditonic": [4, 3, 2, 1, 2], + "Bocritonic": [3, 2, 1, 2, 4], + "Gythitonic": [2, 1, 2, 4, 3], + "Pagitonic": [1, 2, 4, 3, 2], + "Aeolythitonic": [2, 4, 3, 2, 1], + "Zacritonic": [4, 3, 1, 3, 1], + "Laritonic": [3, 1, 3, 1, 4], + "Thacritonic": [1, 3, 1, 4, 3], + "Styditonic": [3, 1, 4, 3, 1], + "Loritonic": [1, 4, 3, 1, 3], + "Aeolyritonic": [4, 3, 1, 1, 3], + "Goritonic": [3, 1, 1, 3, 4], + "Aeoloditonic": [1, 1, 3, 4, 3], + "Doptitonic": [1, 3, 4, 3, 1], + "Aeraphitonic": [3, 4, 3, 1, 1], + "Zathitonic": [4, 2, 4, 1, 1], + "Raditonic": [2, 4, 1, 1, 4], + "Stonitonic": [4, 1, 1, 4, 2], + "Syptitonic": [1, 1, 4, 2, 4], + "Ionythitonic": [1, 4, 2, 4, 1], + "Aeolanitonic": [4, 2, 2, 3, 1], + "Danitonic": [2, 2, 3, 1, 4], + "Ionaritonic": [2, 3, 1, 4, 2], + "Dynitonic": [3, 1, 4, 2, 2], + "Zyditonic": [1, 4, 2, 2, 3], + "Aeolacritonic": [4, 2, 1, 2, 3], + "Zythitonic": [2, 1, 2, 3, 4], + "Dyritonic": [1, 2, 3, 4, 2], + "Koptitonic": [2, 3, 4, 2, 1], + "Thocritonic": [3, 4, 2, 1, 2], + "Lycritonic": [4, 1, 3, 3, 1], + "Daptitonic": [1, 3, 3, 1, 4], + "Kygitonic": [3, 3, 1, 4, 1], + "Mocritonic": [3, 1, 4, 1, 3], + "Zynitonic": [1, 4, 1, 3, 3], + "Epygitonic": [4, 1, 3, 2, 2], + "Zaptitonic": [1, 3, 2, 2, 4], + "Kagitonic": [3, 2, 2, 4, 1], + "Zogitonic": [2, 2, 4, 1, 3], + "Epyritonic": [2, 4, 1, 3, 2], + "Zothitonic": [4, 1, 3, 1, 3], + "Phrolitonic": [1, 3, 1, 3, 4], + "Ionagitonic": [3, 1, 3, 4, 1], + "Aeolapritonic": [1, 3, 4, 1, 3], + "Kyritonic": [3, 4, 1, 3, 1], + "Ionyptitonic": [4, 1, 1, 3, 3], + "Gyritonic": [1, 1, 3, 3, 4], + "Zalitonic": [1, 3, 3, 4, 1], + "Stolitonic": [3, 3, 4, 1, 1], + "Bylitonic": [3, 4, 1, 1, 3], + "Thoditonic": [3, 3, 2, 3, 1], + "Dogitonic": [3, 2, 3, 1, 3], + "Phralitonic": [2, 3, 1, 3, 3], + "Garitonic": [3, 1, 3, 3, 2], + "Soptitonic": [1, 3, 3, 2, 3], + "Kataritonic": [3, 3, 2, 2, 2], + "Sylitonic": [3, 2, 2, 2, 3], + "Thonitonic": [2, 2, 2, 3, 3], + "Phropitonic": [2, 2, 3, 3, 2], + "Staditonic": [2, 3, 3, 2, 2], + "Lyditonic": [3, 3, 1, 3, 2], + "Mythitonic": [3, 1, 3, 2, 3], + "Sogitonic": [1, 3, 2, 3, 3], + "Gothitonic": [3, 2, 3, 3, 1], + "Rothitonic": [2, 3, 3, 1, 3], + "Zylitonic": [4, 4, 2, 1, 1], + "Zoditonic": [4, 2, 1, 1, 4], + "Zaritonic": [2, 1, 1, 4, 4], + "Phrythitonic": [1, 1, 4, 4, 2], + "Rolitonic": [1, 4, 4, 2, 1], + "Ranitonic": [4, 4, 1, 1, 2], + "Laditonic": [4, 1, 1, 2, 4], + "Poditonic": [1, 1, 2, 4, 4], + "Ionothitonic": [1, 2, 4, 4, 1], + "Kanitonic": [2, 4, 4, 1, 1], + "Ryphitonic": [4, 3, 1, 2, 2], + "Gylitonic": [3, 1, 2, 2, 4], + "Aeolycritonic": [1, 2, 2, 4, 3], + "Pynitonic": [2, 2, 4, 3, 1], + "Zanitonic": [2, 4, 3, 1, 2], + "Phronitonic": [4, 2, 3, 1, 2], + "Banitonic": [2, 3, 1, 2, 4], + "Aeronitonic": [3, 1, 2, 4, 2], + "Golitonic": [1, 2, 4, 2, 3], + "Dyptitonic": [2, 4, 2, 3, 1], + "Aerynitonic": [4, 2, 2, 1, 3], + "Palitonic": [2, 2, 1, 3, 4], + "Stothitonic": [2, 1, 3, 4, 2], + "Aerophitonic": [1, 3, 4, 2, 2], + "Katagitonic": [3, 4, 2, 2, 1], + "Ionoditonic": [4, 2, 1, 3, 2], + "Bogitonic": [2, 1, 3, 2, 4], + "Mogitonic": [1, 3, 2, 4, 2], + "Docritonic": [3, 2, 4, 2, 1], + "Epaditonic": [2, 4, 2, 1, 3], + "Mixitonic": [3, 3, 3, 2, 1], + "Phrothitonic": [3, 3, 2, 1, 3], + "Katycritonic": [3, 2, 1, 3, 3], + "Ionalitonic": [2, 1, 3, 3, 3], + "Loptitonic": [1, 3, 3, 3, 2], + "Thyritonic": [3, 3, 3, 1, 2], + "Thoptitonic": [3, 3, 1, 2, 3], + "Bycritonic": [3, 1, 2, 3, 3], + "Pathitonic": [1, 2, 3, 3, 3], + "Myditonic": [2, 3, 3, 3, 1], + "Bolitonic": [4, 2, 2, 2, 2], + "Bothitonic": [2, 2, 2, 2, 4], + "Kataditonic": [2, 2, 2, 4, 2], + "Koditonic": [2, 2, 4, 2, 2], + "Tholitonic": [2, 4, 2, 2, 2], + "Epathimic": [3, 2, 2, 1, 2, 2], + "Mynimic": [2, 2, 1, 2, 2, 3], + "Rocrimic": [2, 1, 2, 2, 3, 2], + "Eporimic": [1, 2, 2, 3, 2, 2], + "Thaptimic": [2, 2, 3, 2, 2, 1], + "Lothimic": [2, 3, 2, 2, 1, 2], + "Dyrimic": [4, 2, 1, 2, 2, 1], + "Koptimic": [2, 1, 2, 2, 1, 4], + "Thocrimic": [1, 2, 2, 1, 4, 2], + "Aeolanimic": [2, 2, 1, 4, 2, 1], + "Danimic": [2, 1, 4, 2, 1, 2], + "Ionarimic": [1, 4, 2, 1, 2, 2], + "Daptimic": [4, 1, 4, 1, 1, 1], + "Kygimic": [1, 4, 1, 1, 1, 4], + "Mocrimic": [4, 1, 1, 1, 4, 1], + "Zynimic": [1, 1, 1, 4, 1, 4], + "Aeolimic": [1, 1, 4, 1, 4, 1], + "Zythimic": [1, 4, 1, 4, 1, 1], + "Epygimic": [4, 1, 2, 3, 1, 1], + "Zaptimic": [1, 2, 3, 1, 1, 4], + "Kagimic": [2, 3, 1, 1, 4, 1], + "Zogimic": [3, 1, 1, 4, 1, 2], + "Epyrimic": [1, 1, 4, 1, 2, 3], + "Lycrimic": [1, 4, 1, 2, 3, 1], + "Bylimic": [4, 1, 2, 2, 2, 1], + "Zothimic": [1, 2, 2, 2, 1, 4], + "Phrolimic": [2, 2, 2, 1, 4, 1], + "Ionagimic": [2, 2, 1, 4, 1, 2], + "Aeolaphimic": [2, 1, 4, 1, 2, 2], + "Kycrimic": [1, 4, 1, 2, 2, 2], + "Garimic": [4, 1, 2, 2, 1, 2], + "Soptimic": [1, 2, 2, 1, 2, 4], + "Ionyptimic": [2, 2, 1, 2, 4, 1], + "Gyrimic": [2, 1, 2, 4, 1, 2], + "Zalimic": [1, 2, 4, 1, 2, 2], + "Stolimic": [2, 4, 1, 2, 2, 1], + "Thonimic": [4, 1, 1, 4, 1, 1], + "Stadimic": [1, 1, 4, 1, 1, 4], + "Thodimic": [1, 4, 1, 1, 4, 1], + "Mythimic": [4, 1, 1, 3, 2, 1], + "Sogimic": [1, 1, 3, 2, 1, 4], + "Gogimic": [1, 3, 2, 1, 4, 1], + "Rothimic": [3, 2, 1, 4, 1, 1], + "Katarimic": [2, 1, 4, 1, 1, 3], + "Sylimic": [1, 4, 1, 1, 3, 2], + "Mixolimic": [3, 2, 3, 2, 1, 1], + "Dadimic": [2, 3, 2, 1, 1, 3], + "Aeolyphimic": aeolyphimic, + "Gycrimic": gycrimic, + "Pyrimic": [1, 1, 3, 2, 3, 2], + "Lydimic": [1, 3, 2, 3, 2, 1], + "Ionacrimic": [3, 2, 3, 1, 1, 2], + "Gathimic": [2, 3, 1, 1, 2, 3], + "Ionynimic": [3, 1, 1, 2, 3, 2], + "Phrynimic": [1, 1, 2, 3, 2, 3], + "Stathimic": [1, 2, 3, 2, 3, 1], + "Thatimic": [2, 3, 2, 3, 1, 1], + "Dalimic": [3, 2, 2, 3, 1, 1], + "Dygimic": [2, 2, 3, 1, 1, 3], + "Zolimic": [2, 3, 1, 1, 3, 2], + "Epogimic": [3, 1, 1, 3, 2, 2], + "Lanimic": [1, 1, 3, 2, 2, 3], + "Paptimic": [1, 3, 2, 2, 3, 1], + "Darmic": [3, 2, 2, 2, 1, 2], + "Lonimic": [2, 2, 2, 1, 2, 3], + "Ionycrimic": [2, 2, 1, 2, 3, 2], + "Phradimic": [2, 1, 2, 3, 2, 2], + "Aeolorimic": [1, 2, 3, 2, 2, 2], + "Gonimic": [2, 3, 2, 2, 2, 1], + "Phracrimic": [3, 2, 1, 2, 2, 2], + "Aerathimic": [2, 1, 2, 2, 2, 3], + "Sarimic": [1, 2, 2, 2, 3, 2], + "Zoptimic": [2, 2, 2, 3, 2, 1], + "Zeracrimic": [2, 2, 3, 2, 1, 2], + "Byptimic": [2, 3, 2, 1, 2, 2], + "Starimic": [4, 3, 2, 1, 1, 1], + "Phrathimic": [3, 2, 1, 1, 1, 4], + "Saptimic": [2, 1, 1, 1, 4, 3], + "Aerodimic": [1, 1, 1, 4, 3, 2], + "Macrimic": [1, 1, 4, 3, 2, 1], + "Rogimic": [1, 4, 3, 2, 1, 1], + "Bygimic": [4, 3, 1, 1, 2, 1], + "Thycrimic": [3, 1, 1, 2, 1, 4], + "Aeoladimic": [1, 1, 2, 1, 4, 3], + "Dylimic": [1, 2, 1, 4, 3, 1], + "Eponimic": [2, 1, 4, 3, 1, 1], + "Katygimic": [1, 4, 3, 1, 1, 2], + "Stalimic": [4, 2, 3, 1, 1, 1], + "Stoptimic": [2, 3, 1, 1, 1, 4], + "Zygimic": [3, 1, 1, 1, 4, 2], + "Kataptimic": [1, 1, 1, 4, 2, 3], + "Aeolaptimic": [1, 1, 4, 2, 3, 1], + "Pothimic": [1, 4, 2, 3, 1, 1], + "Rycrimic": [4, 2, 2, 1, 2, 1], + "Ronimic": [2, 2, 1, 2, 1, 4], + "Stycrimic": [2, 1, 2, 1, 4, 2], + "Katorimic": [1, 2, 1, 4, 2, 2], + "Epythimic": [2, 1, 4, 2, 2, 1], + "Kaptimic": [1, 4, 2, 2, 1, 2], + "Katythimic": [4, 2, 1, 3, 1, 1], + "Madimic": [2, 1, 3, 1, 1, 4], + "Aerygimic": [1, 3, 1, 1, 4, 2], + "Pylimic": [3, 1, 1, 4, 2, 1], + "Ionathimic": [1, 1, 4, 2, 1, 3], + "Morimic": [1, 4, 2, 1, 3, 1], + "Aerycrimic": [4, 2, 1, 1, 3, 1], + "Ganimic": [2, 1, 1, 3, 1, 4], + "Eparimic": [1, 1, 3, 1, 4, 2], + "Lyrimic": [1, 3, 1, 4, 2, 1], + "Phraptimic": [3, 1, 4, 2, 1, 1], + "Bacrimic": [1, 4, 2, 1, 1, 3], + "Phralimic": [4, 1, 3, 2, 1, 1], + "Phrogimic": [1, 3, 2, 1, 1, 4], + "Rathimic": [3, 2, 1, 1, 4, 1], + "Katocrimic": [2, 1, 1, 4, 1, 3], + "Phryptimic": [1, 1, 4, 1, 3, 2], + "Katynimic": [1, 4, 1, 3, 2, 1], + "Solimic": [4, 1, 3, 1, 2, 1], + "Ionolimic": [1, 3, 1, 2, 1, 4], + "Ionophimic": [3, 1, 2, 1, 4, 1], + "Aeologimic": [1, 2, 1, 4, 1, 3], + "Zadimic": [2, 1, 4, 1, 3, 1], + "Sygimic": [1, 4, 1, 3, 1, 2], + "Thogimic": [4, 1, 3, 1, 1, 2], + "Rythimic": [1, 3, 1, 1, 2, 4], + "Donimic": [3, 1, 1, 2, 4, 1], + "Aeoloptimic": [1, 1, 2, 4, 1, 3], + "Panimic": [1, 2, 4, 1, 3, 1], + "Lodimic": [2, 4, 1, 3, 1, 1], + "Laptimic": [4, 1, 2, 1, 3, 1], + "Lygimic": [1, 2, 1, 3, 1, 4], + "Logimic": [2, 1, 3, 1, 4, 1], + "Lalimic": [1, 3, 1, 4, 1, 2], + "Sothimic": [3, 1, 4, 1, 2, 1], + "Phrocrimic": [1, 4, 1, 2, 1, 3], + "Modimic": [4, 1, 2, 1, 2, 2], + "Barimic": [1, 2, 1, 2, 2, 4], + "Poptimic": [2, 1, 2, 2, 4, 1], + "Sagimic": [1, 2, 2, 4, 1, 2], + "Aelothimic": [2, 2, 4, 1, 2, 1], + "Socrimic": [2, 4, 1, 2, 1, 2], + "Syrimic": [4, 1, 2, 1, 1, 3], + "Stodimic": [1, 2, 1, 1, 3, 4], + "Ionocrimic": [2, 1, 1, 3, 4, 1], + "Zycrimic": [1, 1, 3, 4, 1, 2], + "Ionygimic": [1, 3, 4, 1, 2, 1], + "Katathimic": [3, 4, 1, 2, 1, 1], + "Bolimic": [4, 1, 1, 3, 1, 2], + "Bothimic": [1, 1, 3, 1, 2, 4], + "Katadimic": [1, 3, 1, 2, 4, 1], + "Kodimic": [3, 1, 2, 4, 1, 1], + "Tholimic": [1, 2, 4, 1, 1, 3], + "Ralimic": [2, 4, 1, 1, 3, 1], + "Kanimic": [4, 1, 1, 2, 3, 1], + "Zylimic": [1, 1, 2, 3, 1, 4], + "Zodimic": [1, 2, 3, 1, 4, 1], + "Zarimic": [2, 3, 1, 4, 1, 1], + "Phrythimic": [3, 1, 4, 1, 1, 2], + "Rorimic": [1, 4, 1, 1, 2, 3], + "Pynimic": [4, 1, 1, 1, 3, 2], + "Zanimic": [1, 1, 1, 3, 2, 4], + "Ranimic": [1, 1, 3, 2, 4, 1], + "Ladimic": [1, 3, 2, 4, 1, 1], + "Podimic": [3, 2, 4, 1, 1, 1], + "Ionothimic": [2, 4, 1, 1, 1, 3], + "Kytrimic": [4, 1, 1, 1, 2, 3], + "Golimic": [1, 1, 1, 2, 3, 4], + "Dyptimic": [1, 1, 2, 3, 4, 1], + "Ryrimic": [1, 2, 3, 4, 1, 1], + "Gylimic": [2, 3, 4, 1, 1, 1], + "Aeolycrimic": [3, 4, 1, 1, 1, 2], + "Palimic": [3, 3, 2, 2, 1, 1], + "Stothimic": [3, 2, 2, 1, 1, 3], + "Aeronimic": [2, 2, 1, 1, 3, 3], + "Katagimic": [2, 1, 1, 3, 3, 2], + "Phronimic": [1, 1, 3, 3, 2, 2], + "Banimic": [1, 3, 3, 2, 2, 1], + "Ionodimic": [3, 3, 1, 3, 1, 1], + "Bogimic": [3, 1, 3, 1, 1, 3], + "Mogimic": [1, 3, 1, 1, 3, 3], + "Docrimic": [3, 1, 1, 3, 3, 1], + "Epadimic": [1, 1, 3, 3, 1, 3], + "Aerynimic": [1, 3, 3, 1, 3, 1], + "Mydimic": [3, 3, 1, 1, 3, 1], + "Thyptimic": [3, 1, 1, 3, 1, 3], + "Phrothimic": [1, 1, 3, 1, 3, 3], + "Katycrimic": [1, 3, 1, 3, 3, 1], + "Ionalimic": [3, 1, 3, 3, 1, 1], + "Loptimic": [1, 3, 3, 1, 1, 3], + "Zagimic": [3, 3, 1, 1, 2, 2], + "Lagimic": [3, 1, 1, 2, 2, 3], + "Thyrimic": [1, 1, 2, 2, 3, 3], + "Thothimic": [1, 2, 2, 3, 3, 1], + "Bycrimic": [2, 2, 3, 3, 1, 1], + "Pathimic": [2, 3, 3, 1, 1, 2], + "Mothimic": [3, 2, 2, 1, 3, 1], + "Aeranimic": [2, 2, 1, 3, 1, 3], + "Ragimic": [2, 1, 3, 1, 3, 2], + "Dolimic": [1, 3, 1, 3, 2, 2], + "Porimic": [3, 1, 3, 2, 2, 1], + "Aerylimic": [1, 3, 2, 2, 1, 3], + "Bocrimic": [3, 2, 1, 3, 1, 2], + "Gythimic": [2, 1, 3, 1, 2, 3], + "Pagimic": [1, 3, 1, 2, 3, 2], + "Aeolythimic": [3, 1, 2, 3, 2, 1], + "Molimic": [1, 2, 3, 2, 1, 3], + "Staptimic": [2, 3, 2, 1, 3, 1], + "Zacrimic": [3, 2, 1, 2, 3, 1], + "Larimic": [2, 1, 2, 3, 1, 3], + "Thacrimic": [1, 2, 3, 1, 3, 2], + "Stydimic": [2, 3, 1, 3, 2, 1], + "Lorimic": [3, 1, 3, 2, 1, 2], + "Ionadimic": [1, 3, 2, 1, 2, 3], + "Ionythimic": [3, 1, 3, 1, 3, 1], + "Aerythimic": [1, 3, 1, 3, 1, 3], + "Dynimic": [3, 1, 3, 1, 2, 2], + "Zydimic": [1, 3, 1, 2, 2, 3], + "Zathimic": [3, 1, 2, 2, 3, 1], + "Radimic": [1, 2, 2, 3, 1, 3], + "Stonimic": [2, 2, 3, 1, 3, 1], + "Syptimic": [2, 3, 1, 3, 1, 2], + "Ponimic": [4, 4, 1, 1, 1, 1], + "Kadimic": [4, 1, 1, 1, 1, 4], + "Gynimic": [1, 1, 1, 1, 4, 4], + "Thydimic": [1, 1, 1, 4, 4, 1], + "Polimic": [1, 1, 4, 4, 1, 1], + "Thanimic": [1, 4, 4, 1, 1, 1], + "Lathimic": [4, 3, 1, 2, 1, 1], + "Aeralimic": [3, 1, 2, 1, 1, 4], + "Kynimic": [1, 2, 1, 1, 4, 3], + "Stynimic": [2, 1, 1, 4, 3, 1], + "Epytimic": [1, 1, 4, 3, 1, 2], + "Katoptimic": [1, 4, 3, 1, 2, 1], + "Galimic": [4, 3, 1, 1, 1, 2], + "Kathimic": [3, 1, 1, 1, 2, 4], + "Lylimic": [1, 1, 1, 2, 4, 3], + "Epalimic": [1, 1, 2, 4, 3, 1], + "Epacrimic": [1, 2, 4, 3, 1, 1], + "Sathimic": [2, 4, 3, 1, 1, 1], + "Katanimic": [4, 2, 2, 2, 1, 1], + "Katyrimic": [2, 2, 2, 1, 1, 4], + "Rynimic": [2, 2, 1, 1, 4, 2], + "Pogimic": [2, 1, 1, 4, 2, 2], + "Aeraptimic": [1, 1, 4, 2, 2, 2], + "Epylimic": [1, 4, 2, 2, 2, 1], + "Manimic": [4, 2, 1, 2, 1, 2], + "Marimic": [2, 1, 2, 1, 2, 4], + "Locrimic": [1, 2, 1, 2, 4, 2], + "Rylimic": [2, 1, 2, 4, 2, 1], + "Epatimic": [1, 2, 4, 2, 1, 2], + "Byrimic": [2, 4, 2, 1, 2, 1], + "Kocrimic": [4, 2, 1, 1, 1, 3], + "Korimic": [2, 1, 1, 1, 3, 4], + "Lynimic": [1, 1, 1, 3, 4, 2], + "Malimic": [1, 1, 3, 4, 2, 1], + "Synimic": [1, 3, 4, 2, 1, 1], + "Phragimic": [3, 4, 2, 1, 1, 1], + "Mycrimic": [4, 1, 1, 2, 2, 2], + "Ionorimic": [1, 1, 2, 2, 2, 4], + "Phrydimic": [1, 2, 2, 2, 4, 1], + "Zyptimic": [2, 2, 2, 4, 1, 1], + "Katothimic": [2, 2, 4, 1, 1, 2], + "Phrylimic": [2, 4, 1, 1, 2, 2], + "Aerothimic": [4, 1, 1, 2, 1, 3], + "Stagimic": [1, 1, 2, 1, 3, 4], + "Dorimic": [1, 2, 1, 3, 4, 1], + "Phrycrimic": [2, 1, 3, 4, 1, 1], + "Kyptimic": [1, 3, 4, 1, 1, 2], + "Ionylimic": [3, 4, 1, 1, 2, 1], + "Epynimic": [3, 3, 3, 1, 1, 1], + "Ionogimic": [3, 3, 1, 1, 1, 3], + "Kydimic": [3, 1, 1, 1, 3, 3], + "Gaptimic": [1, 1, 1, 3, 3, 3], + "Tharimic": [1, 1, 3, 3, 3, 1], + "Ionaphimic": [1, 3, 3, 3, 1, 1], + "Thoptimic": [3, 3, 2, 1, 2, 1], + "Bagimic": [3, 2, 1, 2, 1, 3], + "Kyrimic": [2, 1, 2, 1, 3, 3], + "Sonimic": [1, 2, 1, 3, 3, 2], + "Aeolonimic": [2, 1, 3, 3, 2, 1], + "Rygimic": [1, 3, 3, 2, 1, 2], + "Thagimic": [3, 3, 2, 1, 1, 2], + "Kolimic": [3, 2, 1, 1, 2, 3], + "Dycrimic": [2, 1, 1, 2, 3, 3], + "Epycrimic": [1, 1, 2, 3, 3, 2], + "Gocrimic": [1, 2, 3, 3, 2, 1], + "Katolimic": [2, 3, 3, 2, 1, 1], + "Dagimic": [3, 3, 1, 2, 2, 1], + "Aeolydimic": [3, 1, 2, 2, 1, 3], + "Parimic": [1, 2, 2, 1, 3, 3], + "Ionaptimic": [2, 2, 1, 3, 3, 1], + "Thylimic": [2, 1, 3, 3, 1, 2], + "Lolimic": [1, 3, 3, 1, 2, 2], + "Thalimic": [3, 3, 1, 2, 1, 2], + "Stygimic": [3, 1, 2, 1, 2, 3], + "Aeolygimic": [1, 2, 1, 2, 3, 3], + "Aerogimic": [2, 1, 2, 3, 3, 1], + "Dacrimic": [1, 2, 3, 3, 1, 2], + "Baptimic": [2, 3, 3, 1, 2, 1], + "Stythimic": [3, 2, 3, 1, 2, 1], + "Kothimic": [2, 3, 1, 2, 1, 3], + "Pygimic": [3, 1, 2, 1, 3, 2], + "Rodimic": [1, 2, 1, 3, 2, 3], + "Sorimic": [2, 1, 3, 2, 3, 1], + "Monimic": [1, 3, 2, 3, 1, 2], + "Aeragimic": [3, 2, 2, 2, 2, 1], + "Epothimic": [2, 2, 2, 2, 1, 3], + "Salimic": [2, 2, 2, 1, 3, 2], + "Lyptimic": [2, 2, 1, 3, 2, 2], + "Katonimic": [2, 1, 3, 2, 2, 2], + "Gygimic": [1, 3, 2, 2, 2, 2], + "Aeradimic": [3, 2, 1, 3, 2, 1], + "Zyrimic": [2, 1, 3, 2, 1, 3], + "Stylimic": [1, 3, 2, 1, 3, 2], + "Lythimic": [3, 1, 2, 3, 1, 2], + "Dodimic": [1, 2, 3, 1, 2, 3], + "Katalimic": [2, 3, 1, 2, 3, 1], + "Boptimic": [3, 1, 2, 2, 2, 2], + "Stogimic": [1, 2, 2, 2, 2, 3], + "Thynimic": [2, 2, 2, 2, 3, 1], + "Aeolathimic": [2, 2, 2, 3, 1, 2], + "Bythimic": [2, 2, 3, 1, 2, 2], + "Padimic": [2, 3, 1, 2, 2, 2], + "Dathimic": [4, 2, 2, 1, 1, 2], + "Epagimic": [2, 2, 1, 1, 2, 4], + "Raptimic": [2, 1, 1, 2, 4, 2], + "Epolimic": [1, 1, 2, 4, 2, 2], + "Sythimic": [1, 2, 4, 2, 2, 1], + "Sydimic": [2, 4, 2, 2, 1, 1], + "Gacrimic": [4, 2, 1, 1, 2, 2], + "Borimic": [2, 1, 1, 2, 2, 4], + "Sycrimic": [1, 1, 2, 2, 4, 2], + "Gadimic": [1, 2, 2, 4, 2, 1], + "Aeolocrimic": [2, 2, 4, 2, 1, 1], + "Phrygimic": [2, 4, 2, 1, 1, 2], + "WholeTone": whole, + "Lydian": [2, 2, 2, 1, 2, 2, 1], + "Mixolydian": [2, 2, 1, 2, 2, 1, 2], + "Aeolian": aeolian, + "Locrian": [1, 2, 2, 1, 2, 2, 2], + "Ionian": ionian, + "Dorian": [2, 1, 2, 2, 2, 1, 2], + "Phrygian": [1, 2, 2, 2, 1, 2, 2], + "Ionythian": [4, 1, 2, 2, 1, 1, 1], + "Aeolyrian": [1, 2, 2, 1, 1, 1, 4], + "Gorian": [2, 2, 1, 1, 1, 4, 1], + "Aeolodian": [2, 1, 1, 1, 4, 1, 2], + "Doptian": [1, 1, 1, 4, 1, 2, 2], + "Aeraphian": [1, 1, 4, 1, 2, 2, 1], + "Zacrian": [1, 4, 1, 2, 2, 1, 1], + "Ionarian": [4, 1, 1, 3, 1, 1, 1], + "Dynian": [1, 1, 3, 1, 1, 1, 4], + "Zydian": [1, 3, 1, 1, 1, 4, 1], + "Zathian": [3, 1, 1, 1, 4, 1, 1], + "Radian": [1, 1, 1, 4, 1, 1, 3], + "Stonian": [1, 1, 4, 1, 1, 3, 1], + "Syptian": [1, 4, 1, 1, 3, 1, 1], + "Aeolacrian": [4, 1, 1, 1, 3, 1, 1], + "Zythian": [1, 1, 1, 3, 1, 1, 4], + "Dyrian": [1, 1, 3, 1, 1, 4, 1], + "Koptian": [1, 3, 1, 1, 4, 1, 1], + "Thocrian": [3, 1, 1, 4, 1, 1, 1], + "Aeolanian": [1, 1, 4, 1, 1, 1, 3], + "Danian": [1, 4, 1, 1, 1, 3, 1], + "Zogian": [4, 1, 1, 1, 2, 2, 1], + "Epyrian": [1, 1, 1, 2, 2, 1, 4], + "Lycrian": [1, 1, 2, 2, 1, 4, 1], + "Daptian": [1, 2, 2, 1, 4, 1, 1], + "Kygian": [2, 2, 1, 4, 1, 1, 1], + "Mocrian": [2, 1, 4, 1, 1, 1, 2], + "Zynian": [1, 4, 1, 1, 1, 2, 2], + "Phrolian": [3, 2, 2, 1, 2, 1, 1], + "Ionagian": [2, 2, 1, 2, 1, 1, 3], + "Aeodian": [2, 1, 2, 1, 1, 3, 2], + "Kycrian": [1, 2, 1, 1, 3, 2, 2], + "Epygian": [2, 1, 1, 3, 2, 2, 1], + "Zaptian": [1, 1, 3, 2, 2, 1, 2], + "Kagian": [1, 3, 2, 2, 1, 2, 1], + "Soptian": [3, 2, 2, 1, 1, 1, 2], + "Ionyptian": [2, 2, 1, 1, 1, 2, 3], + "Gyrian": [2, 1, 1, 1, 2, 3, 2], + "Zalian": [1, 1, 1, 2, 3, 2, 2], + "Stolian": [1, 1, 2, 3, 2, 2, 1], + "Bylian": [1, 2, 3, 2, 2, 1, 1], + "Zothian": [2, 3, 2, 2, 1, 1, 1], + "Thonian": [3, 2, 1, 2, 2, 1, 1], + "Phrorian": [2, 1, 2, 2, 1, 1, 3], + "Stadian": [1, 2, 2, 1, 1, 3, 2], + "Thodian": [2, 2, 1, 1, 3, 2, 1], + "Dogian": [2, 1, 1, 3, 2, 1, 2], + "Mixopyrian": [1, 1, 3, 2, 1, 2, 2], + "Garian": [1, 3, 2, 1, 2, 2, 1], + "Epathian": [3, 2, 1, 1, 3, 1, 1], + "Mythian": [2, 1, 1, 3, 1, 1, 3], + "Sogian": [1, 1, 3, 1, 1, 3, 2], + "Gogian": [1, 3, 1, 1, 3, 2, 1], + "Rothian": [3, 1, 1, 3, 2, 1, 1], + "Katarian": [1, 1, 3, 2, 1, 1, 3], + "Stylian": [1, 3, 2, 1, 1, 3, 1], + "Stathian": [3, 2, 1, 1, 1, 2, 2], + "Mixonyphian": [2, 1, 1, 1, 2, 2, 3], + "Magian": [1, 1, 1, 2, 2, 3, 2], + "Dadian": [1, 1, 2, 2, 3, 2, 1], + "Aeolylian": [1, 2, 2, 3, 2, 1, 1], + "Gycrian": [2, 2, 3, 2, 1, 1, 1], + "Pyrian": [2, 3, 2, 1, 1, 1, 2], + "Epogian": [3, 1, 1, 3, 1, 1, 2], + "Lanian": [1, 1, 3, 1, 1, 2, 3], + "Paptian": [1, 3, 1, 1, 2, 3, 1], + "Ionacrian": [3, 1, 1, 2, 3, 1, 1], + "Gathian": [1, 1, 2, 3, 1, 1, 3], + "Ionyphian": [1, 2, 3, 1, 1, 3, 1], + "Phrynian": [2, 3, 1, 1, 3, 1, 1], + "Ionycrian": [3, 1, 1, 2, 2, 1, 2], + "Phradian": [1, 1, 2, 2, 1, 2, 3], + "Aeolorian": [1, 2, 2, 1, 2, 3, 1], + "Gonian": [2, 2, 1, 2, 3, 1, 1], + "Dalian": [2, 1, 2, 3, 1, 1, 2], + "Dygian": [1, 2, 3, 1, 1, 2, 2], + "Zolian": [2, 3, 1, 1, 2, 2, 1], + "Aerathian": [3, 1, 1, 2, 1, 2, 2], + "Sarian": [1, 1, 2, 1, 2, 2, 3], + "Zoptian": [1, 2, 1, 2, 2, 3, 1], + "Aeracrian": [2, 1, 2, 2, 3, 1, 1], + "Byptian": [1, 2, 2, 3, 1, 1, 2], + "Darian": [2, 2, 3, 1, 1, 2, 1], + "Lonian": [2, 3, 1, 1, 2, 1, 2], + "Aeopian": [4, 2, 1, 2, 1, 1, 1], + "Rygian": [2, 1, 2, 1, 1, 1, 4], + "Epynian": [1, 2, 1, 1, 1, 4, 2], + "Ionogian": [2, 1, 1, 1, 4, 2, 1], + "Kydian": [1, 1, 1, 4, 2, 1, 2], + "Gaptian": [1, 1, 4, 2, 1, 2, 1], + "Tharian": [1, 4, 2, 1, 2, 1, 1], + "Epycrian": [4, 2, 1, 1, 1, 2, 1], + "Gocrian": [2, 1, 1, 1, 2, 1, 4], + "Katolian": [1, 1, 1, 2, 1, 4, 2], + "Thoptian": [1, 1, 2, 1, 4, 2, 1], + "Bagian": [1, 2, 1, 4, 2, 1, 1], + "Kyrian": [2, 1, 4, 2, 1, 1, 1], + "Sonian": [1, 4, 2, 1, 1, 1, 2], + "Parian": [4, 1, 3, 1, 1, 1, 1], + "Ionaptian": [1, 3, 1, 1, 1, 1, 4], + "Thylian": [3, 1, 1, 1, 1, 4, 1], + "Lolian": [1, 1, 1, 1, 4, 1, 3], + "Thagian": [1, 1, 1, 4, 1, 3, 1], + "Kolian": [1, 1, 4, 1, 3, 1, 1], + "Dycrian": [1, 4, 1, 3, 1, 1, 1], + "Stygian": [4, 1, 2, 1, 2, 1, 1], + "Aeolygian": [1, 2, 1, 2, 1, 1, 4], + "Aerogian": [2, 1, 2, 1, 1, 4, 1], + "Dacrian": [1, 2, 1, 1, 4, 1, 2], + "Baptian": [2, 1, 1, 4, 1, 2, 1], + "Dagian": [1, 1, 4, 1, 2, 1, 2], + "Aeolydian": [1, 4, 1, 2, 1, 2, 1], + "Stythian": [4, 1, 2, 1, 1, 2, 1], + "Kothian": [1, 2, 1, 1, 2, 1, 4], + "Pygian": [2, 1, 1, 2, 1, 4, 1], + "Rodian": [1, 1, 2, 1, 4, 1, 2], + "Sorian": [1, 2, 1, 4, 1, 2, 1], + "Monian": [2, 1, 4, 1, 2, 1, 1], + "Thalian": [1, 4, 1, 2, 1, 1, 2], + "Zorian": [4, 1, 2, 1, 1, 1, 2], + "Aeragian": [1, 2, 1, 1, 1, 2, 4], + "Epothian": [2, 1, 1, 1, 2, 4, 1], + "Salian": [1, 1, 1, 2, 4, 1, 2], + "Lyptian": [1, 1, 2, 4, 1, 2, 1], + "Katonian": [1, 2, 4, 1, 2, 1, 1], + "Gyphian": [2, 4, 1, 2, 1, 1, 1], + "Thacrian": [4, 1, 1, 2, 2, 1, 1], + "Dodian": [1, 1, 2, 2, 1, 1, 4], + "Aeolyptian": [1, 2, 2, 1, 1, 4, 1], + "Aeolonian": [2, 2, 1, 1, 4, 1, 1], + "Aeradian": [2, 1, 1, 4, 1, 1, 2], + "Aeolagian": [1, 1, 4, 1, 1, 2, 2], + "Zyrian": [1, 4, 1, 1, 2, 2, 1], + "Aeolathian": [4, 1, 1, 2, 1, 2, 1], + "Bythian": [1, 1, 2, 1, 2, 1, 4], + "Padian": [1, 2, 1, 2, 1, 4, 1], + "Rolian": [2, 1, 2, 1, 4, 1, 1], + "Pydian": [1, 2, 1, 4, 1, 1, 2], + "Thygian": [2, 1, 4, 1, 1, 2, 1], + "Katalian": [1, 4, 1, 1, 2, 1, 2], + "Saptian": [4, 1, 1, 1, 2, 1, 2], + "Aerodian": [1, 1, 1, 2, 1, 2, 4], + "Macrian": [1, 1, 2, 1, 2, 4, 1], + "Rogian": [1, 2, 1, 2, 4, 1, 1], + "Boptian": [2, 1, 2, 4, 1, 1, 1], + "Stogian": [1, 2, 4, 1, 1, 1, 2], + "Thynian": [2, 4, 1, 1, 1, 2, 1], + "Thycrian": [4, 1, 1, 1, 1, 3, 1], + "Aeoladian": [1, 1, 1, 1, 3, 1, 4], + "Dylian": [1, 1, 1, 3, 1, 4, 1], + "Eponian": [1, 1, 3, 1, 4, 1, 1], + "Katygian": [1, 3, 1, 4, 1, 1, 1], + "Starian": [3, 1, 4, 1, 1, 1, 1], + "Phrathian": [1, 4, 1, 1, 1, 1, 3], + "Stalian": [3, 3, 1, 1, 2, 1, 1], + "Stoptian": [3, 1, 1, 2, 1, 1, 3], + "Zygian": [1, 1, 2, 1, 1, 3, 3], + "Kataptian": [1, 2, 1, 1, 3, 3, 1], + "Aeolaptian": [2, 1, 1, 3, 3, 1, 1], + "Pothian": [1, 1, 3, 3, 1, 1, 2], + "Bygian": [1, 3, 3, 1, 1, 2, 1], + "Morian": [3, 2, 3, 1, 1, 1, 1], + "Rycrian": [2, 3, 1, 1, 1, 1, 3], + "Ronian": [3, 1, 1, 1, 1, 3, 2], + "Stycrian": [1, 1, 1, 1, 3, 2, 3], + "Katorian": [1, 1, 1, 3, 2, 3, 1], + "Epythian": [1, 1, 3, 2, 3, 1, 1], + "Kaptian": [1, 3, 2, 3, 1, 1, 1], + "Phraptian": [3, 2, 2, 2, 1, 1, 1], + "Bacrian": [2, 2, 2, 1, 1, 1, 3], + "Katythian": [2, 2, 1, 1, 1, 3, 2], + "Madian": [2, 1, 1, 1, 3, 2, 2], + "Aerygian": [1, 1, 1, 3, 2, 2, 2], + "Pylian": [1, 1, 3, 2, 2, 2, 1], + "Ionathian": [1, 3, 2, 2, 2, 1, 1], + "Katocrian": [3, 2, 1, 3, 1, 1, 1], + "Phryptian": [2, 1, 3, 1, 1, 1, 3], + "Katynian": [1, 3, 1, 1, 1, 3, 2], + "Aerycrian": [3, 1, 1, 1, 3, 2, 1], + "Ganian": [1, 1, 1, 3, 2, 1, 3], + "Eparian": [1, 1, 3, 2, 1, 3, 1], + "Lyrian": [1, 3, 2, 1, 3, 1, 1], + "Ionopian": [3, 2, 1, 2, 1, 1, 2], + "Aeologian": [2, 1, 2, 1, 1, 2, 3], + "Zadian": [1, 2, 1, 1, 2, 3, 2], + "Sygian": [2, 1, 1, 2, 3, 2, 1], + "Phralian": [1, 1, 2, 3, 2, 1, 2], + "Phrogian": [1, 2, 3, 2, 1, 2, 1], + "Rathian": [2, 3, 2, 1, 2, 1, 1], + "Rythian": [3, 2, 1, 1, 2, 1, 2], + "Donian": [2, 1, 1, 2, 1, 2, 3], + "Aeoloptian": [1, 1, 2, 1, 2, 3, 2], + "Panian": [1, 2, 1, 2, 3, 2, 1], + "Lodian": [2, 1, 2, 3, 2, 1, 1], + "Solian": [1, 2, 3, 2, 1, 1, 2], + "Ionolian": [2, 3, 2, 1, 1, 2, 1], + "Laptian": [3, 2, 1, 1, 1, 3, 1], + "Lygian": [2, 1, 1, 1, 3, 1, 3], + "Logian": [1, 1, 1, 3, 1, 3, 2], + "Lalian": [1, 1, 3, 1, 3, 2, 1], + "Sothian": [1, 3, 1, 3, 2, 1, 1], + "Phrocrian": [3, 1, 3, 2, 1, 1, 1], + "Thogian": [1, 3, 2, 1, 1, 1, 3], + "Katathian": [3, 1, 3, 1, 2, 1, 1], + "Modian": [1, 3, 1, 2, 1, 1, 3], + "Barian": [3, 1, 2, 1, 1, 3, 1], + "Mixolocrian": [1, 2, 1, 1, 3, 1, 3], + "Sagian": [2, 1, 1, 3, 1, 3, 1], + "Aeolothian": [1, 1, 3, 1, 3, 1, 2], + "Socrian": [1, 3, 1, 3, 1, 2, 1], + "Tholian": [3, 1, 3, 1, 1, 2, 1], + "Ralian": [1, 3, 1, 1, 2, 1, 3], + "Syrian": [3, 1, 1, 2, 1, 3, 1], + "Stodian": [1, 1, 2, 1, 3, 1, 3], + "Ionocrian": [1, 2, 1, 3, 1, 3, 1], + "Zycrian": [2, 1, 3, 1, 3, 1, 1], + "Ionygian": [1, 3, 1, 3, 1, 1, 2], + "Zarian": [3, 1, 3, 1, 1, 1, 2], + "Phrythian": [1, 3, 1, 1, 1, 2, 3], + "Rorian": [3, 1, 1, 1, 2, 3, 1], + "Bolian": [1, 1, 1, 2, 3, 1, 3], + "Bothian": [1, 1, 2, 3, 1, 3, 1], + "Katadian": [1, 2, 3, 1, 3, 1, 1], + "Kodian": [2, 3, 1, 3, 1, 1, 1], + "Ranian": [3, 1, 2, 3, 1, 1, 1], + "Ladian": [1, 2, 3, 1, 1, 1, 3], + "Podian": [2, 3, 1, 1, 1, 3, 1], + "Ionothian": [3, 1, 1, 1, 3, 1, 2], + "Kanian": [1, 1, 1, 3, 1, 2, 3], + "Zylian": [1, 1, 3, 1, 2, 3, 1], + "Zodian": [1, 3, 1, 2, 3, 1, 1], + "Golian": [3, 1, 2, 2, 2, 1, 1], + "Dyptian": [1, 2, 2, 2, 1, 1, 3], + "Ryphian": [2, 2, 2, 1, 1, 3, 1], + "Gylian": [2, 2, 1, 1, 3, 1, 2], + "Aeolycrian": [2, 1, 1, 3, 1, 2, 2], + "Pynian": [1, 1, 3, 1, 2, 2, 2], + "Zanian": [1, 3, 1, 2, 2, 2, 1], + "Palian": [3, 1, 2, 2, 1, 2, 1], + "Stothian": [1, 2, 2, 1, 2, 1, 3], + "Aerorian": aerorian, + "Katagian": [2, 1, 2, 1, 3, 1, 2], + "Phronian": [1, 2, 1, 3, 1, 2, 2], + "Banian": [2, 1, 3, 1, 2, 2, 1], + "Aeronian": [1, 3, 1, 2, 2, 1, 2], + "Loptian": [3, 1, 2, 1, 3, 1, 1], + "Ionodian": [1, 2, 1, 3, 1, 1, 3], + "Bogian": [2, 1, 3, 1, 1, 3, 1], + "Mogian": [1, 3, 1, 1, 3, 1, 2], + "Docrian": [3, 1, 1, 3, 1, 2, 1], + "Epadian": [1, 1, 3, 1, 2, 1, 3], + "Aerynian": [1, 3, 1, 2, 1, 3, 1], + "Bycrian": [3, 1, 2, 1, 2, 2, 1], + "Pathian": [1, 2, 1, 2, 2, 1, 3], + "Mydian": mydian, + "Thyptian": [1, 2, 2, 1, 3, 1, 2], + "Phrothian": [2, 2, 1, 3, 1, 2, 1], + "Katycrian": [2, 1, 3, 1, 2, 1, 2], + "Ionalian": [1, 3, 1, 2, 1, 2, 2], + "Dolian": [3, 1, 1, 2, 2, 2, 1], + "Porian": [1, 1, 2, 2, 2, 1, 3], + "Aerylian": [1, 2, 2, 2, 1, 3, 1], + "Zagian": [2, 2, 2, 1, 3, 1, 1], + "Lagian": [2, 2, 1, 3, 1, 1, 2], + "Tyrian": [2, 1, 3, 1, 1, 2, 2], + "Mixonorian": [1, 3, 1, 1, 2, 2, 2], + "Pagian": [3, 1, 1, 1, 2, 2, 2], + "Aeolythian": [1, 1, 1, 2, 2, 2, 3], + "Molian": [1, 1, 2, 2, 2, 3, 1], + "Staptian": [1, 2, 2, 2, 3, 1, 1], + "Mothian": [2, 2, 2, 3, 1, 1, 1], + "Aeranian": [2, 2, 3, 1, 1, 1, 2], + "Ragian": [2, 3, 1, 1, 1, 2, 2], + "Larian": [2, 2, 2, 2, 1, 2, 1], + "Lythian": [2, 2, 2, 1, 2, 1, 2], + "Stydian": stydian, + "Lorian": [2, 1, 2, 1, 2, 2, 2], + "Ionadian": [1, 2, 1, 2, 2, 2, 2], + "Bocrian": bocrian, + "Mixolythian": [1, 2, 2, 2, 2, 1, 2], + "Thadian": [4, 3, 1, 1, 1, 1, 1], + "Sanian": [3, 1, 1, 1, 1, 1, 4], + "Ionydian": [1, 1, 1, 1, 1, 4, 3], + "Epydian": [1, 1, 1, 1, 4, 3, 1], + "Katydian": [1, 1, 1, 4, 3, 1, 1], + "Mathian": [1, 1, 4, 3, 1, 1, 1], + "Aeryptian": [1, 4, 3, 1, 1, 1, 1], + "Pythian": [4, 2, 2, 1, 1, 1, 1], + "Katylian": [2, 2, 1, 1, 1, 1, 4], + "Bydian": [2, 1, 1, 1, 1, 4, 2], + "Bynian": [1, 1, 1, 1, 4, 2, 2], + "Galian": [1, 1, 1, 4, 2, 2, 1], + "Zonian": [1, 1, 4, 2, 2, 1, 1], + "Myrian": [1, 4, 2, 2, 1, 1, 1], + "Katogian": [4, 2, 1, 1, 2, 1, 1], + "Stacrian": [2, 1, 1, 2, 1, 1, 4], + "Styrian": [1, 1, 2, 1, 1, 4, 2], + "Ionyrian": [1, 2, 1, 1, 4, 2, 1], + "Phrodian": [2, 1, 1, 4, 2, 1, 1], + "Pycrian": [1, 1, 4, 2, 1, 1, 2], + "Gyptian": [1, 4, 2, 1, 1, 2, 1], + "Katacrian": [4, 1, 1, 2, 1, 1, 2], + "Sodian": [1, 1, 2, 1, 1, 2, 4], + "Bathian": [1, 2, 1, 1, 2, 4, 1], + "Mylian": [2, 1, 1, 2, 4, 1, 1], + "Godian": [1, 1, 2, 4, 1, 1, 2], + "Thorian": [1, 2, 4, 1, 1, 2, 1], + "Zocrian": [2, 4, 1, 1, 2, 1, 1], + "Stanian": [4, 1, 1, 1, 1, 2, 2], + "Epanian": [1, 1, 1, 1, 2, 2, 4], + "Konian": [1, 1, 1, 2, 2, 4, 1], + "Stocrian": [1, 1, 2, 2, 4, 1, 1], + "Kalian": [1, 2, 2, 4, 1, 1, 1], + "Phroptian": [2, 2, 4, 1, 1, 1, 1], + "Dydian": [2, 4, 1, 1, 1, 1, 2], + "Katyptian": [4, 1, 1, 1, 1, 1, 3], + "Epodian": [1, 1, 1, 1, 1, 3, 4], + "Mygian": [1, 1, 1, 1, 3, 4, 1], + "Pacrian": [1, 1, 1, 3, 4, 1, 1], + "Aerocrian": [1, 1, 3, 4, 1, 1, 1], + "Aeolarian": [1, 3, 4, 1, 1, 1, 1], + "Kythian": [3, 4, 1, 1, 1, 1, 1], + "Bonian": [3, 3, 2, 1, 1, 1, 1], + "Badian": [3, 2, 1, 1, 1, 1, 3], + "Katodian": [2, 1, 1, 1, 1, 3, 3], + "Sadian": [1, 1, 1, 1, 3, 3, 2], + "Dothian": [1, 1, 1, 3, 3, 2, 1], + "Moptian": [1, 1, 3, 3, 2, 1, 1], + "Aeryrian": [1, 3, 3, 2, 1, 1, 1], + "Epagian": [3, 3, 1, 2, 1, 1, 1], + "Raptian": [3, 1, 2, 1, 1, 1, 3], + "Epolian": [1, 2, 1, 1, 1, 3, 3], + "Sythian": [2, 1, 1, 1, 3, 3, 1], + "Sydian": [1, 1, 1, 3, 3, 1, 2], + "Epocrian": [1, 1, 3, 3, 1, 2, 1], + "Kylian": [1, 3, 3, 1, 2, 1, 1], + "Gacrian": [3, 3, 1, 1, 1, 2, 1], + "Borian": [3, 1, 1, 1, 2, 1, 3], + "Sycrian": [1, 1, 1, 2, 1, 3, 3], + "Gadian": [1, 1, 2, 1, 3, 3, 1], + "Aeolocrian": [1, 2, 1, 3, 3, 1, 1], + "Mixodorian": [2, 1, 3, 3, 1, 1, 1], + "Dathian": [1, 3, 3, 1, 1, 1, 2], + "Katoptian": [3, 3, 1, 1, 1, 1, 2], + "Ponian": [3, 1, 1, 1, 1, 2, 3], + "Kadian": [1, 1, 1, 1, 2, 3, 3], + "Gynian": [1, 1, 1, 2, 3, 3, 1], + "Thyphian": [1, 1, 2, 3, 3, 1, 1], + "Polian": [1, 2, 3, 3, 1, 1, 1], + "Thanian": [2, 3, 3, 1, 1, 1, 1], + "Epacrian": [3, 2, 2, 1, 1, 2, 1], + "Sathian": [2, 2, 1, 1, 2, 1, 3], + "Lathian": [2, 1, 1, 2, 1, 3, 2], + "Aeralian": [1, 1, 2, 1, 3, 2, 2], + "Kynian": [1, 2, 1, 3, 2, 2, 1], + "Stynian": [2, 1, 3, 2, 2, 1, 1], + "Epyphian": [1, 3, 2, 2, 1, 1, 2], + "Pogian": [3, 2, 1, 2, 1, 2, 1], + "Aeraptian": [2, 1, 2, 1, 2, 1, 3], + "Epylian": [1, 2, 1, 2, 1, 3, 2], + "Gamian": [2, 1, 2, 1, 3, 2, 1], + "Kathian": [1, 2, 1, 3, 2, 1, 2], + "Lylian": [2, 1, 3, 2, 1, 2, 1], + "Epalian": [1, 3, 2, 1, 2, 1, 2], + "Eporian": [3, 2, 1, 1, 2, 2, 1], + "Rylian": [2, 1, 1, 2, 2, 1, 3], + "Epaptian": [1, 1, 2, 2, 1, 3, 2], + "Byrian": [1, 2, 2, 1, 3, 2, 1], + "Katanian": [2, 2, 1, 3, 2, 1, 1], + "Katyrian": [2, 1, 3, 2, 1, 1, 2], + "Rynian": [1, 3, 2, 1, 1, 2, 2], + "Korian": [3, 1, 2, 2, 1, 1, 2], + "Lynian": [1, 2, 2, 1, 1, 2, 3], + "Malian": [2, 2, 1, 1, 2, 3, 1], + "Synian": [2, 1, 1, 2, 3, 1, 2], + "Phragian": [1, 1, 2, 3, 1, 2, 2], + "Manian": [1, 2, 3, 1, 2, 2, 1], + "Marian": [2, 3, 1, 2, 2, 1, 1], + "Mycrian": [3, 1, 2, 1, 2, 1, 2], + "Ionorian": [1, 2, 1, 2, 1, 2, 3], + "Phrydian": [2, 1, 2, 1, 2, 3, 1], + "Zyptian": [1, 2, 1, 2, 3, 1, 2], + "Katothian": [2, 1, 2, 3, 1, 2, 1], + "Phrylian": [1, 2, 3, 1, 2, 1, 2], + "Kocrian": [2, 3, 1, 2, 1, 2, 1], + "Ionanian": [3, 1, 2, 1, 1, 2, 2], + "Aerothian": [1, 2, 1, 1, 2, 2, 3], + "Stagian": [2, 1, 1, 2, 2, 3, 1], + "Lothian": [1, 1, 2, 2, 3, 1, 2], + "Phrycrian": [1, 2, 2, 3, 1, 2, 1], + "Kyptian": [2, 2, 3, 1, 2, 1, 1], + "Ionylian": [2, 3, 1, 2, 1, 1, 2], + "Gydian": [4, 2, 1, 1, 1, 1, 2], + "Kogian": [2, 1, 1, 1, 1, 2, 4], + "Rarian": [1, 1, 1, 1, 2, 4, 2], + "Aerolian": [1, 1, 1, 2, 4, 2, 1], + "Karian": [1, 1, 2, 4, 2, 1, 1], + "Myptian": [1, 2, 4, 2, 1, 1, 1], + "Rydian": [2, 4, 2, 1, 1, 1, 1], + "Aeolynian": [2, 2, 2, 2, 2, 1, 1], + "Aeroptian": [2, 2, 2, 2, 1, 1, 2], + "Phryrian": [2, 2, 2, 1, 1, 2, 2], + "Gothian": [2, 2, 1, 1, 2, 2, 2], + "Storian": [2, 1, 1, 2, 2, 2, 2], + "Pyptian": [1, 1, 2, 2, 2, 2, 2], + "Thydian": [1, 2, 2, 2, 2, 2, 1], + "Aerycryllic": [2, 2, 1, 2, 2, 1, 1, 1], + "Gadyllic": [2, 1, 2, 2, 1, 1, 1, 2], + "Solyllic": [1, 2, 2, 1, 1, 1, 2, 2], + "Zylyllic": [2, 2, 1, 1, 1, 2, 2, 1], + "Mixodyllic": [2, 1, 1, 1, 2, 2, 1, 2], + "Soryllic": [1, 1, 1, 2, 2, 1, 2, 2], + "Godyllic": [1, 1, 2, 2, 1, 2, 2, 1], + "Epiphyllic": [1, 2, 2, 1, 2, 2, 1, 1], + "Pynyllic": [4, 1, 1, 1, 2, 1, 1, 1], + "Bocryllic": [1, 1, 1, 2, 1, 1, 1, 4], + "Kogyllic": [1, 1, 2, 1, 1, 1, 4, 1], + "Raryllic": [1, 2, 1, 1, 1, 4, 1, 1], + "Zycryllic": [2, 1, 1, 1, 4, 1, 1, 1], + "Mycryllic": [1, 1, 1, 4, 1, 1, 1, 2], + "Laptyllic": [1, 1, 4, 1, 1, 1, 2, 1], + "Pylyllic": [1, 4, 1, 1, 1, 2, 1, 1], + "Pothyllic": [3, 2, 1, 1, 1, 2, 1, 1], + "Phronyllic": [2, 1, 1, 1, 2, 1, 1, 3], + "Stynyllic": [1, 1, 1, 2, 1, 1, 3, 2], + "Rathyllic": [1, 1, 2, 1, 1, 3, 2, 1], + "Aeryptyllic": [1, 2, 1, 1, 3, 2, 1, 1], + "Zydyllic": [2, 1, 1, 3, 2, 1, 1, 1], + "Katolyllic": [1, 1, 3, 2, 1, 1, 1, 2], + "Rythyllic": [1, 3, 2, 1, 1, 1, 2, 1], + "Locryllic": [3, 1, 1, 3, 1, 1, 1, 1], + "Bylyllic": [1, 1, 3, 1, 1, 1, 1, 3], + "Sogyllic": [1, 3, 1, 1, 1, 1, 3, 1], + "Ionycryllic": [3, 1, 1, 1, 1, 3, 1, 1], + "Koptyllic": [1, 1, 1, 1, 3, 1, 1, 3], + "Epyryllic": [1, 1, 1, 3, 1, 1, 3, 1], + "Soptyllic": [1, 1, 3, 1, 1, 3, 1, 1], + "Aeolylyllic": [1, 3, 1, 1, 3, 1, 1, 1], + "Aeracryllic": [3, 1, 1, 2, 2, 1, 1, 1], + "Epygyllic": [1, 1, 2, 2, 1, 1, 1, 3], + "Thonyllic": [1, 2, 2, 1, 1, 1, 3, 1], + "Lanyllic": [2, 2, 1, 1, 1, 3, 1, 1], + "Phrynyllic": [2, 1, 1, 1, 3, 1, 1, 2], + "Lycryllic": [1, 1, 1, 3, 1, 1, 2, 2], + "Ionyptyllic": [1, 1, 3, 1, 1, 2, 2, 1], + "Epathyllic": [1, 3, 1, 1, 2, 2, 1, 1], + "Dydyllic": [3, 1, 1, 2, 1, 2, 1, 1], + "Thogyllic": [1, 1, 2, 1, 2, 1, 1, 3], + "Rygyllic": [1, 2, 1, 2, 1, 1, 3, 1], + "Bycryllic": [2, 1, 2, 1, 1, 3, 1, 1], + "Zacryllic": [1, 2, 1, 1, 3, 1, 1, 2], + "Panyllic": [2, 1, 1, 3, 1, 1, 2, 1], + "Dyryllic": [1, 1, 3, 1, 1, 2, 1, 2], + "Zathyllic": [1, 3, 1, 1, 2, 1, 2, 1], + "Dagyllic": [3, 1, 1, 2, 1, 1, 1, 2], + "Katalyllic": [1, 1, 2, 1, 1, 1, 2, 3], + "Katoryllic": [1, 2, 1, 1, 1, 2, 3, 1], + "Dodyllic": [2, 1, 1, 1, 2, 3, 1, 1], + "Zogyllic": [1, 1, 1, 2, 3, 1, 1, 2], + "Madyllic": [1, 1, 2, 3, 1, 1, 2, 1], + "Dycryllic": [1, 2, 3, 1, 1, 2, 1, 1], + "Aeologyllic": [2, 3, 1, 1, 2, 1, 1, 1], + "Sydyllic": [3, 1, 1, 1, 3, 1, 1, 1], + "Katogyllic": [1, 1, 1, 3, 1, 1, 1, 3], + "Zygyllic": [1, 1, 3, 1, 1, 1, 3, 1], + "Aeralyllic": [1, 3, 1, 1, 1, 3, 1, 1], + "Bacryllic": [3, 1, 1, 1, 2, 2, 1, 1], + "Aerygyllic": [1, 1, 1, 2, 2, 1, 1, 3], + "Dathyllic": [1, 1, 2, 2, 1, 1, 3, 1], + "Boptyllic": [1, 2, 2, 1, 1, 3, 1, 1], + "Bagyllic": [2, 2, 1, 1, 3, 1, 1, 1], + "Mathyllic": [2, 1, 1, 3, 1, 1, 1, 2], + "Styptyllic": [1, 1, 3, 1, 1, 1, 2, 2], + "Zolyllic": [1, 3, 1, 1, 1, 2, 2, 1], + "Rocryllic": [2, 2, 2, 1, 2, 1, 1, 1], + "Zyryllic": [2, 2, 1, 2, 1, 1, 1, 2], + "Sagyllic": [2, 1, 2, 1, 1, 1, 2, 2], + "Epinyllic": [1, 2, 1, 1, 1, 2, 2, 2], + "Katagyllic": [2, 1, 1, 1, 2, 2, 2, 1], + "Ragyllic": [1, 1, 1, 2, 2, 2, 1, 2], + "Gothyllic": [1, 1, 2, 2, 2, 1, 2, 1], + "Lythyllic": [1, 2, 2, 2, 1, 2, 1, 1], + "Ionocryllic": [2, 2, 2, 1, 1, 1, 2, 1], + "Gocryllic": [2, 2, 1, 1, 1, 2, 1, 2], + "Epiryllic": [2, 1, 1, 1, 2, 1, 2, 2], + "Aeradyllic": [1, 1, 1, 2, 1, 2, 2, 2], + "Staptyllic": [1, 1, 2, 1, 2, 2, 2, 1], + "Danyllic": [1, 2, 1, 2, 2, 2, 1, 1], + "Goptyllic": [2, 1, 2, 2, 2, 1, 1, 1], + "Epocryllic": [1, 2, 2, 2, 1, 1, 1, 2], + "Ionoptyllic": [2, 2, 1, 2, 1, 1, 2, 1], + "Aeoloryllic": [2, 1, 2, 1, 1, 2, 1, 2], + "Thydyllic": [1, 2, 1, 1, 2, 1, 2, 2], + "Gycryllic": [2, 1, 1, 2, 1, 2, 2, 1], + "Lyryllic": [1, 1, 2, 1, 2, 2, 1, 2], + "Mogyllic": [1, 2, 1, 2, 2, 1, 2, 1], + "Katodyllic": [2, 1, 2, 2, 1, 2, 1, 1], + "Moptyllic": [1, 2, 2, 1, 2, 1, 1, 2], + "Dolyllic": [4, 1, 2, 1, 1, 1, 1, 1], + "Moryllic": [1, 2, 1, 1, 1, 1, 1, 4], + "Bydyllic": [2, 1, 1, 1, 1, 1, 4, 1], + "Pocryllic": [1, 1, 1, 1, 1, 4, 1, 2], + "Phracryllic": [1, 1, 1, 1, 4, 1, 2, 1], + "Gyryllic": [1, 1, 1, 4, 1, 2, 1, 1], + "Phrygyllic": [1, 1, 4, 1, 2, 1, 1, 1], + "Dogyllic": [1, 4, 1, 2, 1, 1, 1, 1], + "Thagyllic": [4, 1, 1, 2, 1, 1, 1, 1], + "Thoptyllic": [1, 1, 2, 1, 1, 1, 1, 4], + "Phraptyllic": [1, 2, 1, 1, 1, 1, 4, 1], + "Gylyllic": [2, 1, 1, 1, 1, 4, 1, 1], + "Phralyllic": [1, 1, 1, 1, 4, 1, 1, 2], + "Dygyllic": [1, 1, 1, 4, 1, 1, 2, 1], + "Ronyllic": [1, 1, 4, 1, 1, 2, 1, 1], + "Epogyllic": [1, 4, 1, 1, 2, 1, 1, 1], + "Aeoladyllic": [4, 1, 1, 1, 1, 2, 1, 1], + "Kocryllic": [1, 1, 1, 1, 2, 1, 1, 4], + "Lodyllic": [1, 1, 1, 2, 1, 1, 4, 1], + "Bynyllic": [1, 1, 2, 1, 1, 4, 1, 1], + "Kydyllic": [1, 2, 1, 1, 4, 1, 1, 1], + "Bygyllic": [2, 1, 1, 4, 1, 1, 1, 1], + "Phryptyllic": [1, 1, 4, 1, 1, 1, 1, 2], + "Ionayllic": [1, 4, 1, 1, 1, 1, 2, 1], + "Phroryllic": [4, 1, 1, 1, 1, 1, 2, 1], + "Thyphyllic": [1, 1, 1, 1, 1, 2, 1, 4], + "Poptyllic": [1, 1, 1, 1, 2, 1, 4, 1], + "Mixonyllic": [1, 1, 1, 2, 1, 4, 1, 1], + "Paptyllic": [1, 1, 2, 1, 4, 1, 1, 1], + "Storyllic": [1, 2, 1, 4, 1, 1, 1, 1], + "Phrycryllic": [2, 1, 4, 1, 1, 1, 1, 1], + "Palyllic": [1, 4, 1, 1, 1, 1, 1, 2], + "Phranyllic": [3, 2, 2, 1, 1, 1, 1, 1], + "Stydyllic": [2, 2, 1, 1, 1, 1, 1, 3], + "Zadyllic": [2, 1, 1, 1, 1, 1, 3, 2], + "Zalyllic": [1, 1, 1, 1, 1, 3, 2, 2], + "Zocryllic": [1, 1, 1, 1, 3, 2, 2, 1], + "Katocryllic": [1, 1, 1, 3, 2, 2, 1, 1], + "Aerathyllic": [1, 1, 3, 2, 2, 1, 1, 1], + "Stoptyllic": [1, 3, 2, 2, 1, 1, 1, 1], + "Lydyllic": [3, 2, 1, 2, 1, 1, 1, 1], + "Radyllic": [2, 1, 2, 1, 1, 1, 1, 3], + "Stagyllic": [1, 2, 1, 1, 1, 1, 3, 2], + "Ionoryllic": [2, 1, 1, 1, 1, 3, 2, 1], + "Phrodyllic": [1, 1, 1, 1, 3, 2, 1, 2], + "Aeragyllic": [1, 1, 1, 3, 2, 1, 2, 1], + "Banyllic": [1, 1, 3, 2, 1, 2, 1, 1], + "Epothyllic": [1, 3, 2, 1, 2, 1, 1, 1], + "Zoryllic": [3, 2, 1, 1, 2, 1, 1, 1], + "Phrolyllic": [2, 1, 1, 2, 1, 1, 1, 3], + "Kolyllic": [1, 1, 2, 1, 1, 1, 3, 2], + "Thodyllic": [1, 2, 1, 1, 1, 3, 2, 1], + "Socryllic": [2, 1, 1, 1, 3, 2, 1, 1], + "Aeolyllic": [1, 1, 1, 3, 2, 1, 1, 2], + "Zythyllic": [1, 1, 3, 2, 1, 1, 2, 1], + "Aeoryllic": [1, 3, 2, 1, 1, 2, 1, 1], + "Mixolydyllic": [3, 2, 1, 1, 1, 1, 1, 2], + "Mixonyphyllic": [2, 1, 1, 1, 1, 1, 2, 3], + "Aeolanyllic": [1, 1, 1, 1, 1, 2, 3, 2], + "Thocryllic": [1, 1, 1, 1, 2, 3, 2, 1], + "Kygyllic": [1, 1, 1, 2, 3, 2, 1, 1], + "Ionagyllic": [1, 1, 2, 3, 2, 1, 1, 1], + "Gogyllic": [1, 2, 3, 2, 1, 1, 1, 1], + "Phradyllic": [2, 3, 2, 1, 1, 1, 1, 1], + "Ioniptyllic": [3, 1, 3, 1, 1, 1, 1, 1], + "Kycryllic": [1, 3, 1, 1, 1, 1, 1, 3], + "Aeolaptyllic": [3, 1, 1, 1, 1, 1, 3, 1], + "Rodyllic": [1, 1, 1, 1, 1, 3, 1, 3], + "Ionathyllic": [1, 1, 1, 1, 3, 1, 3, 1], + "Pythyllic": [1, 1, 1, 3, 1, 3, 1, 1], + "Zonyllic": [1, 1, 3, 1, 3, 1, 1, 1], + "Ryryllic": [1, 3, 1, 3, 1, 1, 1, 1], + "Aeolothyllic": [3, 1, 2, 2, 1, 1, 1, 1], + "Ionyryllic": [1, 2, 2, 1, 1, 1, 1, 3], + "Rydyllic": [2, 2, 1, 1, 1, 1, 3, 1], + "Gonyllic": [2, 1, 1, 1, 1, 3, 1, 2], + "Rolyllic": [1, 1, 1, 1, 3, 1, 2, 2], + "Katydyllic": [1, 1, 1, 3, 1, 2, 2, 1], + "Zyptyllic": [1, 1, 3, 1, 2, 2, 1, 1], + "Modyllic": [1, 3, 1, 2, 2, 1, 1, 1], + "Maptyllic": [3, 1, 2, 1, 2, 1, 1, 1], + "Aeraptyllic": [1, 2, 1, 2, 1, 1, 1, 3], + "Katadyllic": [2, 1, 2, 1, 1, 1, 3, 1], + "Magyllic": [1, 2, 1, 1, 1, 3, 1, 2], + "Phrylyllic": [2, 1, 1, 1, 3, 1, 2, 1], + "Epigyllic": [1, 1, 1, 3, 1, 2, 1, 2], + "Molyllic": [1, 1, 3, 1, 2, 1, 2, 1], + "Ponyllic": [1, 3, 1, 2, 1, 2, 1, 1], + "Thyptyllic": [3, 1, 2, 1, 1, 2, 1, 1], + "Ionogyllic": [1, 2, 1, 1, 2, 1, 1, 3], + "Aeolaryllic": [2, 1, 1, 2, 1, 1, 3, 1], + "Katygyllic": [1, 1, 2, 1, 1, 3, 1, 2], + "Ganyllic": [1, 2, 1, 1, 3, 1, 2, 1], + "Kyptyllic": [2, 1, 1, 3, 1, 2, 1, 1], + "Salyllic": [1, 1, 3, 1, 2, 1, 1, 2], + "Sanyllic": [1, 3, 1, 2, 1, 1, 2, 1], + "Doptyllic": [3, 1, 2, 1, 1, 1, 2, 1], + "Ionilyllic": [1, 2, 1, 1, 1, 2, 1, 3], + "Manyllic": [2, 1, 1, 1, 2, 1, 3, 1], + "Polyllic": [1, 1, 1, 2, 1, 3, 1, 2], + "Stanyllic": [1, 1, 2, 1, 3, 1, 2, 1], + "Mixotharyllic": [1, 2, 1, 3, 1, 2, 1, 1], + "Eporyllic": [2, 1, 3, 1, 2, 1, 1, 1], + "Aerynyllic": [1, 3, 1, 2, 1, 1, 1, 2], + "Lonyllic": [3, 1, 1, 2, 1, 1, 2, 1], + "Sathyllic": [1, 1, 2, 1, 1, 2, 1, 3], + "Layllic": [1, 2, 1, 1, 2, 1, 3, 1], + "Saryllic": [2, 1, 1, 2, 1, 3, 1, 1], + "Thacryllic": [1, 1, 2, 1, 3, 1, 1, 2], + "Aeolynyllic": [1, 2, 1, 3, 1, 1, 2, 1], + "Thadyllic": [2, 1, 3, 1, 1, 2, 1, 1], + "Lynyllic": [1, 3, 1, 1, 2, 1, 1, 2], + "Aeolathyllic": [3, 1, 1, 1, 2, 1, 2, 1], + "Aeolocryllic": [1, 1, 1, 2, 1, 2, 1, 3], + "Phroptyllic": [1, 1, 2, 1, 2, 1, 3, 1], + "Kodyllic": [1, 2, 1, 2, 1, 3, 1, 1], + "Epaptyllic": [2, 1, 2, 1, 3, 1, 1, 1], + "Ionoyllic": [1, 2, 1, 3, 1, 1, 1, 2], + "Gyptyllic": [2, 1, 3, 1, 1, 1, 2, 1], + "Aerythyllic": [1, 3, 1, 1, 1, 2, 1, 2], + "Zagyllic": [3, 1, 1, 1, 2, 1, 1, 2], + "Epacryllic": [1, 1, 1, 2, 1, 1, 2, 3], + "Thorcryllic": [1, 1, 2, 1, 1, 2, 3, 1], + "Loptyllic": [1, 2, 1, 1, 2, 3, 1, 1], + "Katylyllic": [2, 1, 1, 2, 3, 1, 1, 1], + "Malyllic": [1, 1, 2, 3, 1, 1, 1, 2], + "Mydyllic": [1, 2, 3, 1, 1, 1, 2, 1], + "Thycryllic": [2, 3, 1, 1, 1, 2, 1, 1], + "Gythyllic": [3, 1, 1, 1, 1, 2, 2, 1], + "Pyryllic": [1, 1, 1, 1, 2, 2, 1, 3], + "Rycryllic": [1, 1, 1, 2, 2, 1, 3, 1], + "Phrathyllic": [1, 1, 2, 2, 1, 3, 1, 1], + "Badyllic": [1, 2, 2, 1, 3, 1, 1, 1], + "Phrocryllic": [2, 2, 1, 3, 1, 1, 1, 1], + "Staryllic": [2, 1, 3, 1, 1, 1, 1, 2], + "Zothyllic": [1, 3, 1, 1, 1, 1, 2, 2], + "Tharyllic": [3, 1, 1, 1, 1, 2, 1, 2], + "Sylyllic": [1, 1, 1, 1, 2, 1, 2, 3], + "Lothyllic": [1, 1, 1, 2, 1, 2, 3, 1], + "Daryllic": [1, 1, 2, 1, 2, 3, 1, 1], + "Monyllic": [1, 2, 1, 2, 3, 1, 1, 1], + "Styryllic": [2, 1, 2, 3, 1, 1, 1, 1], + "Aeolacryllic": [1, 2, 3, 1, 1, 1, 1, 2], + "Raptyllic": [2, 3, 1, 1, 1, 1, 2, 1], + "Kataryllic": [3, 1, 1, 1, 1, 1, 2, 2], + "Aerocryllic": [1, 1, 1, 1, 1, 2, 2, 3], + "Zanyllic": [1, 1, 1, 1, 2, 2, 3, 1], + "Aeolonyllic": [1, 1, 1, 2, 2, 3, 1, 1], + "Aeonyllic": [1, 1, 2, 2, 3, 1, 1, 1], + "Kyryllic": [1, 2, 2, 3, 1, 1, 1, 1], + "Sythyllic": [2, 2, 3, 1, 1, 1, 1, 1], + "Katycryllic": [2, 3, 1, 1, 1, 1, 1, 2], + "Stogyllic": [2, 2, 1, 2, 1, 2, 1, 1], + "Ionidyllic": [2, 1, 2, 1, 2, 1, 1, 2], + "Stonyllic": [1, 2, 1, 2, 1, 1, 2, 2], + "Stalyllic": [2, 1, 2, 1, 1, 2, 2, 1], + "Poryllic": [1, 2, 1, 1, 2, 2, 1, 2], + "Mocryllic": [2, 1, 1, 2, 2, 1, 2, 1], + "Aeolyryllic": [1, 1, 2, 2, 1, 2, 1, 2], + "Baryllic": [1, 2, 2, 1, 2, 1, 2, 1], + "Dalyllic": [2, 2, 1, 1, 2, 1, 2, 1], + "Ionyphyllic": [2, 1, 1, 2, 1, 2, 1, 2], + "Zaptyllic": [1, 1, 2, 1, 2, 1, 2, 2], + "Garyllic": [1, 2, 1, 2, 1, 2, 2, 1], + "Gathyllic": [2, 1, 2, 1, 2, 2, 1, 1], + "Mixopyryllic": [1, 2, 1, 2, 2, 1, 1, 2], + "Ionacryllic": [2, 1, 2, 2, 1, 1, 2, 1], + "Stylyllic": [1, 2, 2, 1, 1, 2, 1, 2], + "Stycryllic": [4, 2, 1, 1, 1, 1, 1, 1], + "Ionothyllic": [2, 1, 1, 1, 1, 1, 1, 4], + "Mythyllic": [1, 1, 1, 1, 1, 1, 4, 2], + "Aerylyllic": [1, 1, 1, 1, 1, 4, 2, 1], + "Bonyllic": [1, 1, 1, 1, 4, 2, 1, 1], + "Tholyllic": [1, 1, 1, 4, 2, 1, 1, 1], + "Katyryllic": [1, 1, 4, 2, 1, 1, 1, 1], + "Sadyllic": [1, 4, 2, 1, 1, 1, 1, 1], + "Stolyllic": [4, 1, 1, 1, 1, 1, 1, 2], + "Logyllic": [1, 1, 1, 1, 1, 1, 2, 4], + "Dacryllic": [1, 1, 1, 1, 1, 2, 4, 1], + "Thynyllic": [1, 1, 1, 1, 2, 4, 1, 1], + "Gydyllic": [1, 1, 1, 2, 4, 1, 1, 1], + "Eparyllic": [1, 1, 2, 4, 1, 1, 1, 1], + "Dynyllic": [1, 2, 4, 1, 1, 1, 1, 1], + "Ionyllic": [2, 4, 1, 1, 1, 1, 1, 1], + "Zaryllic": [3, 3, 1, 1, 1, 1, 1, 1], + "Dythyllic": [3, 1, 1, 1, 1, 1, 1, 3], + "Ionaryllic": [1, 1, 1, 1, 1, 1, 3, 3], + "Laryllic": [1, 1, 1, 1, 1, 3, 3, 1], + "Kataptyllic": [1, 1, 1, 1, 3, 3, 1, 1], + "Sonyllic": [1, 1, 1, 3, 3, 1, 1, 1], + "Pathyllic": [1, 1, 3, 3, 1, 1, 1, 1], + "Loryllic": [1, 3, 3, 1, 1, 1, 1, 1], + "Aeronyllic": [3, 2, 1, 1, 1, 1, 2, 1], + "Pycryllic": [2, 1, 1, 1, 1, 2, 1, 3], + "Mygyllic": [1, 1, 1, 1, 2, 1, 3, 2], + "Lylyllic": [1, 1, 1, 2, 1, 3, 2, 1], + "Daptyllic": [1, 1, 2, 1, 3, 2, 1, 1], + "Ioninyllic": [1, 2, 1, 3, 2, 1, 1, 1], + "Epaphyllic": [2, 1, 3, 2, 1, 1, 1, 1], + "Lolyllic": [1, 3, 2, 1, 1, 1, 1, 2], + "Stacryllic": [3, 1, 2, 1, 1, 1, 1, 2], + "Doryllic": [1, 2, 1, 1, 1, 1, 2, 3], + "Kadyllic": [2, 1, 1, 1, 1, 2, 3, 1], + "Rynyllic": [1, 1, 1, 1, 2, 3, 1, 2], + "Aerogyllic": [1, 1, 1, 2, 3, 1, 2, 1], + "Rothyllic": [1, 1, 2, 3, 1, 2, 1, 1], + "Kagyllic": [1, 2, 3, 1, 2, 1, 1, 1], + "Stathyllic": [2, 3, 1, 2, 1, 1, 1, 1], + "Thyryllic": [2, 2, 2, 2, 1, 1, 1, 1], + "Gygyllic": [2, 2, 2, 1, 1, 1, 1, 2], + "Sodyllic": [2, 2, 1, 1, 1, 1, 2, 2], + "Goryllic": [2, 1, 1, 1, 1, 2, 2, 2], + "Bothyllic": [1, 1, 1, 1, 2, 2, 2, 2], + "Gynyllic": [1, 1, 1, 2, 2, 2, 2, 1], + "Ionaptyllic": [1, 1, 2, 2, 2, 2, 1, 1], + "Phryryllic": [1, 2, 2, 2, 2, 1, 1, 1], + "Racryllic": [2, 2, 2, 1, 1, 2, 1, 1], + "Epicryllic": [2, 2, 1, 1, 2, 1, 1, 2], + "Stygyllic": [2, 1, 1, 2, 1, 1, 2, 2], + "Syryllic": [1, 1, 2, 1, 1, 2, 2, 2], + "Stythyllic": [1, 2, 1, 1, 2, 2, 2, 1], + "Aerothyllic": [2, 1, 1, 2, 2, 2, 1, 1], + "Mixoryllic": [1, 1, 2, 2, 2, 1, 1, 2], + "Thanyllic": [1, 2, 2, 2, 1, 1, 2, 1], + "Roryllic": [2, 2, 1, 1, 2, 2, 1, 1], + "Epotyllic": [2, 1, 1, 2, 2, 1, 1, 2], + "Epidyllic": [1, 1, 2, 2, 1, 1, 2, 2], + "Kaptyllic": [1, 2, 2, 1, 1, 2, 2, 1], + "MajorDimin.": [2, 1, 2, 1, 2, 1, 2, 1], + "MinorDimin.": [1, 2, 1, 2, 1, 2, 1, 2], + "Aerycrygic": [2, 2, 1, 1, 1, 2, 1, 1, 1], + "Gadygic": [2, 1, 1, 1, 2, 1, 1, 1, 2], + "Solygic": [1, 1, 1, 2, 1, 1, 1, 2, 2], + "Zylygic": [1, 1, 2, 1, 1, 1, 2, 2, 1], + "Garygic": [1, 2, 1, 1, 1, 2, 2, 1, 1], + "Sorygic": [2, 1, 1, 1, 2, 2, 1, 1, 1], + "Godygic": [1, 1, 1, 2, 2, 1, 1, 1, 2], + "Epithygic": [1, 1, 2, 2, 1, 1, 1, 2, 1], + "Ionoptygic": [1, 2, 2, 1, 1, 1, 2, 1, 1], + "Kalygic": [3, 1, 1, 2, 1, 1, 1, 1, 1], + "Ionodygic": [1, 1, 2, 1, 1, 1, 1, 1, 3], + "Bythygic": [1, 2, 1, 1, 1, 1, 1, 3, 1], + "Epygic": [2, 1, 1, 1, 1, 1, 3, 1, 1], + "Marygic": [1, 1, 1, 1, 1, 3, 1, 1, 2], + "Gaptygic": [1, 1, 1, 1, 3, 1, 1, 2, 1], + "Aeroptygic": [1, 1, 1, 3, 1, 1, 2, 1, 1], + "Mylygic": [1, 1, 3, 1, 1, 2, 1, 1, 1], + "Galygic": [1, 3, 1, 1, 2, 1, 1, 1, 1], + "Mixolydygic": [3, 1, 1, 1, 2, 1, 1, 1, 1], + "Ionycrygic": [1, 1, 1, 2, 1, 1, 1, 1, 3], + "Zoptygic": [1, 1, 2, 1, 1, 1, 1, 3, 1], + "Phrygygic": [1, 2, 1, 1, 1, 1, 3, 1, 1], + "Locrygic": [2, 1, 1, 1, 1, 3, 1, 1, 1], + "Gonygic": [1, 1, 1, 1, 3, 1, 1, 1, 2], + "Aeracrygic": [1, 1, 1, 3, 1, 1, 1, 2, 1], + "Aerathygic": [1, 1, 3, 1, 1, 1, 2, 1, 1], + "Dorygic": [1, 3, 1, 1, 1, 2, 1, 1, 1], + "Dycrygic": [3, 1, 1, 1, 1, 2, 1, 1, 1], + "Aeolygic": [1, 1, 1, 1, 2, 1, 1, 1, 3], + "Dydygic": [1, 1, 1, 2, 1, 1, 1, 3, 1], + "Tholygic": [1, 1, 2, 1, 1, 1, 3, 1, 1], + "Rynygic": [1, 2, 1, 1, 1, 3, 1, 1, 1], + "Bycrygic": [2, 1, 1, 1, 3, 1, 1, 1, 1], + "Zacrygic": [1, 1, 1, 3, 1, 1, 1, 1, 2], + "Panygic": [1, 1, 3, 1, 1, 1, 1, 2, 1], + "Dyrygic": [1, 3, 1, 1, 1, 1, 2, 1, 1], + "Loptygic": [3, 1, 1, 1, 1, 1, 2, 1, 1], + "Katylygic": [1, 1, 1, 1, 1, 2, 1, 1, 3], + "Phradygic": [1, 1, 1, 1, 2, 1, 1, 3, 1], + "Mixodygic": [1, 1, 1, 2, 1, 1, 3, 1, 1], + "Katalygic": [1, 1, 2, 1, 1, 3, 1, 1, 1], + "Katorygic": [1, 2, 1, 1, 3, 1, 1, 1, 1], + "Dogygic": [2, 1, 1, 3, 1, 1, 1, 1, 1], + "Zodygic": [1, 1, 3, 1, 1, 1, 1, 1, 2], + "Madygic": [1, 3, 1, 1, 1, 1, 1, 2, 1], + "Bagygic": [2, 2, 1, 2, 1, 1, 1, 1, 1], + "Mathygic": [2, 1, 2, 1, 1, 1, 1, 1, 2], + "Styptygic": [1, 2, 1, 1, 1, 1, 1, 2, 2], + "Zolygic": [2, 1, 1, 1, 1, 1, 2, 2, 1], + "Sydygic": [1, 1, 1, 1, 1, 2, 2, 1, 2], + "Katygic": [1, 1, 1, 1, 2, 2, 1, 2, 1], + "Zyphygic": [1, 1, 1, 2, 2, 1, 2, 1, 1], + "Aeralygic": [1, 1, 2, 2, 1, 2, 1, 1, 1], + "Ryptygic": [1, 2, 2, 1, 2, 1, 1, 1, 1], + "Apinygic": [2, 2, 1, 1, 1, 1, 1, 2, 1], + "Katagygic": [2, 1, 1, 1, 1, 1, 2, 1, 2], + "Radygic": [1, 1, 1, 1, 1, 2, 1, 2, 2], + "Gothygic": [1, 1, 1, 1, 2, 1, 2, 2, 1], + "Lythygic": [1, 1, 1, 2, 1, 2, 2, 1, 1], + "Bacrygic": [1, 1, 2, 1, 2, 2, 1, 1, 1], + "Aerygic": [1, 2, 1, 2, 2, 1, 1, 1, 1], + "Dathygic": [2, 1, 2, 2, 1, 1, 1, 1, 1], + "Boptygic": [1, 2, 2, 1, 1, 1, 1, 1, 2], + "Epyrygic": [2, 1, 2, 1, 1, 2, 1, 1, 1], + "Aeradygic": [1, 2, 1, 1, 2, 1, 1, 1, 2], + "Staptygic": [2, 1, 1, 2, 1, 1, 1, 2, 1], + "Danygic": [1, 1, 2, 1, 1, 1, 2, 1, 2], + "Goptygic": [1, 2, 1, 1, 1, 2, 1, 2, 1], + "Epocrygic": [2, 1, 1, 1, 2, 1, 2, 1, 1], + "Rocrygic": [1, 1, 1, 2, 1, 2, 1, 1, 2], + "Zyrygic": [1, 1, 2, 1, 2, 1, 1, 2, 1], + "Sadygic": [1, 2, 1, 2, 1, 1, 2, 1, 1], + "Aeolorygic": [2, 1, 2, 1, 1, 1, 2, 1, 1], + "Thydygic": [1, 2, 1, 1, 1, 2, 1, 1, 2], + "Gycrygic": [2, 1, 1, 1, 2, 1, 1, 2, 1], + "Lyrygic": [1, 1, 1, 2, 1, 1, 2, 1, 2], + "Modygic": [1, 1, 2, 1, 1, 2, 1, 2, 1], + "Katodygic": [1, 2, 1, 1, 2, 1, 2, 1, 1], + "Moptygic": [2, 1, 1, 2, 1, 2, 1, 1, 1], + "Ionocrygic": [1, 1, 2, 1, 2, 1, 1, 1, 2], + "Gocrygic": [1, 2, 1, 2, 1, 1, 1, 2, 1], + "Manygic": [4, 1, 1, 1, 1, 1, 1, 1, 1], + "Polygic": [1, 1, 1, 1, 1, 1, 1, 1, 4], + "Stanygic": [1, 1, 1, 1, 1, 1, 1, 4, 1], + "Thaptygic": [1, 1, 1, 1, 1, 1, 4, 1, 1], + "Eporygic": [1, 1, 1, 1, 1, 4, 1, 1, 1], + "Aerynygic": [1, 1, 1, 1, 4, 1, 1, 1, 1], + "Thyptygic": [1, 1, 1, 4, 1, 1, 1, 1, 1], + "Ionogygic": [1, 1, 4, 1, 1, 1, 1, 1, 1], + "Aeolarygic": [1, 4, 1, 1, 1, 1, 1, 1, 1], + "Sathygic": [3, 2, 1, 1, 1, 1, 1, 1, 1], + "Ladygic": [2, 1, 1, 1, 1, 1, 1, 1, 3], + "Sarygic": [1, 1, 1, 1, 1, 1, 1, 3, 2], + "Thacrygic": [1, 1, 1, 1, 1, 1, 3, 2, 1], + "Aeolynygic": [1, 1, 1, 1, 1, 3, 2, 1, 1], + "Thadygic": [1, 1, 1, 1, 3, 2, 1, 1, 1], + "Lynygic": [1, 1, 1, 3, 2, 1, 1, 1, 1], + "Doptygic": [1, 1, 3, 2, 1, 1, 1, 1, 1], + "Ionilygic": [1, 3, 2, 1, 1, 1, 1, 1, 1], + "Phrygic": [3, 1, 2, 1, 1, 1, 1, 1, 1], + "Aeranygic": [1, 2, 1, 1, 1, 1, 1, 1, 3], + "Dothygic": [2, 1, 1, 1, 1, 1, 1, 3, 1], + "Lydygic": [1, 1, 1, 1, 1, 1, 3, 1, 2], + "Stadygic": [1, 1, 1, 1, 1, 3, 1, 2, 1], + "Byptygic": [1, 1, 1, 1, 3, 1, 2, 1, 1], + "Stodygic": [1, 1, 1, 3, 1, 2, 1, 1, 1], + "Zynygic": [1, 1, 3, 1, 2, 1, 1, 1, 1], + "Lonygic": [1, 3, 1, 2, 1, 1, 1, 1, 1], + "Zothygic": [3, 1, 1, 1, 1, 1, 1, 2, 1], + "Aeolathygic": [1, 1, 1, 1, 1, 1, 2, 1, 3], + "Aeolocrygic": [1, 1, 1, 1, 1, 2, 1, 3, 1], + "Phroptygic": [1, 1, 1, 1, 2, 1, 3, 1, 1], + "Kodygic": [1, 1, 1, 2, 1, 3, 1, 1, 1], + "Eparygic": [1, 1, 2, 1, 3, 1, 1, 1, 1], + "Ionygic": [1, 2, 1, 3, 1, 1, 1, 1, 1], + "Gyptygic": [2, 1, 3, 1, 1, 1, 1, 1, 1], + "Aerythygic": [1, 3, 1, 1, 1, 1, 1, 1, 2], + "Aeolacrygic": [3, 1, 1, 1, 1, 1, 1, 1, 2], + "Raptygic": [1, 1, 1, 1, 1, 1, 1, 2, 3], + "Gythygic": [1, 1, 1, 1, 1, 1, 2, 3, 1], + "Pyrygic": [1, 1, 1, 1, 1, 2, 3, 1, 1], + "Rycrygic": [1, 1, 1, 1, 2, 3, 1, 1, 1], + "Phrathygic": [1, 1, 1, 2, 3, 1, 1, 1, 1], + "Badygic": [1, 1, 2, 3, 1, 1, 1, 1, 1], + "Phrocrygic": [1, 2, 3, 1, 1, 1, 1, 1, 1], + "Starygic": [2, 3, 1, 1, 1, 1, 1, 1, 1], + "Kyrygic": [2, 2, 2, 1, 1, 1, 1, 1, 1], + "Sythygic": [2, 2, 1, 1, 1, 1, 1, 1, 2], + "Katycrygic": [2, 1, 1, 1, 1, 1, 1, 2, 2], + "Tharygic": [1, 1, 1, 1, 1, 1, 2, 2, 2], + "Sylygic": [1, 1, 1, 1, 1, 2, 2, 2, 1], + "Lothygic": [1, 1, 1, 1, 2, 2, 2, 1, 1], + "Darygic": [1, 1, 1, 2, 2, 2, 1, 1, 1], + "Monygic": [1, 1, 2, 2, 2, 1, 1, 1, 1], + "Styrygic": [1, 2, 2, 2, 1, 1, 1, 1, 1], + "Porygic": [2, 2, 1, 1, 2, 1, 1, 1, 1], + "Mocrygic": [2, 1, 1, 2, 1, 1, 1, 1, 2], + "Aeolyrygic": [1, 1, 2, 1, 1, 1, 1, 2, 2], + "Barygic": [1, 2, 1, 1, 1, 1, 2, 2, 1], + "Katarygic": [2, 1, 1, 1, 1, 2, 2, 1, 1], + "Aerocrygic": [1, 1, 1, 1, 2, 2, 1, 1, 2], + "Zanygic": [1, 1, 1, 2, 2, 1, 1, 2, 1], + "Aeolonygic": [1, 1, 2, 2, 1, 1, 2, 1, 1], + "Aeolanygic": [1, 2, 2, 1, 1, 2, 1, 1, 1], + "Kaptygic": [2, 2, 1, 1, 1, 1, 2, 1, 1], + "Sacrygic": [2, 1, 1, 1, 1, 2, 1, 1, 2], + "Padygic": [1, 1, 1, 1, 2, 1, 1, 2, 2], + "Epilygic": [1, 1, 1, 2, 1, 1, 2, 2, 1], + "Kynygic": [1, 1, 2, 1, 1, 2, 2, 1, 1], + "Stophygic": [1, 2, 1, 1, 2, 2, 1, 1, 1], + "Ionidygic": [2, 1, 1, 2, 2, 1, 1, 1, 1], + "Stonygic": [1, 1, 2, 2, 1, 1, 1, 1, 2], + "Stalygic": [1, 2, 2, 1, 1, 1, 1, 2, 1], + "Koptygic": [2, 1, 2, 1, 2, 1, 1, 1, 1], + "Raphygic": [1, 2, 1, 2, 1, 1, 1, 1, 2], + "Zycrygic": [2, 1, 2, 1, 1, 1, 1, 2, 1], + "Mycrygic": [1, 2, 1, 1, 1, 1, 2, 1, 2], + "Laptygic": [2, 1, 1, 1, 1, 2, 1, 2, 1], + "Pylygic": [1, 1, 1, 1, 2, 1, 2, 1, 2], + "Rodygic": [1, 1, 1, 2, 1, 2, 1, 2, 1], + "Epolygic": [1, 1, 2, 1, 2, 1, 2, 1, 1], + "Epidygic": [1, 2, 1, 2, 1, 2, 1, 1, 1], + "Phronygic": [2, 1, 1, 2, 1, 1, 2, 1, 1], + "Stynygic": [1, 1, 2, 1, 1, 2, 1, 1, 2], + "Zydygic": [1, 2, 1, 1, 2, 1, 1, 2, 1], + "Aerycryllian": [2, 1, 1, 1, 2, 1, 1, 1, 1, 1], + "Gadyllian": [1, 1, 1, 2, 1, 1, 1, 1, 1, 2], + "Solyllian": [1, 1, 2, 1, 1, 1, 1, 1, 2, 1], + "Zyphyllian": [1, 2, 1, 1, 1, 1, 1, 2, 1, 1], + "Garyllian": [2, 1, 1, 1, 1, 1, 2, 1, 1, 1], + "Soryllian": [1, 1, 1, 1, 1, 2, 1, 1, 1, 2], + "Godyllian": [1, 1, 1, 1, 2, 1, 1, 1, 2, 1], + "Epityllian": [1, 1, 1, 2, 1, 1, 1, 2, 1, 1], + "Ionyllian": [1, 1, 2, 1, 1, 1, 2, 1, 1, 1], + "Aeoryllian": [1, 2, 1, 1, 1, 2, 1, 1, 1, 1], + "Katoryllian": [3, 1, 1, 1, 1, 1, 1, 1, 1, 1], + "Dodyllian": [1, 1, 1, 1, 1, 1, 1, 1, 1, 3], + "Zogyllian": [1, 1, 1, 1, 1, 1, 1, 1, 3, 1], + "Madyllian": [1, 1, 1, 1, 1, 1, 1, 3, 1, 1], + "Dycryllian": [1, 1, 1, 1, 1, 1, 3, 1, 1, 1], + "Aeogyllian": [1, 1, 1, 1, 1, 3, 1, 1, 1, 1], + "Dydyllian": [1, 1, 1, 1, 3, 1, 1, 1, 1, 1], + "Thogyllian": [1, 1, 1, 3, 1, 1, 1, 1, 1, 1], + "Rygyllian": [1, 1, 3, 1, 1, 1, 1, 1, 1, 1], + "Bathyllian": [1, 3, 1, 1, 1, 1, 1, 1, 1, 1], + "Sydyllian": [2, 2, 1, 1, 1, 1, 1, 1, 1, 1], + "Katogyllian": [2, 1, 1, 1, 1, 1, 1, 1, 1, 2], + "Mixodyllian": [1, 1, 1, 1, 1, 1, 1, 1, 2, 2], + "Aeradyllian": [1, 1, 1, 1, 1, 1, 1, 2, 2, 1], + "Ryptyllian": [1, 1, 1, 1, 1, 1, 2, 2, 1, 1], + "Loptyllian": [1, 1, 1, 1, 1, 2, 2, 1, 1, 1], + "Kataphyllian": [1, 1, 1, 1, 2, 2, 1, 1, 1, 1], + "Phradyllian": [1, 1, 1, 2, 2, 1, 1, 1, 1, 1], + "Dagyllian": [1, 1, 2, 2, 1, 1, 1, 1, 1, 1], + "Katyllian": [1, 2, 2, 1, 1, 1, 1, 1, 1, 1], + "Gothyllian": [2, 1, 2, 1, 1, 1, 1, 1, 1, 1], + "Lythyllian": [1, 2, 1, 1, 1, 1, 1, 1, 1, 2], + "Bacryllian": [2, 1, 1, 1, 1, 1, 1, 1, 2, 1], + "Aerygyllian": [1, 1, 1, 1, 1, 1, 1, 2, 1, 2], + "Dathyllian": [1, 1, 1, 1, 1, 1, 2, 1, 2, 1], + "Boptyllian": [1, 1, 1, 1, 1, 2, 1, 2, 1, 1], + "Bagyllian": [1, 1, 1, 1, 2, 1, 2, 1, 1, 1], + "Mathyllian": [1, 1, 1, 2, 1, 2, 1, 1, 1, 1], + "Styptyllian": [1, 1, 2, 1, 2, 1, 1, 1, 1, 1], + "Zolyllian": [1, 2, 1, 2, 1, 1, 1, 1, 1, 1], + "Staptyllian": [2, 1, 1, 2, 1, 1, 1, 1, 1, 1], + "Danyllian": [1, 1, 2, 1, 1, 1, 1, 1, 1, 2], + "Goptyllian": [1, 2, 1, 1, 1, 1, 1, 1, 2, 1], + "Epocryllian": [2, 1, 1, 1, 1, 1, 1, 2, 1, 1], + "Rocryllian": [1, 1, 1, 1, 1, 1, 2, 1, 1, 2], + "Zyryllian": [1, 1, 1, 1, 1, 2, 1, 1, 2, 1], + "Sagyllian": [1, 1, 1, 1, 2, 1, 1, 2, 1, 1], + "Epinyllian": [1, 1, 1, 2, 1, 1, 2, 1, 1, 1], + "Katagyllian": [1, 1, 2, 1, 1, 2, 1, 1, 1, 1], + "Ragyllian": [1, 2, 1, 1, 2, 1, 1, 1, 1, 1], + "Thydyllian": [2, 1, 1, 1, 1, 2, 1, 1, 1, 1], + "Epiryllian": [1, 1, 1, 1, 2, 1, 1, 1, 1, 2], + "Lyryllian": [1, 1, 1, 2, 1, 1, 1, 1, 2, 1], + "Mogyllian": [1, 1, 2, 1, 1, 1, 1, 2, 1, 1], + "Katodyllian": [1, 2, 1, 1, 1, 1, 2, 1, 1, 1], + "Aerycratic": [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + "Monatic": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2], + "Solatic": [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1], + "Zylatic": [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1], + "Mixolatic": [1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1], + "Soratic": [1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1], + "Godatic": [1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1], + "Eptatic": [1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1], + "Ionatic": [1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1], + "Aeolatic": [1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1], + "Thydatic": [1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1], + "Chromatic": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + } + return all_scales + +SCALES = __build_scales() def __build_chords(): major = [0, 4, 7] diff --git a/ziffers/scale.py b/ziffers/scale.py index 9b50c4d..38c1113 100644 --- a/ziffers/scale.py +++ b/ziffers/scale.py @@ -77,9 +77,20 @@ def get_scale(name: str) -> list[int]: Returns: list: List of intervals in the scale """ - scale = SCALES.get(name.lower().capitalize(), SCALES["Chromatic"]) - return list(map(int, str(scale))) + scale = SCALES.get(name.lower().capitalize(), SCALES["Ionian"]) + return scale +def get_scale_length(name: str) -> int: + """Get length of the scale + + Args: + name (str): Name of the scale + + Returns: + int: Length of the scale + """ + scale = SCALES.get(name.lower().capitalize(), SCALES["Ionian"]) + return len(scale) # pylint: disable=locally-disabled, too-many-arguments def note_from_pc( @@ -186,7 +197,7 @@ def midi_to_tpc(note: int, key: str | int): _type_: Tonal Pitch Class value for the note """ if isinstance(key, str): - acc = accidentals_from_note_name(key) + acc = accidentals_from_note_name(key[0]) else: acc = accidentals_from_midi_note(key) return (note * 7 + 26 - (11 + acc)) % 12 + (11 + acc)