From b30fd06e7ba7faf77d08fd5209ad14e5bf15cfcc Mon Sep 17 00:00:00 2001 From: Edgar Delgado Vega Date: Sun, 24 Dec 2023 22:48:36 -0500 Subject: [PATCH] docs(tonnetz): add definition and examples of Cube Dance and Power Towers --- .../patterns/ziffers/ziffers_tonnetz.ts | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/src/documentation/patterns/ziffers/ziffers_tonnetz.ts b/src/documentation/patterns/ziffers/ziffers_tonnetz.ts index 3c9cffd..47acf2d 100644 --- a/src/documentation/patterns/ziffers/ziffers_tonnetz.ts +++ b/src/documentation/patterns/ziffers/ziffers_tonnetz.ts @@ -210,14 +210,20 @@ In addition to the transformations, Ziffers implements cyclic methods that can b * hexaCycle(tonnetz: number[], repeats: number = 3): Cycles through chords in the hexa cycle * octaCycle(tonnetz: number[], repeats: number = 4): Cycles through chords in the octa cycle * enneaCycle(tonnetz: number[], repeats: number = 3): Cycles through chords in the ennea cycle -* powerTowers(tonnetz: number[], repeats: number = 3): Cycles trough chords using the power towers -* cubeDance(tonnetz: number[], repeats: number = 3): Cycles trough chords in a cube dance +* powerTowers(tonnetz: number[], repeats: number = 3): Cycles through chords using the Power Towers +* cubeDance(tonnetz: number[], repeats: number = 3): Cycles through chords in a Cube Dance -HexaCycles are sequences of major and minor triads generated by the p and l transformations . Let's take the following example starting with a C chord: C -> Cm -> Ab -> Abm -> E -> Em. You can start on the chord of your choice. +**HexaCycles** are sequences of major and minor triads generated by the p and l transformations . Let's take the following example starting with a C chord: C -> Cm -> Ab -> Abm -> E -> Em. You can start on the chord of your choice. -OctaCycles are sequences of major and minor triads generated using p and r transformations. Starting at C, we have the following sequence: C -> Cm -> Eb -> Ebm -> F# -> F#m -> A -> Am. +**OctaCycles** are sequences of major and minor triads generated using p and r transformations. Starting at C, we have the following sequence: C -> Cm -> Eb -> Ebm -> F# -> F#m -> A -> Am. -Unlike HexaCycles and OctaCycles, EnneaCycles are four-note chord sequences. Considering the functions implemented for tetrachords in Ziffers, we can interpret these sequences as generated by p12, p23, and l13 transformations repeatedly: C7 -> Cm7 -> Cm7b5 -> Ab7 -> Abm7 -> Abm7b5 -> E7 -> Em7 -> Em7b5. +Unlike HexaCycles and OctaCycles, **EnneaCycles** are four-note chord sequences. Considering the functions implemented for tetrachords in Ziffers, we can interpret these sequences as generated by p12, p23, and l13 transformations repeatedly: C7 -> Cm7 -> Cm7b5 -> Ab7 -> Abm7 -> Abm7b5 -> E7 -> Em7 -> Em7b5. + +**Power Towers** use four-note chords (halfdim7, m7 and 7 ). The assembly chords are of type dim7. One of the many paths for succession has been chosen. + +**Cube Dance** is another graph that is built primarily with HexaCycles, except that it adds augmented triads as assemblers. As with Power Towers, one possible path has been selected. + +Both Cube Dance and Power Towers have many chords, so sometimes it will be convenient to slice up fragments of the cycles. Ziffers has some **Generative functions** (e.g., between(start, end)) that may be useful to you. ### Examples: @@ -247,6 +253,20 @@ z1("s 0 3 2 1") true, )} +${makeExample( + "Cube Dance swing", + ` + z1("0").cubeDance([3,4,5]).sound("sine").out()`, + true, + )} + +${makeExample( + "Power Towers with pulse", + ` + z1("2").powerTowers([2,3,7]).between(5,11).sound("sine").out()`, + true, + )} + ## Cycles with vitamins and repetitions Finally, cyclic methods in Ziffers can also be vitaminized with doses of different Tonnetz. However, this opens the way to different behavior with cycles. @@ -276,7 +296,7 @@ true By default hexaCycles and enneaCycles have 3 repetitions, while octaCycles has 4 repetitions. We have specified a **chromatic scale** although this is the **default scale**. Try changing the **repeats and scales** when playing with different Tonnetz. -* Remark E: These cycles in Tonnetz [3, 4, 5] are implemented based on the work of [Douthett & Steinbach (1998, pp. 245-247)](https://www.jstor.org/stable/843877) +* Remark E: These cycles in Tonnetz [3, 4, 5] are implemented based on the work of [Douthett & Steinbach (1998, pp. 245-247, 253-256)](https://www.jstor.org/stable/843877) ## :construction: Regions and OctaTowers