Difference between 'schedule' and 'event' opcodes in CSound

Hello everyone,

I’m working on a project involving complex adaptive systems in CSound 6.18 where instruments are triggered based on specific conditions, with real-time analysis and synthesis.

I’d like to understand the key differences between the schedule and event opcodes for event scheduling in CSound. Specifically:

  • What are the functional differences between these two opcodes?
  • What limitations does each have?
  • Which would be more appropriate for a system where instruments need to be dynamically scheduled based on real-time analysis?

Would anyone be willing to share a test .csd file that demonstrates the edge cases (or corner cases) for both opcodes? I’m particularly interested in seeing examples that highlight their limitations and behaviors under extreme or unusual conditions.

My current implementation needs to trigger various instruments adaptively based on analyzed parameters, and I want to make sure I’m using the most efficient approach before diving deeper into development.

Any insights, examples, or experiences would be greatly appreciated!

Thanks in advance,
Giulio Romano De Mattia

Hi!

schedule and event_i “i” are the same (and schedulek and event “i”). With event(_i) you can send also “e” (end) and “f” (function table) events, whereas schedule is really only for calling and instrument.
No difference in performance as much I know.

Greetings,
tarmo

Kontakt giulioromano via The Csound Community (<noreply@forum.csound.com>) kirjutas kuupäeval R, 28. märts 2025 kell 20:10: