Superfm

Hey folks, in case anyone is interested, i spent some time over the weekend working out how to make the Control Buses in Tidal 1.7 work with the superfm parameters - this allows you to sweep / modify parameters continuously, rather than having the changes quantised to note onsets - it's fantastic for super subtle variations, slow/drone/noisy music, and doubly so if you have a MIDI controller handy to map to some of the parameters. You just need to add the following to your BootTidal.hs then use eg mod11bus instead of mod11 in your code. The makeBus and makeRecv functions defined here will also work if you want to create control bus versions of parameters of other synths too, where they don't already exist:

Thanks!

Tim

   -- SuperFM control buses
    makeBus name busId pat = pF name pat # pI ("^" ++ name) busId
    makeRecv name busId = pI ("^ ++ name") busId

    mod11bus = makeBus "mod11"
    mod11recv = makeRecv "mod11"
    mod12bus = makeBus "mod12"
    mod12recv = makeRecv "mod12"
    mod13bus = makeBus "mod13"
    mod13recv = makeRecv "mod13"
    mod14bus = makeBus "mod14"
    mod14recv = makeRecv "mod14"
    mod15bus = makeBus "mod15"
    mod15recv = makeRecv "mod15"
    mod16bus = makeBus "mod16"
    mod16recv = makeRecv "mod16"
    mod21bus = makeBus "mod21"
    mod21recv = makeRecv "mod21"
    mod22bus = makeBus "mod22"
    mod22recv = makeRecv "mod22"
    mod23bus = makeBus "mod23"
    mod23recv = makeRecv "mod23"
    mod24bus = makeBus "mod24"
    mod24recv = makeRecv "mod24"
    mod25bus = makeBus "mod25"
    mod25recv = makeRecv "mod25"
    mod26bus = makeBus "mod26"
    mod26recv = makeRecv "mod26"
    mod31bus = makeBus "mod31"
    mod31recv = makeRecv "mod31"
    mod32bus = makeBus "mod32"
    mod32recv = makeRecv "mod32"
    mod33bus = makeBus "mod33"
    mod33recv = makeRecv "mod33"
    mod34bus = makeBus "mod34"
    mod34recv = makeRecv "mod34"
    mod35bus = makeBus "mod35"
    mod35recv = makeRecv "mod35"
    mod36bus = makeBus "mod36"
    mod36recv = makeRecv "mod36"
    mod41bus = makeBus "mod41"
    mod41recv = makeRecv "mod41"
    mod42bus = makeBus "mod42"
    mod42recv = makeRecv "mod42"
    mod43bus = makeBus "mod43"
    mod43recv = makeRecv "mod43"
    mod44bus = makeBus "mod44"
    mod44recv = makeRecv "mod44"
    mod45bus = makeBus "mod45"
    mod45recv = makeRecv "mod45"
    mod46bus = makeBus "mod46"
    mod46recv = makeRecv "mod46"
    mod51bus = makeBus "mod51"
    mod51recv = makeRecv "mod51"
    mod52bus = makeBus "mod52"
    mod52recv = makeRecv "mod52"
    mod53bus = makeBus "mod53"
    mod53recv = makeRecv "mod53"
    mod54bus = makeBus "mod54"
    mod54recv = makeRecv "mod54"
    mod55bus = makeBus "mod55"
    mod55recv = makeRecv "mod55"
    mod56bus = makeBus "mod56"
    mod56recv = makeRecv "mod56"
    mod61bus = makeBus "mod61"
    mod61recv = makeRecv "mod61"
    mod62bus = makeBus "mod62"
    mod62recv = makeRecv "mod62"
    mod63bus = makeBus "mod63"
    mod63recv = makeRecv "mod63"
    mod64bus = makeBus "mod64"
    mod64recv = makeRecv "mod64"
    mod65bus = makeBus "mod65"
    mod65recv = makeRecv "mod65"
    mod66bus = makeBus "mod66"
    mod66recv = makeRecv "mod66"

    eglevel11bus = makeBus "eglevel11"
    eglevel11recv = makeRecv "eglevel11"
    eglevel12bus = makeBus "eglevel12"
    eglevel12recv = makeRecv "eglevel12"
    eglevel13bus = makeBus "eglevel13"
    eglevel13recv = makeRecv "eglevel13"
    eglevel14bus = makeBus "eglevel14"
    eglevel14recv = makeRecv "eglevel14"
    eglevel21bus = makeBus "eglevel21"
    eglevel21recv = makeRecv "eglevel21"
    eglevel22bus = makeBus "eglevel22"
    eglevel22recv = makeRecv "eglevel22"
    eglevel23bus = makeBus "eglevel23"
    eglevel23recv = makeRecv "eglevel23"
    eglevel24bus = makeBus "eglevel24"
    eglevel24recv = makeRecv "eglevel24"
    eglevel31bus = makeBus "eglevel31"
    eglevel31recv = makeRecv "eglevel31"
    eglevel32bus = makeBus "eglevel32"
    eglevel32recv = makeRecv "eglevel32"
    eglevel33bus = makeBus "eglevel33"
    eglevel33recv = makeRecv "eglevel33"
    eglevel34bus = makeBus "eglevel34"
    eglevel34recv = makeRecv "eglevel34"
    eglevel41bus = makeBus "eglevel41"
    eglevel41recv = makeRecv "eglevel41"
    eglevel42bus = makeBus "eglevel42"
    eglevel42recv = makeRecv "eglevel42"
    eglevel43bus = makeBus "eglevel43"
    eglevel43recv = makeRecv "eglevel43"
    eglevel44bus = makeBus "eglevel44"
    eglevel44recv = makeRecv "eglevel44"
    eglevel51bus = makeBus "eglevel51"
    eglevel51recv = makeRecv "eglevel51"
    eglevel52bus = makeBus "eglevel52"
    eglevel52recv = makeRecv "eglevel52"
    eglevel53bus = makeBus "eglevel53"
    eglevel53recv = makeRecv "eglevel53"
    eglevel54bus = makeBus "eglevel54"
    eglevel54recv = makeRecv "eglevel54"
    eglevel61bus = makeBus "eglevel61"
    eglevel61recv = makeRecv "eglevel61"
    eglevel62bus = makeBus "eglevel62"
    eglevel62recv = makeRecv "eglevel62"
    eglevel63bus = makeBus "eglevel63"
    eglevel63recv = makeRecv "eglevel63"
    eglevel64bus = makeBus "eglevel64"
    eglevel64recv = makeRecv "eglevel64"

    egrate11bus = makeBus "egrate11"
    egrate11recv = makeRecv "egrate11"
    egrate12bus = makeBus "egrate12"
    egrate12recv = makeRecv "egrate12"
    egrate13bus = makeBus "egrate13"
    egrate13recv = makeRecv "egrate13"
    egrate14bus = makeBus "egrate14"
    egrate14recv = makeRecv "egrate14"
    egrate21bus = makeBus "egrate21"
    egrate21recv = makeRecv "egrate21"
    egrate22bus = makeBus "egrate22"
    egrate22recv = makeRecv "egrate22"
    egrate23bus = makeBus "egrate23"
    egrate23recv = makeRecv "egrate23"
    egrate24bus = makeBus "egrate24"
    egrate24recv = makeRecv "egrate24"
    egrate31bus = makeBus "egrate31"
    egrate31recv = makeRecv "egrate31"
    egrate32bus = makeBus "egrate32"
    egrate32recv = makeRecv "egrate32"
    egrate33bus = makeBus "egrate33"
    egrate33recv = makeRecv "egrate33"
    egrate34bus = makeBus "egrate34"
    egrate34recv = makeRecv "egrate34"
    egrate41bus = makeBus "egrate41"
    egrate41recv = makeRecv "egrate41"
    egrate42bus = makeBus "egrate42"
    egrate42recv = makeRecv "egrate42"
    egrate43bus = makeBus "egrate43"
    egrate43recv = makeRecv "egrate43"
    egrate44bus = makeBus "egrate44"
    egrate44recv = makeRecv "egrate44"
    egrate51bus = makeBus "egrate51"
    egrate51recv = makeRecv "egrate51"
    egrate52bus = makeBus "egrate52"
    egrate52recv = makeRecv "egrate52"
    egrate53bus = makeBus "egrate53"
    egrate53recv = makeRecv "egrate53"
    egrate54bus = makeBus "egrate54"
    egrate54recv = makeRecv "egrate54"
    egrate61bus = makeBus "egrate61"
    egrate61recv = makeRecv "egrate61"
    egrate62bus = makeBus "egrate62"
    egrate62recv = makeRecv "egrate62"
    egrate63bus = makeBus "egrate63"
    egrate63recv = makeRecv "egrate63"
    egrate64bus = makeBus "egrate64"
    egrate64recv = makeRecv "egrate64"

    amp1bus = makeBus "amp1"
    amp1recv = makeRecv "amp1"
    amp2bus = makeBus "amp2"
    amp2recv = makeRecv "amp2"
    amp3bus = makeBus "amp3"
    amp3recv = makeRecv "amp3"
    amp4bus = makeBus "amp4"
    amp4recv = makeRecv "amp4"
    amp5bus = makeBus "amp5"
    amp5recv = makeRecv "amp5"
    amp6bus = makeBus "amp6"
    amp6recv = makeRecv "amp6"

    ratio1bus = makeBus "ratio1"
    ratio1recv = makeRecv "ratio1"
    ratio2bus = makeBus "ratio2"
    ratio2recv = makeRecv "ratio2"
    ratio3bus = makeBus "ratio3"
    ratio3recv = makeRecv "ratio3"
    ratio4bus = makeBus "ratio4"
    ratio4recv = makeRecv "ratio4"
    ratio5bus = makeBus "ratio5"
    ratio5recv = makeRecv "ratio5"
    ratio6bus = makeBus "ratio6"
    ratio6recv = makeRecv "ratio6"

    detune1bus = makeBus "detune1"
    detune1recv = makeRecv "detune1"
    detune2bus = makeBus "detune2"
    detune2recv = makeRecv "detune2"
    detune3bus = makeBus "detune3"
    detune3recv = makeRecv "detune3"
    detune4bus = makeBus "detune4"
    detune4recv = makeRecv "detune4"
    detune5bus = makeBus "detune5"
    detune5recv = makeRecv "detune5"
    detune6bus = makeBus "detune6"
    detune6recv = makeRecv "detune6"

    lfofreqbus = makeBus "lfofreq"
    lfofreqrecv = makeRecv "lfofreq"

    lfodepthbus = makeBus "lfodepth"
    lfodepthrecv = makeRecv "lfodepth"

    feedbackbus = makeBus "feedback"
    feedbackrecv = makeRecv "feedback"
9 Likes