Traditional Set List

Three times now I've been a folk musician for folk dances, and I've even made some money. It's pretty cool. Here are some songs in my repertoire that my bandmates also knew, and which can either be cast into an A section and B section, each sixteen bars, or which are nice slow unstructured waltzes that don't need a caller.

* Angeline The Baker

* Ashokan Farewell - Jay Ungar

* Bill Sullivan's Polka

* Goin' Down To Cairo

* Golden Slippers

* Harvest Home

* Hull's Victory

* John Ryan's Polka

* La Bastringue

* Liberty

* Nail That Catfish To A Tree

* Nonesuch

* Oh! Susanna

* Old Joe Clark

* Over The Waterfall

* Red Haired Boy

* Soldier's Joy

* St. Anne's Reel

* Swallowtail Jig

* The Ash Grove

* The Britches Full Of Stitches

* The Irish Washerwoman

* The Kesh Jig

* The Log Driver's Waltz - Wade Hemsworth

* The Lover's Waltz - Jay Unger and Molly Mason

* The Mason's Apron

* The Red Haired Boy

* The Tennessee Waltz

* The Yellow Rose Of Texas

* Whiskey Before Breakfast

* Zemer Atik (Nigun Atik)

It's kind of weird to me how this list is becoming its own genre in my mind. Like, there are many, many more folk and traditional songs I know, but I don't know how well they work at dances.

Here are a few folk and traditional songs that I like a lot and hope could be made to work for dances, but I don't know.

* 500 Miles - Hedy West

* A Drop of Nelson's Blood (Roll The Old Chariot Along)

* A La Claire Fontaine

* Abide With Me

* All For Me Grog

* Angel from Montgomery – John Prine

* Barrett's Privateers - Stan Rogers

* Black Is The Colour

* Blow the Man Down

* Bonny At Morn

* Buy Broom Buzzems

* Ca' The Yowes

* Changes – Phil Ochs

* Cherry Ripe

* City of New Orleans – Steve Goodman

* Come All Ye Fair and Tender Ladies

* Cripple Creek

* Don't Think Twice – Bob Dylan

* Down By Blackwaterside

* Down By The Salley Gardens

* Early One Morning

* Gentle On My Mind – John Hartford

* Go 'Way From My Window

* Goober Peas

* Greensleeves

* House of the Rising Sun

* I Am A Poor Wayfaring Stranger

* I Bought Me A Cat

* I Gave My Love A Cherry

* I Wonder As I Wander

* If I  Needed You – Townes Van Zandt

* If I Had a Hammer – Pete Seeger

* My Heart's In The Highlands

* My Rifle, My Pony, and Me - Dimitri Tiomkin

* Northwest Passage - Stan Rogers

* Oh My Darling, Clementine

* Old Rosin, The Beau

* Paradise – John Prine

* Red River Valley

* Reynardine

* Scarborough Fair

* She Moved Through The Fair

* Someday Soon – Ian and Sylvia

* South Australia

* Spanish Ladies

* Star Of The County Down

* Tam Lin

* The Blackfly Song - Wade Hemsworth

* The Bonny Boy Is Lang Lang A-Growin / The Trees They Do Grow High

* The Cliffs of Old Tynemouth

* The Dutchman - Steve Goodman

* The Hills Of Connemara

* The Holy Ground

* The Idiot - Stan Rogers

* The Mary Ellen Carter - Stan Rogers

* The Night They Drove Old Dixie Down - The Band

* The Rare Old Mountain Dew

* The Water is Wide

* Tim Finnegan's Wake

* To the Begging I Will Go - Ewan MacColl

* V'la L'Bon Vent

* Way Up On Clinch Mountain (Rye Whiskey)

* When I'm Gone - Phil Ochs

* Wild Mountain Thyme

Melodic Space Identification in Five Limit Just Intonation: Mode Intersection, Harmonic Chromaticism, and Tonal Continuation

When composing in five-limit just intonation, it's fashionable to allow some comma-drift of the tonal center throughout the piece in order to accommodate purer harmony at individual moments. I find this quite beautiful. This process of accepting tonal drift by small commas to safeguard momentary harmony is also done naturally on-the-fly by acapella choirs, whose members tune their voices to themselves, instead of to a fixed instrument. This is one of many reasons why I claim, with low confidence, that five-limit just intonation is the One True Way: it allows us to represent beautiful comma-drift that supports pure harmony, the way I like to compose, and the way that skilled choirs naturally sing and want to sound.

Suppose we've drifted to a chord like  [GrGrGrAAA6, GrGrGrAAA8, GrGrGrAAA10, GrGrGrAAA15]. If we subtract out the root interval from all the intervals, then we see that this is a familiar chord: [P1, m3, P5, m10], which is just a minor triad with a doubled third.

Suppose we have a sequence of vertically-voiced chords that have beautiful harmony, and there are fluid transitions between them that support good voice-leading. How do we write melodic lines over these chords? "Use chords tones on strong beats and notes from the key scale on weak beats" is a less useful adage when we have comma drift and the tonal center and key aren't totally apparent.

I've got three tricks: Mode Intersection, Harmonic Chromaticism, and Tonal Continuation. I've tried two of them with moderate success, and I wanted to write about all three of them a little bit before I go too deep down the rabbit hole.

:: Trick 1: Mode Intersection: 

Here are the diatonic modes in five-limit just intonation:

I: [P1, M2, M3, P4, P5, M6, M7], # Ionian
II: [P1, AcM2, m3, Ac4, P5, AcM6, m7], # Dorian
III: [P1, m2, m3, P4, P5, m6, Grm7], # Phrygian
IV: [P1, AcM2, M3, AcA4, P5, M6, M7], # Lydian
V: [P1, M2, M3, P4, Gr5, M6, Grm7], # Mixolydian
VI: [P1, AcM2, m3, P4, P5, m6, m7], # Aeolian
VII: [P1, m2, Grm3, P4, Grd5, m6, Grm7], # Locrian

If we have a chord like [P1, m3, m6], we can look to see what diatonic modes are consistent with this chord, meaning the chord tones are a subset of the mode intervals.

III: [P1, m2, m3, P4, P5, m6, Grm7], # Phrygian
VI: [P1, AcM2, m3, P4, P5, m6, m7], # Aeolian

Mode III (Phrygian) and mode VI (Aeolian) are perfect matches. Mode VII is also a close match: because it has Grm3 instead of m3, we can say that the VII mode is an enharmonic-match in tuning systems which temper out the acute unison, i.e. meantone tuning systems. But I'm not working in meantone right now, I'm doing pure just 5-limit harmony, so for now, there are only two consistent diatonic modes with the chord [P1, m3, m6].

We write melodies over the chord using either of these modes. I think it's more conservation to use the intersection of all the modes that are consistent with a chord. Since Phrygian and Aeolian have different 2nd and 7th intervals, we don't know what kind of 2nd or 7th to play over the chord, but we can say that [P1, m3, P4, P5, m6] are all usable intervals over the root of the chord. We have identified a melodic space by taking the intersection of diatonic modes consistent with a chord.

Sometimes, there won't be any modes that are consistent with a weird chord. In such cases, the intersection of consistent modes will be an empty set, but you can still use the chord tones.

: Trick 2: Harmonic Chromaticism

It's good that we have chord tones and that we can sometimes augment them with tones from the intersection of consistent diatonic modes. But we really want a full scale to compose over: seven notes. And if we don't have that, then what do we do? How do we fill out the scale a little more?

:: Trick 2: Harmonic Chromaticism

Another trick that I've tried to to start with a chromatic scale, 
    [P1, m2, M2, m3, M3, P4, d5, P5, m6, M6, m7, M7]

and see whether any intervals from it have good harmony with *all* of the chord tones. There are lots of measures of harmony, but one I've frequently used when composing in 5-limit just intonation is this: find harmonic interval between a chromatic candidate and chord tone. Check that the harmonic interval comes from the set [m, M, P, Grm, AcM]. If any harmonic interval does not come from that set, then the chromatic candidate has bad harmony.

Sometimes this procedure will tell you that m6 and M6 are both good additions. Sometimes it will tell you that there are no good additions to a simple chord like dim7. Sometimes it will fail to suggest that a chord identified as, oh, dim(b13)(no 3) might sound fine if you put the minor 3rd back in. Sometimes it will tell you that "m7" is a good addition when the mode intersection procedure told you to use Grm7. It's kind of a mess.

My best procedure is this: start by taking the union of the (chord tones) and (the intersection and consistent modes). Call this the usable melodic space. Then find the chromatic candidates that have good harmony with all of the chord tones. Add a chromatic candidate into the usable melodic space only if the melodic space doesn't already have an interval with that ordinal and if the chromatic candidate set doesn't have multiple intervals with that ordinal.

Those are a lot of constraints, but sometimes they help you to fill out your scale a little bit.

Just as a refresher, two intervals will have the same ordinal if they have the same d2 component, which is one of many, many reasons why I like using Lilley's (Ac1, A1, d2) basis for representing intervals in coordinates when I compose.

Let's look briefly at an example.

If we start with the chord [P1, d5, m6], there aren't any consistent diatonic modes, but we can add [m3, m7] as valid chromatic candidates that have good harmony with the others. And now we've got 5 notes instead of 3 to work with. Almost a full scale. And a pretty reasonable one.

:: Trick 3: Tonal Continuation

The next part, I haven't programmed yet. I hope it will sound good. I'm pretty sure it will.

Suppose you have a D.m chord and wondering what notes you're allowed to use melodically over the D.m chord.

The D minor chord could come from a C major scale or one of its modes, which have these notes:

    [C, D, E, F, G, A, B, C]

It could also come from a F major scale or one of its modes, which have these notes:
  
  [F, G-, A, Bb-, C, D, E, F]

So how should we know what kind of B and G to use over D minor? No way that I see given just this information. But what if we use tones from the previous chord, when there is one? Suppose the previous chord was C.maj. If we also use C.maj chord tones over a D minor chord, that'll be a fine continuation of the previous musical structure. Our piece will have some momentum. In fact, why not use the penultimate chord too, when it has sometimes to say? I propose we keep updating a record of the most recent pitch letter that was most recently usable. This will be the scale or key of the song. It won't be fixed and that's fine. When a new scale has a new kind of F pitch, then you update the song's scale with the new F pitch. If you want to update the scale with notes you found by mode union or harmonic chromaticism, you can do that too. But however you occupy it, you've got a scale that you bring with you and build on with each new chord.

I'm sure I want to use mode intersection in combination with tonal continuation. I'll have to investigate whether adding in harmonic chromaticism improves or degrades the beauty of pieces that also use the other two melodic space identification methods.

In so far as a drifting piece in five-limit just-intonation has a tonal-center at each moment, I think the observation that "successive chords sometimes have shared elements in their implied melodic spaces" is a fine starting point for identifying that tonal center.

By keeping a running record of the melodic space, updated with the introduction of each new chord, we can have a fully occupied list of intervals with d2 component 0 to 7: a full scale. And scales are *great*. They let you move reliably by fluid 2nd intervals. They let you transpose melodic ideas; if you can play a tidy melody in one spot, but you have a big gap in your scale, then you won't be able to play a similar melody around the big gap. If you can't transpose melodic ideas through a scale, that means you have fewer opportunities for repeated structure, like conversation between voices. It's hard to have points and counterpoints if you don't have a scale. That's why I think all of this is worth the effort. All the intervals comparison ends up being a lot of math, but it lets you write structured melodies given beautiful vertically-voiced chords and a drifting sequence between them.

Let's do a quick example. We start with a C major chord,  [P1, M3, P5]. From the intersection of modes we get a melodic space of [P1, M3, P5, M6, M7]. Using chromatic candidates with good harmony to all of the chord tones, we can also add P4:

    [P1, ?, M3, P4, P5, M6, M7]

Next we get a D minor chord. A minor chord over P1 is [P1, m3, P5]. From the intersection of consistent diatonic modes, we can add  [m7]. From harmonic chromatics, we can add [P4, m6]. The full melodic space relative to the root is [P1, ?, m3, P4, P5, m6, m7]. D is a major second over C, so we add M2 to each interval and we get a melodic space for a D minor chord, 

    [M2, ?, P4, Gr5, M6, Grm7, P1]

Let's use tonal continuation and update the previous melodic space with this one:

    [P1, M2, M3, P4, Gr5, M6, Grm7] -> [C, D, E, F, G-, A, Bb-]
    
It looks a  little weird, doesn't it? [Gr5, Grm7] came about as [P4 + M2, m6 + M2]. This is actually the normal 5-limit spelling of an F major scale and all its diatonic modes, like D minor. So we haven't done *too* badly. But it's still a little weird. I think we were all expecting a regular C major scale to fall out. Let's see what happens if we ignore the chromatics. Then our melodic space relative to C is [M2, P4, M6, P1]. And if we update the melodic space from C major with this, then we get
 
    [P1, M2, M3, P4, P5, M6, M7]

The normal thing. So both methods clearly have merit. My guess is that composing without harmonic chromaticism will sound better, but I'm definitely going to try it both ways to see.

Without using Harmonic Chromaticism, here's a sequence of song scales that update as I play new chords linked to the previous ones by fluid steps:

    [P1, M2, M3, P4, P5, M6, M7]
    [P1, m2, M3, P4, P5, M6, Grm7]
    [P1, m2, Grm3, P4, Grd5, M6, Grm7]
    [Grd1, m2, Grm3, P4, Grd5, Grm6, Grm7]
    [Grd1, m2, Grm3, P4, Grd5, m6, Grm7]
    [P1, m2, m3, P4, P5, m6, Grm7]

And here's a sequence of scales from another song, with corresponding pitches written in:
[P1, M2, M3, P4, P5, M6, M7] : [C, D, E, F, G, A, B]
[A1, AcA2, M3, P4, A5, M6, M7] : [C#, D#+, E, F, G#, A, B]
[A1, AcM2, M3, AcA4, A5, AcM6, M7] : [C#, D+, E, F#+, G#, A+, B]
[P1, AcM2, M3, AcA4, A5, M6, M7] : [C, D+, E, F#+, G#, A, B]
[P1, AcM2, M3, AcA4, P5, M6, M7] : [C, D+, E, F#+, G, A, B]
[AcAcA1, AcAcA2, M3, AcAcA4, P5, AcAcA6, M7] : [C#++, D#++, E, F#++, G, A#++, B]
[AcAcA1, AcAcA2, AcAcM3, AcAcA4, AcAcA5, AcAcM6, M7] : [C#++, D#++, E++, F#++, G#++, A++, B]
[AcAcA1, AcAcA2, AcAcM3, AcAcA4, AcAcA5, AcAcM6, AcAcM7] : [C#++, D#++, E++, F#++, G#++, A++, B++]
[AcAcA1, AcAcM2, AcAcM3, AcAcA4, AcAcA5, AcAcM6, AcM7] : [C#++, D++, E++, F#++, G#++, A++, B+]
[AcAcA1, AcM2, AcAcM3, Ac4, P5, AcAcM6, m7] : [C#++, D+, E++, F+, G, A++, Bb]
[P1, AcM2, M3, Ac4, P5, M6, m7] : [C, D+, E, F+, G, A, Bb]

Here are the chords that generated that sequence of scales:
    > [P1, P5, M10, P15] ; [P1, P5, M10, P15] ;; [P1, M3, P5]
> [P1, M6, M10, P15] ; [P1, M6, M10, P15] ;; [P1, M3, M6]
> [M2, M6, P11, M13] ; [P1, P5, m10, P12] ;; [P1, m3, P5]
> [P4, P8, M13, P15] ; [P1, P5, M10, P12] ;; [P1, M3, P5]
> [M3, M7, A12, M14] ; [P1, P5, M10, P12] ;; [P1, M3, P5]
> [M7, AcM9, M14, AcA18] ; [P1, m3, P8, P12] ;; [P1, m3, P5]
> [P8, M10, P15, M17] ; [P1, M3, P8, M10] ;; [P1, M3]
> [M6, M10, P15, M17] ; [P1, P5, m10, P12] ;; [P1, m3, P5]
> [P8, M10, P15, M17] ; [P1, M3, P8, M10] ;; [P1, M3]
> [M7, P12, M14, AcM16] ; [P1, m6, P8, m10] ;; [P1, m3, m6]
> [AcAcA9, AcAcA11, AcAcA16, AcAcA18] ; [P1, m3, P8, m10] ;; [P1, m3]
> [AcAcA8, AcAcM13, AcAcA15, AcAcM17] ; [P1, m6, P8, m10] ;; [P1, m3, m6]
> [AcAcA8, AcAcM10, AcAcA15, AcAcM17] ; [P1, m3, P8, m10] ;; [P1, m3]
> [AcM7, AcAcM9, AcAcA11, AcAcM16] ; [P1, m3, P5, m10] ;; [P1, m3, P5]
> [P5, m7, AcM9, m14] ; [P1, m3, P5, m10] ;; [P1, m3, P5]
> [M3, P8, M10, P15] ; [P1, m6, P8, m13] ;; [P1, m6]
> [M2, M6, A11, M13] ; [P1, P5, M10, P12] ;; [P1, M3, P5]

I've got the chord listed, then the rooted chord (found by subtracting the first interval from all the chord tones), and then the reduced rooted chord (which is found by adding or removing octaves to all the rooted chord tones until they're in the range [P1, P8) and then reordering by just frequency ratio).

-

Update: A funny thing about not using harmonic chromaticism, is that you can have a chord sequence that loops from, say, C maj back to C maj, and running tally of the song won't always be a C major scale when you get back home. I don't know if it will be when you *do* use harmonic chromaticism either, but there's clearly some more work I need to do.

...

I had a new idea. Possibly the same as an old idea. If I update the melodic space when I get a new chord, that's a little scale. And I want to be able to write melodies in that space. And I want the melodies to be fluid / fluent. So if you play through the melodic scale at a moment, that should produce a melodic line that only has fluent intervals. And you can use whatever intervals you want there: but by deciding on a set, you restrict the possible space of melodic spaces.

Like say that I only want [Grm2, m2, M2, AcM2] as fluent melodic intervals in ascending 5-limit diatonic scales. I start with chord tones and mode intersection. I might use harmonic chromaticism. I'll definitely use tonal continuation. But if any of the notes found by harmonic chromaticism or tonal continuation are not fluent with the chord tones or tones found by mode intersection, then I don't think I want to use them. What's the opposite of fluidity or fluency? I'll think more about it, but let's pretend it's turbidity for a second. A turbid melodic scale will make turbid melodies. No bueno.

...

Modes: Just and Pythagorean

Diatonic modes spelled by seconds:

Just I: [P1, M2, M3, P4, P5, M6, M7], # Ionian
Just II: [P1, AcM2, m3, Ac4, P5, AcM6, m7], # Dorian
Just III: [P1, m2, m3, P4, P5, m6, Grm7], # Phrygian
Just IV: [P1, AcM2, M3, AcA4, P5, M6, M7], # Lydian
Just V: [P1, M2, M3, P4, Gr5, M6, Grm7], # Mixolydian
Just VI: [P1, AcM2, m3, P4, P5, m6, m7], # Aeolian
Just VII: [P1, m2, Grm3, P4, Grd5, m6, Grm7], # Locrian

Pythagorean I: [P1, AcM2, AcM3, P4, P5, AcM6, AcM7], # Ionian
Pythagorean II: [P1, AcM2, Grm3, P4, P5, AcM6, Grm7], # Dorian
Pythagorean III: [P1, Grm2, Grm3, P4, P5, Grm6, Grm7], # Phrygian
Pythagorean IV: [P1, AcM2, AcM3, AcAcA4, P5, AcM6, AcM7], # Lydian
Pythagorean V: [P1, AcM2, AcM3, P4, P5, AcM6, Grm7], # Mixolydian
Pythagorean VI: [P1, AcM2, Grm3, P4, P5, Grm6, Grm7], # Aeolian
Pythagorean VII: [P1, Grm2, Grm3, P4, GrGrd5, Grm6, Grm7], # Locrian

The same modes spelled by thirds:

Just I: [P1, M3, P5, M7, M9, P11, M13], # Ionian
Just II: [P1, m3, P5, m7, AcM9, Ac11, AcM13], # Dorian
Just III: [P1, m3, P5, Grm7, m9, P11, m13], # Phrygian
Just IV: [P1, M3, P5, M7, AcM9, AcA11, M13], # Lydian
Just V: [P1, M3, Gr5, Grm7, M9, P11, M13], # Mixolydian
Just VI: [P1, m3, P5, m7, AcM9, P11, m13], # Aeolian
Just VII: [P1, Grm3, Grd5, Grm7, m9, P11, m13], # Locrian

Pythagorean I: [P1, AcM3, P5, AcM7, AcM9, P11, AcM13], # Ionian
Pythagorean II: [P1, Grm3, P5, Grm7, AcM9, P11, AcM13], # Dorian
Pythagorean III: [P1, Grm3, P5, Grm7, Grm9, P11, Grm13], # Phrygian
Pythagorean IV: [P1, AcM3, P5, AcM7, AcM9, AcAcA11, AcM13], # Lydian
Pythagorean V: [P1, AcM3, P5, Grm7, AcM9, P11, AcM13], # Mixolydian
Pythagorean VI: [P1, Grm3, P5, Grm7, AcM9, P11, Grm13], # Aeolian
Pythagorean VII: [P1, Grm3, GrGrd5, Grm7, Grm9, P11, Grm13], # Locrian

.

Silly Tertian Chords

Previously: Chords Again

I've written multiple times in the past about naming tertian chords. I've been revisiting and expanding the program I use to do that, and in the process, I came up with some new silly chord names. In particular, here are tertian chord names for chords that don't have a 3rd of a 5th or both. I think for the most part, if a chord is identified as any of these, then it would be better to say, "There's such chord. This thing doesn't have a name. Go away Do better." or else there's a more sensible name and that one should be returned instead. But if you still want a silly name for the edge cases, then I guess I've got you covered.

[P1, A5, A11, M13]: ".aug#11(add13)(no 3)",
[P1, A5, A11, m13]: ".aug#11b13(no 3)",
[P1, A5, A11]: ".aug#11(no 3)",
[P1, A5, A9, A11, M13]: ".aug#9#11(add13)(no 3)",
[P1, A5, A9, A11, m13]: ".aug#9#11b13(no 3)",
[P1, A5, A9, A11]: ".aug#9#11(no 3)",
[P1, A5, A9, M13]: ".aug#9(add13)(no 3)",
[P1, A5, A9, P11, M13]: ".aug#9(add11)(add13)(no 3)",
[P1, A5, A9, P11, m13]: ".aug#9(add11)b13(no 3)",
[P1, A5, A9, P11]: ".aug#9(add11)(no 3)",
[P1, A5, A9, m13]: ".aug#9b13(no 3)",
[P1, A5, A9]: ".aug#9(no 3)",
[P1, A5, M13]: ".aug(add13)(no 3)",
[P1, A5, M7, A11, M13]: ".aug-maj7#11(add13)(no 3)",
[P1, A5, M7, A11, m13]: ".aug-maj7#11b13(no 3)",
[P1, A5, M7, A11]: ".aug-maj7#11(no 3)",
[P1, A5, M7, A9, A11, M13]: ".aug-maj13#9#11(no 3)",
[P1, A5, M7, A9, A11, m13]: ".aug-maj7#9#11b13(no 3)",
[P1, A5, M7, A9, A11]: ".aug-maj7#9#11(no 3)",
[P1, A5, M7, A9, M13]: ".aug-maj7#9(add13)(no 3)",
[P1, A5, M7, A9, P11, M13]: ".aug-maj13#9(no 3)",
[P1, A5, M7, A9, P11, m13]: ".aug-maj11#9b13(no 3)",
[P1, A5, M7, A9, P11]: ".aug-maj11#9(no 3)",
[P1, A5, M7, A9, m13]: ".aug-maj7#9b13(no 3)",
[P1, A5, M7, A9]: ".aug-maj7#9(no 3)",
[P1, A5, M7, M13]: ".aug-maj7(add13)(no 3)",
[P1, A5, M7, M9, A11, M13]: ".aug-maj13#11(no 3)",
[P1, A5, M7, M9, A11, m13]: ".aug-maj9#11b13(no 3)",
[P1, A5, M7, M9, A11]: ".aug-maj9#11(no 3)",
[P1, A5, M7, M9, M13]: ".aug-maj9(add13)(no 3)",
[P1, A5, M7, M9, P11, M13]: ".aug-maj13(no 3)",
[P1, A5, M7, M9, P11, m13]: ".aug-maj11b13(no 3)",
[P1, A5, M7, M9, P11]: ".aug-maj11(no 3)",
[P1, A5, M7, M9, m13]: ".aug-maj9b13(no 3)",
[P1, A5, M7, M9]: ".aug-maj9(no 3)",
[P1, A5, M7, P11, M13]: ".aug-maj7(add11)(add13)(no 3)",
[P1, A5, M7, P11, m13]: ".aug-maj7(add11)b13(no 3)",
[P1, A5, M7, P11]: ".aug-maj7(add11)(no 3)",
[P1, A5, M7, m13]: ".aug-maj7b13(no 3)",
[P1, A5, M7, m9, A11, M13]: ".aug-maj13b9#11(no 3)",
[P1, A5, M7, m9, A11, m13]: ".aug-maj7b9#11b13(no 3)",
[P1, A5, M7, m9, A11]: ".aug-maj7b9#11(no 3)",
[P1, A5, M7, m9, M13]: ".aug-maj7b9(add13)(no 3)",
[P1, A5, M7, m9, P11, M13]: ".aug-maj13b9(no 3)",
[P1, A5, M7, m9, P11, m13]: ".aug-maj11b9b13(no 3)",
[P1, A5, M7, m9, P11]: ".aug-maj11b9(no 3)",
[P1, A5, M7, m9, m13]: ".aug-maj7b9b13(no 3)",
[P1, A5, M7, m9]: ".aug-maj7b9(no 3)",
[P1, A5, M7]: ".aug-maj7(no 3)",
[P1, A5, M9, A11, M13]: ".aug(add9)#11(add13)(no 3)",
[P1, A5, M9, A11, m13]: ".aug(add9)#11b13(no 3)",
[P1, A5, M9, A11]: ".aug(add9)#11(no 3)",
[P1, A5, M9, M13]: ".aug(add9)(add13)(no 3)",
[P1, A5, M9, P11, M13]: ".aug(add9)(add11)(add13)(no 3)",
[P1, A5, M9, P11, m13]: ".aug(add9)(add11)b13(no 3)",
[P1, A5, M9, P11]: ".aug(add9)(add11)(no 3)",
[P1, A5, M9, m13]: ".aug(add9)b13(no 3)",
[P1, A5, M9]: ".aug(add9)(no 3)",
[P1, A5, P11, M13]: ".aug(add11)(add13)(no 3)",
[P1, A5, P11, m13]: ".aug(add11)b13(no 3)",
[P1, A5, P11]: ".aug(add11)(no 3)",
[P1, A5, m13]: ".augb13(no 3)",
[P1, A5, m7, A11, M13]: ".aug7#11(add13)(no 3)",
[P1, A5, m7, A11, m13]: ".aug7#11b13(no 3)",
[P1, A5, m7, A11]: ".aug7#11(no 3)",
[P1, A5, m7, A9, A11, M13]: ".aug13#9#11(no 3)",
[P1, A5, m7, A9, A11, m13]: ".aug7#9#11b13(no 3)",
[P1, A5, m7, A9, A11]: ".aug7#9#11(no 3)",
[P1, A5, m7, A9, M13]: ".aug7#9(add13)(no 3)",
[P1, A5, m7, A9, P11, M13]: ".aug13#9(no 3)",
[P1, A5, m7, A9, P11, m13]: ".aug11#9b13(no 3)",
[P1, A5, m7, A9, P11]: ".aug11#9(no 3)",
[P1, A5, m7, A9, m13]: ".aug7#9b13(no 3)",
[P1, A5, m7, A9]: ".aug7#9(no 3)",
[P1, A5, m7, M13]: ".aug7(add13)(no 3)",
[P1, A5, m7, M9, A11, M13]: ".aug13#11(no 3)",
[P1, A5, m7, M9, A11, m13]: ".aug9#11b13(no 3)",
[P1, A5, m7, M9, A11]: ".aug9#11(no 3)",
[P1, A5, m7, M9, M13]: ".aug9(add13)(no 3)",
[P1, A5, m7, M9, P11, M13]: ".aug13(no 3)",
[P1, A5, m7, M9, P11, m13]: ".aug11b13(no 3)",
[P1, A5, m7, M9, P11]: ".aug11(no 3)",
[P1, A5, m7, M9, m13]: ".aug9b13(no 3)",
[P1, A5, m7, M9]: ".aug9(no 3)",
[P1, A5, m7, P11, M13]: ".aug7(add11)(add13)(no 3)",
[P1, A5, m7, P11, m13]: ".aug7(add11)b13(no 3)",
[P1, A5, m7, P11]: ".aug7(add11)(no 3)",
[P1, A5, m7, m13]: ".aug7b13(no 3)",
[P1, A5, m7, m9, A11, M13]: ".aug13b9#11(no 3)",
[P1, A5, m7, m9, A11, m13]: ".aug7b9#11b13(no 3)",
[P1, A5, m7, m9, A11]: ".aug7b9#11(no 3)",
[P1, A5, m7, m9, M13]: ".aug7b9(add13)(no 3)",
[P1, A5, m7, m9, P11, M13]: ".aug13b9(no 3)",
[P1, A5, m7, m9, P11, m13]: ".aug11b9b13(no 3)",
[P1, A5, m7, m9, P11]: ".aug11b9(no 3)",
[P1, A5, m7, m9, m13]: ".aug7b9b13(no 3)",
[P1, A5, m7, m9]: ".aug7b9(no 3)",
[P1, A5, m7]: ".aug7(no 3)",
[P1, A5, m9, A11, M13]: ".augb9#11(add13)(no 3)",
[P1, A5, m9, A11, m13]: ".augb9#11b13(no 3)",
[P1, A5, m9, A11]: ".augb9#11(no 3)",
[P1, A5, m9, M13]: ".augb9(add13)(no 3)",
[P1, A5, m9, P11, M13]: ".augb9(add11)(add13)(no 3)",
[P1, A5, m9, P11, m13]: ".augb9(add11)b13(no 3)",
[P1, A5, m9, P11]: ".augb9(add11)(no 3)",
[P1, A5, m9, m13]: ".augb9b13(no 3)",
[P1, A5, m9]: ".augb9(no 3)",
[P1, A5]: ".aug(no 3)",
[P1, M3, A11, M13]: ".maj#11(add13)(no 5)",
[P1, M3, A11, m13]: ".maj#11b13(no 5)",
[P1, M3, A11]: ".maj#11(no 5)",
[P1, M3, A9, A11, M13]: ".maj#9#11(add13)(no 5)",
[P1, M3, A9, A11, m13]: ".maj#9#11b13(no 5)",
[P1, M3, A9, A11]: ".maj#9#11(no 5)",
[P1, M3, A9, M13]: ".maj#9(add13)(no 5)",
[P1, M3, A9, P11, M13]: ".maj#9(add11)(add13)(no 5)",
[P1, M3, A9, P11, m13]: ".maj#9(add11)b13(no 5)",
[P1, M3, A9, P11]: ".maj#9(add11)(no 5)",
[P1, M3, A9, m13]: ".maj#9b13(no 5)",
[P1, M3, A9]: ".maj#9(no 5)",
[P1, M3, M13]: ".maj(add13)(no 5)",
[P1, M3, M7, A11, M13]: ".maj7#11(add13)(no 5)",
[P1, M3, M7, A11, m13]: ".maj7#11b13(no 5)",
[P1, M3, M7, A11]: ".maj7#11(no 5)",
[P1, M3, M7, A9, A11, M13]: ".maj13#9#11(no 5)",
[P1, M3, M7, A9, A11, m13]: ".maj7#9#11b13(no 5)",
[P1, M3, M7, A9, A11]: ".maj7#9#11(no 5)",
[P1, M3, M7, A9, M13]: ".maj7#9(add13)(no 5)",
[P1, M3, M7, A9, P11, M13]: ".maj13#9(no 5)",
[P1, M3, M7, A9, P11, m13]: ".maj11#9b13(no 5)",
[P1, M3, M7, A9, P11]: ".maj11#9(no 5)",
[P1, M3, M7, A9, m13]: ".maj7#9b13(no 5)",
[P1, M3, M7, A9]: ".maj7#9(no 5)",
[P1, M3, M7, M13]: ".maj7(add13)(no 5)",
[P1, M3, M7, M9, A11, M13]: ".maj13#11(no 5)",
[P1, M3, M7, M9, A11, m13]: ".maj9#11b13(no 5)",
[P1, M3, M7, M9, A11]: ".maj9#11(no 5)",
[P1, M3, M7, M9, M13]: ".maj9(add13)(no 5)",
[P1, M3, M7, M9, P11, M13]: ".maj13(no 5)",
[P1, M3, M7, M9, P11, m13]: ".maj11b13(no 5)",
[P1, M3, M7, M9, P11]: ".maj11(no 5)",
[P1, M3, M7, M9, m13]: ".maj9b13(no 5)",
[P1, M3, M7, M9]: ".maj9(no 5)",
[P1, M3, M7, P11, M13]: ".maj7(add11)(add13)(no 5)",
[P1, M3, M7, P11, m13]: ".maj7(add11)b13(no 5)",
[P1, M3, M7, P11]: ".maj7(add11)(no 5)",
[P1, M3, M7, m13]: ".maj7b13(no 5)",
[P1, M3, M7, m9, A11, M13]: ".maj13b9#11(no 5)",
[P1, M3, M7, m9, A11, m13]: ".maj7b9#11b13(no 5)",
[P1, M3, M7, m9, A11]: ".maj7b9#11(no 5)",
[P1, M3, M7, m9, M13]: ".maj7b9(add13)(no 5)",
[P1, M3, M7, m9, P11, M13]: ".maj13b9(no 5)",
[P1, M3, M7, m9, P11, m13]: ".maj11b9b13(no 5)",
[P1, M3, M7, m9, P11]: ".maj11b9(no 5)",
[P1, M3, M7, m9, m13]: ".maj7b9b13(no 5)",
[P1, M3, M7, m9]: ".maj7b9(no 5)",
[P1, M3, M7]: ".maj7(no 5)",
[P1, M3, M9, A11, M13]: ".maj(add9)#11(add13)(no 5)",
[P1, M3, M9, A11, m13]: ".maj(add9)#11b13(no 5)",
[P1, M3, M9, A11]: ".maj(add9)#11(no 5)",
[P1, M3, M9, M13]: ".maj(add9)(add13)(no 5)",
[P1, M3, M9, P11, M13]: ".maj(add9)(add11)(add13)(no 5)",
[P1, M3, M9, P11, m13]: ".maj(add9)(add11)b13(no 5)",
[P1, M3, M9, P11]: ".maj(add9)(add11)(no 5)",
[P1, M3, M9, m13]: ".maj(add9)b13(no 5)",
[P1, M3, M9]: ".maj(add9)(no 5)",
[P1, M3, P11, M13]: ".maj(add11)(add13)(no 5)",
[P1, M3, P11, m13]: ".maj(add11)b13(no 5)",
[P1, M3, P11]: ".maj(add11)(no 5)",
[P1, M3, m13]: ".majb13(no 5)",
[P1, M3, m7, A11, M13]: ".7#11(add13)(no 5)",
[P1, M3, m7, A11, m13]: ".7#11b13(no 5)",
[P1, M3, m7, A11]: ".7#11(no 5)",
[P1, M3, m7, A9, A11, M13]: ".13#9#11(no 5)",
[P1, M3, m7, A9, A11, m13]: ".7#9#11b13(no 5)",
[P1, M3, m7, A9, A11]: ".7#9#11(no 5)",
[P1, M3, m7, A9, M13]: ".7#9(add13)(no 5)",
[P1, M3, m7, A9, P11, M13]: ".13#9(no 5)",
[P1, M3, m7, A9, P11, m13]: ".11#9b13(no 5)",
[P1, M3, m7, A9, P11]: ".11#9(no 5)",
[P1, M3, m7, A9, m13]: ".7#9b13(no 5)",
[P1, M3, m7, A9]: ".7#9(no 5)",
[P1, M3, m7, M13]: ".7(add13)(no 5)",
[P1, M3, m7, M9, A11, M13]: ".13#11(no 5)",
[P1, M3, m7, M9, A11, m13]: ".9#11b13(no 5)",
[P1, M3, m7, M9, A11]: ".9#11(no 5)",
[P1, M3, m7, M9, M13]: ".9(add13)(no 5)",
[P1, M3, m7, M9, P11, M13]: ".13(no 5)",
[P1, M3, m7, M9, P11, m13]: ".11b13(no 5)",
[P1, M3, m7, M9, P11]: ".11(no 5)",
[P1, M3, m7, M9, m13]: ".9b13(no 5)",
[P1, M3, m7, M9]: ".9(no 5)",
[P1, M3, m7, P11, M13]: ".7(add11)(add13)(no 5)",
[P1, M3, m7, P11, m13]: ".7(add11)b13(no 5)",
[P1, M3, m7, P11]: ".7(add11)(no 5)",
[P1, M3, m7, m13]: ".7b13(no 5)",
[P1, M3, m7, m9, A11, M13]: ".13b9#11(no 5)",
[P1, M3, m7, m9, A11, m13]: ".7b9#11b13(no 5)",
[P1, M3, m7, m9, A11]: ".7b9#11(no 5)",
[P1, M3, m7, m9, M13]: ".7b9(add13)(no 5)",
[P1, M3, m7, m9, P11, M13]: ".13b9(no 5)",
[P1, M3, m7, m9, P11, m13]: ".11b9b13(no 5)",
[P1, M3, m7, m9, P11]: ".11b9(no 5)",
[P1, M3, m7, m9, m13]: ".7b9b13(no 5)",
[P1, M3, m7, m9]: ".7b9(no 5)",
[P1, M3, m7]: ".7(no 5)",
[P1, M3, m9, A11, M13]: ".majb9#11(add13)(no 5)",
[P1, M3, m9, A11, m13]: ".majb9#11b13(no 5)",
[P1, M3, m9, A11]: ".majb9#11(no 5)",
[P1, M3, m9, M13]: ".majb9(add13)(no 5)",
[P1, M3, m9, P11, M13]: ".majb9(add11)(add13)(no 5)",
[P1, M3, m9, P11, m13]: ".majb9(add11)b13(no 5)",
[P1, M3, m9, P11]: ".majb9(add11)(no 5)",
[P1, M3, m9, m13]: ".majb9b13(no 5)",
[P1, M3, m9]: ".majb9(no 5)",
[P1, M3]: ".maj(no 5)",
[P1, M7, A11, M13]: ".maj7#11(add13)(no 3)(no 5)",
[P1, M7, A11, m13]: ".maj7#11b13(no 3)(no 5)",
[P1, M7, A11]: ".maj7#11(no 3)(no 5)",
[P1, M7, A9, A11, M13]: ".maj13#9#11(no 3)(no 5)",
[P1, M7, A9, A11, m13]: ".maj7#9#11b13(no 3)(no 5)",
[P1, M7, A9, A11]: ".maj7#9#11(no 3)(no 5)",
[P1, M7, A9, M13]: ".maj7#9(add13)(no 3)(no 5)",
[P1, M7, A9, P11, M13]: ".maj13#9(no 3)(no 5)",
[P1, M7, A9, P11, m13]: ".maj11#9b13(no 3)(no 5)",
[P1, M7, A9, P11]: ".maj11#9(no 3)(no 5)",
[P1, M7, A9, m13]: ".maj7#9b13(no 3)(no 5)",
[P1, M7, A9]: ".maj7#9(no 3)(no 5)",
[P1, M7, M13]: ".maj7(add13)(no 3)(no 5)",
[P1, M7, M9, A11, M13]: ".maj13#11(no 3)(no 5)",
[P1, M7, M9, A11, m13]: ".maj9#11b13(no 3)(no 5)",
[P1, M7, M9, A11]: ".maj9#11(no 3)(no 5)",
[P1, M7, M9, M13]: ".maj9(add13)(no 3)(no 5)",
[P1, M7, M9, P11, M13]: ".maj13(no 3)(no 5)",
[P1, M7, M9, P11, m13]: ".maj11b13(no 3)(no 5)",
[P1, M7, M9, P11]: ".maj11(no 3)(no 5)",
[P1, M7, M9, m13]: ".maj9b13(no 3)(no 5)",
[P1, M7, M9]: ".maj9(no 3)(no 5)",
[P1, M7, P11, M13]: ".maj7(add11)(add13)(no 3)(no 5)",
[P1, M7, P11, m13]: ".maj7(add11)b13(no 3)(no 5)",
[P1, M7, P11]: ".maj7(add11)(no 3)(no 5)",
[P1, M7, m13]: ".maj7b13(no 3)(no 5)",
[P1, M7, m9, A11, M13]: ".maj13b9#11(no 3)(no 5)",
[P1, M7, m9, A11, m13]: ".maj7b9#11b13(no 3)(no 5)",
[P1, M7, m9, A11]: ".maj7b9#11(no 3)(no 5)",
[P1, M7, m9, M13]: ".maj7b9(add13)(no 3)(no 5)",
[P1, M7, m9, P11, M13]: ".maj13b9(no 3)(no 5)",
[P1, M7, m9, P11, m13]: ".maj11b9b13(no 3)(no 5)",
[P1, M7, m9, P11]: ".maj11b9(no 3)(no 5)",
[P1, M7, m9, m13]: ".maj7b9b13(no 3)(no 5)",
[P1, M7, m9]: ".maj7b9(no 3)(no 5)",
[P1, P5, A11, M13]: ".5#11(add13)(no 3)",
[P1, P5, A11, m13]: ".5#11b13(no 3)",
[P1, P5, A11]: ".5#11(no 3)",
[P1, P5, A9, A11, M13]: ".5#9#11(add13)(no 3)",
[P1, P5, A9, A11, m13]: ".5#9#11b13(no 3)",
[P1, P5, A9, A11]: ".5#9#11(no 3)",
[P1, P5, A9, M13]: ".5#9(add13)(no 3)",
[P1, P5, A9, P11, M13]: ".5#9(add11)(add13)(no 3)",
[P1, P5, A9, P11, m13]: ".5#9(add11)b13(no 3)",
[P1, P5, A9, P11]: ".5#9(add11)(no 3)",
[P1, P5, A9, m13]: ".5#9b13(no 3)",
[P1, P5, A9]: ".5#9(no 3)",
[P1, P5, M13]: ".5(add13)(no 3)",
[P1, P5, M7, A11, M13]: ".maj7#11(add13)(no 3)",
[P1, P5, M7, A11, m13]: ".maj7#11b13(no 3)",
[P1, P5, M7, A11]: ".maj7#11(no 3)",
[P1, P5, M7, A9, A11, M13]: ".maj13#9#11(no 3)",
[P1, P5, M7, A9, A11, m13]: ".maj7#9#11b13(no 3)",
[P1, P5, M7, A9, A11]: ".maj7#9#11(no 3)",
[P1, P5, M7, A9, M13]: ".maj7#9(add13)(no 3)",
[P1, P5, M7, A9, P11, M13]: ".maj13#9(no 3)",
[P1, P5, M7, A9, P11, m13]: ".maj11#9b13(no 3)",
[P1, P5, M7, A9, P11]: ".maj11#9(no 3)",
[P1, P5, M7, A9, m13]: ".maj7#9b13(no 3)",
[P1, P5, M7, A9]: ".maj7#9(no 3)",
[P1, P5, M7, M13]: ".maj7(add13)(no 3)",
[P1, P5, M7, M9, A11, M13]: ".maj13#11(no 3)",
[P1, P5, M7, M9, A11, m13]: ".maj9#11b13(no 3)",
[P1, P5, M7, M9, A11]: ".maj9#11(no 3)",
[P1, P5, M7, M9, M13]: ".maj9(add13)(no 3)",
[P1, P5, M7, M9, P11, M13]: ".maj13(no 3)",
[P1, P5, M7, M9, P11, m13]: ".maj11b13(no 3)",
[P1, P5, M7, M9, P11]: ".maj11(no 3)",
[P1, P5, M7, M9, m13]: ".maj9b13(no 3)",
[P1, P5, M7, M9]: ".maj9(no 3)",
[P1, P5, M7, P11, M13]: ".maj7(add11)(add13)(no 3)",
[P1, P5, M7, P11, m13]: ".maj7(add11)b13(no 3)",
[P1, P5, M7, P11]: ".maj7(add11)(no 3)",
[P1, P5, M7, m13]: ".maj7b13(no 3)",
[P1, P5, M7, m9, A11, M13]: ".maj13b9#11(no 3)",
[P1, P5, M7, m9, A11, m13]: ".maj7b9#11b13(no 3)",
[P1, P5, M7, m9, A11]: ".maj7b9#11(no 3)",
[P1, P5, M7, m9, M13]: ".maj7b9(add13)(no 3)",
[P1, P5, M7, m9, P11, M13]: ".maj13b9(no 3)",
[P1, P5, M7, m9, P11, m13]: ".maj11b9b13(no 3)",
[P1, P5, M7, m9, P11]: ".maj11b9(no 3)",
[P1, P5, M7, m9, m13]: ".maj7b9b13(no 3)",
[P1, P5, M7, m9]: ".maj7b9(no 3)",
[P1, P5, M7]: ".maj7(no 3)",
[P1, P5, M9, A11, M13]: ".5(add9)#11(add13)(no 3)",
[P1, P5, M9, A11, m13]: ".5(add9)#11b13(no 3)",
[P1, P5, M9, A11]: ".5(add9)#11(no 3)",
[P1, P5, M9, M13]: ".5(add9)(add13)(no 3)",
[P1, P5, M9, P11, M13]: ".5(add9)(add11)(add13)(no 3)",
[P1, P5, M9, P11, m13]: ".5(add9)(add11)b13(no 3)",
[P1, P5, M9, P11]: ".5(add9)(add11)(no 3)",
[P1, P5, M9, m13]: ".5(add9)b13(no 3)",
[P1, P5, M9]: ".5(add9)(no 3)",
[P1, P5, P11, M13]: ".5(add11)(add13)(no 3)",
[P1, P5, P11, m13]: ".5(add11)b13(no 3)",
[P1, P5, P11]: ".5(add11)(no 3)",
[P1, P5, m13]: ".5b13(no 3)",
[P1, P5, m7, A11, M13]: ".7#11(add13)(no 3)",
[P1, P5, m7, A11, m13]: ".7#11b13(no 3)",
[P1, P5, m7, A11]: ".7#11(no 3)",
[P1, P5, m7, A9, A11, M13]: ".13#9#11(no 3)",
[P1, P5, m7, A9, A11, m13]: ".7#9#11b13(no 3)",
[P1, P5, m7, A9, A11]: ".7#9#11(no 3)",
[P1, P5, m7, A9, M13]: ".7#9(add13)(no 3)",
[P1, P5, m7, A9, P11, M13]: ".13#9(no 3)",
[P1, P5, m7, A9, P11, m13]: ".11#9b13(no 3)",
[P1, P5, m7, A9, P11]: ".11#9(no 3)",
[P1, P5, m7, A9, m13]: ".7#9b13(no 3)",
[P1, P5, m7, A9]: ".7#9(no 3)",
[P1, P5, m7, M13]: ".7(add13)(no 3)",
[P1, P5, m7, M9, A11, M13]: ".13#11(no 3)",
[P1, P5, m7, M9, A11, m13]: ".9#11b13(no 3)",
[P1, P5, m7, M9, A11]: ".9#11(no 3)",
[P1, P5, m7, M9, M13]: ".9(add13)(no 3)",
[P1, P5, m7, M9, P11, M13]: ".13(no 3)",
[P1, P5, m7, M9, P11, m13]: ".11b13(no 3)",
[P1, P5, m7, M9, P11]: ".11(no 3)",
[P1, P5, m7, M9, m13]: ".9b13(no 3)",
[P1, P5, m7, M9]: ".9(no 3)",
[P1, P5, m7, P11, M13]: ".7(add11)(add13)(no 3)",
[P1, P5, m7, P11, m13]: ".7(add11)b13(no 3)",
[P1, P5, m7, P11]: ".7(add11)(no 3)",
[P1, P5, m7, m13]: ".7b13(no 3)",
[P1, P5, m7, m9, A11, M13]: ".13b9#11(no 3)",
[P1, P5, m7, m9, A11, m13]: ".7b9#11b13(no 3)",
[P1, P5, m7, m9, A11]: ".7b9#11(no 3)",
[P1, P5, m7, m9, M13]: ".7b9(add13)(no 3)",
[P1, P5, m7, m9, P11, M13]: ".13b9(no 3)",
[P1, P5, m7, m9, P11, m13]: ".11b9b13(no 3)",
[P1, P5, m7, m9, P11]: ".11b9(no 3)",
[P1, P5, m7, m9, m13]: ".7b9b13(no 3)",
[P1, P5, m7, m9]: ".7b9(no 3)",
[P1, P5, m7]: ".7(no 3)",
[P1, P5, m9, A11, M13]: ".5b9#11(add13)(no 3)",
[P1, P5, m9, A11, m13]: ".5b9#11b13(no 3)",
[P1, P5, m9, A11]: ".5b9#11(no 3)",
[P1, P5, m9, M13]: ".5b9(add13)(no 3)",
[P1, P5, m9, P11, M13]: ".5b9(add11)(add13)(no 3)",
[P1, P5, m9, P11, m13]: ".5b9(add11)b13(no 3)",
[P1, P5, m9, P11]: ".5b9(add11)(no 3)",
[P1, P5, m9, m13]: ".5b9b13(no 3)",
[P1, P5, m9]: ".5b9(no 3)",
[P1, P5]: ".5(no 3)",
[P1, d5, A11, M13]: ".dim#11(add13)(no 3)",
[P1, d5, A11, m13]: ".dim#11b13(no 3)",
[P1, d5, A11]: ".dim#11(no 3)",
[P1, d5, A9, A11, M13]: ".dim#9#11(add13)(no 3)",
[P1, d5, A9, A11, m13]: ".dim#9#11b13(no 3)",
[P1, d5, A9, A11]: ".dim#9#11(no 3)",
[P1, d5, A9, M13]: ".dim#9(add13)(no 3)",
[P1, d5, A9, P11, M13]: ".dim#9(add11)(add13)(no 3)",
[P1, d5, A9, P11, m13]: ".dim#9(add11)b13(no 3)",
[P1, d5, A9, P11]: ".dim#9(add11)(no 3)",
[P1, d5, A9, m13]: ".dim#9b13(no 3)",
[P1, d5, A9]: ".dim#9(no 3)",
[P1, d5, M13]: ".dim(add13)(no 3)",
[P1, d5, M9, A11, M13]: ".dim(add9)#11(add13)(no 3)",
[P1, d5, M9, A11, m13]: ".dim(add9)#11b13(no 3)",
[P1, d5, M9, A11]: ".dim(add9)#11(no 3)",
[P1, d5, M9, M13]: ".dim(add9)(add13)(no 3)",
[P1, d5, M9, P11, M13]: ".dim(add9)(add11)(add13)(no 3)",
[P1, d5, M9, P11, m13]: ".dim(add9)(add11)b13(no 3)",
[P1, d5, M9, P11]: ".dim(add9)(add11)(no 3)",
[P1, d5, M9, m13]: ".dim(add9)b13(no 3)",
[P1, d5, M9]: ".dim(add9)(no 3)",
[P1, d5, P11, M13]: ".dim(add11)(add13)(no 3)",
[P1, d5, P11, m13]: ".dim(add11)b13(no 3)",
[P1, d5, P11]: ".dim(add11)(no 3)",
[P1, d5, d7, A11, M13]: ".dim7#11(add13)(no 3)",
[P1, d5, d7, A11, m13]: ".dim7#11b13(no 3)",
[P1, d5, d7, A11]: ".dim7#11(no 3)",
[P1, d5, d7, A9, A11, M13]: ".dim13#9#11(no 3)",
[P1, d5, d7, A9, A11, m13]: ".dim7#9#11b13(no 3)",
[P1, d5, d7, A9, A11]: ".dim7#9#11(no 3)",
[P1, d5, d7, A9, M13]: ".dim7#9(add13)(no 3)",
[P1, d5, d7, A9, P11, M13]: ".dim13#9(no 3)",
[P1, d5, d7, A9, P11, m13]: ".dim11#9b13(no 3)",
[P1, d5, d7, A9, P11]: ".dim11#9(no 3)",
[P1, d5, d7, A9, m13]: ".dim7#9b13(no 3)",
[P1, d5, d7, A9]: ".dim7#9(no 3)",
[P1, d5, d7, M13]: ".dim7(add13)(no 3)",
[P1, d5, d7, M9, A11, M13]: ".dim13#11(no 3)",
[P1, d5, d7, M9, A11, m13]: ".dim9#11b13(no 3)",
[P1, d5, d7, M9, A11]: ".dim9#11(no 3)",
[P1, d5, d7, M9, M13]: ".dim9(add13)(no 3)",
[P1, d5, d7, M9, P11, M13]: ".dim13(no 3)",
[P1, d5, d7, M9, P11, m13]: ".dim11b13(no 3)",
[P1, d5, d7, M9, P11]: ".dim11(no 3)",
[P1, d5, d7, M9, m13]: ".dim9b13(no 3)",
[P1, d5, d7, M9]: ".dim9(no 3)",
[P1, d5, d7, P11, M13]: ".dim7(add11)(add13)(no 3)",
[P1, d5, d7, P11, m13]: ".dim7(add11)b13(no 3)",
[P1, d5, d7, P11]: ".dim7(add11)(no 3)",
[P1, d5, d7, m13]: ".dim7b13(no 3)",
[P1, d5, d7, m9, A11, M13]: ".dim13b9#11(no 3)",
[P1, d5, d7, m9, A11, m13]: ".dim7b9#11b13(no 3)",
[P1, d5, d7, m9, A11]: ".dim7b9#11(no 3)",
[P1, d5, d7, m9, M13]: ".dim7b9(add13)(no 3)",
[P1, d5, d7, m9, P11, M13]: ".dim13b9(no 3)",
[P1, d5, d7, m9, P11, m13]: ".dim11b9b13(no 3)",
[P1, d5, d7, m9, P11]: ".dim11b9(no 3)",
[P1, d5, d7, m9, m13]: ".dim7b9b13(no 3)",
[P1, d5, d7, m9]: ".dim7b9(no 3)",
[P1, d5, d7]: ".dim7(no 3)",
[P1, d5, m13]: ".dimb13(no 3)",
[P1, d5, m7, A11, M13]: ".7b5#11(add13)(no 3)",
[P1, d5, m7, A11, m13]: ".7b5#11b13(no 3)",
[P1, d5, m7, A11]: ".7b5#11(no 3)",
[P1, d5, m7, A9, A11, M13]: ".13b5#9#11(no 3)",
[P1, d5, m7, A9, A11, m13]: ".7b5#9#11b13(no 3)",
[P1, d5, m7, A9, A11]: ".7b5#9#11(no 3)",
[P1, d5, m7, A9, M13]: ".7b5#9(add13)(no 3)",
[P1, d5, m7, A9, P11, M13]: ".13b5#9(no 3)",
[P1, d5, m7, A9, P11, m13]: ".11b5#9b13(no 3)",
[P1, d5, m7, A9, P11]: ".11b5#9(no 3)",
[P1, d5, m7, A9, m13]: ".7b5#9b13(no 3)",
[P1, d5, m7, A9]: ".7b5#9(no 3)",
[P1, d5, m7, M13]: ".7b5(add13)(no 3)",
[P1, d5, m7, M9, A11, M13]: ".13b5#11(no 3)",
[P1, d5, m7, M9, A11, m13]: ".9b5#11b13(no 3)",
[P1, d5, m7, M9, A11]: ".9b5#11(no 3)",
[P1, d5, m7, M9, M13]: ".9b5(add13)(no 3)",
[P1, d5, m7, M9, P11, M13]: ".13b5(no 3)",
[P1, d5, m7, M9, P11, m13]: ".11b5b13(no 3)",
[P1, d5, m7, M9, P11]: ".11b5(no 3)",
[P1, d5, m7, M9, m13]: ".9b5b13(no 3)",
[P1, d5, m7, M9]: ".9b5(no 3)",
[P1, d5, m7, P11, M13]: ".7b5(add11)(add13)(no 3)",
[P1, d5, m7, P11, m13]: ".7b5(add11)b13(no 3)",
[P1, d5, m7, P11]: ".7b5(add11)(no 3)",
[P1, d5, m7, m13]: ".7b5b13(no 3)",
[P1, d5, m7, m9, A11, M13]: ".13b5b9#11(no 3)",
[P1, d5, m7, m9, A11, m13]: ".7b5b9#11b13(no 3)",
[P1, d5, m7, m9, A11]: ".7b5b9#11(no 3)",
[P1, d5, m7, m9, M13]: ".7b5b9(add13)(no 3)",
[P1, d5, m7, m9, P11, M13]: ".13b5b9(no 3)",
[P1, d5, m7, m9, P11, m13]: ".11b5b9b13(no 3)",
[P1, d5, m7, m9, P11]: ".11b5b9(no 3)",
[P1, d5, m7, m9, m13]: ".7b5b9b13(no 3)",
[P1, d5, m7, m9]: ".7b5b9(no 3)",
[P1, d5, m7]: ".7b5(no 3)",
[P1, d5, m9, A11, M13]: ".dimb9#11(add13)(no 3)",
[P1, d5, m9, A11, m13]: ".dimb9#11b13(no 3)",
[P1, d5, m9, A11]: ".dimb9#11(no 3)",
[P1, d5, m9, M13]: ".dimb9(add13)(no 3)",
[P1, d5, m9, P11, M13]: ".dimb9(add11)(add13)(no 3)",
[P1, d5, m9, P11, m13]: ".dimb9(add11)b13(no 3)",
[P1, d5, m9, P11]: ".dimb9(add11)(no 3)",
[P1, d5, m9, m13]: ".dimb9b13(no 3)",
[P1, d5, m9]: ".dimb9(no 3)",
[P1, d5]: ".dim(no 3)",
[P1, m3, A11, M13]: ".m#11(add13)(no 5)",
[P1, m3, A11, m13]: ".m#11b13(no 5)",
[P1, m3, A11]: ".m#11(no 5)",
[P1, m3, A9, A11, M13]: ".m#9#11(add13)(no 5)",
[P1, m3, A9, A11, m13]: ".m#9#11b13(no 5)",
[P1, m3, A9, A11]: ".m#9#11(no 5)",
[P1, m3, A9, M13]: ".m#9(add13)(no 5)",
[P1, m3, A9, P11, M13]: ".m#9(add11)(add13)(no 5)",
[P1, m3, A9, P11, m13]: ".m#9(add11)b13(no 5)",
[P1, m3, A9, P11]: ".m#9(add11)(no 5)",
[P1, m3, A9, m13]: ".m#9b13(no 5)",
[P1, m3, A9]: ".m#9(no 5)",
[P1, m3, M13]: ".m(add13)(no 5)",
[P1, m3, M7, A11, M13]: ".m-maj7#11(add13)(no 5)",
[P1, m3, M7, A11, m13]: ".m-maj7#11b13(no 5)",
[P1, m3, M7, A11]: ".m-maj7#11(no 5)",
[P1, m3, M7, A9, A11, M13]: ".m-maj13#9#11(no 5)",
[P1, m3, M7, A9, A11, m13]: ".m-maj7#9#11b13(no 5)",
[P1, m3, M7, A9, A11]: ".m-maj7#9#11(no 5)",
[P1, m3, M7, A9, M13]: ".m-maj7#9(add13)(no 5)",
[P1, m3, M7, A9, P11, M13]: ".m-maj13#9(no 5)",
[P1, m3, M7, A9, P11, m13]: ".m-maj11#9b13(no 5)",
[P1, m3, M7, A9, P11]: ".m-maj11#9(no 5)",
[P1, m3, M7, A9, m13]: ".m-maj7#9b13(no 5)",
[P1, m3, M7, A9]: ".m-maj7#9(no 5)",
[P1, m3, M7, M13]: ".m-maj7(add13)(no 5)",
[P1, m3, M7, M9, A11, M13]: ".m-maj13#11(no 5)",
[P1, m3, M7, M9, A11, m13]: ".m-maj9#11b13(no 5)",
[P1, m3, M7, M9, A11]: ".m-maj9#11(no 5)",
[P1, m3, M7, M9, M13]: ".m-maj9(add13)(no 5)",
[P1, m3, M7, M9, P11, M13]: ".m-maj13(no 5)",
[P1, m3, M7, M9, P11, m13]: ".m-maj11b13(no 5)",
[P1, m3, M7, M9, P11]: ".m-maj11(no 5)",
[P1, m3, M7, M9, m13]: ".m-maj9b13(no 5)",
[P1, m3, M7, M9]: ".m-maj9(no 5)",
[P1, m3, M7, P11, M13]: ".m-maj7(add11)(add13)(no 5)",
[P1, m3, M7, P11, m13]: ".m-maj7(add11)b13(no 5)",
[P1, m3, M7, P11]: ".m-maj7(add11)(no 5)",
[P1, m3, M7, m13]: ".m-maj7b13(no 5)",
[P1, m3, M7, m9, A11, M13]: ".m-maj13b9#11(no 5)",
[P1, m3, M7, m9, A11, m13]: ".m-maj7b9#11b13(no 5)",
[P1, m3, M7, m9, A11]: ".m-maj7b9#11(no 5)",
[P1, m3, M7, m9, M13]: ".m-maj7b9(add13)(no 5)",
[P1, m3, M7, m9, P11, M13]: ".m-maj13b9(no 5)",
[P1, m3, M7, m9, P11, m13]: ".m-maj11b9b13(no 5)",
[P1, m3, M7, m9, P11]: ".m-maj11b9(no 5)",
[P1, m3, M7, m9, m13]: ".m-maj7b9b13(no 5)",
[P1, m3, M7, m9]: ".m-maj7b9(no 5)",
[P1, m3, M7]: ".m-maj7(no 5)",
[P1, m3, M9, A11, M13]: ".m(add9)#11(add13)(no 5)",
[P1, m3, M9, A11, m13]: ".m(add9)#11b13(no 5)",
[P1, m3, M9, A11]: ".m(add9)#11(no 5)",
[P1, m3, M9, M13]: ".m(add9)(add13)(no 5)",
[P1, m3, M9, P11, M13]: ".m(add9)(add11)(add13)(no 5)",
[P1, m3, M9, P11, m13]: ".m(add9)(add11)b13(no 5)",
[P1, m3, M9, P11]: ".m(add9)(add11)(no 5)",
[P1, m3, M9, m13]: ".m(add9)b13(no 5)",
[P1, m3, M9]: ".m(add9)(no 5)",
[P1, m3, P11, M13]: ".m(add11)(add13)(no 5)",
[P1, m3, P11, m13]: ".m(add11)b13(no 5)",
[P1, m3, P11]: ".m(add11)(no 5)",
[P1, m3, m13]: ".mb13(no 5)",
[P1, m3, m7, A11, M13]: ".m7#11(add13)(no 5)",
[P1, m3, m7, A11, m13]: ".m7#11b13(no 5)",
[P1, m3, m7, A11]: ".m7#11(no 5)",
[P1, m3, m7, A9, A11, M13]: ".m13#9#11(no 5)",
[P1, m3, m7, A9, A11, m13]: ".m7#9#11b13(no 5)",
[P1, m3, m7, A9, A11]: ".m7#9#11(no 5)",
[P1, m3, m7, A9, M13]: ".m7#9(add13)(no 5)",
[P1, m3, m7, A9, P11, M13]: ".m13#9(no 5)",
[P1, m3, m7, A9, P11, m13]: ".m11#9b13(no 5)",
[P1, m3, m7, A9, P11]: ".m11#9(no 5)",
[P1, m3, m7, A9, m13]: ".m7#9b13(no 5)",
[P1, m3, m7, A9]: ".m7#9(no 5)",
[P1, m3, m7, M13]: ".m7(add13)(no 5)",
[P1, m3, m7, M9, A11, M13]: ".m13#11(no 5)",
[P1, m3, m7, M9, A11, m13]: ".m9#11b13(no 5)",
[P1, m3, m7, M9, A11]: ".m9#11(no 5)",
[P1, m3, m7, M9, M13]: ".m9(add13)(no 5)",
[P1, m3, m7, M9, P11, M13]: ".m13(no 5)",
[P1, m3, m7, M9, P11, m13]: ".m11b13(no 5)",
[P1, m3, m7, M9, P11]: ".m11(no 5)",
[P1, m3, m7, M9, m13]: ".m9b13(no 5)",
[P1, m3, m7, M9]: ".m9(no 5)",
[P1, m3, m7, P11, M13]: ".m7(add11)(add13)(no 5)",
[P1, m3, m7, P11, m13]: ".m7(add11)b13(no 5)",
[P1, m3, m7, P11]: ".m7(add11)(no 5)",
[P1, m3, m7, m13]: ".m7b13(no 5)",
[P1, m3, m7, m9, A11, M13]: ".m13b9#11(no 5)",
[P1, m3, m7, m9, A11, m13]: ".m7b9#11b13(no 5)",
[P1, m3, m7, m9, A11]: ".m7b9#11(no 5)",
[P1, m3, m7, m9, M13]: ".m7b9(add13)(no 5)",
[P1, m3, m7, m9, P11, M13]: ".m13b9(no 5)",
[P1, m3, m7, m9, P11, m13]: ".m11b9b13(no 5)",
[P1, m3, m7, m9, P11]: ".m11b9(no 5)",
[P1, m3, m7, m9, m13]: ".m7b9b13(no 5)",
[P1, m3, m7, m9]: ".m7b9(no 5)",
[P1, m3, m7]: ".m7(no 5)",
[P1, m3, m9, A11, M13]: ".mb9#11(add13)(no 5)",
[P1, m3, m9, A11, m13]: ".mb9#11b13(no 5)",
[P1, m3, m9, A11]: ".mb9#11(no 5)",
[P1, m3, m9, M13]: ".mb9(add13)(no 5)",
[P1, m3, m9, P11, M13]: ".mb9(add11)(add13)(no 5)",
[P1, m3, m9, P11, m13]: ".mb9(add11)b13(no 5)",
[P1, m3, m9, P11]: ".mb9(add11)(no 5)",
[P1, m3, m9, m13]: ".mb9b13(no 5)",
[P1, m3, m9]: ".mb9(no 5)",
[P1, m3]: ".m(no 5)",
[P1, m7, A11, M13]: ".7#11(add13)(no 3)(no 5)",
[P1, m7, A11, m13]: ".7#11b13(no 3)(no 5)",
[P1, m7, A11]: ".7#11(no 3)(no 5)",
[P1, m7, A9, A11, M13]: ".13#9#11(no 3)(no 5)",
[P1, m7, A9, A11, m13]: ".7#9#11b13(no 3)(no 5)",
[P1, m7, A9, A11]: ".7#9#11(no 3)(no 5)",
[P1, m7, A9, M13]: ".7#9(add13)(no 3)(no 5)",
[P1, m7, A9, P11, M13]: ".13#9(no 3)(no 5)",
[P1, m7, A9, P11, m13]: ".11#9b13(no 3)(no 5)",
[P1, m7, A9, P11]: ".11#9(no 3)(no 5)",
[P1, m7, A9, m13]: ".7#9b13(no 3)(no 5)",
[P1, m7, A9]: ".7#9(no 3)(no 5)",
[P1, m7, M13]: ".7(add13)(no 3)(no 5)",
[P1, m7, M9, A11, M13]: ".13#11(no 3)(no 5)",
[P1, m7, M9, A11, m13]: ".9#11b13(no 3)(no 5)",
[P1, m7, M9, A11]: ".9#11(no 3)(no 5)",
[P1, m7, M9, M13]: ".9(add13)(no 3)(no 5)",
[P1, m7, M9, P11, M13]: ".13(no 3)(no 5)",
[P1, m7, M9, P11, m13]: ".11b13(no 3)(no 5)",
[P1, m7, M9, P11]: ".11(no 3)(no 5)",
[P1, m7, M9, m13]: ".9b13(no 3)(no 5)",
[P1, m7, M9]: ".9(no 3)(no 5)",
[P1, m7, P11, M13]: ".7(add11)(add13)(no 3)(no 5)",
[P1, m7, P11, m13]: ".7(add11)b13(no 3)(no 5)",
[P1, m7, P11]: ".7(add11)(no 3)(no 5)",
[P1, m7, m13]: ".7b13(no 3)(no 5)",
[P1, m7, m9, A11, M13]: ".13b9#11(no 3)(no 5)",
[P1, m7, m9, A11, m13]: ".7b9#11b13(no 3)(no 5)",
[P1, m7, m9, A11]: ".7b9#11(no 3)(no 5)",
[P1, m7, m9, M13]: ".7b9(add13)(no 3)(no 5)",
[P1, m7, m9, P11, M13]: ".13b9(no 3)(no 5)",
[P1, m7, m9, P11, m13]: ".11b9b13(no 3)(no 5)",
[P1, m7, m9, P11]: ".11b9(no 3)(no 5)",
[P1, m7, m9, m13]: ".7b9b13(no 3)(no 5)",
[P1, m7, m9]: ".7b9(no 3)(no 5)",

Some of these would have shorter and more common names as "sus2" and "sus4" chords, but those aren't tertian spellings and I'm not using them.

Equipped with these silly chord quality names, my program can now say that the pitch-class collection "C Eb G Ab" could be called C.mb13 or Eb.maj(add11)(add13)(no 5) or Ab.maj7, and also that's it's 12-TET enharmonic with G.augb9(add11)(no 3), which is more correctly spelled [G D# Ab C]. And if we go up to rank-3 spellings, which I do, then it's even more formally spelled [G D#+ Ab C]. ANd that's still enharmonic in 12-TET to the original pitch-class collection, since 12-TET tempers out both d2 and Ac1.

I wondered just how terrible a chord had to be before my program wouldn't give it a name. These chords don't have names in any permutation or enharmonic respelling:

[P1, A5, m6, M6]
[P1, M6, m7, M7]
[P1, P5, A5, m6]
[P1, m2, M2, M7]
[P1, m2, M2, m3]
[P1, m2, m7, M7]

Which isn't saying much, but there you  have it.