# tonal cyclic, bounded pitch structures-finite sets with internal order, repetition, or symmetry, regardless of musical tradition. ## introduction the tonal domain belongs to the pitch layer and generates static pitch sets: finite, repeatable pitch structures used as sources for melodic, harmonic, or pattern-based material. unlike `atonal` (which emphasizes chromatic grids or unordered sets) or `generative` (which evolves over time), `tonal` defines closed, internally constrained pitch behaviors. these forms are abstract, deterministic, and culturally neutral-capable of expressing traditional modes or entirely novel configurations with equal ease. ## overview each form produces a cyclic or bounded pitch map, accessed by an index: ### 0. `ring_scale` behavior: circular scale of n degrees repeating every m* semitones analogy:* generalized diatonic or synthetic mode parameters:* * `a`: number of degrees per cycle (3 to 12) * `b`: total span in semitones (6 to 24) ### 1. `symmetry_set` behavior:* builds sets with reflective or rotational symmetry around a central pitch analogy:* scale as a geometric object (e.g. palindromic, radial) parameters:* * `a`: symmetry type (mirror, radial, rotational) * `b`: span or folding depth (center outwards) ### 2. `grid_arpeggio` behavior: traverses an n*-dimensional pitch grid along a structured path analogy:* arpeggiating chords across pitch planes (e.g. stack + rotate) parameters:* * `a`: grid axis ratio (e.g. 3:2, 4:3) * `b`: traversal path type (linear, zigzag, spiral) ### 3. `loop_melody` behavior:* cycles through a fixed, user-defined pitch sequence with controllable loop offset analogy:* a sequencer rotating through a melodic cell parameters:* * `a`: loop phase offset (0 to sequence length) * `b`: pitch bend or variation depth (±3 semitones) ## parameter behavior summary *ring\_scale** * `a`: number of scale degrees (step count) * `b`: total interval span (defines coarseness) *symmetry\_set** * `a`: symmetry structure (mirror vs. radial fold) * `b`: how deep or wide the symmetry reaches *grid\_arpeggio** * `a`: grid shape (intervallic ratio between axes) * `b`: traversal path shape over the grid *loop\_melody** * `a`: sequence index offset (wraps) * `b`: per-step transposition or contour modulation ## why these were chosen generalization over tradition: instead of encoding specific modes or chords, these forms define general structural constraints* (cycle, symmetry, grid, loop) that include traditional scales as special cases. structural integrity:* each form expresses a unique way to constrain or repeat pitch space, irreducible to others. two-parameter sufficiency:* all behavior is navigable with just `a` and `b`, preserving the system's parametric purity. cultural neutrality:* avoids style-imposed assumptions-usable for both familiar and entirely synthetic pitch designs. ## what is not included chromatic/microtonal collections:* handled in `atonal`. evolving or probabilistic materials:* belong to `generative`. tuning/frequency assignment:* deferred to `tuning`. user-defined note names or keys:* not part of pitch logic-these are display-level concerns. ## conclusion the tonal domain defines compact, cyclic pitch sets through structural primitives-cycles, symmetries, grids, and sequences. its forms serve as deterministic sources for both familiar tonal contexts and non-traditional pitch materials, supporting the project's goal of generating all structured sound, not mimicking any particular musical idiom.