diff --git a/AGENTS.md b/AGENTS.md index 5380dd8..b3b0481 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -129,6 +129,24 @@ Strudel uses specific method names for effects that differ from some other audio .mask("1 0 1 1") // rhythmic gating ``` +## Advanced Pattern Features + +Strudel supports several advanced features for complex live coding: + +**Named Patterns**: Use `$name:` syntax to create referenceable patterns (e.g., `$bass: n("0 2 4").sound("sawtooth")`), enabling pattern manipulation and live control. + +**Precise Tempo Control**: `setCps(bpm/60/4)` provides more accurate tempo setting than basic BPM values, essential for precise synchronization. + +**Pattern Visualization**: `._scope()` method enables visual feedback for patterns, useful for live performance monitoring. + +**Mathematical Operations**: `.sub(n)` subtracts semitones, `.seg(n)` creates segmented phrases, `irand(n)` generates random integers for algorithmic composition. + +**Orbit Management**: Explicit `.orbit(n)` assignment routes patterns to specific effect chains, enabling complex audio routing and independent processing. + +**Interactive Elements**: Strudel supports embedding interactive controls directly in code, allowing real-time parameter manipulation during performance. + +These features enable sophisticated composition techniques beyond basic sequencing, supporting professional live coding performance. + ### Documentation Sources Before providing Strudel code, agents should: