Time & clocks

Forking & simultaneity

  • Multi-Part Music — Plays two coordinated but independent parallel parts, one for oboe and one for bassoon.

  • Blocking False — By default play_note blocks execution until the note is done playing.

  • Play Chord — Demonstrates ScampInstrument.play_chord by playing a famous progression, and then playing it a few more times randomly up and down the keyboard.

  • Chords and Noteheads — Chords with per-note noteheads, and a start_chord handle whose pitches change over time.

  • Voice Leading / spelling policy — Rule-based four-part voice leading over a scale, spelled in E major via the default_spelling_policy argument. (needs scamp_extensions)

  • Guitar Arpeggios — Fingerpicking-style guitar arpeggios built from overlapping held notes.

  • Octave Lines — A short passage of random notes for violin and piano, which uses the optional note properties argument to play_note to apply ottava when notes are very high or very low.

Setting & changing tempo

  • Tempo Change — Same as Hello World example, but repeatedly, with changing tempi.

  • Piano Phase — Steve Reich’s Piano Phase: the same figure forked at 100 vs.

  • Evolving Form — A piece for cello, pianoteq (MIDI), and SuperCollider (OSC), shaped by envelope-driven formal parameters. (needs scamp_extensions)

Advanced

  • Nested Tempi — Music running with nested tempi: a trombone plays a cyclic quarter-note pattern on the session’s accelerating pulse, while a trumpet, forked onto a child clock, plays a similar eighth-note pattern.

  • Metric Phase — Rate targets aligned to metric phase, so accelerations and decelerations land on downbeats.