17. Strudel (Live Coding)
Pattern-based live-coding music library: cycle-space time, mini-notation DSL, pattern algebra and combinators, synthesis, samples, SF2 soundfonts, MIDI playback, per-voice effect chains, and a threaded playback harness.
See also daStrudel (Live-Coding) Tutorials and daslang strudel vs strudel.cc — Feature Comparison.
- 17.1. Event payload and ADSR/delay-time resolvers
- 17.2. Cycle-space time primitives: TimeSpan, Hap, and cycle helpers
- 17.3. Pattern algebra, combinators, and fluent control API
- 17.3.1. Type aliases
- 17.3.2. Pattern construction
- 17.3.3. Time manipulation
- 17.3.4. Combinators
- 17.3.5. Setter primitives
- 17.3.5.1. set_attack
- 17.3.5.2. set_decay
- 17.3.5.3. set_delay
- 17.3.5.4. set_delayfeedback
- 17.3.5.5. set_delaytime
- 17.3.5.6. set_fm
- 17.3.5.7. set_fmh
- 17.3.5.8. set_gain
- 17.3.5.9. set_hpf
- 17.3.5.10. set_hpq
- 17.3.5.11. set_lpf
- 17.3.5.12. set_lpq
- 17.3.5.13. set_note
- 17.3.5.14. set_pan
- 17.3.5.15. set_release
- 17.3.5.16. set_room
- 17.3.5.17. set_roomsize
- 17.3.5.18. set_sound
- 17.3.5.19. set_sustain
- 17.3.6. Fluent control: dynamics and routing
- 17.3.7. Fluent control: effects sends
- 17.3.8. Fluent control: filters
- 17.3.9. Fluent control: envelope
- 17.3.10. Fluent control: synthesis and shaping
- 17.3.11. Fluent control: modulation FX
- 17.3.11.1. compressor
- 17.3.11.2. compressorAttack
- 17.3.11.3. compressorKnee
- 17.3.11.4. compressorRatio
- 17.3.11.5. compressorRelease
- 17.3.11.6. compressor_attack
- 17.3.11.7. compressor_knee
- 17.3.11.8. compressor_ratio
- 17.3.11.9. compressor_release
- 17.3.11.10. ph
- 17.3.11.11. phaser
- 17.3.11.12. phasercenter
- 17.3.11.13. phaserdepth
- 17.3.11.14. phasersweep
- 17.3.11.15. phc
- 17.3.11.16. phd
- 17.3.11.17. phs
- 17.3.11.18. trem
- 17.3.11.19. tremdepth
- 17.3.11.20. tremolo
- 17.3.11.21. tremolodepth
- 17.3.12. Fluent control: SF2
- 17.3.13. Signals
- 17.4. Mini-notation tokenizer, parser, and fluent-DSL entry points
- 17.5. Musical scales and note-name helpers
- 17.6. Audio synthesis: oscillators, drums, filters, and effects
- 17.7. Sample bank and audio file loading
- 17.8. Voice allocation, effect bus routing, and per-tick mixing
- 17.9. Top-level playback harness: tracks, BPM/CPS, and threaded audio
- 17.10. MIDI file parser
- 17.11. MIDI file playback with GM preset mapping
- 17.12. SoundFont 2 file parser
- 17.13. SoundFont 2 per-voice runtime: envelope, LFO, modulators, biquad
- 17.14. Live-reload state preservation