Learning Crow, Script 1 – Dual-clock Quad LFO

October 18th, 2019

[This is the first in a series of scripts I’m sharing while I learn to write applications for the new Monome Crow, a Eurorack module that connects to Norns or computers running Max, Max for Live, and other serial-enabled applications. Crow also stores a complete script, so that without a USB connection it can continue to run, responding to CV input and ii messages.]

Despite the fact that I have plenty of LFOs in my rack (🤷‍♂️), I chose a dual-clock quad LFO as my Getting to Know Crow and Lua project.


  • Create 4 LFOs based on:
    • 2 clocks
    • 1 clock plus cv input for depth
  • timing for each clock can be based on a clock (trigger) input or cv input
  • each lfo has independent settings for:
    • clock source
    • waveform
    • skew (currently only sets duty cycle for square wave)
    • unipolar or bipolar output
    • time ratio to it’s clock
    • depth ratio to it’s clock
  • are constructed (not built-in) LFOs so they are able to change rate dynamically

Download the script and find more details at the Lines forum.