Skip to content

triss/ChordSymbol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 

Repository files navigation

ChordSymbol and NoteSymbol

Simple notation for chords and notes in SuperCollider

Quickly write progressions with .chordProg:

[\Cm_eb, \Fm, \Gm, \Cm_g, \Cm_eb, \Fm, \Gm_d, \Cm].chordProg;
[\C, \G_b, \F_a, \G_b].chordProg;

Or progressions of notes with .noteProg:

 [\E4, \Fs4, \B4, \Cs5, \D5, \Fs4, \E4, \Cs5, \B4, \Fs4, \D5, \Cs5].noteProg

Supports multiple naming conventions for common chords:

\C.asNotes              // C major -> [0, 4, 7]
\Cmajor.asNotes         // C major -> [0, 4, 7]
\CM.asNotes             // C major -> [0, 4, 7] 

\Cm.asNotes             // C minor -> [0, 3, 7]
\Em7sharp5flat9.asNotes // [ 4, 7, 12, 14, 17 ]

Supports sharps and flats using s and b respectively:

\Gs.asNotes             // G# major -> [ 8, 12, 15 ]
\Dbmaj11.asNotes        // Db major11 -> [ 1, 5, 8, 12, 15, 18 ]

And slash/inverted chords - just replace the slash seen in notation with an underscore

\C_g.asNotes            // C/g -> [ 7, 12, 16 ]
\Fm_gs.asNotes          // Fm/a -> [ 8, 12, 17 ]
\Dsus4_g.asNotes        // Dsus4/g -> [ 7, 9, 14 ]

It also allows the user specify the octave if required

\C4m7sharp9.asNotes     // [ 60, 63, 67, 70, 74 ]
\C5m7sharp9.asNotes     // [ 72, 75, 79, 82, 86 ]
\F6plus_Cs.asNotes      // [ 77, 81, 85 ]

It'll tell you which degrees would be in a chord shape in a given mode/scale Be careful of sharps/flat when using to produce scale degrees. This is fantastic for notating chord progressions but may not behave as expected when transposed etc. A root note of C is always assumed:

\Cmajor.asDegrees                  // major scale assumed if none specified -> [0, 2, 4]
\Cminor.asDegrees                  // [0, 1.1, 4]
\Cmajor.asDegrees(Scale.minor)     // major chord in minor mode -> [0, 2.1, 4] 
\m7sharp5.asDegrees(Scale.dorian)  // [ 0, 2, 4.1, 6 ]

You can also get the degrees for a progression in terms of a particular mode:

[\Cm_eb, \Fm, \Gm, \Cm_g, \Cm_eb, \Fm, \Gm_d, \Cm].chordProgDegrees(Scale.dorian);

To see the suilt in list of chords say ChordSymbol.shapes.keys. You cam add to this with .put

Check chord Symbols help in SC for more info.

About

Simple notation for chords in SuperCollider

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages