ATMOSYNTH Groove: a desktop DAW whose instruments and effects are ATMOSYNTH patches, on ATproto.

Outside gear follows Groove's tempo and transport #24

Closed opened by center.for.cybernetic.beauty

Part of #1

What to build #

Gear plugged into this Mac follows Groove's tempo and transport: a drum machine started from Groove's Play starts on the beat, and stops when Groove stops.

  • MIDI outputs are listed in the settings: every MIDI port this Mac has, plus one of Groove's own, ATMOSYNTH Groove, which other apps see as a source without the IAC Driver being turned on.
  • Which MIDI outputs are sent the clock is a machine setting, the same for every document.
  • Each MIDI output has an offset in milliseconds, a machine setting, positive when the gear is slow. Everything sent to an output leaves early enough that the gear sounds when Groove's own audio for that moment leaves the speakers: ahead by the output device's latency, plus that offset.
  • The clock, as atmosynth.at sends it (src/audio/midi-clock.js in atmosynth-audio-engine), from an arrangement and from a patch document:
    • pulses, 24 to a beat, whenever the audio device is open, following the tempo map;
    • Play from the start sends Start; Play from anywhere else sends Song Position, then Continue;
    • Stop sends Stop;
    • the loop range going back, or the playhead moved while playing, sends Stop, Song Position, Continue;
    • in a count-in, the pulses run and Start or Continue lands where the recording begins;
    • in a room, the clock follows the room's count, which is what is heard.
  • The out MIDI light flashes for Start, Stop, Continue and Song Position, never for the pulses alone.

Acceptance criteria #

Sign up or Sign in to add to the discussion.