Skip to content

PatrickStephansen/reactive-synth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReactiveSynth

A modular synth that runs in the broswer. The live version is hosted at https://patrickstephansen.github.io/reactive-synth/.

Most devices and browsers should work except for iOS devices, which might work partially. audioworklet is required for more complex modules, but it's not implemented in the WebKit engine all browsers are forced to use on iOS. Performance is not great on Linux because browsers rely on PulseAudio, which is not well suited to real-time audio.

Example patches

As you construct a patch, the state is stored in the URL. If you create something you like, bookmark the URL, or send it to a friend. Some examples are listed below to get you started.

  • Cyberspace

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22constant-0%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22inverse-gain-1%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22tempo%20freq%22},{%22id%22:%22oscillator-2%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22clock-divider-3%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22note%201%22},{%22id%22:%22clock-divider-4%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22note%202%22},{%22id%22:%22clock-divider-5%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22note%203%22},{%22id%22:%22clock-divider-6%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22note%204%22},{%22id%22:%22clock-divider-7%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22note%205%22},{%22id%22:%22clock-divider-8%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22note%206%22},{%22id%22:%22clock-divider-9%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22note%207%22},{%22id%22:%22clock-divider-10%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22note%208%22},{%22id%22:%22oscillator-11%22,%22moduleType%22:%22oscillator%22,%22name%22:%22source%22},{%22id%22:%22envelope-12%22,%22moduleType%22:%22envelope%22,%22name%22:%22envelope%22},{%22id%22:%22delay-13%22,%22moduleType%22:%22delay%22,%22name%22:%22delay%22},{%22id%22:%22gain-14%22,%22moduleType%22:%22gain%22,%22name%22:%22delay%20feedback%22},{%22id%22:%22inverse-gain-15%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22delay%20length%22},{%22id%22:%22constant-16%22,%22moduleType%22:%22constant%22,%22name%22:%22delay%20hits%22},{%22id%22:%22clock-divider-17%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22shift%22},{%22id%22:%22oscillator-18%22,%22moduleType%22:%22oscillator%22,%22name%22:%22time%20lfo%22},{%22id%22:%22oscillator-25%22,%22moduleType%22:%22oscillator%22,%22name%22:%22drone%22},{%22id%22:%22filter-26%22,%22moduleType%22:%22filter%22,%22name%22:%22drone%20filter%22},{%22id%22:%22envelope-27%22,%22moduleType%22:%22envelope%22,%22name%22:%22drone%20env%22},{%22id%22:%22gain-28%22,%22moduleType%22:%22gain%22,%22name%22:%22freq%20lfo%22},{%22id%22:%22gain-29%22,%22moduleType%22:%22gain%22},{%22id%22:%22distortion-30%22,%22moduleType%22:%22distortion%22,%22name%22:%22pulser%22},{%22id%22:%22gain-31%22,%22moduleType%22:%22gain%22,%22name%22:%22low%20mix%22},{%22id%22:%22oscillator-32%22,%22moduleType%22:%22oscillator%22,%22name%22:%22pwm%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22oscillator-11%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-14%22,%22name%22:%22output%22},{%22moduleId%22:%22filter-26%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-1%22,%22sources%22:[{%22moduleId%22:%22constant-0%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-13%22,%22sources%22:[{%22moduleId%22:%22oscillator-11%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-14%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-14%22,%22sources%22:[{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-15%22,%22sources%22:[{%22moduleId%22:%22constant-16%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-26%22,%22sources%22:[{%22moduleId%22:%22gain-31%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-28%22,%22sources%22:[{%22moduleId%22:%22oscillator-18%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-29%22,%22sources%22:[{%22moduleId%22:%22envelope-27%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22distortion-30%22,%22sources%22:[{%22moduleId%22:%22oscillator-25%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-32%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-31%22,%22sources%22:[{%22moduleId%22:%22distortion-30%22,%22name%22:%22output%22}]}],%22outputs%22:[{%22name%22:%22output%22,%22moduleId%22:%22constant-0%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-1%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-2%22},{%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-7%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-8%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-9%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-10%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-11%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-12%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-13%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-14%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-15%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-16%22},{%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-18%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-25%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-26%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-27%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-28%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-29%22},{%22name%22:%22output%22,%22moduleId%22:%22distortion-30%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-31%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-32%22}],%22choiceParameters%22:[{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-2%22,%22selection%22:%22square%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-11%22,%22selection%22:%22triangle%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-18%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-25%22,%22selection%22:%22sawtooth%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-26%22,%22selection%22:%22lowpass%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-32%22,%22selection%22:%22sine%22}],%22parameters%22:[{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-0%22,%22value%22:136,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-1%22,%22value%22:30,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-1%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-1%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:8,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:7,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:8,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:6,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:-200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:8,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:300,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:8,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:4,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0.01,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:8,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:500,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:8,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:800,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:8,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:300,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:8,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:500,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-11%22,%22value%22:440,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-11%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-7%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-8%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-9%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-10%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-11%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-12%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-12%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-12%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-12%22,%22value%22:0.001,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-12%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-12%22,%22value%22:0.125,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-12%22,%22value%22:0.125,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-12%22,%22value%22:0.175,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-12%22,%22value%22:0.15,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-13%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-15%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-14%22,%22value%22:0.37,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-15%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-1%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-18%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-15%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-16%22,%22value%22:1.5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:3.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:4.25,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:700,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-18%22,%22value%22:0.4,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-18%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-18%22,%22value%22:0.001,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-25%22,%22value%22:55,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-25%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-25%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-27%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-26%22,%22value%22:300,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22filter-26%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-28%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-29%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-26%22,%22value%22:10,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-27%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-8%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-27%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-27%22,%22value%22:0.001,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-27%22,%22value%22:0.218,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-27%22,%22value%22:0.125,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-27%22,%22value%22:0.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-27%22,%22value%22:0.25,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-27%22,%22value%22:0.07,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-28%22,%22value%22:500000,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-29%22,%22value%22:2000,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22input%20gain%22,%22moduleId%22:%22distortion-30%22,%22value%22:100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-31%22,%22value%22:0.08,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-32%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-32%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-32%22,%22value%22:0.008,%22sources%22:[],%22canConnectSources%22:true}]}
    
  • Thunderstorm

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22noise-0%22,%22moduleType%22:%22noise%22,%22name%22:%22rain%22},{%22id%22:%22envelope-1%22,%22moduleType%22:%22envelope%22,%22name%22:%22wind%20gusts%22},{%22id%22:%22noise-2%22,%22moduleType%22:%22noise%22,%22name%22:%22effects%20trigger%22},{%22id%22:%22oscillator-3%22,%22moduleType%22:%22oscillator%22,%22name%22:%22wind%20change%20clock%22},{%22id%22:%22delay-4%22,%22moduleType%22:%22delay%22,%22name%22:%22rain%20echo%22},{%22id%22:%22gain-5%22,%22moduleType%22:%22gain%22,%22name%22:%22rain%20echo%20feedbk%22},{%22id%22:%22oscillator-6%22,%22moduleType%22:%22oscillator%22,%22name%22:%22rain%20intensity%20clock%22},{%22id%22:%22noise-7%22,%22moduleType%22:%22noise%22,%22name%22:%22rain%20intensity%20chang%22},{%22id%22:%22envelope-9%22,%22moduleType%22:%22envelope%22,%22name%22:%22thunder%20gain%22},{%22id%22:%22noise-10%22,%22moduleType%22:%22noise%22,%22name%22:%22thunder%20clap%22},{%22id%22:%22filter-11%22,%22moduleType%22:%22filter%22,%22name%22:%22thunder%20filter%22},{%22id%22:%22clock-divider-12%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22thunder%20trigger%22},{%22id%22:%22envelope-13%22,%22moduleType%22:%22envelope%22,%22name%22:%22thunder%20pitch%22},{%22id%22:%22delay-14%22,%22moduleType%22:%22delay%22,%22name%22:%22thunder%20echo%22},{%22id%22:%22gain-15%22,%22moduleType%22:%22gain%22,%22name%22:%22thunder%20echo%20feedbk%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22filter-11%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-15%22,%22name%22:%22output%22},{%22moduleId%22:%22noise-0%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-5%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-4%22,%22sources%22:[{%22moduleId%22:%22noise-0%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-5%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-5%22,%22sources%22:[{%22moduleId%22:%22delay-4%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-11%22,%22sources%22:[{%22moduleId%22:%22noise-10%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-14%22,%22sources%22:[{%22moduleId%22:%22filter-11%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-15%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-15%22,%22sources%22:[{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22}]}],%22outputs%22:[{%22name%22:%22output%22,%22moduleId%22:%22noise-0%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-1%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-2%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-3%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-4%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-5%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-6%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-7%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-9%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-10%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-11%22},{%22moduleId%22:%22clock-divider-12%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-13%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-14%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-15%22}],%22choiceParameters%22:[{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-3%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-6%22,%22selection%22:%22sine%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-11%22,%22selection%22:%22lowpass%22}],%22parameters%22:[{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-0%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-0%22,%22value%22:0.3,%22sources%22:[{%22moduleId%22:%22noise-7%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-0%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-0%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-0%22,%22value%22:0.04,%22sources%22:[{%22moduleId%22:%22envelope-1%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-1%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22noise-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-1%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-1%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-1%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-1%22,%22value%22:0.225,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-1%22,%22value%22:0.6,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-1%22,%22value%22:4,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-1%22,%22value%22:0.07,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-2%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-2%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-2%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-2%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-3%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-2%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-3%22,%22value%22:0.2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-3%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-3%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-4%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-5%22,%22value%22:0.6,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-6%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-6%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-7%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-7%22,%22value%22:0.02,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-7%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-7%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-6%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-7%22,%22value%22:0.29,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-9%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-12%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-9%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-9%22,%22value%22:0.001,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-9%22,%22value%22:0.0625,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-9%22,%22value%22:7,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-9%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-9%22,%22value%22:7,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-9%22,%22value%22:0.5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-10%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-10%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-10%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-9%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-11%22,%22value%22:220,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22filter-11%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-13%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-11%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:-0.03,%22sources%22:[{%22moduleId%22:%22noise-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-13%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-12%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-13%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-13%22,%22value%22:0.001,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-13%22,%22value%22:0.005,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-13%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-13%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-13%22,%22value%22:0.5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-13%22,%22value%22:2600,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-14%22,%22value%22:0.18,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-15%22,%22value%22:0.6,%22sources%22:[],%22canConnectSources%22:true}]}
    
  • Theramin on rails

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22control-surface-0%22,%22moduleType%22:%22control-surface%22,%22name%22:%22theramin%20chords%22},{%22id%22:%22bit-crusher-1%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22note%20quantizer%22},{%22id%22:%22oscillator-2%22,%22moduleType%22:%22oscillator%22,%22name%22:%22root%22},{%22id%22:%22clock-divider-6%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22minor%20adj%201%22},{%22id%22:%22clock-divider-7%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22minor%20adj%202%22},{%22id%22:%22constant-9%22,%22moduleType%22:%22constant%22,%22name%22:%22quantizer%20shift%22},{%22id%22:%22filter-10%22,%22moduleType%22:%22filter%22,%22name%22:%22filter%22},{%22id%22:%22oscillator-11%22,%22moduleType%22:%22oscillator%22,%22name%22:%22mod%20lfo%22},{%22id%22:%22gain-12%22,%22moduleType%22:%22gain%22,%22name%22:%22mod%20depth%22},{%22id%22:%22oscillator-13%22,%22moduleType%22:%22oscillator%22,%22name%22:%225th%22},{%22id%22:%22gain-15%22,%22moduleType%22:%22gain%22,%22name%22:%225th%20mix%22},{%22id%22:%22gain-16%22,%22moduleType%22:%22gain%22,%22name%22:%223rd%20mix%22},{%22id%22:%22oscillator-17%22,%22moduleType%22:%22oscillator%22,%22name%22:%22spread%203rd%22},{%22id%22:%22clock-divider-18%22,%22moduleType%22:%22clock-divider%22,%22name%22:%223rd%20adj%201%22},{%22id%22:%22clock-divider-19%22,%22moduleType%22:%22clock-divider%22,%22name%22:%223rd%20adj%202%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22filter-10%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-1%22,%22sources%22:[{%22moduleId%22:%22control-surface-0%22,%22name%22:%22x%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-10%22,%22sources%22:[{%22moduleId%22:%22oscillator-17%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-13%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-12%22,%22sources%22:[{%22moduleId%22:%22control-surface-0%22,%22name%22:%22y%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-15%22,%22sources%22:[{%22moduleId%22:%22control-surface-0%22,%22name%22:%22y%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-16%22,%22sources%22:[{%22moduleId%22:%22control-surface-0%22,%22name%22:%22y%22}]}],%22outputs%22:[{%22name%22:%22x%22,%22moduleId%22:%22control-surface-0%22},{%22name%22:%22y%22,%22moduleId%22:%22control-surface-0%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-1%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-2%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-7%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-9%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-10%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-11%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-12%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-13%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-15%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-16%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-17%22},{%22moduleId%22:%22clock-divider-18%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-19%22,%22name%22:%22output%22}],%22choiceParameters%22:[{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-1%22,%22selection%22:%22quantize-evenly%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-2%22,%22selection%22:%22sawtooth%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-10%22,%22selection%22:%22lowpass%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-11%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-13%22,%22selection%22:%22square%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-17%22,%22selection%22:%22sawtooth%22}],%22parameters%22:[{%22name%22:%22x%22,%22moduleId%22:%22control-surface-0%22,%22minShownValue%22:-1,%22maxShownValue%22:1,%22value%22:-1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22y%22,%22moduleId%22:%22control-surface-0%22,%22minShownValue%22:0,%22maxShownValue%22:0.28,%22value%22:0.14046822742474918,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-1%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-1%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22constant-9%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-2%22,%22value%22:55,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-7%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-9%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22control-surface-0%22,%22name%22:%22y%22}],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:-250,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-9%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:-100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:-750,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-9%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:-100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-9%22,%22value%22:800,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-10%22,%22value%22:440,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22filter-10%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-11%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-11%22,%22value%22:6,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-11%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-11%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-12%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-12%22,%22value%22:700,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-13%22,%22value%22:55,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-13%22,%22value%22:700,%22sources%22:[{%22moduleId%22:%22constant-9%22,%22name%22:%22output%22},{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-7%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-13%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-15%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-15%22,%22value%22:0.5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-16%22,%22value%22:0.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-17%22,%22value%22:55,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-17%22,%22value%22:1500,%22sources%22:[{%22moduleId%22:%22constant-9%22,%22name%22:%22output%22},{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-18%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-19%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-17%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-16%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:-450,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-9%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:-100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-19%22,%22value%22:-1250,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-9%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-19%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-19%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-19%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-19%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-19%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-19%22,%22value%22:-100,%22sources%22:[],%22canConnectSources%22:true}]}
    
  • Endless melody

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22oscillator-0%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22constant-1%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22constant-2%22,%22moduleType%22:%22constant%22,%22name%22:%22-bars%20per%20minute%22},{%22id%22:%22inverse-gain-3%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22bpm%20to%20hz%20per%20bar%22},{%22id%22:%22constant-4%22,%22moduleType%22:%22constant%22,%22name%22:%22note%20length%20offset%22},{%22id%22:%22rectifier-5%22,%22moduleType%22:%22rectifier%22,%22name%22:%22note%201%20envelope%22},{%22id%22:%22constant-7%22,%22moduleType%22:%22constant%22,%22name%22:%22notes%20per%20clock%20tick%22},{%22id%22:%22inverse-gain-8%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22hz%20to%20delay%20length%22},{%22id%22:%22delay-9%22,%22moduleType%22:%22delay%22,%22name%22:%22note%202%20envelope%22},{%22id%22:%22delay-10%22,%22moduleType%22:%22delay%22,%22name%22:%22note%203%20envelope%22},{%22id%22:%22delay-11%22,%22moduleType%22:%22delay%22,%22name%22:%22note%204%20envelope%22},{%22id%22:%22delay-12%22,%22moduleType%22:%22delay%22,%22name%22:%22note%205%20envelope%22},{%22id%22:%22delay-13%22,%22moduleType%22:%22delay%22,%22name%22:%22note%206%20envelope%22},{%22id%22:%22delay-14%22,%22moduleType%22:%22delay%22,%22name%22:%22note%207%20envelope%22},{%22id%22:%22delay-16%22,%22moduleType%22:%22delay%22,%22name%22:%22note%208%20envelope%22},{%22id%22:%22oscillator-17%22,%22moduleType%22:%22oscillator%22,%22name%22:%22kick%20source%22},{%22id%22:%22filter-18%22,%22moduleType%22:%22filter%22,%22name%22:%22kick%20filter%22},{%22id%22:%22constant-19%22,%22moduleType%22:%22constant%22,%22name%22:%22kick%20drop%20shortener%22},{%22id%22:%22rectifier-20%22,%22moduleType%22:%22rectifier%22,%22name%22:%22kick%20pitch%20scaler%22},{%22id%22:%22noise-21%22,%22moduleType%22:%22noise%22,%22name%22:%22snare%20source%20noise%22},{%22id%22:%22rectifier-23%22,%22moduleType%22:%22rectifier%22,%22name%22:%22snare%20envelope%22},{%22id%22:%22constant-24%22,%22moduleType%22:%22constant%22,%22name%22:%22snare%20hit%20shortener%22},{%22id%22:%22bit-crusher-25%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22quantize%20to%204%20vals%22},{%22id%22:%22noise-26%22,%22moduleType%22:%22noise%22,%22name%22:%22play%20decider%20noise%20%22},{%22id%22:%22oscillator-27%22,%22moduleType%22:%22oscillator%22,%22name%22:%22root%20note%22},{%22id%22:%22inverse-gain-28%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22play%20or%20not%22},{%22id%22:%22gain-30%22,%22moduleType%22:%22gain%22,%22name%22:%22note%20envelope%22},{%22id%22:%22noise-31%22,%22moduleType%22:%22noise%22,%22name%22:%22note%20decider%20noise%22},{%22id%22:%22bit-crusher-32%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22quantize%20to%205%20vals%22},{%22id%22:%22constant-33%22,%22moduleType%22:%22constant%22,%22name%22:%22note%20decision%20offset%22},{%22id%22:%22rectifier-35%22,%22moduleType%22:%22rectifier%22,%22name%22:%22note%20decision%20spread%22},{%22id%22:%22constant-39%22,%22moduleType%22:%22constant%22,%22name%22:%22detune%20threshold%22},{%22id%22:%22rectifier-40%22,%22moduleType%22:%22rectifier%22,%22name%22:%22may%20shift%201/2step%20up%22},{%22id%22:%22noise-42%22,%22moduleType%22:%22noise%22,%22name%22:%22chord%20decider%20noise%22},{%22id%22:%22bit-crusher-43%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22quantize%20to%203%20values%22},{%22id%22:%22constant-44%22,%22moduleType%22:%22constant%22,%22name%22:%22chord%20decider%20offset%22},{%22id%22:%22rectifier-45%22,%22moduleType%22:%22rectifier%22,%22name%22:%22chord%20decider%20scaler%22},{%22id%22:%22constant-46%22,%22moduleType%22:%22constant%22,%22name%22:%22chord%20shift%20thrshold%22},{%22id%22:%22rectifier-47%22,%22moduleType%22:%22rectifier%22,%22name%22:%22maybe%20shift%20chord%22},{%22id%22:%22noise-48%22,%22moduleType%22:%22noise%22,%22name%22:%22hats%20noise%20source%22},{%22id%22:%22filter-49%22,%22moduleType%22:%22filter%22,%22name%22:%22hats%20filter%22},{%22id%22:%22gain-51%22,%22moduleType%22:%22gain%22,%22name%22:%22hats%20mix%22},{%22id%22:%22gain-52%22,%22moduleType%22:%22gain%22,%22name%22:%22snare%20mix%22},{%22id%22:%22oscillator-53%22,%22moduleType%22:%22oscillator%22,%22name%22:%22PWM%20LFO%22},{%22id%22:%22oscillator-54%22,%22moduleType%22:%22oscillator%22,%22name%22:%22octave%22},{%22id%22:%22filter-61%22,%22moduleType%22:%22filter%22,%22name%22:%22melody%20filter%22},{%22id%22:%22distortion-62%22,%22moduleType%22:%22distortion%22,%22name%22:%22distort%20saw%20to%20pulse%22},{%22id%22:%22gain-63%22,%22moduleType%22:%22gain%22,%22name%22:%22pulse%20melody%20mix%22},{%22id%22:%22gain-64%22,%22moduleType%22:%22gain%22},{%22id%22:%22oscillator-65%22,%22moduleType%22:%22oscillator%22,%22name%22:%225th%20saw%20melody%22},{%22id%22:%22gain-66%22,%22moduleType%22:%22gain%22,%22name%22:%225th%20saw%20mix%22},{%22id%22:%22constant-67%22,%22moduleType%22:%22constant%22,%22name%22:%22melody%20pitch%20offset%22},{%22id%22:%22gain-68%22,%22moduleType%22:%22gain%22,%22name%22:%22kick%20mix%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22gain-51%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-52%22,%22name%22:%22output%22},{%22moduleId%22:%22filter-61%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-68%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-3%22,%22sources%22:[{%22moduleId%22:%22constant-1%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-5%22,%22sources%22:[{%22moduleId%22:%22oscillator-0%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-4%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-8%22,%22sources%22:[{%22moduleId%22:%22constant-7%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-9%22,%22sources%22:[{%22moduleId%22:%22rectifier-5%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-10%22,%22sources%22:[{%22moduleId%22:%22delay-9%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-11%22,%22sources%22:[{%22moduleId%22:%22delay-10%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-12%22,%22sources%22:[{%22moduleId%22:%22delay-11%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-13%22,%22sources%22:[{%22moduleId%22:%22delay-12%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-14%22,%22sources%22:[{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-16%22,%22sources%22:[{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-18%22,%22sources%22:[{%22moduleId%22:%22oscillator-17%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-20%22,%22sources%22:[{%22moduleId%22:%22constant-19%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-5%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-12%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-23%22,%22sources%22:[{%22moduleId%22:%22delay-10%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-24%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-25%22,%22sources%22:[{%22moduleId%22:%22noise-26%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-28%22,%22sources%22:[{%22moduleId%22:%22bit-crusher-25%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-30%22,%22sources%22:[{%22moduleId%22:%22rectifier-5%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-9%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-10%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-11%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-12%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-32%22,%22sources%22:[{%22moduleId%22:%22noise-31%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-35%22,%22sources%22:[{%22moduleId%22:%22constant-33%22,%22name%22:%22output%22},{%22moduleId%22:%22bit-crusher-32%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-40%22,%22sources%22:[{%22moduleId%22:%22rectifier-35%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-39%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-43%22,%22sources%22:[{%22moduleId%22:%22noise-42%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-45%22,%22sources%22:[{%22moduleId%22:%22constant-44%22,%22name%22:%22output%22},{%22moduleId%22:%22bit-crusher-43%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-47%22,%22sources%22:[{%22moduleId%22:%22constant-46%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-45%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-49%22,%22sources%22:[{%22moduleId%22:%22noise-48%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-51%22,%22sources%22:[{%22moduleId%22:%22filter-49%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-52%22,%22sources%22:[{%22moduleId%22:%22noise-21%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-61%22,%22sources%22:[{%22moduleId%22:%22oscillator-27%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-63%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-66%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22distortion-62%22,%22sources%22:[{%22moduleId%22:%22oscillator-53%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-54%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-63%22,%22sources%22:[{%22moduleId%22:%22distortion-62%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-64%22,%22sources%22:[{%22moduleId%22:%22rectifier-5%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-10%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-9%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-11%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-12%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-66%22,%22sources%22:[{%22moduleId%22:%22oscillator-65%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-68%22,%22sources%22:[{%22moduleId%22:%22filter-18%22,%22name%22:%22output%22}]}],%22outputs%22:[{%22name%22:%22output%22,%22moduleId%22:%22oscillator-0%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-1%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-2%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-3%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-4%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-5%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-7%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-8%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-9%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-10%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-11%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-12%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-13%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-14%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-16%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-17%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-18%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-19%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-20%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-21%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-23%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-24%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-25%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-26%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-27%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-28%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-30%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-31%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-32%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-33%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-35%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-39%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-40%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-42%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-43%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-44%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-45%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-46%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-47%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-48%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-49%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-51%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-52%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-53%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-54%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-61%22},{%22name%22:%22output%22,%22moduleId%22:%22distortion-62%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-63%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-64%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-65%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-66%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-67%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-68%22}],%22choiceParameters%22:[{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-0%22,%22selection%22:%22sawtooth%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-17%22,%22selection%22:%22square%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-18%22,%22selection%22:%22lowpass%22},{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-25%22,%22selection%22:%22quantize-evenly%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-27%22,%22selection%22:%22sawtooth%22},{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-32%22,%22selection%22:%22quantize-evenly%22},{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-43%22,%22selection%22:%22quantize-evenly%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-49%22,%22selection%22:%22highpass%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-53%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-54%22,%22selection%22:%22sawtooth%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-61%22,%22selection%22:%22lowpass%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-65%22,%22selection%22:%22sawtooth%22}],%22parameters%22:[{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-0%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-3%22,%22name%22:%22output%22}]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-0%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-0%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-1%22,%22value%22:%22110%22,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-2%22,%22value%22:-240,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-3%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-3%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-4%22,%22value%22:%22-0.66%22,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-5%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-5%22,%22value%22:2,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-7%22,%22value%22:-0.125,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-8%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-3%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-8%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-9%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-8%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-10%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-8%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-11%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-8%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-12%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-8%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-13%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-8%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-14%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-8%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-16%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-8%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-17%22,%22value%22:55,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-17%22,%22value%22:%220%22,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-17%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22rectifier-5%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-12%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-18%22,%22value%22:64,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-18%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22rectifier-20%22,%22name%22:%22output%22}]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-18%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-19%22,%22value%22:-0.28,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-20%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-20%22,%22value%22:21000,%22sources%22:[]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-21%22,%22value%22:0.13,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-21%22,%22value%22:0.4,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-21%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-21%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-21%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22rectifier-23%22,%22name%22:%22output%22}]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-23%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-23%22,%22value%22:0.85,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-24%22,%22value%22:-0.12,%22sources%22:[]},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-25%22,%22value%22:2,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-25%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-26%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-26%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-26%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-26%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22rectifier-5%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-9%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-10%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-11%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-12%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-26%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-27%22,%22value%22:55,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-27%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22constant-67%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-27%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-30%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-28%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22bit-crusher-25%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-28%22,%22value%22:0.75,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-30%22,%22value%22:-0.75,%22sources%22:[{%22moduleId%22:%22inverse-gain-28%22,%22name%22:%22output%22}]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-31%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-31%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-31%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-31%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22rectifier-5%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-9%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-10%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-11%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-12%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-31%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-32%22,%22value%22:2.4,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-32%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-33%22,%22value%22:0.6,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-35%22,%22value%22:0.5,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-35%22,%22value%22:1500,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-39%22,%22value%22:-500,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-40%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-40%22,%22value%22:100,%22sources%22:[]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-42%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-42%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-42%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-42%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22rectifier-5%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-42%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-43%22,%22value%22:%221.6%22,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-43%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-44%22,%22value%22:%221%22,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-45%22,%22value%22:0.5,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-45%22,%22value%22:%221500%22,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-46%22,%22value%22:-999,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-47%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-47%22,%22value%22:-300,%22sources%22:[]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-48%22,%22value%22:0.6,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-48%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-48%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-48%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-48%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22rectifier-5%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-9%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-10%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-11%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-12%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-49%22,%22value%22:%225000%22,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-49%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-49%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-51%22,%22value%22:0.04,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-52%22,%22value%22:0.42,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-53%22,%22value%22:0.033,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-53%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-53%22,%22value%22:0.02,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-54%22,%22value%22:55,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-54%22,%22value%22:1198,%22sources%22:[{%22moduleId%22:%22constant-67%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-54%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-30%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-61%22,%22value%22:500,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-61%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-64%22,%22name%22:%22output%22}]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-61%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22distortion-62%22,%22value%22:1000,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-63%22,%22value%22:0.08,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-64%22,%22value%22:8000,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-65%22,%22value%22:55,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-65%22,%22value%22:698,%22sources%22:[{%22moduleId%22:%22constant-67%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-65%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-30%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-66%22,%22value%22:0.16,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-67%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22rectifier-35%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-40%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-45%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-47%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-68%22,%22value%22:0.8,%22sources%22:[]}]}
    
  • Dimmer control

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22oscillator-0%22,%22moduleType%22:%22oscillator%22,%22name%22:%22main%20source%22},{%22id%22:%22filter-1%22,%22moduleType%22:%22filter%22,%22name%22:%22filter%22},{%22id%22:%22control-surface-3%22,%22moduleType%22:%22control-surface%22,%22name%22:%22brightness%20control%22},{%22id%22:%22distortion-5%22,%22moduleType%22:%22distortion%22,%22name%22:%22to%20pulse%22},{%22id%22:%22oscillator-6%22,%22moduleType%22:%22oscillator%22,%22name%22:%22PWM%20LFO%22},{%22id%22:%22gain-7%22,%22moduleType%22:%22gain%22,%22name%22:%22PWM%20depth%22},{%22id%22:%22gain-9%22,%22moduleType%22:%22gain%22,%22name%22:%22fader%22},{%22id%22:%22noise-10%22,%22moduleType%22:%22noise%22,%22name%22:%22play%20decider%22},{%22id%22:%22envelope-11%22,%22moduleType%22:%22envelope%22,%22name%22:%22gain%20envelope%22},{%22id%22:%22constant-12%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22inverse-gain-13%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22BPM%20to%20Hz%22},{%22id%22:%22oscillator-14%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22clock-divider-15%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22up%20a%205th%22},{%22id%22:%22clock-divider-16%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22up%20a%204th%22},{%22id%22:%22clock-divider-17%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22up%20a%203rd%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22filter-1%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-1%22,%22sources%22:[{%22moduleId%22:%22gain-9%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22distortion-5%22,%22sources%22:[{%22moduleId%22:%22oscillator-0%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-6%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-7%22,%22sources%22:[{%22moduleId%22:%22control-surface-3%22,%22name%22:%22y%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-9%22,%22sources%22:[{%22moduleId%22:%22distortion-5%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-13%22,%22sources%22:[{%22moduleId%22:%22constant-12%22,%22name%22:%22output%22}]}],%22outputs%22:[{%22name%22:%22output%22,%22moduleId%22:%22oscillator-0%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-1%22},{%22name%22:%22x%22,%22moduleId%22:%22control-surface-3%22},{%22name%22:%22y%22,%22moduleId%22:%22control-surface-3%22},{%22name%22:%22output%22,%22moduleId%22:%22distortion-5%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-6%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-7%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-9%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-10%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-11%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-12%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-13%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-14%22},{%22moduleId%22:%22clock-divider-15%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-16%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22}],%22choiceParameters%22:[{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-0%22,%22selection%22:%22sawtooth%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-1%22,%22selection%22:%22lowpass%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-6%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-14%22,%22selection%22:%22sine%22}],%22parameters%22:[{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-0%22,%22value%22:55,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-0%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-15%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-16%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-0%22,%22value%22:0.44,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-1%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22control-surface-3%22,%22name%22:%22x%22}],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22filter-1%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-1%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22control-surface-3%22,%22name%22:%22y%22}],%22canConnectSources%22:true},{%22name%22:%22x%22,%22moduleId%22:%22control-surface-3%22,%22minShownValue%22:55,%22maxShownValue%22:4800,%22value%22:251.3858695652174,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22y%22,%22moduleId%22:%22control-surface-3%22,%22minShownValue%22:0,%22maxShownValue%22:10,%22value%22:0.36789297658862874,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22input%20gain%22,%22moduleId%22:%22distortion-5%22,%22value%22:100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-6%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-6%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22control-surface-3%22,%22name%22:%22y%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-6%22,%22value%22:0.01,%22sources%22:[{%22moduleId%22:%22gain-7%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-7%22,%22value%22:0.025,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-9%22,%22value%22:0.02,%22sources%22:[{%22moduleId%22:%22envelope-11%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-10%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-10%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-14%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-10%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-11%22,%22value%22:0.03,%22sources%22:[{%22moduleId%22:%22noise-10%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-11%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-11%22,%22value%22:0.001,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-11%22,%22value%22:0.3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-11%22,%22value%22:0.075,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-11%22,%22value%22:0.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-11%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-11%22,%22value%22:0.35,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-12%22,%22value%22:80,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-13%22,%22value%22:30,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-13%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-14%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-13%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-14%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-14%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-14%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:3.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:1.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:2.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:700,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-14%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:2.25,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:1.5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:1.25,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:500,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-14%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:1.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:1.25,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:300,%22sources%22:[],%22canConnectSources%22:true}]}
    
  • Erosion

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22control-surface-27%22,%22moduleType%22:%22control-surface%22,%22name%22:%22warp%22},{%22id%22:%22noise-0%22,%22moduleType%22:%22noise%22,%22name%22:%22chord%20picker%20noise%22},{%22id%22:%22bit-crusher-1%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22quantizer%22},{%22id%22:%22constant-2%22,%22moduleType%22:%22constant%22,%22name%22:%22shifter%22},{%22id%22:%22clock-divider-3%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22IV%22},{%22id%22:%22clock-divider-4%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22V%22},{%22id%22:%22clock-divider-5%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22vi%22},{%22id%22:%22clock-divider-6%22,%22moduleType%22:%22clock-divider%22,%22name%22:%223rd%20shift%22},{%22id%22:%22envelope-10%22,%22moduleType%22:%22envelope%22,%22name%22:%22root%20envelope%22},{%22id%22:%22constant-13%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22inverse-gain-14%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22bpm%20to%20hz%22},{%22id%22:%22clock-divider-15%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22pattern%20root%22},{%22id%22:%22clock-divider-16%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22bars%22},{%22id%22:%22oscillator-17%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22oscillator-18%22,%22moduleType%22:%22oscillator%22,%22name%22:%22root%22},{%22id%22:%22oscillator-19%22,%22moduleType%22:%22oscillator%22,%22name%22:%223rd%22},{%22id%22:%22oscillator-20%22,%22moduleType%22:%22oscillator%22,%22name%22:%225th%22},{%22id%22:%22gain-21%22,%22moduleType%22:%22gain%22,%22name%22:%223rd%20mix%22},{%22id%22:%22gain-22%22,%22moduleType%22:%22gain%22,%22name%22:%225th%20mix%22},{%22id%22:%22envelope-23%22,%22moduleType%22:%22envelope%22,%22name%22:%225th%20envelope%22},{%22id%22:%22envelope-24%22,%22moduleType%22:%22envelope%22,%22name%22:%223rd%20envelope%22},{%22id%22:%22clock-divider-25%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22pattern2%22},{%22id%22:%22clock-divider-26%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22pattern3%22},{%22id%22:%22oscillator-28%22,%22moduleType%22:%22oscillator%22,%22name%22:%22vibrato%22},{%22id%22:%22gain-31%22,%22moduleType%22:%22gain%22,%22name%22:%22tempo%20adjust%22},{%22id%22:%22inverse-gain-32%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22vibrato%20frequency%22},{%22id%22:%22filter-33%22,%22moduleType%22:%22filter%22,%22name%22:%22filter%22},{%22id%22:%22bit-crusher-35%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22bit-crusher%22},{%22id%22:%22gain-36%22,%22moduleType%22:%22gain%22,%22name%22:%22lo-fi-ness%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22filter-33%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-1%22,%22sources%22:[{%22moduleId%22:%22noise-0%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-14%22,%22sources%22:[{%22moduleId%22:%22constant-13%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-21%22,%22sources%22:[{%22moduleId%22:%22oscillator-19%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-22%22,%22sources%22:[{%22moduleId%22:%22oscillator-20%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-31%22,%22sources%22:[{%22moduleId%22:%22control-surface-27%22,%22name%22:%22y%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-32%22,%22sources%22:[{%22moduleId%22:%22constant-13%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-33%22,%22sources%22:[{%22moduleId%22:%22bit-crusher-35%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-35%22,%22sources%22:[{%22moduleId%22:%22gain-21%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-22%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-18%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-36%22,%22sources%22:[{%22moduleId%22:%22control-surface-27%22,%22name%22:%22x%22}]}],%22outputs%22:[{%22name%22:%22x%22,%22moduleId%22:%22control-surface-27%22},{%22name%22:%22y%22,%22moduleId%22:%22control-surface-27%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-0%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-1%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-2%22},{%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-10%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-13%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-14%22},{%22moduleId%22:%22clock-divider-15%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-16%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-17%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-18%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-19%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-20%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-21%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-22%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-23%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-24%22},{%22moduleId%22:%22clock-divider-25%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-26%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-28%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-31%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-32%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-33%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-35%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-36%22}],%22choiceParameters%22:[{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-1%22,%22selection%22:%22quantize-evenly%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-17%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-18%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-19%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-20%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-28%22,%22selection%22:%22sine%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-33%22,%22selection%22:%22lowpass%22},{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-35%22,%22selection%22:%22continuous%22}],%22parameters%22:[{%22name%22:%22x%22,%22moduleId%22:%22control-surface-27%22,%22minShownValue%22:0,%22maxShownValue%22:50,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22y%22,%22moduleId%22:%22control-surface-27%22,%22minShownValue%22:-1200,%22maxShownValue%22:1200,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-0%22,%22value%22:0.5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-0%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-0%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-0%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-16%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-0%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-1%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-1%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-2%22,%22value%22:2.01,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:-1,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:500,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:-2,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:-3,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:-3,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:-100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-10%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-15%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-10%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-10%22,%22value%22:0.003,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-10%22,%22value%22:0.125,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-10%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-10%22,%22value%22:0.9,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-10%22,%22value%22:0.6,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-13%22,%22value%22:90,%22sources%22:[{%22moduleId%22:%22gain-31%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-14%22,%22value%22:30,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-14%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-17%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-16%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-17%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:8,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:7,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-17%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-14%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-17%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-17%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-18%22,%22value%22:110,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-18%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-28%22,%22name%22:%22output%22},{%22moduleId%22:%22control-surface-27%22,%22name%22:%22y%22},{%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-18%22,%22value%22:0.06,%22sources%22:[{%22moduleId%22:%22envelope-10%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-19%22,%22value%22:220,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-19%22,%22value%22:400,%22sources%22:[{%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-28%22,%22name%22:%22output%22},{%22moduleId%22:%22control-surface-27%22,%22name%22:%22y%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-19%22,%22value%22:0.04,%22sources%22:[{%22moduleId%22:%22envelope-24%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-20%22,%22value%22:220,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-20%22,%22value%22:700,%22sources%22:[{%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-28%22,%22name%22:%22output%22},{%22moduleId%22:%22control-surface-27%22,%22name%22:%22y%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-20%22,%22value%22:0.04,%22sources%22:[{%22moduleId%22:%22envelope-23%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-21%22,%22value%22:0.71,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-22%22,%22value%22:0.58,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-23%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-26%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-23%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-23%22,%22value%22:0.001,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-23%22,%22value%22:0.0625,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-23%22,%22value%22:0.125,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-23%22,%22value%22:0.65,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-23%22,%22value%22:0.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-23%22,%22value%22:0.6,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-24%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-25%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-24%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-24%22,%22value%22:0.001,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-24%22,%22value%22:0.0625,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-24%22,%22value%22:0.125,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-24%22,%22value%22:0.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-24%22,%22value%22:0.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-24%22,%22value%22:0.6,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-17%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-16%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-26%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-17%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-26%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-16%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-26%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-26%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-26%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-26%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-26%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-28%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-32%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-28%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-28%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22control-surface-27%22,%22name%22:%22x%22}],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-31%22,%22value%22:0.075,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-32%22,%22value%22:16,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-32%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-33%22,%22value%22:880,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22filter-33%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-33%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-35%22,%22value%22:8,%22sources%22:[{%22moduleId%22:%22gain-36%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-35%22,%22value%22:0.7,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-36%22,%22value%22:-0.14,%22sources%22:[],%22canConnectSources%22:true}]}
    
  • Dance machine

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22control-surface-19%22,%22moduleType%22:%22control-surface%22,%22name%22:%22rhythm%20variant%22},{%22id%22:%22constant-12%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22noise-0%22,%22moduleType%22:%22noise%22,%22name%22:%22note%20decider%20noise%22},{%22id%22:%22bit-crusher-1%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22quantizer%22},{%22id%22:%22constant-2%22,%22moduleType%22:%22constant%22,%22name%22:%22shift%20to%20positive%22},{%22id%22:%22clock-divider-4%22,%22moduleType%22:%22clock-divider%22,%22name%22:%222nd%22},{%22id%22:%22clock-divider-5%22,%22moduleType%22:%22clock-divider%22,%22name%22:%223rd%22},{%22id%22:%22clock-divider-6%22,%22moduleType%22:%22clock-divider%22,%22name%22:%224th%22},{%22id%22:%22clock-divider-7%22,%22moduleType%22:%22clock-divider%22,%22name%22:%225th%22},{%22id%22:%22clock-divider-8%22,%22moduleType%22:%22clock-divider%22,%22name%22:%226th%22},{%22id%22:%22clock-divider-9%22,%22moduleType%22:%22clock-divider%22,%22name%22:%227th%22},{%22id%22:%22clock-divider-10%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22octave%22},{%22id%22:%22oscillator-11%22,%22moduleType%22:%22oscillator%22,%22name%22:%22source%22},{%22id%22:%22inverse-gain-13%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22bmp%20to%20hz%22},{%22id%22:%22oscillator-14%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22clock-divider-15%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22chugga%22},{%22id%22:%22clock-divider-16%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22bars%22},{%22id%22:%22clock-divider-17%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22pattern%22},{%22id%22:%22envelope-18%22,%22moduleType%22:%22envelope%22,%22name%22:%22gain%20envelope%22},{%22id%22:%22oscillator-22%22,%22moduleType%22:%22oscillator%22,%22name%22:%22power%22},{%22id%22:%22gain-23%22,%22moduleType%22:%22gain%22,%22name%22:%22attenuator%22},{%22id%22:%22oscillator-24%22,%22moduleType%22:%22oscillator%22,%22name%22:%22octave%22},{%22id%22:%22clock-divider-25%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22beats%22},{%22id%22:%22envelope-26%22,%22moduleType%22:%22envelope%22,%22name%22:%22kick%20gain%20env%22},{%22id%22:%22envelope-27%22,%22moduleType%22:%22envelope%22,%22name%22:%22kick%20mod%20env%22},{%22id%22:%22oscillator-28%22,%22moduleType%22:%22oscillator%22,%22name%22:%22kick%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22oscillator-11%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-22%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-24%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-28%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-1%22,%22sources%22:[{%22moduleId%22:%22noise-0%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-13%22,%22sources%22:[{%22moduleId%22:%22constant-12%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-23%22,%22sources%22:[{%22moduleId%22:%22envelope-18%22,%22name%22:%22output%22}]}],%22outputs%22:[{%22name%22:%22x%22,%22moduleId%22:%22control-surface-19%22},{%22name%22:%22y%22,%22moduleId%22:%22control-surface-19%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-12%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-0%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-1%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-2%22},{%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-7%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-8%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-9%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-10%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-11%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-13%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-14%22},{%22moduleId%22:%22clock-divider-15%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-16%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-18%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-22%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-23%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-24%22},{%22moduleId%22:%22clock-divider-25%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-26%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-27%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-28%22}],%22choiceParameters%22:[{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-1%22,%22selection%22:%22quantize-evenly%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-11%22,%22selection%22:%22triangle%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-14%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-22%22,%22selection%22:%22triangle%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-24%22,%22selection%22:%22triangle%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-28%22,%22selection%22:%22sine%22}],%22parameters%22:[{%22name%22:%22x%22,%22moduleId%22:%22control-surface-19%22,%22minShownValue%22:-2,%22maxShownValue%22:2,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22y%22,%22moduleId%22:%22control-surface-19%22,%22minShownValue%22:-2,%22maxShownValue%22:2,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-12%22,%22value%22:130,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-0%22,%22value%22:0.26,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-0%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-0%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-0%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-16%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-0%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-1%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-1%22,%22value%22:4,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-2%22,%22value%22:4.00390625,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:-0.02,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:-1,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:-2,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-6%22,%22value%22:200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:-3,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-7%22,%22value%22:200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:-4,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-8%22,%22value%22:100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:-5,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-9%22,%22value%22:200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:-6,%22sources%22:[{%22moduleId%22:%22bit-crusher-1%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-11%22,%22value%22:110,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-11%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-7%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-8%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-9%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-11%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-18%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-13%22,%22value%22:15,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-13%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-14%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-13%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-14%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-14%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-14%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:3,%22sources%22:[{%22moduleId%22:%22control-surface-19%22,%22name%22:%22x%22}],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-14%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:16,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:15,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-16%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-14%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-16%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:6,%22sources%22:[{%22moduleId%22:%22control-surface-19%22,%22name%22:%22y%22}],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-18%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-15%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-18%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-18%22,%22value%22:0.001,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-18%22,%22value%22:0.031,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-18%22,%22value%22:0.125,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-18%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-18%22,%22value%22:0.018,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-18%22,%22value%22:0.2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-22%22,%22value%22:110,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-22%22,%22value%22:700,%22sources%22:[{%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-6%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-7%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-8%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-9%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-10%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-22%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-23%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-23%22,%22value%22:0.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-24%22,%22value%22:110,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-24%22,%22value%22:1200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-24%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-23%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-14%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:4,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-25%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-26%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-25%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-26%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-26%22,%22value%22:0.001,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-26%22,%22value%22:0.0625,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-26%22,%22value%22:0.146,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-26%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-26%22,%22value%22:0.007,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-26%22,%22value%22:0.4,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-27%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-25%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-27%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-27%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-27%22,%22value%22:0.002,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-27%22,%22value%22:0.022,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-27%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-27%22,%22value%22:0.003,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-27%22,%22value%22:4000,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-28%22,%22value%22:55,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-28%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-27%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-28%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-26%22,%22name%22:%22output%22}],%22canConnectSources%22:true}]}
    
  • Space chords

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22control-surface-29%22,%22moduleType%22:%22control-surface%22,%22name%22:%22tempo%20vs%20d-feedback%22},{%22id%22:%22constant-0%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22inverse-gain-1%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22bmp%20to%20hz%22},{%22id%22:%22oscillator-2%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22clock-divider-3%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22note%20chance%22},{%22id%22:%22envelope-4%22,%22moduleType%22:%22envelope%22,%22name%22:%22gain%20envelope%22},{%22id%22:%22oscillator-5%22,%22moduleType%22:%22oscillator%22,%22name%22:%22root%22},{%22id%22:%22oscillator-6%22,%22moduleType%22:%22oscillator%22,%22name%22:%223rd%22},{%22id%22:%22oscillator-7%22,%22moduleType%22:%22oscillator%22,%22name%22:%225th%22},{%22id%22:%22filter-8%22,%22moduleType%22:%22filter%22,%22name%22:%22filter%22},{%22id%22:%22noise-9%22,%22moduleType%22:%22noise%22,%22name%22:%22chord%20picker%20noise%22},{%22id%22:%22bit-crusher-10%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22chord%20quantizer%22},{%22id%22:%22constant-11%22,%22moduleType%22:%22constant%22,%22name%22:%22quantizer%20shift%22},{%22id%22:%22clock-divider-12%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22minor%20adjustment%22},{%22id%22:%22clock-divider-13%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22other%20minor%20adj%22},{%22id%22:%22constant-15%22,%22moduleType%22:%22constant%22,%22name%22:%22chord%20offset%22},{%22id%22:%22constant-16%22,%22moduleType%22:%22constant%22,%22name%22:%223rd%20offset%22},{%22id%22:%22clock-divider-17%22,%22moduleType%22:%22clock-divider%22,%22name%22:%223rd%20adjustment%201%22},{%22id%22:%22clock-divider-18%22,%22moduleType%22:%22clock-divider%22,%22name%22:%223rd%20adjustment%202%22},{%22id%22:%22noise-20%22,%22moduleType%22:%22noise%22,%22name%22:%22root%20up%20decider%22},{%22id%22:%22noise-21%22,%22moduleType%22:%22noise%22,%22name%22:%223rd%20up%20decider%22},{%22id%22:%22clock-divider-22%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22root%20octave%22},{%22id%22:%22clock-divider-23%22,%22moduleType%22:%22clock-divider%22,%22name%22:%223rd%20octave%22},{%22id%22:%22clock-divider-24%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22chord%20octave%22},{%22id%22:%22noise-26%22,%22moduleType%22:%22noise%22,%22name%22:%22note%20on%20decider%22},{%22id%22:%22noise-27%22,%22moduleType%22:%22noise%22,%22name%22:%22chord%20up%20decider%22},{%22id%22:%22constant-28%22,%22moduleType%22:%22constant%22,%22name%22:%22trigger%20bias%22},{%22id%22:%22envelope-30%22,%22moduleType%22:%22envelope%22,%22name%22:%22mod%20env%22},{%22id%22:%22delay-31%22,%22moduleType%22:%22delay%22,%22name%22:%22delay%22},{%22id%22:%22gain-32%22,%22moduleType%22:%22gain%22,%22name%22:%22delay%20feedback%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22filter-8%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-32%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-1%22,%22sources%22:[{%22moduleId%22:%22constant-0%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-8%22,%22sources%22:[{%22moduleId%22:%22oscillator-6%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-5%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-7%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-10%22,%22sources%22:[{%22moduleId%22:%22noise-9%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-31%22,%22sources%22:[{%22moduleId%22:%22filter-8%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-32%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-32%22,%22sources%22:[{%22moduleId%22:%22delay-31%22,%22name%22:%22output%22}]}],%22outputs%22:[{%22name%22:%22x%22,%22moduleId%22:%22control-surface-29%22},{%22name%22:%22y%22,%22moduleId%22:%22control-surface-29%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-0%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-1%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-2%22},{%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-4%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-5%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-6%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-7%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-8%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-9%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-10%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-11%22},{%22moduleId%22:%22clock-divider-12%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-13%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-15%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-16%22},{%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-18%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-20%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-21%22},{%22moduleId%22:%22clock-divider-22%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-23%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-24%22,%22name%22:%22output%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-26%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-27%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-28%22},{%22name%22:%22output%22,%22moduleId%22:%22envelope-30%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-31%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-32%22}],%22choiceParameters%22:[{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-2%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-5%22,%22selection%22:%22sawtooth%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-6%22,%22selection%22:%22sawtooth%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-7%22,%22selection%22:%22sawtooth%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-8%22,%22selection%22:%22lowpass%22},{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-10%22,%22selection%22:%22quantize-evenly%22}],%22parameters%22:[{%22name%22:%22x%22,%22moduleId%22:%22control-surface-29%22,%22minShownValue%22:0,%22maxShownValue%22:0.95,%22value%22:0.5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22y%22,%22moduleId%22:%22control-surface-29%22,%22minShownValue%22:50,%22maxShownValue%22:320,%22value%22:100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-0%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22control-surface-29%22,%22name%22:%22y%22}],%22canConnectSources%22:true},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-1%22,%22value%22:15,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-1%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-1%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-2%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-4%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22noise-26%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-28%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-4%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-4%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-4%22,%22value%22:0.8,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-4%22,%22value%22:1.2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-4%22,%22value%22:0.5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-4%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-4%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-5%22,%22value%22:110,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-5%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22constant-15%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-24%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-22%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-5%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-4%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-6%22,%22value%22:110,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-6%22,%22value%22:300,%22sources%22:[{%22moduleId%22:%22constant-16%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-24%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-23%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-6%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-4%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-7%22,%22value%22:110,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-7%22,%22value%22:700,%22sources%22:[{%22moduleId%22:%22constant-15%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-24%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-7%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-4%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-8%22,%22value%22:182,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22detune%22,%22moduleId%22:%22filter-8%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22envelope-30%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-8%22,%22value%22:7,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-9%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-9%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-9%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-9%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22noise-26%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-28%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-9%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-10%22,%22value%22:2.6,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-10%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22constant-11%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-11%22,%22value%22:600,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:150,%22sources%22:[{%22moduleId%22:%22bit-crusher-10%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-11%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-12%22,%22value%22:100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-13%22,%22value%22:850,%22sources%22:[{%22moduleId%22:%22clock-divider-12%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-11%22,%22name%22:%22output%22},{%22moduleId%22:%22bit-crusher-10%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-13%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-13%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-13%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-13%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-13%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-13%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-15%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22bit-crusher-10%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-11%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-12%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-13%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-16%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22},{%22moduleId%22:%22clock-divider-18%22,%22name%22:%22output%22},{%22moduleId%22:%22bit-crusher-10%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-11%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:-150,%22sources%22:[{%22moduleId%22:%22bit-crusher-10%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-11%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:-550,%22sources%22:[{%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22},{%22moduleId%22:%22bit-crusher-10%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-11%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:-100,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-20%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-20%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-20%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-20%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22noise-26%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-28%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-20%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-21%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-21%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-21%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-21%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22noise-26%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-28%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-21%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-22%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22noise-20%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-22%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-22%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-22%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-22%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-22%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-22%22,%22value%22:1200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-23%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22noise-21%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-23%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-23%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-23%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-23%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-23%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-23%22,%22value%22:1200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-24%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22noise-27%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-24%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-24%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-24%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22ticks%20on%20reset%22,%22moduleId%22:%22clock-divider-24%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22tocks%20on%20reset%22,%22moduleId%22:%22clock-divider-24%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-24%22,%22value%22:1200,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-26%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-26%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-26%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-26%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-26%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-27%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-27%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-27%22,%22value%22:0,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-27%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22noise-26%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-28%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-27%22,%22value%22:0.1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-28%22,%22value%22:0.3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22trigger%22,%22moduleId%22:%22envelope-30%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22constant-28%22,%22name%22:%22output%22},{%22moduleId%22:%22noise-26%22,%22name%22:%22output%22}],%22canConnectSources%22:true},{%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-30%22,%22value%22:1,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-30%22,%22value%22:2,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-30%22,%22value%22:0.4,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-30%22,%22value%22:0.5,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-30%22,%22value%22:0.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-30%22,%22value%22:3,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-30%22,%22value%22:4800,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-31%22,%22value%22:0.75,%22sources%22:[],%22canConnectSources%22:true},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-32%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22control-surface-29%22,%22name%22:%22x%22}],%22canConnectSources%22:true}]}
    
  • Medieval marimba

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22constant-0%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22constant-1%22,%22moduleType%22:%22constant%22},{%22id%22:%22inverse-gain-2%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22bpm%20to%20hz%22},{%22id%22:%22oscillator-3%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22constant-4%22,%22moduleType%22:%22constant%22,%22name%22:%22note%20shortener%22},{%22id%22:%22rectifier-6%22,%22moduleType%22:%22rectifier%22,%22name%22:%22clock%20to%20short%20env%22},{%22id%22:%22constant-7%22,%22moduleType%22:%22constant%22,%22name%22:%22note%20lengthener%22},{%22id%22:%22rectifier-8%22,%22moduleType%22:%22rectifier%22,%22name%22:%22clock%20to%20long%20env%22},{%22id%22:%22constant-9%22,%22moduleType%22:%22constant%22,%22name%22:%22delay:%20notes%20long%22},{%22id%22:%22inverse-gain-10%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22delay%20length%22},{%22id%22:%22delay-11%22,%22moduleType%22:%22delay%22,%22name%22:%22note%202%20env%22},{%22id%22:%22delay-12%22,%22moduleType%22:%22delay%22,%22name%22:%22note%203%20env%22},{%22id%22:%22oscillator-13%22,%22moduleType%22:%22oscillator%22,%22name%22:%22low%20source%22},{%22id%22:%22oscillator-14%22,%22moduleType%22:%22oscillator%22,%22name%22:%22high%20source%22},{%22id%22:%22gain-15%22,%22moduleType%22:%22gain%22,%22name%22:%22low%20mix%22},{%22id%22:%22gain-16%22,%22moduleType%22:%22gain%22,%22name%22:%22high%20mix%22},{%22id%22:%22oscillator-17%22,%22moduleType%22:%22oscillator%22,%22name%22:%22tremolo%22},{%22id%22:%22noise-19%22,%22moduleType%22:%22noise%22,%22name%22:%22low%20note%20picker%20nois%22},{%22id%22:%22bit-crusher-20%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22low%20note%20quantizer%22},{%22id%22:%22constant-21%22,%22moduleType%22:%22constant%22,%22name%22:%22shift%20low%20note%20choic%22},{%22id%22:%22gain-22%22,%22moduleType%22:%22gain%22,%22name%22:%22low%20note%20cents%20offse%22},{%22id%22:%22rectifier-23%22,%22moduleType%22:%22rectifier%22,%22name%22:%22maybe%20shift%20low%20note%22},{%22id%22:%22constant-24%22,%22moduleType%22:%22constant%22,%22name%22:%22low%20shift%20threshold%22},{%22id%22:%22gain-26%22,%22moduleType%22:%22gain%22,%22name%22:%22low%20note%20gain%22},{%22id%22:%22gain-27%22,%22moduleType%22:%22gain%22,%22name%22:%22high%20note%20gain%22},{%22id%22:%22delay-33%22,%22moduleType%22:%22delay%22,%22name%22:%22low%20time%20correction%22},{%22id%22:%22delay-34%22,%22moduleType%22:%22delay%22,%22name%22:%22high%20time%20correction%22},{%22id%22:%22noise-35%22,%22moduleType%22:%22noise%22,%22name%22:%22high%20note%20picker%20noi%22},{%22id%22:%22bit-crusher-36%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22high%20note%20quantizer%22},{%22id%22:%22constant-37%22,%22moduleType%22:%22constant%22,%22name%22:%22shift%20hi%20note%20choice%22},{%22id%22:%22gain-38%22,%22moduleType%22:%22gain%22,%22name%22:%22quantized%20high%20pitch%22},{%22id%22:%22constant-39%22,%22moduleType%22:%22constant%22,%22name%22:%22high%20shift%20threshold%22},{%22id%22:%22rectifier-40%22,%22moduleType%22:%22rectifier%22,%22name%22:%22maybe%20shift%20highnote%22},{%22id%22:%22constant-41%22,%22moduleType%22:%22constant%22,%22name%22:%22tuning%20offset%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22gain-15%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-16%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-2%22,%22sources%22:[{%22moduleId%22:%22constant-0%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-6%22,%22sources%22:[{%22moduleId%22:%22oscillator-3%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-4%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-8%22,%22sources%22:[{%22moduleId%22:%22constant-7%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-3%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-10%22,%22sources%22:[{%22moduleId%22:%22constant-9%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-11%22,%22sources%22:[{%22moduleId%22:%22rectifier-6%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-12%22,%22sources%22:[{%22moduleId%22:%22delay-11%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-15%22,%22sources%22:[{%22moduleId%22:%22oscillator-13%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-16%22,%22sources%22:[{%22moduleId%22:%22oscillator-14%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-20%22,%22sources%22:[{%22moduleId%22:%22noise-19%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-22%22,%22sources%22:[{%22moduleId%22:%22constant-21%22,%22name%22:%22output%22},{%22moduleId%22:%22bit-crusher-20%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-23%22,%22sources%22:[{%22moduleId%22:%22gain-22%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-24%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-26%22,%22sources%22:[{%22moduleId%22:%22delay-33%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-27%22,%22sources%22:[{%22moduleId%22:%22delay-34%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-33%22,%22sources%22:[{%22moduleId%22:%22rectifier-8%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-34%22,%22sources%22:[{%22moduleId%22:%22rectifier-6%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-12%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-11%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-36%22,%22sources%22:[{%22moduleId%22:%22noise-35%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-38%22,%22sources%22:[{%22moduleId%22:%22constant-37%22,%22name%22:%22output%22},{%22moduleId%22:%22bit-crusher-36%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-40%22,%22sources%22:[{%22moduleId%22:%22gain-38%22,%22name%22:%22output%22}]}],%22outputs%22:[{%22name%22:%22output%22,%22moduleId%22:%22constant-0%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-1%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-2%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-3%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-4%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-6%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-7%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-8%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-9%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-10%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-11%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-12%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-13%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-14%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-15%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-16%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-17%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-19%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-20%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-21%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-22%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-23%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-24%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-26%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-27%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-33%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-34%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-35%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-36%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-37%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-38%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-39%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-40%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-41%22}],%22choiceParameters%22:[{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-3%22,%22selection%22:%22sawtooth%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-13%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-14%22,%22selection%22:%22sine%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-17%22,%22selection%22:%22sine%22},{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-20%22,%22selection%22:%22quantize-evenly%22},{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-36%22,%22selection%22:%22quantize-evenly%22}],%22parameters%22:[{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-0%22,%22value%22:%22150%22,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-1%22,%22value%22:%22-120%22,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-2%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22constant-1%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-2%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-3%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-2%22,%22name%22:%22output%22}]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-3%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-3%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-4%22,%22value%22:-0.69,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-6%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-6%22,%22value%22:2,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-7%22,%22value%22:0.76,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-8%22,%22value%22:0.54,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-8%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-9%22,%22value%22:-0.3333333333333333,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-10%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-2%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-10%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-11%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-10%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-12%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-10%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-13%22,%22value%22:%22110%22,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-13%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-22%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-23%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-41%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-13%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22gain-26%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-14%22,%22value%22:440,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-14%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22gain-22%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-23%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-38%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-40%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-41%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-14%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22gain-27%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-15%22,%22value%22:0.3,%22sources%22:[{%22moduleId%22:%22oscillator-17%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-16%22,%22value%22:%220.23%22,%22sources%22:[{%22moduleId%22:%22oscillator-17%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-17%22,%22value%22:%226%22,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-17%22,%22value%22:%220%22,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-17%22,%22value%22:%220.08%22,%22sources%22:[]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-19%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-19%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-19%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-19%22,%22value%22:-0.5,%22sources%22:[{%22moduleId%22:%22rectifier-6%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-19%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-20%22,%22value%22:2,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-20%22,%22value%22:2,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-21%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-22%22,%22value%22:500,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-23%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-23%22,%22value%22:-300,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-24%22,%22value%22:-700,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-26%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-27%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-33%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-34%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-35%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-35%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-35%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-35%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22rectifier-6%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-11%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-12%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-35%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-36%22,%22value%22:1.7,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-36%22,%22value%22:6,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-37%22,%22value%22:6,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-38%22,%22value%22:100,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-39%22,%22value%22:-300,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-40%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-40%22,%22value%22:-100,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-41%22,%22value%22:400,%22sources%22:[]}]}
    
  • Polyrhythm

    https://patrickstephansen.github.io/reactive-synth/?#%7B%22stateVersion%22:2,%22modules%22:%5B%7B%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22%7D,%7B%22id%22:%22constant-0%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22%7D,%7B%22id%22:%22inverse-gain-1%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22bpm%20to%20hz%22%7D,%7B%22id%22:%22oscillator-2%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22%7D,%7B%22id%22:%22clock-divider-3%22,%22moduleType%22:%22clock-divider%22,%22name%22:%2216ths%22%7D,%7B%22id%22:%22clock-divider-4%22,%22moduleType%22:%22clock-divider%22,%22name%22:%223%22%7D,%7B%22id%22:%22clock-divider-5%22,%22moduleType%22:%22clock-divider%22,%22name%22:%224%22%7D,%7B%22id%22:%22envelope-6%22,%22moduleType%22:%22envelope%22,%22name%22:%22low%20env%22%7D,%7B%22id%22:%22envelope-7%22,%22moduleType%22:%22envelope%22,%22name%22:%22high%20env%22%7D,%7B%22id%22:%22oscillator-8%22,%22moduleType%22:%22oscillator%22,%22name%22:%22low%22%7D,%7B%22id%22:%22oscillator-9%22,%22moduleType%22:%22oscillator%22,%22name%22:%22high%22%7D,%7B%22id%22:%22clock-divider-10%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22bars%22%7D,%7B%22id%22:%22noise-11%22,%22moduleType%22:%22noise%22,%22name%22:%22notepicker%20noise%22%7D,%7B%22id%22:%22bit-crusher-12%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22pentatonic%22%7D,%7B%22id%22:%22constant-13%22,%22moduleType%22:%22constant%22%7D,%7B%22id%22:%22clock-divider-14%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22correction%201%22%7D,%7B%22id%22:%22clock-divider-15%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22correction%202%22%7D,%7B%22id%22:%22clock-divider-17%22,%22moduleType%22:%22clock-divider%22,%22name%22:%223rds%20correction%201%22%7D,%7B%22id%22:%22clock-divider-18%22,%22moduleType%22:%22clock-divider%22,%22name%22:%223rds%20correction%202%22%7D,%7B%22id%22:%22constant-19%22,%22moduleType%22:%22constant%22%7D%5D,%22inputs%22:%5B%7B%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:%5B%7B%22moduleId%22:%22oscillator-8%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22oscillator-9%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-1%22,%22sources%22:%5B%7B%22moduleId%22:%22constant-0%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-12%22,%22sources%22:%5B%7B%22moduleId%22:%22noise-11%22,%22name%22:%22output%22%7D%5D%7D%5D,%22outputs%22:%5B%7B%22name%22:%22output%22,%22moduleId%22:%22constant-0%22%7D,%7B%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-1%22%7D,%7B%22name%22:%22output%22,%22moduleId%22:%22oscillator-2%22%7D,%7B%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22%7D,%7B%22name%22:%22output%22,%22moduleId%22:%22envelope-6%22%7D,%7B%22name%22:%22output%22,%22moduleId%22:%22envelope-7%22%7D,%7B%22name%22:%22output%22,%22moduleId%22:%22oscillator-8%22%7D,%7B%22name%22:%22output%22,%22moduleId%22:%22oscillator-9%22%7D,%7B%22moduleId%22:%22clock-divider-10%22,%22name%22:%22output%22%7D,%7B%22name%22:%22output%22,%22moduleId%22:%22noise-11%22%7D,%7B%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-12%22%7D,%7B%22name%22:%22output%22,%22moduleId%22:%22constant-13%22%7D,%7B%22moduleId%22:%22clock-divider-14%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22clock-divider-15%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22clock-divider-18%22,%22name%22:%22output%22%7D,%7B%22name%22:%22output%22,%22moduleId%22:%22constant-19%22%7D%5D,%22choiceParameters%22:%5B%7B%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-2%22,%22selection%22:%22sine%22%7D,%7B%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-8%22,%22selection%22:%22sine%22%7D,%7B%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-9%22,%22selection%22:%22sine%22%7D,%7B%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-12%22,%22selection%22:%22quantize-evenly%22%7D%5D,%22parameters%22:%5B%7B%22name%22:%22output%20value%22,%22moduleId%22:%22constant-0%22,%22value%22:120,%22sources%22:%5B%5D%7D,%7B%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-1%22,%22value%22:15,%22sources%22:%5B%5D%7D,%7B%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-1%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22inverse-gain-1%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22detune%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0.1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-3%22,%22value%22:0.1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:3,%22sources%22:%5B%5D%7D,%7B%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-4%22,%22value%22:0.1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:4,%22sources%22:%5B%5D%7D,%7B%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-5%22,%22value%22:0.1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22trigger%22,%22moduleId%22:%22envelope-6%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22clock-divider-5%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-6%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-6%22,%22value%22:0.001,%22sources%22:%5B%5D%7D,%7B%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-6%22,%22value%22:0.0625,%22sources%22:%5B%5D%7D,%7B%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-6%22,%22value%22:0.125,%22sources%22:%5B%5D%7D,%7B%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-6%22,%22value%22:0.25,%22sources%22:%5B%5D%7D,%7B%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-6%22,%22value%22:0.25,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-6%22,%22value%22:0.1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22trigger%22,%22moduleId%22:%22envelope-7%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22clock-divider-4%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22attack%20value%22,%22moduleId%22:%22envelope-7%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22attack%20time%22,%22moduleId%22:%22envelope-7%22,%22value%22:0.001,%22sources%22:%5B%5D%7D,%7B%22name%22:%22hold%20time%22,%22moduleId%22:%22envelope-7%22,%22value%22:0.0625,%22sources%22:%5B%5D%7D,%7B%22name%22:%22decay%20time%22,%22moduleId%22:%22envelope-7%22,%22value%22:0.125,%22sources%22:%5B%5D%7D,%7B%22name%22:%22sustain%20value%22,%22moduleId%22:%22envelope-7%22,%22value%22:0.25,%22sources%22:%5B%5D%7D,%7B%22name%22:%22release%20time%22,%22moduleId%22:%22envelope-7%22,%22value%22:0.25,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22envelope-7%22,%22value%22:0.1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-8%22,%22value%22:220,%22sources%22:%5B%5D%7D,%7B%22name%22:%22detune%22,%22moduleId%22:%22oscillator-8%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22bit-crusher-12%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22constant-13%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22clock-divider-14%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22clock-divider-15%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-8%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22envelope-6%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-9%22,%22value%22:220,%22sources%22:%5B%5D%7D,%7B%22name%22:%22detune%22,%22moduleId%22:%22oscillator-9%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22bit-crusher-12%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22clock-divider-18%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22constant-19%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-9%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22envelope-7%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22clock-divider-3%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:16,%22sources%22:%5B%5D%7D,%7B%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-10%22,%22value%22:0.1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-11%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-11%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-11%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-11%22,%22value%22:0,%22sources%22:%5B%7B%22moduleId%22:%22clock-divider-10%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-11%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-12%22,%22value%22:2.4,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-12%22,%22value%22:500,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20value%22,%22moduleId%22:%22constant-13%22,%22value%22:500,%22sources%22:%5B%5D%7D,%7B%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-14%22,%22value%22:-50,%22sources%22:%5B%7B%22moduleId%22:%22bit-crusher-12%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22constant-13%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-14%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-14%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-14%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-14%22,%22value%22:100,%22sources%22:%5B%5D%7D,%7B%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:-850,%22sources%22:%5B%7B%22moduleId%22:%22clock-divider-14%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22bit-crusher-12%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22constant-13%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-15%22,%22value%22:100,%22sources%22:%5B%5D%7D,%7B%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:-450,%22sources%22:%5B%7B%22moduleId%22:%22constant-19%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22bit-crusher-12%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-17%22,%22value%22:200,%22sources%22:%5B%5D%7D,%7B%22name%22:%22clock%20trigger%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:-1150,%22sources%22:%5B%7B%22moduleId%22:%22clock-divider-17%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22constant-19%22,%22name%22:%22output%22%7D,%7B%22moduleId%22:%22bit-crusher-12%22,%22name%22:%22output%22%7D%5D%7D,%7B%22name%22:%22reset%20trigger%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:0,%22sources%22:%5B%5D%7D,%7B%22name%22:%22attack%20after%20ticks%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22release%20after%20tocks%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:1,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20gain%22,%22moduleId%22:%22clock-divider-18%22,%22value%22:100,%22sources%22:%5B%5D%7D,%7B%22name%22:%22output%20value%22,%22moduleId%22:%22constant-19%22,%22value%22:800,%22sources%22:%5B%5D%7D%5D%7D
    
  • Haunted music box

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22oscillator-0%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22constant-1%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22constant-2%22,%22moduleType%22:%22constant%22},{%22id%22:%22inverse-gain-3%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22bpm%20to%20hz%22},{%22id%22:%22rectifier-4%22,%22moduleType%22:%22rectifier%22,%22name%22:%22clock%20to%20envelope%22},{%22id%22:%22constant-5%22,%22moduleType%22:%22constant%22,%22name%22:%22note%20shortener%22},{%22id%22:%22filter-7%22,%22moduleType%22:%22filter%22,%22name%22:%22envelope%20smoother%22},{%22id%22:%22delay-8%22,%22moduleType%22:%22delay%22,%22name%22:%22note%202%20env%22},{%22id%22:%22delay-9%22,%22moduleType%22:%22delay%22,%22name%22:%22note%203%20env%22},{%22id%22:%22inverse-gain-10%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22note%20duration%22},{%22id%22:%22constant-11%22,%22moduleType%22:%22constant%22,%22name%22:%22notes%20per%20clock%20tick%22},{%22id%22:%22constant-12%22,%22moduleType%22:%22constant%22,%22name%22:%22envelopes%22},{%22id%22:%22oscillator-13%22,%22moduleType%22:%22oscillator%22,%22name%22:%22low%20source%22},{%22id%22:%22filter-14%22,%22moduleType%22:%22filter%22,%22name%22:%22low%20filter%22},{%22id%22:%22constant-15%22,%22moduleType%22:%22constant%22,%22name%22:%22note%20shortener%202%22},{%22id%22:%22rectifier-16%22,%22moduleType%22:%22rectifier%22,%22name%22:%22mod%20envelope%22},{%22id%22:%22delay-17%22,%22moduleType%22:%22delay%22,%22name%22:%22mod%20delay%22},{%22id%22:%22gain-18%22,%22moduleType%22:%22gain%22,%22name%22:%22delayed%20mod%20mix%22},{%22id%22:%22gain-19%22,%22moduleType%22:%22gain%22,%22name%22:%22mod%20duration%22},{%22id%22:%22oscillator-20%22,%22moduleType%22:%22oscillator%22,%22name%22:%22high%20source%22},{%22id%22:%22gain-21%22,%22moduleType%22:%22gain%22,%22name%22:%22high%20mix%22},{%22id%22:%22noise-22%22,%22moduleType%22:%22noise%22,%22name%22:%22hi%20note%20picker%20noise%22},{%22id%22:%22bit-crusher-23%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22high%20note%20quantizer%22},{%22id%22:%22constant-24%22,%22moduleType%22:%22constant%22},{%22id%22:%22rectifier-28%22,%22moduleType%22:%22rectifier%22,%22name%22:%22maybe%20shift%20high%22},{%22id%22:%22constant-29%22,%22moduleType%22:%22constant%22},{%22id%22:%22gain-30%22,%22moduleType%22:%22gain%22,%22name%22:%22hi%20quantized%20scaler%22},{%22id%22:%22bit-crusher-31%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22low%20note%20quantizer%22},{%22id%22:%22noise-32%22,%22moduleType%22:%22noise%22,%22name%22:%22low%20note%20picker%20nois%22},{%22id%22:%22rectifier-33%22,%22moduleType%22:%22rectifier%22,%22name%22:%22low%20offset%20scale%22},{%22id%22:%22rectifier-34%22,%22moduleType%22:%22rectifier%22,%22name%22:%22maybe%20shift%20low%22},{%22id%22:%22constant-35%22,%22moduleType%22:%22constant%22},{%22id%22:%22constant-36%22,%22moduleType%22:%22constant%22},{%22id%22:%22filter-37%22,%22moduleType%22:%22filter%22,%22name%22:%22high%20filter%22},{%22id%22:%22delay-40%22,%22moduleType%22:%22delay%22,%22name%22:%22high%20delay%22},{%22id%22:%22gain-41%22,%22moduleType%22:%22gain%22,%22name%22:%22delay%20feedback%22},{%22id%22:%22gain-42%22,%22moduleType%22:%22gain%22,%22name%22:%22delay%20duration%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22filter-14%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-18%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-21%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-41%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-3%22,%22sources%22:[{%22moduleId%22:%22constant-1%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-4%22,%22sources%22:[{%22moduleId%22:%22oscillator-0%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-5%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-7%22,%22sources%22:[{%22moduleId%22:%22rectifier-4%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-8%22,%22sources%22:[{%22moduleId%22:%22filter-7%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-9%22,%22sources%22:[{%22moduleId%22:%22delay-8%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-10%22,%22sources%22:[{%22moduleId%22:%22constant-11%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-14%22,%22sources%22:[{%22moduleId%22:%22oscillator-13%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-16%22,%22sources%22:[{%22moduleId%22:%22oscillator-0%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-15%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-17%22,%22sources%22:[{%22moduleId%22:%22gain-18%22,%22name%22:%22output%22},{%22moduleId%22:%22filter-14%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-18%22,%22sources%22:[{%22moduleId%22:%22delay-17%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-19%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-10%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-21%22,%22sources%22:[{%22moduleId%22:%22filter-37%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-23%22,%22sources%22:[{%22moduleId%22:%22noise-22%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-28%22,%22sources%22:[{%22moduleId%22:%22gain-30%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-29%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-30%22,%22sources%22:[{%22moduleId%22:%22bit-crusher-23%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-24%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-31%22,%22sources%22:[{%22moduleId%22:%22noise-32%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-33%22,%22sources%22:[{%22moduleId%22:%22constant-35%22,%22name%22:%22output%22},{%22moduleId%22:%22bit-crusher-31%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-34%22,%22sources%22:[{%22moduleId%22:%22constant-36%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-33%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-37%22,%22sources%22:[{%22moduleId%22:%22oscillator-20%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-40%22,%22sources%22:[{%22moduleId%22:%22filter-37%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-41%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-41%22,%22sources%22:[{%22moduleId%22:%22delay-40%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-42%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-10%22,%22name%22:%22output%22}]}],%22outputs%22:[{%22name%22:%22output%22,%22moduleId%22:%22oscillator-0%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-1%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-2%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-3%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-4%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-5%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-7%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-8%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-9%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-10%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-11%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-12%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-13%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-14%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-15%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-16%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-17%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-18%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-19%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-20%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-21%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-22%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-23%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-24%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-28%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-29%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-30%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-31%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-32%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-33%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-34%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-35%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-36%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-37%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-40%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-41%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-42%22}],%22choiceParameters%22:[{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-0%22,%22selection%22:%22sawtooth%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-7%22,%22selection%22:%22lowpass%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-13%22,%22selection%22:%22square%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-14%22,%22selection%22:%22lowpass%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-20%22,%22selection%22:%22square%22},{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-23%22,%22selection%22:%22quantize-evenly%22},{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-31%22,%22selection%22:%22quantize-evenly%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-37%22,%22selection%22:%22lowpass%22}],%22parameters%22:[{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-0%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-3%22,%22name%22:%22output%22}]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-0%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-0%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-1%22,%22value%22:%22100%22,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-2%22,%22value%22:-240,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-3%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22constant-2%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-3%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-4%22,%22value%22:0.92,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-4%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-5%22,%22value%22:-0.29,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-7%22,%22value%22:100,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-7%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-7%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-8%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-10%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-9%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-10%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-10%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-3%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-10%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-11%22,%22value%22:-0.34,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-12%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22filter-7%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-8%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-9%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-13%22,%22value%22:%2255%22,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-13%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22rectifier-33%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-34%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-13%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22filter-7%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-14%22,%22value%22:600,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-14%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22rectifier-16%22,%22name%22:%22output%22}]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-14%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-15%22,%22value%22:-0.32,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-16%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-16%22,%22value%22:-7000,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-17%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22gain-19%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-18%22,%22value%22:0.33,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-19%22,%22value%22:0.5,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-20%22,%22value%22:%22440%22,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-20%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22rectifier-28%22,%22name%22:%22output%22},{%22moduleId%22:%22gain-30%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-33%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-34%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-20%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22constant-12%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-21%22,%22value%22:0.33,%22sources%22:[]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-22%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-22%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-22%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-22%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22constant-12%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-22%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-23%22,%22value%22:1.6,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-23%22,%22value%22:3,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-24%22,%22value%22:3,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-28%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-28%22,%22value%22:100,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-29%22,%22value%22:-400,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-30%22,%22value%22:150,%22sources%22:[]},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-31%22,%22value%22:2,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-31%22,%22value%22:2,%22sources%22:[]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-32%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-32%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-32%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-32%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22rectifier-4%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-32%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-33%22,%22value%22:0.25,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-33%22,%22value%22:2000,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-34%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-34%22,%22value%22:-300,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-35%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-36%22,%22value%22:-600,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-37%22,%22value%22:550,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-37%22,%22value%22:%220%22,%22sources%22:[]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-37%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-40%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22gain-42%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-41%22,%22value%22:0.2,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-42%22,%22value%22:1.3333333333333333,%22sources%22:[]}]}
    
  • Anomalous materials

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22oscillator-0%22,%22moduleType%22:%22oscillator%22},{%22id%22:%22oscillator-1%22,%22moduleType%22:%22oscillator%22},{%22id%22:%22oscillator-2%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22constant-3%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22gain-6%22,%22moduleType%22:%22gain%22,%22name%22:%22saw%20mix%22},{%22id%22:%22rectifier-7%22,%22moduleType%22:%22rectifier%22,%22name%22:%22clock%20to%20env%22},{%22id%22:%22constant-8%22,%22moduleType%22:%22constant%22},{%22id%22:%22filter-9%22,%22moduleType%22:%22filter%22,%22name%22:%22melody%20filter%22},{%22id%22:%22inverse-gain-10%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22tempo%20to%20hz%22},{%22id%22:%22inverse-gain-11%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%221/8%20note%20duration%22},{%22id%22:%22constant-12%22,%22moduleType%22:%22constant%22,%22name%22:%221/8%22},{%22id%22:%22delay-13%22,%22moduleType%22:%22delay%22,%22name%22:%22note%202%20env%22},{%22id%22:%22delay-14%22,%22moduleType%22:%22delay%22,%22name%22:%22note%203%20env%22},{%22id%22:%22delay-15%22,%22moduleType%22:%22delay%22,%22name%22:%22note%204%20env%22},{%22id%22:%22delay-16%22,%22moduleType%22:%22delay%22,%22name%22:%22note%205%20env%22},{%22id%22:%22delay-17%22,%22moduleType%22:%22delay%22,%22name%22:%22note%206%20env%22},{%22id%22:%22delay-18%22,%22moduleType%22:%22delay%22,%22name%22:%22note%207%20env%22},{%22id%22:%22delay-19%22,%22moduleType%22:%22delay%22,%22name%22:%22note%208%20env%22},{%22id%22:%22rectifier-21%22,%22moduleType%22:%22rectifier%22,%22name%22:%22major%20third%22},{%22id%22:%22rectifier-22%22,%22moduleType%22:%22rectifier%22,%22name%22:%22perfect%20fifth%22},{%22id%22:%22rectifier-23%22,%22moduleType%22:%22rectifier%22,%22name%22:%22major%207th%22},{%22id%22:%22rectifier-24%22,%22moduleType%22:%22rectifier%22,%22name%22:%22octave%22},{%22id%22:%22oscillator-25%22,%22moduleType%22:%22oscillator%22,%22name%22:%22mod%20LFO%22},{%22id%22:%22filter-26%22,%22moduleType%22:%22filter%22,%22name%22:%22kick%20filter%22},{%22id%22:%22gain-27%22,%22moduleType%22:%22gain%22,%22name%22:%22kick%20mix%22},{%22id%22:%22gain-28%22,%22moduleType%22:%22gain%22,%22name%22:%22kick%20filter%20tuning%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22gain-27%22,%22name%22:%22output%22},{%22moduleId%22:%22filter-9%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-6%22,%22sources%22:[{%22moduleId%22:%22oscillator-1%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-7%22,%22sources%22:[{%22moduleId%22:%22constant-8%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-2%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-9%22,%22sources%22:[{%22moduleId%22:%22gain-6%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-0%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-10%22,%22sources%22:[{%22moduleId%22:%22constant-3%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-11%22,%22sources%22:[{%22moduleId%22:%22constant-12%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-13%22,%22sources%22:[{%22moduleId%22:%22rectifier-7%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-14%22,%22sources%22:[{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-15%22,%22sources%22:[{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-16%22,%22sources%22:[{%22moduleId%22:%22delay-15%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-17%22,%22sources%22:[{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-18%22,%22sources%22:[{%22moduleId%22:%22delay-17%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-19%22,%22sources%22:[{%22moduleId%22:%22delay-18%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-21%22,%22sources%22:[{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-19%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-22%22,%22sources%22:[{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-18%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-23%22,%22sources%22:[{%22moduleId%22:%22delay-15%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-17%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-24%22,%22sources%22:[{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-26%22,%22sources%22:[{%22moduleId%22:%22rectifier-7%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-17%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-27%22,%22sources%22:[{%22moduleId%22:%22filter-26%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-28%22,%22sources%22:[{%22moduleId%22:%22rectifier-7%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-17%22,%22name%22:%22output%22}]}],%22outputs%22:[{%22name%22:%22output%22,%22moduleId%22:%22oscillator-0%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-1%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-2%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-3%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-6%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-7%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-8%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-9%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-10%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-11%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-12%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-13%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-14%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-15%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-16%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-17%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-18%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-19%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-21%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-22%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-23%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-24%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-25%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-26%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-27%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-28%22}],%22choiceParameters%22:[{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-0%22,%22selection%22:%22sawtooth%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-1%22,%22selection%22:%22square%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-2%22,%22selection%22:%22sawtooth%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-9%22,%22selection%22:%22lowpass%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-25%22,%22selection%22:%22sine%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-26%22,%22selection%22:%22lowpass%22}],%22parameters%22:[{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-0%22,%22value%22:55,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-0%22,%22value%22:300,%22sources%22:[{%22moduleId%22:%22rectifier-21%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-24%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-22%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-23%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-0%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22rectifier-7%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-15%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-17%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-18%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-19%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-1%22,%22value%22:110,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-1%22,%22value%22:300,%22sources%22:[{%22moduleId%22:%22rectifier-21%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-22%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-23%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-24%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-1%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22rectifier-7%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-13%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-15%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-16%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-19%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-18%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-17%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-10%22,%22name%22:%22output%22}]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-2%22,%22value%22:0.75,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-3%22,%22value%22:158,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-6%22,%22value%22:0.5,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-7%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-7%22,%22value%22:2,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-8%22,%22value%22:-0.5,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-9%22,%22value%22:700,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-9%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22oscillator-25%22,%22name%22:%22output%22}]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-9%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-10%22,%22value%22:-240,%22sources%22:[]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-10%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-11%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-10%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-11%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-12%22,%22value%22:-0.125,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-13%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-11%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-14%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-11%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-15%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-11%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-16%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-11%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-17%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-11%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-18%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-11%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-19%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-11%22,%22name%22:%22output%22}]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-21%22,%22value%22:100,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-21%22,%22value%22:400,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-22%22,%22value%22:9000,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-22%22,%22value%22:700,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-23%22,%22value%22:9000,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-23%22,%22value%22:1100,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-24%22,%22value%22:9000,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-24%22,%22value%22:1200,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-25%22,%22value%22:0.08,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-25%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-25%22,%22value%22:1200,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-26%22,%22value%22:%2260%22,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-26%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22gain-28%22,%22name%22:%22output%22}]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-26%22,%22value%22:29,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-27%22,%22value%22:0.45,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-28%22,%22value%22:4600,%22sources%22:[]}]}
    
  • Backbeat with randomized hi-hats

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22oscillator-0%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22constant-1%22,%22moduleType%22:%22constant%22,%22name%22:%22note%20shortener%22},{%22id%22:%22rectifier-2%22,%22moduleType%22:%22rectifier%22,%22name%22:%22clock%20to%20env%22},{%22id%22:%22constant-3%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22inverse-gain-4%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22tempo%20to%20hz%22},{%22id%22:%22constant-5%22,%22moduleType%22:%22constant%22,%22name%22:%22-1/4%22},{%22id%22:%22rectifier-6%22,%22moduleType%22:%22rectifier%22,%22name%22:%22shorter%20env%22},{%22id%22:%22oscillator-7%22,%22moduleType%22:%22oscillator%22,%22name%22:%22kick%20source%22},{%22id%22:%22gain-9%22,%22moduleType%22:%22gain%22,%22name%22:%22mod%20envelope%22},{%22id%22:%22filter-10%22,%22moduleType%22:%22filter%22,%22name%22:%22kick%20filter%22},{%22id%22:%22gain-11%22,%22moduleType%22:%22gain%22,%22name%22:%22kick%20pitch%20envelope%22},{%22id%22:%22constant-12%22,%22moduleType%22:%22constant%22,%22name%22:%22-1/2%22},{%22id%22:%22inverse-gain-13%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22half%20note%20freq%22},{%22id%22:%22delay-14%22,%22moduleType%22:%22delay%22,%22name%22:%22snare%20envelope%22},{%22id%22:%22delay-15%22,%22moduleType%22:%22delay%22,%22name%22:%22snare%20mod%20envelope%22},{%22id%22:%22noise-16%22,%22moduleType%22:%22noise%22,%22name%22:%22snare%20noise%20source%22},{%22id%22:%22filter-17%22,%22moduleType%22:%22filter%22,%22name%22:%22snare%20filter%22},{%22id%22:%22delay-18%22,%22moduleType%22:%22delay%22,%22name%22:%22beats%22},{%22id%22:%22inverse-gain-20%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22quarter%20bar%20duration%22},{%22id%22:%22noise-21%22,%22moduleType%22:%22noise%22,%22name%22:%22hats%20noise%20source%22},{%22id%22:%22filter-22%22,%22moduleType%22:%22filter%22,%22name%22:%22hats%20filter%22},{%22id%22:%22gain-23%22,%22moduleType%22:%22gain%22,%22name%22:%22hats%20env%22},{%22id%22:%22noise-24%22,%22moduleType%22:%22noise%22,%22name%22:%22play%20hats%20decider%20ns%22},{%22id%22:%22inverse-gain-25%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22play%20hats%20switch%22},{%22id%22:%22constant-26%22,%22moduleType%22:%22constant%22,%22name%22:%22-1%22},{%22id%22:%22bit-crusher-27%22,%22moduleType%22:%22bit-crusher%22,%22name%22:%22play%20hats%20quantizer%22},{%22id%22:%22constant-28%22,%22moduleType%22:%22constant%22,%22name%22:%22-1/8%22},{%22id%22:%22inverse-gain-29%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%221/8%20note%20freq%22},{%22id%22:%22delay-30%22,%22moduleType%22:%22delay%22,%22name%22:%22off%208ths%22},{%22id%22:%22filter-34%22,%22moduleType%22:%22filter%22,%22name%22:%22hats%20env%20smoother%22}],%22inputs%22:[{%22moduleId%22:%22Output%20to%20Speakers%22,%22name%22:%22audio%20to%20play%22,%22sources%22:[{%22moduleId%22:%22filter-10%22,%22name%22:%22output%22},{%22moduleId%22:%22filter-17%22,%22name%22:%22output%22},{%22moduleId%22:%22filter-22%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-2%22,%22sources%22:[{%22moduleId%22:%22oscillator-0%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-1%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-4%22,%22sources%22:[{%22moduleId%22:%22constant-3%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22rectifier-6%22,%22sources%22:[{%22moduleId%22:%22constant-5%22,%22name%22:%22output%22},{%22moduleId%22:%22oscillator-0%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-9%22,%22sources%22:[{%22moduleId%22:%22rectifier-2%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-10%22,%22sources%22:[{%22moduleId%22:%22oscillator-7%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-11%22,%22sources%22:[{%22moduleId%22:%22rectifier-2%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-13%22,%22sources%22:[{%22moduleId%22:%22constant-12%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-14%22,%22sources%22:[{%22moduleId%22:%22rectifier-2%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-15%22,%22sources%22:[{%22moduleId%22:%22rectifier-6%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-17%22,%22sources%22:[{%22moduleId%22:%22noise-16%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-18%22,%22sources%22:[{%22moduleId%22:%22rectifier-2%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-20%22,%22sources%22:[{%22moduleId%22:%22constant-5%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-22%22,%22sources%22:[{%22moduleId%22:%22gain-23%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22gain-23%22,%22sources%22:[{%22moduleId%22:%22noise-21%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-25%22,%22sources%22:[{%22moduleId%22:%22bit-crusher-27%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22bit-crusher-27%22,%22sources%22:[{%22moduleId%22:%22noise-24%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22inverse-gain-29%22,%22sources%22:[{%22moduleId%22:%22constant-28%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22delay-30%22,%22sources%22:[{%22moduleId%22:%22delay-18%22,%22name%22:%22output%22},{%22moduleId%22:%22rectifier-2%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22}]},{%22name%22:%22input%22,%22moduleId%22:%22filter-34%22,%22sources%22:[{%22moduleId%22:%22rectifier-2%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-18%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-30%22,%22name%22:%22output%22}]}],%22outputs%22:[{%22name%22:%22output%22,%22moduleId%22:%22oscillator-0%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-1%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-2%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-3%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-4%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-5%22},{%22name%22:%22output%22,%22moduleId%22:%22rectifier-6%22},{%22name%22:%22output%22,%22moduleId%22:%22oscillator-7%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-9%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-10%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-11%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-12%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-13%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-14%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-15%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-16%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-17%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-18%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-20%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-21%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-22%22},{%22name%22:%22output%22,%22moduleId%22:%22gain-23%22},{%22name%22:%22output%22,%22moduleId%22:%22noise-24%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-25%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-26%22},{%22name%22:%22output%22,%22moduleId%22:%22bit-crusher-27%22},{%22name%22:%22output%22,%22moduleId%22:%22constant-28%22},{%22name%22:%22output%22,%22moduleId%22:%22inverse-gain-29%22},{%22name%22:%22output%22,%22moduleId%22:%22delay-30%22},{%22name%22:%22output%22,%22moduleId%22:%22filter-34%22}],%22choiceParameters%22:[{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-0%22,%22selection%22:%22sawtooth%22},{%22name%22:%22waveform%22,%22moduleId%22:%22oscillator-7%22,%22selection%22:%22square%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-10%22,%22selection%22:%22lowpass%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-17%22,%22selection%22:%22lowpass%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-22%22,%22selection%22:%22highpass%22},{%22name%22:%22fractional%20bit%20depth%20mode%22,%22moduleId%22:%22bit-crusher-27%22,%22selection%22:%22quantize-evenly%22},{%22name%22:%22filter%20type%22,%22moduleId%22:%22filter-34%22,%22selection%22:%22lowpass%22}],%22parameters%22:[{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-0%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-4%22,%22name%22:%22output%22}]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-0%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-0%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-1%22,%22value%22:-0.63,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-2%22,%22value%22:1.57,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-2%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-3%22,%22value%22:120,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-4%22,%22value%22:-120,%22sources%22:[]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-4%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-5%22,%22value%22:-0.25,%22sources%22:[]},{%22name%22:%22input%20gain%22,%22moduleId%22:%22rectifier-6%22,%22value%22:1.14,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22rectifier-6%22,%22value%22:0.91,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22oscillator-7%22,%22value%22:55,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22oscillator-7%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22gain-11%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22oscillator-7%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22rectifier-6%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-9%22,%22value%22:%224000%22,%22sources%22:[]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-10%22,%22value%22:55,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-10%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22gain-9%22,%22name%22:%22output%22}]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-10%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-11%22,%22value%22:700,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-12%22,%22value%22:-0.5,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-13%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-4%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-13%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-14%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-13%22,%22name%22:%22output%22}]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-15%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-13%22,%22name%22:%22output%22}]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-16%22,%22value%22:0.07,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-16%22,%22value%22:0.8,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-16%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-16%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-16%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-17%22,%22value%22:770,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-17%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22delay-15%22,%22name%22:%22output%22}]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-17%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-18%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-20%22,%22name%22:%22output%22}]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-20%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-4%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-20%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-21%22,%22value%22:0.5,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-21%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-21%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-21%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-21%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22filter-34%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-22%22,%22value%22:1200,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-22%22,%22value%22:%220%22,%22sources%22:[]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-22%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22signal%20multiplier%22,%22moduleId%22:%22gain-23%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-25%22,%22name%22:%22output%22},{%22moduleId%22:%22constant-26%22,%22name%22:%22output%22}]},{%22name%22:%22minimum%20step%20size%22,%22moduleId%22:%22noise-24%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22maximum%20step%20size%22,%22moduleId%22:%22noise-24%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22sample%20hold%22,%22moduleId%22:%22noise-24%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22next%20value%20trigger%22,%22moduleId%22:%22noise-24%22,%22value%22:-0.02,%22sources%22:[{%22moduleId%22:%22rectifier-2%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-18%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-30%22,%22name%22:%22output%22},{%22moduleId%22:%22delay-14%22,%22name%22:%22output%22}]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22noise-24%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-25%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22bit-crusher-27%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-25%22,%22value%22:0.9,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-26%22,%22value%22:-1,%22sources%22:[]},{%22name%22:%22bit%20depth%22,%22moduleId%22:%22bit-crusher-27%22,%22value%22:1,%22sources%22:[]},{%22name%22:%22output%20gain%22,%22moduleId%22:%22bit-crusher-27%22,%22value%22:%221%22,%22sources%22:[]},{%22name%22:%22output%20value%22,%22moduleId%22:%22constant-28%22,%22value%22:-0.125,%22sources%22:[]},{%22name%22:%22signal%20divisor%22,%22moduleId%22:%22inverse-gain-29%22,%22value%22:0,%22sources%22:[{%22moduleId%22:%22inverse-gain-4%22,%22name%22:%22output%22}]},{%22name%22:%22Output%20when%20divisor%20is%20zero%22,%22moduleId%22:%22inverse-gain-29%22,%22value%22:0,%22sources%22:[]},{%22name%22:%22delay%20time%22,%22moduleId%22:%22delay-30%22,%22value%22:%220%22,%22sources%22:[{%22moduleId%22:%22inverse-gain-29%22,%22name%22:%22output%22}]},{%22name%22:%22frequency%22,%22moduleId%22:%22filter-34%22,%22value%22:%2235%22,%22sources%22:[]},{%22name%22:%22detune%22,%22moduleId%22:%22filter-34%22,%22value%22:%220%22,%22sources%22:[]},{%22name%22:%22quality%20factor%22,%22moduleId%22:%22filter-34%22,%22value%22:0,%22sources%22:[]}]}
    
  • Complex beat

    https://patrickstephansen.github.io/reactive-synth/?#{%22stateVersion%22:2,%22modules%22:[{%22id%22:%22Output%20to%20Speakers%22,%22moduleType%22:%22output%22},{%22id%22:%22constant-0%22,%22moduleType%22:%22constant%22,%22name%22:%22tempo%22},{%22id%22:%22inverse-gain-1%22,%22moduleType%22:%22inverse-gain%22,%22name%22:%22bpm%20to%20hz%22},{%22id%22:%22oscillator-2%22,%22moduleType%22:%22oscillator%22,%22name%22:%22clock%22},{%22id%22:%22clock-divider-3%22,%22moduleType%22:%22clock-divider%22,%22name%22:%2216ths%22},{%22id%22:%22oscillator-7%22,%22moduleType%22:%22oscillator%22,%22name%22:%22kick%20source%22},{%22id%22:%22clock-divider-8%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22kick%20trigger%22},{%22id%22:%22envelope-9%22,%22moduleType%22:%22envelope%22,%22name%22:%22kick%20gain%20env%22},{%22id%22:%22envelope-10%22,%22moduleType%22:%22envelope%22,%22name%22:%22kick%20mod%20env%22},{%22id%22:%22clock-divider-11%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22snare%20trigger%22},{%22id%22:%22envelope-12%22,%22moduleType%22:%22envelope%22,%22name%22:%22snare%20gain%20env%22},{%22id%22:%22noise-13%22,%22moduleType%22:%22noise%22,%22name%22:%22snare%20source%22},{%22id%22:%22clock-divider-14%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22repeat%22},{%22id%22:%22clock-divider-15%22,%22moduleType%22:%22clock-divider%22,%22name%22:%22hats%20trigger%22},{%22id%22:%22envel