tmhglnd / total-serialism

Toolbox full of Algorithmic Composition methods
MIT License
154 stars 11 forks source link

Hexachordal Rotation #4

Open tmhglnd opened 4 years ago

tmhglnd commented 4 years ago

This feature will implement the Hexachordal Rotation, or Rotational Arrays, an technique used by Stravinsky in the 1950's. This operation involves partitioning a twelve-tone series into hexachords (labeled α [alpha] and β [beta]) and then rotating each hexachord by moving the first pitch to the end until five additional permutations are created. To create commonality among hexachords, these two arrays of rotated hexachords are then transposed in order to retain the original first pitches of the hexachords (labeled γ [gamma] and δ [delta]).

Further reading:

example:

α                       β
    Eb E  Bb Ab A  D    C  B  C# F# G  F
I   E  Bb Ab A  D  Eb   B  C# F# G  F  C
II  Bb Ab A  D  Eb E    C# F# G  F  C  B
III Ab A  D  Eb E  Bb   F# G  F  C  B  C#
IV  A  D  Eb E  Bb Ab   G  F  C  B  C# F#
V   D  Eb E  Bb Ab A    F  C  B  C# F# G

γ                       δ
    Eb E  Bb Ab A  D    C  B  C# F# G  F
I   Eb A  G  Ab Db D    C  D  G  Ab Gb Db
II  Eb Db D  G  Ab A    C  F  Gb Fb Cb Bb
III Eb E  A  Bb B  F    C  Db Cb Gb F  G
IV  Eb Ab A  Bb E  D    C  Bb F  Fb Gb Cb
V   Eb E  F  B  A  Bb   C  G  Gb Ab Db D

Figure 1. Rotational array of the prime form of the row for Movements