< Back to IRCAM Forum

Scale Chords (Harmonies)

I’m working on a simple educational example for which I’d like to create a patch that constructs a series of chords (harmonies) on the melodic degrees of a given scale. For instance, a very simple example is a C major scale that produces a series of triads in root position that, where each triad is built on each successive scale degree. The result is a series of parallel chords that keep the spacing of the given chord (e.g. root position triad) while adhering to the intervals distribution inherent in the given scale (voice-leading).

In the attached patch, it is the chord-seq that features the result I wish to achieve. Perhaps there’s an existing OM library or patch that would be useful in this situation? I welcome your suggestions.

Thank you very much for your help!

scale-chords.omp (7.92 KB)

Hello — I don’t know if that can help, but OM includes a few hidden/undocumented ‘tonal’ functionalities which might help working with major/minor scales etc.
First, you can assign a tonality attribute to an object (typically, a chord) using the t key in the score editor.

When the object has a tonality, it can be transposed through functions such as transpose-tonal (transposes to a number of degrees, depending on the origional tonality), transpose-modulant (transposes to another tonality), etc.

Thanks, Jean. I’ll definitely look into assigning tonality attributes to an object as you suggested. If it’s not too much trouble, could you define the outputs found at the transpose-tonal function?

In my project, I would like to go beyond major/minor scales, thus being able to apply this process of derivation of chords to any ordered pitch collection. Perhaps I may need to define custom tonality, or “pitch space” that could then be transposed to the selected scale degrees found in the starting chord?

Thank you once again!

could you define the outputs found at the transpose-tonal function?

— what do you mean ?

In principe the output is just a new chord (or object of the same kind as the input), transposed.

My apology, I meant to define the two INPUTS. I understand that the first one is the chord under consideration. Would the second one be assigned to a scale? Or is the second input intended for custom values of a sort?

Thank you once again!

… well, I guess it’s just a number of degrees (integer)