cheatcode

cheat code for jsynth audio dsp web audio catchphrase

Usage no npm install needed!

<script type="module">
  import cheatcode from 'https://cdn.skypack.dev/cheatcode';
</script>

README

cheatcode

some audio dsp module audio loading. look at the index.js for details.

then go to node.module.club, and require this module. Type the following into the live code editor, followed by pressing SHIFT-ENTER, which compiles your code.

require('cheatcode')

After typing that, ctra-a and delete the code in the editor, and paste in the following, after which compile with SHIFT-ENTER, edit, compile, repeat:

//synth.connect(master.destination)
//synth.disconnect()

tempo = 71

// add a comment to the next line after first compile, unless you want to change the tempo
timer = sync(tempo, master.sampleRate)

//tack() // uncomment this line after first compile, for to rewrite track fnction
tack = timer.on(1/8, tack)

tackbeat = beatmath(6, [2,4])

root = teoria.note('a4')
scale = teoria.scale(root, 'aeolian')
notes = scale.notes()

function tack(_t, b){
  if(tackbeat(b)){
    var opts = {}
    opts.c = 1;
    opts.m = 2;
    opts.f = notes[b % notes.length].fq()
    opts.wave = 'triangle'
    var stringer = clang(opts)
    var fux = jdelay(5000, .51, .61)
    var attack = [[0,0],[0,1], [1,1]]
    var release = [[0,1],[.25,.3],[.5,.6],[.75,.3], [1,0]]
    var curves = [attack, release]
    var durs = [.010, .090]
    var mods = {curves: curves, durations: durs}
    var lope = nvelope(curves, durs)
    var synth = function(t,s,i){
//    return oz.sine(t, 54) * lope(t - _t)
      return (stringer.ring(t, amod(0, .667, t, 12), Math.sqrt(2)))
    }
    var gen = generator.set(_t, synth, mods)
  }
}