├── 201231 └── x.lua ├── README.md ├── scrawp.lua ├── LICENSE ├── prix.lua ├── lib ├── a.scd ├── Engine_Scrawp.sc ├── Engine_Zsins.sc ├── rnob.lua ├── grid_cut.lua ├── b.scd ├── Engine_DreadMoon.sc ├── ji.lua ├── c.scd └── Engine_RedFrikTweets.sc ├── cross.lua ├── dreadmoon.lua └── crowns.lua /README.md: -------------------------------------------------------------------------------- 1 | # zebra 2 | zebra dust for the norns 3 | -------------------------------------------------------------------------------- /scrawp.lua: -------------------------------------------------------------------------------- 1 | --- scrawp 2 | --- 3 | --- wrap supercollider scripts 4 | --- no control connection, but scripts can create them 5 | --- 6 | --- K2: something 7 | --- K3: something else 8 | 9 | local e = engine 10 | e.name = 'Scrawp' 11 | 12 | -- current directory for scripts 13 | cwd = norns.state.path..'lib/' 14 | current_script = '' 15 | 16 | run = function(script) 17 | e.script(cwd..script) 18 | current_script = script 19 | redraw() 20 | end 21 | 22 | init = function() 23 | run('a.scd') 24 | end 25 | 26 | key = function(n,z) 27 | if z > 0 then 28 | if n == 2 then run('b.scd') end 29 | if n == 3 then run('c.scd') end 30 | end 31 | end 32 | 33 | local s = screen 34 | function redraw() 35 | s.clear() 36 | s.move(0, 10) 37 | s.text(current_script) 38 | s.update() 39 | end 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /prix.lua: -------------------------------------------------------------------------------- 1 | --- tweets 2 | 3 | engine.name = 'RedFrikTweets' 4 | 5 | function init() end 6 | 7 | local t = { 1, 2 } 8 | local mod = { {80,80}, {80,80}} 9 | 10 | local target = 1 11 | 12 | local inc_t = function(i,z) 13 | t[i] = t[i] + z 14 | if t[i] > 50 then t[i] = 50 end 15 | if t[i] < 1 then t[1] = 1 end 16 | engine.tweet(i,t[i]) 17 | redraw() 18 | 19 | end 20 | 21 | local inc_mod = function(i,z) 22 | mod[i] = mod[i] + 1 23 | if mod[i] > 100 then mod[i] = 100 end 24 | if mod[i] < 1 then mod[1] = 1 end 25 | engine.mod(i,mod[i]) 26 | redraw() 27 | end 28 | 29 | key = function(n,z) 30 | if n == 1 then 31 | target = z + 1 32 | elseif n == 2 then 33 | if z > 0 then 34 | inc_t(target, -1) 35 | end 36 | elseif n == 3 then 37 | if z > 0 then 38 | inc_t(target, 1) 39 | end 40 | end 41 | end 42 | 43 | enc = function(n,z) 44 | if n == 1 then 45 | -- change volume? 46 | elseif n == 2 then 47 | if z > 0 then 48 | inc_mod(target, -1) 49 | end 50 | elseif n == 3 then 51 | if z > 0 then 52 | inc_mod(target, 1) 53 | end 54 | end 55 | end 56 | 57 | redraw = function() 58 | screen.clear() 59 | screen.move(20, 20) 60 | screen.text("t1 "..t[1]) 61 | screen.move(40, 20) 62 | screen.text("t2 "..t[2]) 63 | screen.update() 64 | end -------------------------------------------------------------------------------- /lib/a.scd: -------------------------------------------------------------------------------- 1 | 2 | ~pitches = Array.fill(64, {|i| 3 | 110 * ((i%7).wrap(1, 4)) / ((i% 8).wrap(1, 6)) + (i % 6) + (i/4096.0); 4 | }); 5 | 6 | Routine { 7 | 8 | SynthDef.new(\vosc, { 9 | arg out=0, hz=110, level=1.0, 10 | buf=0, numbufs=4, 11 | index=0.0, amplag=0.05, hzlag = 10.0, 12 | gate=1, attack=0.1, release=60.0, 13 | pan=0; 14 | var osc, ampenv, amp; 15 | hz = Lag.kr(hz, hzlag); 16 | ampenv = Env.asr(attack, 1.0, release); 17 | amp = EnvGen.ar(ampenv, gate:gate, doneAction:2); 18 | index = Lag.kr(index, amplag); 19 | osc = VOsc.ar(buf + (index * numbufs), hz); 20 | Out.ar(out, Pan2.ar(osc*amp*level, pan)); 21 | }).send(s); 22 | 23 | 24 | ~vosc_bufs = Buffer.allocConsecutive 25 | ( 4, s, 1024, 1, 26 | { arg buf, i; 27 | var sa; 28 | sa = Array.fill 29 | ( i+1, 30 | { arg j; 31 | var val; 32 | if (j= 0, { 40 | synth[i].set(name, msg[2]); 41 | }); 42 | }); 43 | }); 44 | 45 | this.addCommand(\am_in, "ii", { 46 | arg msg; 47 | var i, j; 48 | i = msg[1] - 1; 49 | j = msg[2] - 1; 50 | if (i=0 && j<2 && j >= 0, { 51 | synth[i].set(\am_in, j); 52 | }); 53 | }); 54 | 55 | } 56 | 57 | free { 58 | synth.do({ |syn| syn.free; }); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /lib/rnob.lua: -------------------------------------------------------------------------------- 1 | ---- TODO: make this a module with creation arguments, &c 2 | 3 | -- build a JI rate knob that goes through zero 4 | local ji = dofile(_path.code .. 'zebra/lib/ji.lua') 5 | 6 | -- the gamut 7 | local gam = ji.partch() 8 | n = #gam 9 | 10 | print("gamut size: "..#gam) 11 | 12 | -- multiply index by float, return pair 13 | gam.fmul = function(i,f) return { f*gam[i][1], gam[i][2] } end 14 | -- divide index by float, return pair 15 | gam.fdiv = function(i,f) return { gam[i][1], gam[i][2]*f } end 16 | -- multiply scale index by pair, return pair 17 | gam.mul = function(i, p) return { p[1] * gam[i][1], p[2] * gam[i][2] } end 18 | -- get float for index 19 | gam.f = function(i) 20 | if gam[i][2] == 0 then return 0 21 | else return gam[i][1] / gam[i][2] end 22 | end 23 | 24 | local octa = 3 -- octaves above 25 | local octb = 3 -- octaves below 26 | 27 | local r = 0 -- current ratio 28 | local o = nil -- current octave 29 | local i = 0 -- current index 30 | 31 | local pval = {} -- list of positive values 32 | 33 | local plo = 2 ^ (-1 * octb) -- positive lower bound 34 | local phi = 2 ^ (octa) -- positive upper bound 35 | 36 | -- generating 37 | 38 | o = -1 * octb 39 | while o < octa do 40 | print("octave: " .. o) 41 | i = 0 42 | while i < n do 43 | i=i+1 44 | --print(i) 45 | if (o<0) then 46 | pval[#pval + 1] = gam.fdiv(i, 2^(-1*o)) 47 | else 48 | pval[#pval + 1] = gam.fmul(i, 2^o) 49 | end 50 | end 51 | o = o + 1 52 | end 53 | 54 | pval[#pval + 1] = { phi, 1}; 55 | 56 | -- build bipolar values 57 | local bval = {} 58 | 59 | i = #pval 60 | print("negative...") 61 | while i > 0 do 62 | --print(i) 63 | bval[#bval + 1] = {pval[i][1] * -1, pval[i][2]} 64 | i=i-1 65 | end 66 | 67 | ----- ZERO 68 | bval[#bval+1] = {0,1} 69 | 70 | i = 0 71 | print("positive again...") 72 | while i < #pval do 73 | i = i + 1 74 | bval[#bval + 1] = pval[i] 75 | end 76 | 77 | print("done.") 78 | 79 | pval = nil 80 | local nob = {} 81 | for k,v in pairs(bval) do 82 | nob[k] = { v[1], v[2], v[1]/v[2] } 83 | end 84 | 85 | 86 | -- for k,v in pairs(nob) do 87 | -- if v[1] == -1 and v[2] == 1 then print(k, v[1], v[2], v[3]) end 88 | -- if v[1] == 0 and v[2] == 1 then print(k, v[1], v[2], v[3]) end 89 | -- if v[1] == 1 and v[2] == 1 then print(k, v[1], v[2], v[3]) end 90 | -- end 91 | 92 | bval = nil 93 | return nob -------------------------------------------------------------------------------- /cross.lua: -------------------------------------------------------------------------------- 1 | -- cross 2 | -- @zebra 3 | 4 | -- softcut cross-patch test / demo 5 | 6 | engine.name = 'Zsins' 7 | 8 | local sc = require 'softcut' 9 | 10 | local nob = dofile(_path.code..'zebra/lib/rnob.lua') 11 | 12 | local state = { 13 | freeze = { false, false }, 14 | ri = { 390, 390 } --- FIXME: magic 15 | } 16 | ------- 17 | --- local functions 18 | 19 | local toggle_freeze = function(i, bool) 20 | if state.freeze[i] then 21 | state.freeze[i] = false 22 | sc.pre_level(i, 0) 23 | sc.rec_level(i, 1) 24 | else 25 | state.freeze[i] = true 26 | sc.pre_level(i, 1) 27 | sc.rec_level(i, 0.0) 28 | end 29 | end 30 | 31 | local inc_nob = function(i, z) 32 | state.ri[i] = state.ri[i] + z 33 | if state.ri[i] < 0 then state.ri[i] = 0 end 34 | if state.ri[i] > #nob then state.ri[i] = #nob end 35 | return nob[state.ri[i]] 36 | end 37 | 38 | ---- 39 | -- UI handlers 40 | 41 | function enc(n,z) 42 | if n == 2 then 43 | sc.rate(1, inc_nob(1, z)[3]) 44 | redraw() 45 | elseif n == 3 then 46 | sc.rate(2, inc_nob(2, z)[3]) 47 | redraw() 48 | end 49 | end 50 | 51 | function key(n,z) 52 | if n == 2 and z > 0 then 53 | toggle_freeze(1) 54 | redraw() 55 | elseif n == 3 and z > 0 then 56 | toggle_freeze(2) 57 | redraw() 58 | end 59 | end 60 | 61 | 62 | function redraw() 63 | screen.clear() 64 | screen.move(10, 10) 65 | screen.text("r1: "..nob[state.ri[1]][1].."/"..nob[state.ri[1]][2]) 66 | screen.move(10, 20) 67 | screen.text("r2: "..nob[state.ri[2]][1].."/"..nob[state.ri[2]][2]) 68 | screen.move(10, 30) 69 | if state.freeze[1] then screen.text("freeze 1") 70 | else screen.text("run 1") end 71 | screen.move(10, 40) 72 | if state.freeze[2] then screen.text("freeze 2") 73 | else screen.text("run 2") end 74 | screen.update() 75 | end 76 | 77 | function init() 78 | 79 | -- cut global 80 | audio.level_cut(1.0) 81 | audio.level_adc_cut(1) 82 | audio.level_eng_cut(1) 83 | 84 | -- cut voice 1 85 | sc.level(1, 1.0) 86 | sc.play(1, 1.0) 87 | sc.rec(1, 1.0) 88 | sc.level_input_cut(1, 1, 1.0) 89 | sc.level_input_cut(2, 1, 1.0) 90 | sc.pan(1, 0.5) 91 | 92 | sc.loop_start(1, 1) 93 | sc.loop_end(1, 3.0) 94 | sc.loop(1, 1) 95 | 96 | sc.loop_start(1, 1) 97 | sc.loop_end(1, 3.0) 98 | sc.loop(1, 1) 99 | sc.position(1, 1) 100 | sc.enable(1, 1) 101 | 102 | sc.fade_time(1, 0.1) 103 | sc.recpre_slew_time(1, 0.2) 104 | 105 | sc.filter_dry(1, 1.0); 106 | sc.filter_fc(1, 1200); 107 | sc.filter_lp(1, 0); 108 | sc.filter_bp(1, 0.0); 109 | sc.filter_rq(1, 20.0); 110 | 111 | -- cut voice 2 112 | sc.level(2,1.0) 113 | sc.play(2, 1.0) 114 | sc.rec(2, 1.0) 115 | sc.level_input_cut(1, 2, 1.0) 116 | sc.level_input_cut(2, 2, 1.0) 117 | 118 | sc.pan(2, -0.5) 119 | 120 | sc.buffer (2, 2) 121 | 122 | sc.loop_start(2, 1) 123 | sc.loop_end(2, 3.0) 124 | sc.loop(2, 1) 125 | 126 | sc.position(2, 1) 127 | sc.enable(2, 1) 128 | 129 | sc.fade_time(2, 0.1) 130 | sc.recpre_slew_time(2, 0.2) 131 | 132 | sc.filter_dry(2, 1.0); 133 | sc.filter_fc(2, 1200); 134 | sc.filter_lp(2, 0); 135 | sc.filter_bp(2, 0.0); 136 | sc.filter_rq(2, 20.0); 137 | 138 | 139 | ---------- 140 | --- record! 141 | sc.rec_level(1, 0.25) 142 | sc.rec_level(2, 0.25) 143 | 144 | ------ 145 | -- cross 146 | sc.level_cut_cut(1, 2, 0.25) 147 | sc.level_cut_cut(2, 1, 0.25) 148 | sc.buffer_clear() 149 | 150 | ------- 151 | --- engine 152 | 153 | -- currently, no sines are playing by default. 154 | -- initialize some from the REPL if desired 155 | -- e.g.: 156 | -- engine.amp(1, 0.25) 157 | -- engine.hz(1, 220) 158 | -- engine.pan(1, 0) 159 | 160 | end -- init function -------------------------------------------------------------------------------- /lib/grid_cut.lua: -------------------------------------------------------------------------------- 1 | 2 | local gc = {} 3 | local audio = require 'audio' 4 | 5 | -- ptolemaic, minor, pentatonic kinda thing 6 | gc.rates = { 7 | -2, -3/2, -4/3, -1, 8 | -1/2, -3/5, -2/3, 9 | 1/2, 3/5, 2/3, 10 | 1, 6/5, 4/3, 3/2, 9/5, 2 11 | } 12 | 13 | gc.set_rate = function(v, r) 14 | gc.state.rate[v] = r 15 | local rate = gc.rates[r] 16 | print('set rate: '.. rate) 17 | softcut.rate(v, rate) 18 | end 19 | 20 | --- loop points 21 | gc.loop = {{1, 5}, {6, 11}, {12, 17}, {18, 24}} 22 | gc.reset = function(v) 23 | print('reset ' .. v) 24 | softcut.position(v, gc.loop[v][1]) 25 | end 26 | 27 | gc.state = { 28 | rate = {11, 11, 11, 11}, 29 | level = { 0, 0, 0, 0}, 30 | freeze = { 0, 0, 0, 0}, 31 | feed = { 32 | {0, 0, 0, 0}, 33 | {0, 0, 0, 0}, 34 | {0, 0, 0, 0}, 35 | {0, 0, 0, 0}, 36 | } 37 | } 38 | 39 | gc.tog_level = function(v) 40 | if gc.state.level[v] > 0 then gc.state.level[v] = 0 41 | else gc.state.level[v] = 0.5 end 42 | softcut.level(v, gc.state.level[v]) 43 | end 44 | 45 | gc.tog_freeze = function(v) 46 | if gc.state.freeze[v] > 0 then gc.state.freeze[v] = 0 47 | else gc.state.freeze[v] = 0.5 end 48 | softcut.pre_level(v, gc.state.freeze[v]) 49 | softcut.rec_level(v, 1 - gc.state.freeze[v]) 50 | end 51 | 52 | gc.tog_feed = function (v, w) 53 | if gc.state.feed[v][w] > 0 then gc.state.feed[v][w] = 0 54 | else gc.state.feed[v][w] = 0.125 end 55 | softcut.level_cut_cut(v, w, gc.state.feed[v][w]) 56 | end 57 | 58 | gc.handle_grid_key = function(x, y, z) 59 | print('grid_key', x, y, z) 60 | local v 61 | if z > 0 then 62 | if y < 5 then 63 | v = y 64 | gc.set_rate(v, x) 65 | else 66 | v = y - 4 67 | if x == 1 then 68 | gc.tog_level(v) 69 | elseif x == 3 then 70 | gc.tog_freeze(v) 71 | elseif x >= 5 and x <= 8 then 72 | gc.tog_feed(v, x-4) 73 | elseif x == 16 then 74 | gc.reset(v) 75 | end 76 | end 77 | gridredraw() 78 | end 79 | end 80 | 81 | gc.draw_grid = function (g) 82 | print('gc.draw_grid') 83 | g:all(0) 84 | for y = 1,4 do 85 | -- top 4 rows: 86 | -- draw current rate index for each voice 87 | for x=1,16 do 88 | if gc.state.rate[y] == x then 89 | g:led(x, y, 12) 90 | else 91 | g:led(x, y, 0) 92 | end 93 | end 94 | -- bottom 4 rows: 95 | --- 1st column: level 96 | if gc.state.level[y] > 0 then 97 | g:led(1, y+4, 12) 98 | else 99 | g:led(1, y+4, 2) 100 | end 101 | 102 | --- 3rd column: freeze 103 | if gc.state.freeze[y] > 0 then 104 | g:led(3, y+4, 12) 105 | else 106 | g:led(3, y+4, 2) 107 | end 108 | 109 | --- columns 5-8: feed 110 | for j=1,4 do 111 | if gc.state.feed[y][j] > 0 then 112 | g:led(4+j, y+4, 12) 113 | else 114 | g:led(4+j, y+4, 2) 115 | end 116 | end 117 | end 118 | g:refresh() 119 | end 120 | 121 | gc.init = function() 122 | 123 | ---- initial state 124 | 125 | -- cut global 126 | audio.level_cut(1.0) 127 | audio.level_adc_cut(1.0) 128 | audio.level_eng_cut(1) 129 | 130 | local cut_pans = {0.125, 0.25, 0.5, 0.75, 0.875} --{ -0.5, -0.25, 0.25, 0.5 } 131 | 132 | --- cut voices 133 | for i=1,4 do 134 | softcut.rec_offset(i, -0.06) 135 | softcut.level(i, 0.0) 136 | softcut.rec(i, 1) 137 | softcut.play(i, 1) 138 | 139 | softcut.level_input_cut(1, i, 1.0) 140 | softcut.level_input_cut(2, i, 1.0) 141 | softcut.pan(i, cut_pans[i]) 142 | softcut.filter_dry(1, 1.0); 143 | softcut.filter_fc(1, 900 + (300 * i)); 144 | softcut.filter_lp(1, 0.5); 145 | softcut.filter_bp(1, 0.25); 146 | softcut.filter_rq(1, 20.0); 147 | 148 | softcut.rec_level(i, 1.0) 149 | softcut.pre_level(i, 0.5) 150 | 151 | softcut.loop_start(i, gc.loop[i][1]) 152 | softcut.loop_end(i, gc.loop[i][2]) 153 | 154 | softcut.fade_time(1, 0.25) 155 | softcut.loop(i, 1) 156 | 157 | 158 | softcut.position(i, gc.loop[i][1]) 159 | 160 | for j=1,4 do 161 | softcut.level_cut_cut(i, j, 0) 162 | end 163 | 164 | 165 | softcut.enable(i, 1) 166 | end 167 | 168 | softcut.buffer(1, 1) 169 | softcut.buffer(2, 2) 170 | softcut.buffer(3, 1) 171 | softcut.buffer(4, 2) 172 | 173 | softcut.buffer_clear() 174 | 175 | end 176 | 177 | return gc 178 | -------------------------------------------------------------------------------- /201231/x.lua: -------------------------------------------------------------------------------- 1 | -- nye 2020 nye 2020 2 | 3 | sc = softcut 4 | ji = require 'intonation' 5 | grid_dirty = true 6 | g = grid.connect() 7 | 8 | 9 | 10 | function sc_init() 11 | 12 | local cut_pans = { -0.5, -0.25, 0.25, 0.5, -0.25, 0.25 } 13 | local loop_start = {0, 40, 80, 120, 0, 150} 14 | local loop_end = {30, 40 + 28, 80 + 27, 120 + 26, 140, 300} 15 | local buffer = {1, 1, 1, 1, 2, 2} 16 | local loop = { 1, 1, 1, 1, 0, 0} 17 | 18 | --- cut voices 19 | for i=1,6 do 20 | sc.rec_offset(i, -0.06) 21 | sc.level(i, 0.0) 22 | sc.rec(i, 1) 23 | sc.play(i, 1) 24 | 25 | sc.level_input_cut(1, i, 1.0) 26 | sc.level_input_cut(2, i, 1.0) 27 | sc.pan(i, cut_pans[i]) 28 | sc.filter_dry(1, 1.0); 29 | sc.filter_fc(1, 900 + (300 * i)); 30 | sc.filter_lp(1, 0.5); 31 | sc.filter_bp(1, 0.25); 32 | sc.filter_rq(1, 20.0); 33 | 34 | sc.rec_level(i, 1.0) 35 | sc.pre_level(i, 0.5) 36 | 37 | sc.loop_start(i, loop_start[i]) 38 | sc.loop_end(i, loop_end[i]) 39 | sc.buffer(i, buffer[i]) 40 | 41 | sc.fade_time(1, i + 2) 42 | sc.loop(i, loop[i]) 43 | sc.rate_slew_time(i, 0.4) 44 | sc.position(i, loop_start[i]) 45 | 46 | for j=1,4 do 47 | sc.level_cut_cut(i, j, 0) 48 | end 49 | sc.enable(i, 1) 50 | end 51 | sc.buffer_clear() 52 | end 53 | 54 | voice_state = {} 55 | for i=1,6 do 56 | voice_state[i] = { 57 | pos = 1 + (i-1) * (sc.BUFFER_SIZE - 1) / 7 , 58 | play = 0, 59 | rec = 0, 60 | pre = 0, 61 | } 62 | end 63 | 64 | function toggle_pre(i) 65 | print("toggle pre "..i) 66 | if voice_state[i].pre > 0 then voice_state[i].pre = 0 67 | else voice_state[i].pre = 1 end 68 | sc.pre_level(i, voice_state[i].pre) 69 | grid_dirty = true 70 | end 71 | 72 | function toggle_rec(i) 73 | print("toggle rec "..i) 74 | if voice_state[i].rec > 0 then voice_state[i].rec = 0 75 | else voice_state[i].rec = 1 end 76 | sc.rec_level(i, voice_state[i].rec) 77 | grid_dirty = true 78 | end 79 | 80 | function toggle_play(i) 81 | print("toggle play "..i) 82 | if voice_state[i].play > 0 then voice_state[i].play = 0 83 | else voice_state[i].play = 1 end 84 | sc.level(i, voice_state[i].play) 85 | grid_dirty = true 86 | end 87 | 88 | 89 | function midi_event(data) 90 | if data[1] == 248 then return end 91 | --tab.print(data) 92 | local msg = midi.to_msg(data) 93 | -- tab.print(msg) 94 | if msg.type == "note_on" then note_on(msg.note) end 95 | if msg.type == "note_off" then note_off(msg.note) end 96 | end 97 | 98 | midi_note_count = 0 99 | scale = ji.normal() 100 | 101 | function note_on(num) 102 | midi_note_count = midi_note_count + 1 103 | if midi_note_count > 4 then return end 104 | local d = num - 62 105 | local oct = math.pow(2, math.floor(d / 12)) 106 | deg = (d % 12) + 1 107 | print("degree: " .. deg) 108 | local ratio = scale[deg] 109 | --local rate = ratio[1] / ratio[2] * oct 110 | ratio = ratio * oct 111 | print("setting ratio " .. midi_note_count .. " = " .. ratio) 112 | sc.rate(midi_note_count, ratio) 113 | end 114 | 115 | function note_off(num) 116 | midi_note_count = midi_note_count - 1 117 | end 118 | 119 | 120 | base_rates ={0.25, 0.5, 1, 1, 1, 1} 121 | function g.key(x, y, z) 122 | --print(""..x.." "..y.." "..z) 123 | if z == 0 then return end 124 | if x > 6 then return end 125 | 126 | if y == 1 then 127 | sc.position(x, voice_state[x].pos) 128 | elseif y == 2 then 129 | toggle_play(x) 130 | elseif y == 3 then 131 | toggle_rec(x) 132 | elseif y == 4 then 133 | toggle_pre(x) 134 | elseif y == 5 then 135 | sc.rate(x, base_rates[x]) 136 | elseif y == 6 then 137 | -- ?? 138 | end 139 | end 140 | 141 | init = function() 142 | m = midi.connect(3) 143 | m.event = midi_event 144 | 145 | redraw_metro = metro.init() 146 | redraw_metro.event = function() 147 | if grid_dirty then 148 | grid_redraw() 149 | grid_dirty = false 150 | end 151 | end 152 | redraw_metro.time = 0.05 153 | redraw_metro:start() 154 | 155 | redraw() 156 | grid_redraw() 157 | 158 | sc_init() 159 | end 160 | 161 | -- 162 | 163 | -- draw ye grid 164 | function grid_redraw() 165 | for i=1,6 do 166 | g:led(i, 1, 1) 167 | g:led(i, 5, 1) 168 | if voice_state[i].play > 0 then 169 | g:led(i, 2, 15) 170 | else 171 | g:led(i, 2, 0) 172 | end 173 | if voice_state[i].rec > 0 then 174 | g:led(i, 3, 15) 175 | else 176 | g:led(i, 3, 0) 177 | end 178 | if voice_state[i].pre > 0 then 179 | g:led(i, 4, 15) 180 | else 181 | g:led(i, 4, 0) 182 | end 183 | end 184 | g:refresh() 185 | end 186 | 187 | function redraw() 188 | screen.clear() 189 | screen.line_width(1) 190 | screen.aa(0) 191 | screen.move(10, 20) 192 | screen.text("NYE2020") 193 | screen.update() 194 | end -------------------------------------------------------------------------------- /lib/b.scd: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | ___ ___ ___ __ ___ ________ ________ _____ ______ 4 | |\ \ |\ \|\ \|\ \ / /|\ __ \|\ __ \|\ _ \ _ \ 5 | \ \ \\_\ \ \ \/ /|_ / //\ \ \|\ /\ \ \|\ \ \ \\\__\ \ \ 6 | \ \______ \ \ ___ \ / // \ \ __ \ \ ____\ \ \\|__| \ \ 7 | \|_____|\ \ \ \\ \ \ / // \ \ \|\ \ \ \___|\ \ \ \ \ \ 8 | \ \__\ \__\\ \__\/_ // \ \_______\ \__\ \ \__\ \ \__\ 9 | \|__|\|__| \|__|__|/ \|_______|\|__| \|__| \|__| 10 | v141020 11 | "4K/BPM" - 8 channel installation for Sonoretum, Kapelica Gallery, SI 12 | by Luka Prinčič / Nova deViator 13 | released under GNU GPL. feel free to copy, reuse, remix, 14 | provided that you share under same conditions: GNU GPL. 15 | */ 16 | 17 | 18 | ~syn = { 19 | // random channel expansion and ramping 20 | ~chanExpan = { 21 | SinOsc.kr( rrand(0.0001,0.001), 0.25, 0.5, 0.5 ) 22 | * 23 | LFTri.kr( 24 | [ // multichannel expansion 25 | rrand(0.005,0.03), 26 | rrand(0.005,0.03), 27 | rrand(0.005,0.03), 28 | rrand(0.005,0.03), 29 | rrand(0.005,0.03), 30 | rrand(0.005,0.03), 31 | rrand(0.005,0.03), 32 | rrand(0.005,0.03) 33 | ], 34 | 3.99.rand)} ; 35 | 36 | // something that changes the frequency every now and then (0.8 - 1.2) 37 | ~freqVar = { 38 | LFNoise0.ar(rrand(0.005, 0.03), 0.2, 0.7 + 0.3.rand); 39 | }; 40 | 41 | // bpm master control - oscilating, drifting 42 | ~bpm = LFTri.kr(0.001, 0, 0.2, 0.5 + 0.8.rand); 43 | 44 | z = ( 45 | ( 46 | // kinda bassline 47 | SinOsc.ar( ((LFSaw.kr(-0.05,1) + 1) * 100 + 40 ), 48 | LFTri.kr(40,0,1), 49 | LFSaw.kr(1.5 * ~bpm) ) 50 | * ~chanExpan 51 | * 0 52 | ) 53 | + 54 | ( // wierd bleep-bassline 55 | LFPulse.ar(60 * ~freqVar, 0, 0.5, LFPulse.kr((1/2) * ~bpm, 0.5, 0.03, 0.9)) 56 | * ~chanExpan // random channel expansion 57 | * 0.5 // volume 58 | ) + 59 | ( // Sine at 0.6666 60 | SinOsc.ar(265 * ~freqVar, 0, LFPulse.kr((2/3) * ~bpm, 0.5, 0.3) * 0.3) 61 | * ~chanExpan // random channel expansion 62 | * 1 // volume 63 | ) + 64 | ( 65 | LFPar.ar(420 * ~freqVar, 0, LFPulse.kr((1/2) * ~bpm, 0.5,0.2) * 0.3) 66 | * ~chanExpan // random channel expansion 67 | * 1 // volume 68 | ) + 69 | ( 70 | LFCub.ar(185 * ~freqVar, 0, LFPulse.kr((1/2) * ~bpm, 0.74,0.2) * 0.3) 71 | * ~chanExpan // random channel expansion 72 | * 1 // volume 73 | 74 | ) + 75 | ( 76 | LFCub.ar(1985 * ~freqVar, 0, LFPulse.kr((1/2) * ~bpm, 0.74,0.1) * 0.2) 77 | * ~chanExpan // random channel expansion 78 | * 1 // volume 79 | ) + 80 | ( 81 | LFCub.ar(9985 * ~freqVar, 0, LFPulse.kr((4/3) * ~bpm, 0.76,0.005)*0.3) 82 | * ~chanExpan // random channel expansion 83 | * 1 // volume 84 | ) + 85 | ( 86 | LFCub.ar(7985 * ~freqVar, 0, LFPulse.kr((5/3) * ~bpm, 0.24,0.005)*0.3) 87 | * ~chanExpan // random channel expansion 88 | * 1 // volume 89 | ) + 90 | ( 91 | SinOsc.ar(365 * ~freqVar, 0, LFPulse.kr( (4/3) * ~bpm, 0, 0.1)*0.3) 92 | * ~chanExpan // random channel expansion 93 | * 1 // volume 94 | ) + 95 | ( 96 | FreeVerb.ar(LFTri.ar(260 * ~freqVar, 0, 97 | LFPulse.kr(0.5 * ~bpm,0.25,0.01)*0.3),0.5,0.8,0.1) 98 | * ~chanExpan // random channel expansion 99 | * 1 // volume 100 | ) + 101 | ( 102 | SinOsc.ar(800 * ~freqVar, 0, LFPulse.kr(2 * ~bpm,0,0.1)*0.1) 103 | * ~chanExpan // random channel expansion 104 | * 1 // volume 105 | ) + 106 | ( 107 | SinOsc.ar(5800 * ~freqVar, 0, LFPulse.kr(2 * ~bpm,0,0.01)*0.3) 108 | * ~chanExpan // random channel expansion 109 | * 1 // volume 110 | ) + 111 | ( 112 | LFCub.ar(820 * ~freqVar, 0, LFPulse.kr( (5/3) * ~bpm, 0, 0.1)*0.1) 113 | * ~chanExpan // random channel expansion 114 | * 1 // volume 115 | ) + 116 | ( 117 | LFPar.ar(7820 * ~freqVar, 0, LFPulse.kr( (5/3) * ~bpm, 0, 0.03)*0.1) 118 | * ~chanExpan // random channel expansion 119 | * 1 // volume 120 | ) + 121 | ( 122 | WhiteNoise.ar( LFPulse.kr(2 * ~bpm,0.5,0.001,1) )/2 123 | * ~chanExpan // random channel expansion 124 | * 1 // volume 125 | ) + 126 | ( 127 | WhiteNoise.ar( LFPulse.kr(1 * ~bpm,0.5,0.001,1) )/2 128 | * ~chanExpan // random channel expansion 129 | * 1 // volume 130 | ) + 131 | ( 132 | WhiteNoise.ar( LFPulse.kr( (5/3) * ~bpm,0.5,0.001,1) )/4 133 | * ~chanExpan // random channel expansion 134 | * 1 // volume 135 | ) + 136 | ( 137 | WhiteNoise.ar( LFPulse.kr( (4/3) * ~bpm,0.5,0.001,1) )/4 138 | * ~chanExpan // random channel expansion 139 | * 1 // volume 140 | ) 141 | ); 142 | 143 | ~out = CombC.ar( 144 | DelayN.ar( 145 | DelayN.ar(z, 146 | 0.5, [0.47, 0.75, 0.51, 0.42, 0.65, 0.67, 0.56, 0.3], 1, z), 147 | 0.5, 0.5, 1, z), 148 | 0.1, LFNoise0.kr(0.5 * ~bpm, 0.05, 0.001).abs, 2, z); 149 | 150 | ~out = ~out + (z * SinOsc.kr(0.001, 0, 0.33, 0.66)); 151 | ~out = Limiter.ar((~out),0.9, 0.1); 152 | ~out = FreeVerb.ar(~out, 0.2 * ~freqVar, 1, 0.1); 153 | 154 | 155 | }.play; 156 | 157 | ~cleanup = { ~syn.free; } 158 | /* 159 | ~cleanup.value 160 | */ 161 | -------------------------------------------------------------------------------- /lib/Engine_DreadMoon.sc: -------------------------------------------------------------------------------- 1 | Engine_DreadMoon : CroneEngine { 2 | // array of piano voice synths (self-freeing) 3 | var piano_voice; 4 | // array of FM "organ" voices 5 | var organ_voice; 6 | // granular pitch-shift voices 7 | var shift_del_voice; 8 | var shift_del_buf; 9 | 10 | var num_shift = 2; 11 | var shift_del_maxtime = 8.0; 12 | 13 | *new { arg context, doneCallback; 14 | ^super.new(context, doneCallback); 15 | } 16 | 17 | alloc { 18 | 19 | // somewhat piano like thing - noise exciter, comb resonator 20 | SynthDef.new(\comb_piano, { 21 | arg out=0, amp=0.125, hz=220, 22 | noise_hz = 4000, noise_attack=0.002, noise_decay=0.06, 23 | tune_up = 1.0005, tune_down = 0.9996, string_decay=6.0, 24 | lpf_ratio=2.0, lpf_rq = 4.0, hpf_hz = 40, damp=0, damp_time=0.1; 25 | 26 | var noise, string, delaytime, lpf, noise_env, snd, damp_mul; 27 | 28 | damp_mul = LagUD.ar(K2A.ar(1.0 - damp), 0, damp_time); 29 | 30 | noise_env = Decay2.ar(Impulse.ar(0)); 31 | noise = LFNoise2.ar(noise_hz) * noise_env; 32 | 33 | delaytime = 1.0 / (hz * [tune_up, tune_down]); 34 | string = Mix.new(CombL.ar(noise, delaytime, delaytime, string_decay * damp_mul)); 35 | 36 | snd = RLPF.ar(string, lpf_ratio * hz, lpf_rq) * amp; 37 | snd = HPF.ar(snd, hpf_hz); 38 | 39 | Out.ar(out, snd.dup); 40 | DetectSilence.ar(snd, doneAction:2); 41 | }).send(Crone.server); 42 | 43 | 44 | // simple, moogish FM synth voice 45 | SynthDef.new(\fm_organ, { 46 | arg out=0, amp=1.0, 47 | hz1, hz2, shape1=0, shape2=0, 48 | fm_idx = 0, 49 | fc=1200, gain=0.1, 50 | amp_atk=0.01, amp_rel=0.2, 51 | osc1_amp=0.5, osc2_amp=0.5; 52 | 53 | var hz1mod, osc1, osc2, snd; 54 | 55 | osc2 = SelectX.ar(shape2, [SinOsc.ar(hz2), DPW3Tri(hz2), Saw.ar(hz2), Pulse.ar(hz2)]); 56 | hz1mod = (osc2 * fm_idx + 1.0) * hz1; 57 | osc1 = SelectX.ar(shape1, [SinOsc.ar(hz1mod), DPW3Tri(hz1mod), Saw.ar(hz1mod), Pulse.ar(hz1mod)]); 58 | fc = Lag.kr(fc, 0.1); 59 | gain = Lag.kr(gain, 0.1); 60 | snd = MoogFF.ar(osc1*osc1_amp + osc2*osc2_amp, fc, gain); 61 | Out.ar(out, (snd * LagUD.ar(K2A.ar(amp, amp_atk, amp_rel))).dup); 62 | }).send(Crone.server); 63 | 64 | 65 | // granular pitch-shift, with delay 66 | SynthDef.new (\shift_del, { 67 | arg buf, out=0, amp=1.0, time=0.6, ratio=2.0, 68 | window_size = 0.2, 69 | pitch_dispersion = 0.0, 70 | time_dispersion = 0.1, 71 | lpf_fc=4000, lpf_gain=0.0, 72 | hpf_fc = 30; 73 | var input, snd; 74 | input = Mix.new(SoundIn.ar([0,1])); 75 | input = BufDelayL.ar(buf, input, time); 76 | snd = PitchShift.ar( 77 | input, 78 | windowSize:window_size, 79 | pitchRatio:ratio, 80 | pitchDispersion:pitch_dispersion, 81 | timeDispersion:time_dispersion); 82 | snd = MoogFF.ar(snd, lpf_fc, lpf_gain); 83 | snd = HPF.ar(snd, hpf_fc); 84 | Out.ar(out, (snd * amp).dup); 85 | }).send(Crone.server); 86 | 87 | 88 | // convenience: play a piano note (num, vel) 89 | this.addCommand(\piano_midi_on, "ii", { 90 | arg msg; 91 | var note, vel; 92 | note = msg[1]; 93 | vel = msg[2]; 94 | //[note, vel].postln; 95 | piano_voice[note] = Synth.new(\comb_piano, [ 96 | \hz, note.midicps, 97 | \amp, vel.linlin(20, 120, -20.dbamp, -18.dbamp), 98 | \lpf_ratio, vel.linlin(50, 120, 1.0, 3.0), 99 | \lpf_rq, vel.linlin(50, 120, 4.0, 8.0), 100 | \string_decay, vel.linlin(50, 120, 4.0, 8.0), 101 | \noise_hz, vel.linlin(50, 120, 2000, 4000) 102 | ], context.xg); 103 | }); 104 | 105 | // convenience: play an organ note (num, vel) 106 | this.addCommand(\organ_on, "ii", { 107 | arg msg; 108 | var note, vel; 109 | note = msg[1]; 110 | vel = msg[2]; 111 | //[note, vel].postln; 112 | organ_voice[note] = Synth.new(\organ, [ 113 | \hz, note.midicps * 2.0, 114 | \amp, vel.linlin(20, 120, -20.dbamp, -18.dbamp), 115 | ], context.xg); 116 | }); 117 | 118 | 119 | // convenience, stop a piano note (num, vel) 120 | this.addCommand(\piano_midi_off, "ii", { 121 | arg msg; 122 | var note, vel; 123 | note = msg[1]; 124 | vel = msg[2]; 125 | //[note, vel].postln; 126 | if(piano_voice[note].notNil, { 127 | piano_voice[note].set(\damp_time, vel.linlin(0, 127, 1.0, 0.05)); 128 | piano_voice[note].set(\damp, 1); 129 | }); 130 | }); 131 | 132 | // shift-delay parameters 133 | [ 134 | \amp, \time, \ratio, 135 | \window_size, \pitch_dispersion, \time_dispersion, 136 | \lpf_fc, \lpf_gain, \hpf_fc 137 | ].do({ 138 | arg param; 139 | this.addCommand(("shift_" ++ param.asString).asSymbol, "if", { 140 | arg msg; 141 | shift_del_voice[msg[1]-1].set(param, msg[2]); 142 | }); 143 | }); 144 | 145 | /* 146 | this.addCommand(\shift_amp, "if", { 147 | arg msg; 148 | msg.postln; 149 | shift_del_voice[msg[1]-1].set(\amp, msg[2]); 150 | }); 151 | 152 | 153 | this.addCommand(\shift_del_time, "if", { 154 | arg msg; 155 | msg.postln; 156 | shift_del_voice[msg[1]-1].set(\time, msg[2]); 157 | }); 158 | 159 | this.addCommand(\shift_ratio, "if", { 160 | arg msg; 161 | msg.postln; 162 | shift_del_voice[msg[1]-1].set(\ratio, msg[2]); 163 | }); 164 | */ 165 | 166 | 167 | 168 | piano_voice = Array.newClear(128); 169 | organ_voice = Array.newClear(128); 170 | 171 | shift_del_buf = Array.fill(num_shift, { 172 | Buffer.alloc(Crone.server, shift_del_maxtime * Crone.server.sampleRate, 1); 173 | }); 174 | 175 | Crone.server.sync; 176 | 177 | shift_del_voice = Array.fill(num_shift, { |i| 178 | Synth.new(\shift_del, [\amp, 0, \buf, shift_del_buf[i].bufnum], context.xg) 179 | }); 180 | 181 | } 182 | 183 | free { 184 | piano_voice.do({ |v| if (v.notNil, { v.free; }); }); 185 | organ_voice.do({ |v| if (v.notNil, { v.free; }); }); 186 | shift_del_voice.do({ |v| if (v.notNil, { v.free; }); }); 187 | } 188 | } 189 | -------------------------------------------------------------------------------- /dreadmoon.lua: -------------------------------------------------------------------------------- 1 | -- scriptname: dreadmoon 2 | -- v0.0.0 @catfact / @zebra 3 | 4 | engine.name = 'DreadMoon' 5 | 6 | -------------- 7 | --- params 8 | cs_CUT1 = controlspec.new(50,5000,'exp',0,800,'hz') 9 | params:add{type="control",id="fc1",controlspec=cs_CUT1, 10 | action=function(x) engine.shift_lpf_fc(1, x) end} 11 | 12 | cs_CUT1 = controlspec.new(50,5000,'exp',0,800,'hz') 13 | params:add{type="control",id="fc2",controlspec=cs_CUT1, 14 | action=function(x) engine.shift_lpf_fc(2, x) end} 15 | 16 | cs_GAIN = controlspec.new(0,4,'lin',0,1,'') 17 | params:add{type="control",id="gain",controlspec=cs_GAIN, 18 | action=function(x) 19 | engine.shift_lpf_gain(1, x) 20 | engine.shift_lpf_gain(2, x) 21 | end} 22 | 23 | 24 | ----------- 25 | --- helpers 26 | 27 | -- initialize softcut 28 | local softcut_init = function() 29 | audio.level_cut(1.0) 30 | audio.level_adc_cut(1) 31 | 32 | for i=1,4 do 33 | softcut.rec_offset(i, -0.06) 34 | softcut.level(i, 0.0) 35 | softcut.rec(i, 1) 36 | softcut.play(i, 1) 37 | softcut.loop(i, 1) 38 | 39 | softcut.level_input_cut(1, i, 1.0) 40 | softcut.level_input_cut(2, i, 1.0) 41 | softcut.pan(i, 0.5) 42 | 43 | softcut.filter_dry(1, 1.0) 44 | softcut.filter_fc(1, 1500) 45 | softcut.filter_lp(1, 0.0) 46 | softcut.filter_bp(1, 0.0) 47 | softcut.filter_rq(1, 20.0) 48 | 49 | softcut.rec_level(i, 1.0) 50 | softcut.pre_level(i, 0.0) 51 | 52 | softcut.loop_start(i, (i+1)*2) 53 | softcut.loop_end(i, (i+1)*2 + 1) 54 | 55 | softcut.fade_time(1, 0.125) 56 | 57 | softcut.position(i, i+1*2) 58 | 59 | for j=1,4 do 60 | softcut.level_cut_cut(i, j, 0) 61 | end 62 | softcut.enable(i, 1) 63 | end 64 | end 65 | 66 | -- silence all voices 67 | local softcut_reset = function() 68 | for i=1,4 do 69 | softcut.level(i, 0.0) 70 | for j=1,4 do 71 | softcut.level_cut_cut(i, j, 0) 72 | end 73 | end 74 | end 75 | 76 | ------------ 77 | --- songs 78 | local song = nil 79 | 80 | local songs = { 81 | saints = { 82 | perform = function() 83 | audio.rev_on() 84 | engine.shift_amp(1, 2.0) 85 | engine.shift_ratio(1, 2.0) 86 | engine.shift_time(1, 1.6) 87 | engine.shift_window_size(1, 0.2) 88 | engine.shift_time_dispersion(1, 0.1) 89 | engine.shift_lpf_fc(1, 8000) 90 | engine.shift_amp(2, 0) 91 | softcut_reset() 92 | audio.level_monitor(0) 93 | end, 94 | }, 95 | wolf = { 96 | perform = function() 97 | audio.rev_on() 98 | engine.shift_amp(1, 1.0) 99 | engine.shift_ratio(1, 0.5) 100 | engine.shift_time(1, 0.5) 101 | engine.shift_window_size(1, 0.4) 102 | engine.shift_time_dispersion(1, 0.2) 103 | 104 | engine.shift_amp(2, 1.0) 105 | engine.shift_ratio(2, 2.0) 106 | engine.shift_time(1, 0.25) 107 | engine.shift_window_size(2, 0.4) 108 | engine.shift_time_dispersion(2, 0.2) 109 | engine.shift_lpf_fc(2, 2000) 110 | engine.shift_hpf_fc(2, 200) 111 | softcut_reset() 112 | audio.level_monitor(0) 113 | end, 114 | }, 115 | callout = { 116 | perform = function() 117 | audio.rev_off() 118 | 119 | engine.shift_amp(1, 1.0) 120 | engine.shift_time(1, 0.71) 121 | engine.shift_ratio(1, 1.0) 122 | engine.shift_window_size(1, 0.71 * 0.5) 123 | engine.shift_time_dispersion(1, 0.71 * 0.25) 124 | engine.shift_amp(2, 0.0) 125 | 126 | softcut_reset() 127 | softcut.level(1, 1.0) 128 | softcut.loop_start(1, 1.0) 129 | softcut.loop_start(1, 2.42) 130 | softcut.position(1, 1.0) 131 | audio.level_monitor(0) 132 | end, 133 | }, 134 | other = { 135 | perform = function() 136 | engine.shift_amp(1, 0) 137 | engine.shift_amp(2, 0) 138 | audio.level_monitor(1) 139 | softcut_reset() 140 | end, 141 | } 142 | } 143 | 144 | local set_song = function(name) 145 | song = name 146 | songs[song].perform() 147 | redraw() 148 | end 149 | 150 | local next_song = function() 151 | if song == nil then set_song('saints') 152 | elseif song == 'saints' then set_song('wolf') 153 | elseif song == 'wolf' then set_song('callout') 154 | elseif song == 'callout' then set_song('other') 155 | elseif song == 'other' then set_song('saints') 156 | end 157 | end 158 | 159 | local prev_song = function() 160 | if song == nil then set_song('saints') 161 | elseif song == 'saints' then set_song('other') 162 | elseif song == 'wolf' then set_song('saints') 163 | elseif song == 'callout' then set_song('wolf') 164 | elseif song == 'other' then set_song('callout') 165 | end 166 | end 167 | 168 | --------------- 169 | --- things 170 | 171 | local midi_in_device 172 | 173 | local function midi_event(data) 174 | local msg = midi.to_msg(data) 175 | if msg.type == "note_on" then 176 | engine.piano_midi_on(msg.note, msg.vel) 177 | elseif msg.type == "note_off" then 178 | engine.piano_midi_off(msg.note, msg.vel) 179 | end 180 | end 181 | 182 | function enc(n,delta) 183 | if n == 1 then 184 | params:delta("gain", delta) 185 | elseif n == 2 then 186 | params:delta("fc1", delta) 187 | elseif n == 3 then 188 | params:delta("fc2", delta) 189 | end 190 | redraw() 191 | end 192 | 193 | function key(n,z) 194 | if z > 0 then 195 | if n == 2 then 196 | prev_song() 197 | end 198 | if n == 3 then 199 | next_song() 200 | end 201 | end 202 | end 203 | 204 | function init() 205 | softcut_init() 206 | midi_in_device = midi.connect(1) 207 | midi_in_device.event = midi_event 208 | set_song('saints') 209 | end 210 | 211 | function redraw() 212 | screen.clear() 213 | 214 | screen.level(15) 215 | screen.aa(0) 216 | screen.font_face(40) 217 | screen.font_size(12) 218 | screen.move(10, 10) 219 | screen.text(song) 220 | 221 | screen.level(10) 222 | screen.font_size(10) 223 | screen.move(20,30) 224 | screen.text("f1: ".. params:string("fc1")) 225 | screen.move(20,40) 226 | screen.text("f2: ".. params:string("fc2")) 227 | screen.move(20,50) 228 | screen.text("g: ".. params:string("gain")) 229 | 230 | screen.update() 231 | end 232 | -------------------------------------------------------------------------------- /lib/ji.lua: -------------------------------------------------------------------------------- 1 | -- some just intonation tables 2 | 3 | local JI = {} 4 | 5 | ----------------------------------------- 6 | --- 12-tone scales 7 | 8 | -- small variation of ptolemaic 5-limit with closer minor 7th. 9 | -- taking cue from jeff snyder and calling this "normal" since it is most commonly used. 10 | -- also known as "Duodene" by Alexander Ellis (19th c.) 11 | function JI.normal() 12 | return { 13 | {1, 1}, {16, 15}, {9, 8}, {6, 5}, {5, 4}, {4, 3}, {45, 32}, {3, 2}, {8, 5}, {5, 3}, {15, 9}, {15, 8} 14 | } 15 | end 16 | 17 | 18 | -- ptolemaic 12-tone (5-limit) - very similar except for kinda weird m7 19 | function JI.ptolemy() 20 | return { 21 | {1, 1}, {16, 15}, {9, 8}, {6, 5}, {5, 4}, {4, 3}, {45, 32}, {3, 2}, {8, 5}, {5, 3}, {9, 5}, {15, 8} 22 | } 23 | end 24 | 25 | -- ben johnston's overtone scale 26 | -- identical to jeff snyder's "otonal" scale 27 | function JI.overtone() 28 | return { 29 | {1, 1}, {17, 16}, {9, 8}, {19, 16}, {5, 4}, {21, 16}, {11, 8}, {3, 2}, {13, 8}, {27, 16}, {7, 4}, {15, 8} 30 | } 31 | end 32 | 33 | -- subharmonic mirror of the overtone scale 34 | -- jeff calls this "utonal" after partch 35 | function JI.undertone() 36 | return { 37 | {1, 1}, {16, 15}, {8, 7}, {32, 27}, {16, 13}, {4, 3}, {16, 11}, {32, 21}, {8, 5}, {32, 19}, {16, 9}, {32, 17}, 38 | } 39 | end 40 | 41 | -- lamonte young's 'well-tuned piano' (very eccentric) 42 | function JI.lamonte() 43 | return { 44 | {1, 1}, {567, 512}, {9, 8}, {147, 128}, {21, 16}, {1323, 1024}, {189, 128}, {3, 2}, {49, 32}, {7, 4}, {441, 256}, {63, 32} 45 | } 46 | end 47 | 48 | ---------------------------------------------- 49 | -- higher-tone scales , gamuts 50 | 51 | -- gioseffo zarlino's 16-tone (5-limit) 52 | function JI.zarlino() 53 | return { 54 | {1, 1}, {25, 24}, {10, 9}, {9, 8}, {32, 27}, {6, 5}, {5, 4}, {4, 3}, {25, 18}, {45, 32}, {3, 2}, {25, 16}, {5, 3}, {16, 9}, {9, 5}, {15, 8} 55 | } 56 | end 57 | 58 | 59 | -- harry partch 43-tone ({11-limit}, plus some) 60 | function JI.partch() 61 | return { 62 | {1, 1}, 63 | {81, 80}, 64 | {33, 32}, 65 | {21, 20}, 66 | {16, 15}, 67 | {12, 11}, 68 | {11, 10}, 69 | {10, 9}, 70 | {9, 8}, 71 | {8, 7}, 72 | {7, 6}, 73 | {32, 27}, 74 | {6, 5}, 75 | {11, 9}, 76 | {5, 4}, 77 | {14, 11}, 78 | {9, 7}, 79 | {21, 16}, 80 | {4, 3}, 81 | {27, 20}, 82 | {11, 8}, 83 | {7, 5}, 84 | {10, 7}, 85 | {16, 11}, 86 | {40, 27}, 87 | {3, 2}, 88 | {32, 21}, 89 | {14, 9}, 90 | {11, 7}, 91 | {8, 5}, 92 | {18, 11}, 93 | {5, 3}, 94 | {27, 16}, 95 | {12, 7}, 96 | {7, 4}, 97 | {16, 9}, 98 | {9, 5}, 99 | {20, 11}, 100 | {11, 6}, 101 | {15, 8}, 102 | {40, 21}, 103 | {64, 33}, 104 | {160, 81} 105 | } 106 | end 107 | 108 | -- finally, jeff snyder's full 168-tone gamut 109 | -- see his disseration for reference: 110 | -- http://scatter.server295.com/full-dissertation.pdf 111 | 112 | function JI.gamut() 113 | return { 114 | {1, 1 }, 115 | {256, 255}, 116 | {96, 95}, 117 | {81, 80}, 118 | {65, 64}, 119 | {64, 63}, 120 | {45, 44}, 121 | {40, 39}, 122 | {33, 32}, 123 | {25, 24}, 124 | {21, 20}, 125 | {20, 19}, 126 | {256, 243}, 127 | {135, 128}, 128 | {19, 18}, 129 | {18, 17}, 130 | {17, 16}, 131 | {16, 15}, 132 | {15, 14}, 133 | {13, 12}, 134 | {12, 11}, 135 | {35, 32}, 136 | {128, 117}, 137 | {11, 10}, 138 | {10, 9}, 139 | {285, 256}, 140 | {64, 57}, 141 | {9, 8}, 142 | {96, 85}, 143 | {17, 15}, 144 | {256, 225}, 145 | {585, 512}, 146 | {8, 7}, 147 | {55, 48}, 148 | {15, 13}, 149 | {64, 55}, 150 | {7, 6}, 151 | {75, 64}, 152 | {20, 17}, 153 | {45, 38}, 154 | {32, 27}, 155 | {1215, 1024}, 156 | {19, 16}, 157 | {153, 128}, 158 | {6, 5}, 159 | {40, 33}, 160 | {39, 32}, 161 | {128, 105}, 162 | {11, 9}, 163 | {315, 256}, 164 | {16, 13}, 165 | {5, 4}, 166 | {64, 51}, 167 | {24, 19}, 168 | {512, 405}, 169 | {81, 64}, 170 | {19, 15}, 171 | {80, 63}, 172 | {51, 40}, 173 | {32, 25}, 174 | {9, 7}, 175 | {165, 128}, 176 | {128, 99}, 177 | {13, 10}, 178 | {21, 16}, 179 | {256, 195}, 180 | {675, 512}, 181 | {45, 34}, 182 | {85, 64}, 183 | {4, 3}, 184 | {171, 128}, 185 | {128, 95}, 186 | {27, 20}, 187 | {65, 48}, 188 | {256, 189}, 189 | {15, 11}, 190 | {48, 35}, 191 | {11, 8}, 192 | {18, 13}, 193 | {25, 18}, 194 | {7, 5}, 195 | {80, 57}, 196 | {45, 32}, 197 | {24, 17}, 198 | {17, 12}, 199 | {64, 45}, 200 | {57, 40}, 201 | {10, 7}, 202 | {36, 25}, 203 | {13, 9}, 204 | {16, 11}, 205 | {35, 24}, 206 | {22, 15}, 207 | {189, 128}, 208 | {96, 65}, 209 | {40, 27}, 210 | {95, 64}, 211 | {765, 512}, 212 | {256, 171}, 213 | {3, 2}, 214 | {128, 85}, 215 | {195, 128}, 216 | {32, 21}, 217 | {20, 13}, 218 | {99, 64}, 219 | {256, 165}, 220 | {14, 9}, 221 | {25, 16}, 222 | {80, 51}, 223 | {63, 40}, 224 | {30, 19}, 225 | {128, 81}, 226 | {405, 256}, 227 | {19, 12}, 228 | {51, 32}, 229 | {8, 5}, 230 | {45, 28}, 231 | {13, 8}, 232 | {512, 315}, 233 | {18, 11}, 234 | {105, 64}, 235 | {64, 39}, 236 | {33, 20}, 237 | {5, 3}, 238 | {855, 512}, 239 | {256, 153}, 240 | {32, 19}, 241 | {27, 16}, 242 | {17, 10}, 243 | {128, 75}, 244 | {12, 7}, 245 | {55, 32}, 246 | {45, 26}, 247 | {26, 15}, 248 | {96, 55}, 249 | {7, 4}, 250 | {225, 128}, 251 | {30, 17}, 252 | {85, 48}, 253 | {16, 9}, 254 | {57, 32}, 255 | {512, 285}, 256 | {9, 5}, 257 | {20, 11}, 258 | {117, 64}, 259 | {64, 35}, 260 | {11, 6}, 261 | {945, 512}, 262 | {24, 13}, 263 | {28, 15}, 264 | {15, 8}, 265 | {32, 17}, 266 | {17, 9}, 267 | {36, 19}, 268 | {256, 135}, 269 | {243, 128}, 270 | {19, 10}, 271 | {40, 21}, 272 | {48, 25}, 273 | {495, 256}, 274 | {64, 33}, 275 | {39, 20}, 276 | {63, 32}, 277 | {128, 65}, 278 | {160, 81}, 279 | {2025, 1024}, 280 | {95, 48}, 281 | {255, 128} 282 | } 283 | end 284 | 285 | return JI -------------------------------------------------------------------------------- /lib/c.scd: -------------------------------------------------------------------------------- 1 | ~tweets = [ 2 | //--tweet0010 3 | { 4 | arg target; 5 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 6 | play({a=SinOsc;LeakDC.ar(a.ar(a.ar(0.31),a.ar(a.ar(0.21),a.ar(a.ar(0.11,a.ar(0.01)),0,a.ar([2,3],0,400))),a.ar([0.3,0.21])))}, target:target)//#SuperCollider 7 | }, 8 | 9 | //--tweet0011 10 | { 11 | arg target; 12 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 13 | play({f={|o,i|if(i>0,{SinOsc.ar([i,i+1e-4]**2*f.(o,i-1),f.(o,i-1)*1e-4,f.(o,i-1))},o)};f.(60,6)/60}, target:target)//#SuperCollider 14 | }, 15 | 16 | //--tweet0014 17 | { 18 | arg target; 19 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 20 | play({a=SinOscFB;sum({|i|a.ar(a.ar(a.ar(a.ar(i+1,1/9,999),1/9,a.ar(1/9,1,1/9)),a.ar(0.1,3),i+2*999),a.ar(1/9,1/9),1/9)}!9)!2}, target:target)//#SuperCollider 21 | }, 22 | 23 | //--tweet0016 24 | { 25 | arg target; 26 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 27 | play({b=LocalBuf(9e4,2).clear;i=Sweep.ar(BufRd.ar(2,b,Saw.ar(12,3e4,4e4)),9e4);BufWr.ar(Saw.ar([8,9]),b,i);BufRd.ar(2,b,i)/2}, target:target)//#SuperCollider 28 | }, 29 | 30 | //--tweet0017 31 | { 32 | arg target; 33 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 34 | play({b=LocalBuf(8e4,2).clear;i=Sweep.ar(BufRd.ar(2,b,Saw.ar(3.1,4e4,4e4)),8e4);BufWr.ar(Blip.ar([2,3]),b,i);BufRd.ar(2,b,i)}, target:target)//#SuperCollider 35 | }, 36 | 37 | //--tweet0018 38 | { 39 | arg target; 40 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 41 | play({b=LocalBuf(5e3,2).clear;i=Sweep.ar(BufRd.ar(2,b,Saw.ar(50,2e3,5e3)),6e4);BufWr.ar(Saw.ar([4,3]),b,i);BufRd.ar(2,b,i)/6}, target:target)//#SuperCollider 42 | }, 43 | 44 | //--tweet0019 45 | { 46 | arg target; 47 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 48 | play({b=LocalBuf(1e4,2).clear;i=Sweep.ar(BufRd.ar(2,b,Saw.ar(1,2e3,5e3)),5e5);BufWr.ar(Saw.ar([8,50]),b,i);BufRd.ar(2,b,i)/3}, target:target)//#SuperCollider 49 | }, 50 | 51 | //--tweet0020 52 | { 53 | arg target; 54 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 55 | play({a=LFPulse;b=(1..4);Mix(a.ar(a.ar(a.ar(a.ar(b/32)+1/8)+1*b)+(Mix(a.ar(b/64))+a.ar(4/b)*(a.ar(a.ar(b/8))*2+b))*100))/8!2}, target:target)//#SuperCollider 56 | }, 57 | 58 | //--tweet0022 59 | { 60 | arg target; 61 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 62 | play({a=1/(2..5);GVerb.ar(Splay.ar(Ball.ar(LPF.ar(Impulse.ar(a),500),7-(1/a),1e-5,LFNoise2.kr(a/5,2e-4,12e-4))/2),5,0.5,0.9)}, target:target)//#SuperCollider 63 | }, 64 | 65 | //--tweet0023 66 | { 67 | arg target; 68 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 69 | play({Splay.ar({|i|f=i+5*99;RHPF.ar(Ringz.ar(Ball.ar(Saw.ar(i+1)>0,SinOsc.kr(0.1,0,1/5,0.3),0.05,0.02)/99,f,0.05),f,0.1)}!5)}, target:target)//#SuperCollider 70 | }, 71 | 72 | //--tweet0024 73 | { 74 | arg target; 75 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 76 | {|j|r{{|i|x=sin(i/5+(j*5));Ndef(i%5+(j*5),{Pan2.ar(LFCub.ar(j*2+x*40+400+i)/15,i%5/2-1)}).play;wait(x.abs+0.5)}!500}.play(target:target)}!5//#SuperCollider 77 | }, 78 | 79 | //--tweet0028 80 | { 81 | arg target; 82 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 83 | play({MoogFF.ar(LFTri.ar(CombN.ar(Duty.ar(1/8,0,Dseq(Dshuf(List.fib(16)%8*99,8),inf)),4,4,16))/4,LFTri.kr(1/16,0,2e3,3e3))!2}, target:target)//#SuperCollider 84 | }, 85 | 86 | //--tweet0030 87 | { 88 | arg target; 89 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 90 | play({a=LFPar;GVerb.ar(VarSaw.ar(a.ar(1,0,5,a.ar([0.05,0.04],0,50,160).round(50)),0,a.ar(0.2,0,0.5,a.ar(3,0,0.2,0.5)))/8,80)}, target:target)//#SuperCollider 91 | }, 92 | 93 | //--tweet0032 94 | { 95 | arg target; 96 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 97 | {Splay.ar({|i|l=LFTri.ar(1/6,i/1.5,2.5,3.5).round;SinOsc.ar(142.857*l,lag(l,i-3/6),1-poll(0.142857*l,10/6,"\t\t"))}!6)}.play(target:target)//#SuperCollider 98 | }, 99 | 100 | //--tweet0033 101 | { 102 | arg target; 103 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 104 | play({f=LFPar.ar(1/14).round*20+80;Splay.ar(LFPar.ar({|i|[i+1*f,i*f+(i+1/3)]}!4)>BrownNoise.ar(Pulse.ar({|i|i+1}!4,0.35))/3)}, target:target)//#SuperCollider 105 | }, 106 | 107 | //--tweet0034 108 | { 109 | arg target; 110 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 111 | play({x=CombN.ar(Phasor.ar(0,{|i|i+1/20}!22),0.042,0.042);y=Phasor.ar(LPF.ar(x,LFPar.ar(1/99,0,400,500)),x);Splay.ar(y)*0.25}, target:target)//#SuperCollider 112 | }, 113 | 114 | //--tweet0035 115 | { 116 | arg target; 117 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 118 | play({x=CombC.ar(Phasor.ar(0,{|i|i+1/4}!5),0.2,LFPar.ar(0.09,0,0.05,0.1).round(0.022));Splay.ar(Phasor.ar(BPF.ar(x,50),x)/4)}, target:target)//#SuperCollider 119 | }, 120 | 121 | //--tweet0036 122 | { 123 | arg target; 124 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 125 | play({Splay.ar({|i|SinOsc.ar(i+SinOsc.ar(0.01,a=pi/[2,4,8]@@i,0.1,1)*80+SinOsc.ar(i+1*1e-4+i),a,SinOsc.ar(i+1*1e-3,a)/4)}!9)}, target:target)//#SuperCollider 126 | }, 127 | 128 | //--tweet0037 129 | { 130 | arg target; 131 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 132 | play({a=LFCub;n=8;Splay.ar(a.ar({|i|pow(i+1,a.kr(1/n,i/n,1/n,1))}!n*150,0,a.kr({|i|pow(i+1,a.kr(i+0.5/n,i/n))}!n).max(0))/4)}, target:target)//#SuperCollider 133 | }, 134 | 135 | //--tweet0038 136 | { 137 | arg target; 138 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 139 | play({PingPong.ar(LocalBuf(3e4,2).clear,Ringz.ar(CuspN.ar*Impulse.kr([9,8]/12)/9,LFPar.kr(1/[3,2]).range(51,[99,17])*9),0.5)}, target:target)//#SuperCollider 140 | }, 141 | 142 | //--tweet0039 143 | { 144 | arg target; 145 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 146 | play({a=SinOsc;Splay.ar({|i|i=i+1;a.ar(a.ar(i)+1**a.ar(2**a.ar(i/500)*(9-i))*a.ar(9*i).exprange(90,2**a.ar(i/20)*800))}!5)/4}, target:target)//#SuperCollider 147 | }, 148 | 149 | //--tweet0041 150 | { 151 | arg target; 152 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 153 | play({o=SinOsc.ar(1/RunningMax.ar(Sweep.ar(LocalIn.ar(6)),Impulse.ar([1,0.749,6,12,3,4])));LocalOut.ar(o);Splay.ar(o).tanh/2}, target:target)//#SuperCollider 154 | }, 155 | 156 | //--tweet0042 157 | { 158 | arg target; 159 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 160 | play({c=[97,99];l=3**9;a=LocalBuf(l,2).clear;BufWr.ar(Saw.ar(c/5),a,BPF.ar(VarSaw.ar(c),98,0.1)*l);PlayBuf.ar(2,a,1/4,1,0,1)}, target:target)//#SuperCollider 161 | }, 162 | 163 | //--tweet0044 164 | { 165 | arg target; 166 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 167 | play({a=SinOsc;Limiter.ar(LeakDC.ar(a.ar(0.11,BRF.ar(a.ar(a.ar(0.12).exprange(1,1e4),2pi),1/a.ar(0.13).range(1,[99,100])))))}, target:target)//#SuperCollider 168 | }, 169 | 170 | //--tweet0045 171 | { 172 | arg target; 173 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 174 | play({a=SinOsc;a.ar(a.ar(a.ar(0.11)),a.ar(a.ar(95*a.ar(0.01,0,1,1),0,a.ar(5e-3,0,50),100),a.ar([98,97]),pi+a.ar(5e-4))).tanh}, target:target)//#SuperCollider 175 | }, 176 | 177 | //--tweet0046 178 | { 179 | arg target; 180 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 181 | play({a=LFTri;GVerb.ar(Mix(Limiter.ar(BRF.ar(a.ar(50,1e-4),a.ar(a.ar([1.01,1.0111])*a.ar(8e3)*1e3+4e3,55),a.ar(0.01)*3))))/9}, target:target)//#SuperCollider 182 | }, 183 | 184 | ]; 185 | 186 | ~set = { arg i; 187 | ~group.free; 188 | ~group = Group.new; 189 | ~tweets[i].value(~group); 190 | }; 191 | 192 | 193 | ~set.value(~tweets.size.rand); 194 | 195 | 196 | ~cleanup = { ~group.free; } -------------------------------------------------------------------------------- /crowns.lua: -------------------------------------------------------------------------------- 1 | -- scriptname: crowns 2 | -- v0.0.0 @catfact / @zebra 3 | 4 | 5 | engine.name = 'Zsins' 6 | 7 | nob = dofile(_path.code .. 'zebra/lib/rnob.lua') 8 | 9 | local hz_in = -1 10 | 11 | local OscState = {} 12 | OscState.__index = OscState 13 | OscState.new = function() 14 | local s = {} 15 | s.f = 220 -- ui linear freq 16 | s.ri = 390 -- fixme: magic! 17 | s.a = 0 -- ui linear amp 18 | s.am = 1 -- DC amp modulator 19 | s.pan = 0 -- ui pan 20 | s.metaTable = OscState 21 | return s 22 | end 23 | 24 | local UiState = {} 25 | UiState.__index = UiState 26 | UiState.new = function() 27 | local s = {} 28 | s.fn = nil -- ui function array 29 | s.v = 1 -- voice select 30 | s.e1 = 'amp' -- encoder 1 function 31 | s.e2 = 'ratio' -- encoder 2 function 32 | s.mod = false -- mod switch flag 33 | s.setHz = false -- setting-frequency flag 34 | s.togAmp = false -- toggling-amplitude flag 35 | s.metaTable = UiState 36 | return s 37 | end 38 | 39 | 40 | local o = {} -- array of oscillator state 41 | local u = UiState.new() -- ui state 42 | 43 | local numSines = 32 44 | 45 | function cleanup() 46 | -- nothing to do? 47 | end 48 | 49 | ---------------- 50 | --- helper functions 51 | 52 | local function update_hz() 53 | engine.hz(u.v, o[u.v].f * nob[o[u.v].ri][3]) 54 | end 55 | 56 | local function inc_amp(inc) 57 | o[u.v].a = o[u.v].a + inc 58 | if o[u.v].a < 0 then o[u.v].a = 0 end 59 | if o[u.v].a > 0.5 then o[u.v].a = 0.5 end 60 | engine.amp(u.v, o[u.v].a) 61 | end 62 | 63 | local function inc_ratio(inc) 64 | o[u.v].ri = o[u.v].ri + inc 65 | if o[u.v].ri < 1 then o[u.v].ri = 1 66 | elseif o[u.v].ri > #nob then o[u.v].ri = #nob 67 | end 68 | update_hz() 69 | end 70 | 71 | local function inc_pan(inc) 72 | o[u.v].pan = o[u.v].pan + inc 73 | if o[u.v].pan < -1 then o[u.v].pan = -1 end 74 | if o[u.v].pan > 1 then o[u.v].pan = 1 end 75 | engine.pan(u.v, o[u.v].pan) 76 | redraw() 77 | end 78 | 79 | local function inc_voice(inc) 80 | u.v = u.v + inc 81 | if u.v < 1 then u.v = 1 end 82 | if u.v > numSines then u.v = numSines end 83 | end 84 | 85 | 86 | local function tog_amp() 87 | if o[u.v].am > 0 then o[u.v].am = 0 88 | else o[u.v].am = 1 end 89 | engine.am_add(u.v, o[u.v].am) 90 | redraw() 91 | end 92 | 93 | 94 | local function round_hz (hz) 95 | return math.floor(hz * 100) * 0.01 96 | end 97 | 98 | local function grab_hz() 99 | print(hz_in) 100 | if hz_in ~= -1 then 101 | o[u.v].f = round_hz(hz_in) 102 | update_hz() 103 | redraw() 104 | end 105 | end 106 | 107 | --------------------- 108 | --- global UI glue 109 | 110 | function enc(n,z) 111 | if n > 1 then 112 | --- call current handler function for keys 2,3 113 | u.fn.enc[n-1](z) 114 | else 115 | --- key 1 selects voice or scrubs hz grab 116 | if z > 0 then inc_voice(1) else inc_voice(-1) end 117 | if u.setHz then grab_hz() end 118 | if u.togAmp then tog_amp() end 119 | end 120 | redraw() 121 | end 122 | 123 | function key(n,z) 124 | -- print("key",n,z) 125 | if n>1 then u.fn.key[n-1](z) 126 | else u.mod = z > 0 end 127 | redraw() 128 | end 129 | 130 | function redraw() u.fn.draw() end 131 | 132 | -------------------- 133 | --- local UI 134 | 135 | local uifn = { 136 | none = { 137 | enc={function(z) end, function(z) end}, 138 | key={function(z) end, function(z) end}, 139 | draw=function() end 140 | }, 141 | one = { 142 | enc= { 143 | function(z) 144 | if u.e1 == 'freq' then 145 | o[u.v].f = o[u.v].f + z 146 | update_hz() 147 | else 148 | inc_amp(z * 0.01) 149 | end 150 | end, 151 | function(z) 152 | if u.e2 == 'ratio' then 153 | inc_ratio(z) 154 | else 155 | inc_pan(z * 0.05) 156 | end 157 | end 158 | }, 159 | key={ 160 | 161 | --- key 1: select enc1 function 162 | function(z) 163 | if u.mod then 164 | if z > 0 then -- press 165 | u.setHz = true 166 | grab_hz() 167 | else -- lift 168 | u.setHz = false 169 | u.e1 = 'amp' 170 | end 171 | else -- no mod 172 | print("key 1, no mod: "..z) 173 | if z > 0 then -- press 174 | u.e1 = 'freq' 175 | else -- lift 176 | u.e1 = 'amp' 177 | end 178 | end 179 | end, -- end mod check 180 | 181 | -- key 2: select enc2 function 182 | function(z) 183 | if u.mod then 184 | if z > 0 then -- press 185 | u.togAmp = true 186 | tog_amp() 187 | else -- lift 188 | u.togAmp = false 189 | u.e2 = 'ratio' 190 | end 191 | else -- no mod 192 | if z > 0 then -- press 193 | u.e2 = 'pan' 194 | else -- lift 195 | u.e2 = 'ratio' 196 | end 197 | end -- end mod check 198 | end 199 | }, 200 | 201 | draw=function() 202 | screen.clear() 203 | screen.level(15) 204 | -------------- 205 | -- draw numbers 206 | 207 | screen.aa(0) 208 | screen.aa(0) 209 | screen.aa(0) 210 | 211 | screen.font_face(40) 212 | screen.font_size(12) 213 | screen.move(1, 8) 214 | screen.text("A= "..o[u.v].a) 215 | screen.move(54, 8) 216 | screen.text("R= "..nob[o[u.v].ri][1].."/"..nob[o[u.v].ri][2]) 217 | screen.move(1, 20) 218 | screen.text("F= "..o[u.v].f) 219 | screen.move(64, 20) 220 | screen.text("P= "..o[u.v].pan) 221 | 222 | ----------- 223 | -- draw dots 224 | local ampStr = "" 225 | local selStr = "" 226 | 227 | for i=1,numSines do 228 | if o[i].a > 0.25 then 229 | if o[i].am > 0 then 230 | ampStr = ampStr.."#" 231 | else 232 | ampStr = ampStr.."-" 233 | end 234 | elseif o[i].a > 0 then 235 | if o[i].am > 0 then 236 | ampStr = ampStr.."|" 237 | else 238 | ampStr = ampStr.."-" 239 | end 240 | else 241 | ampStr = ampStr.."." 242 | end 243 | if i == u.v then 244 | selStr = selStr.."^" 245 | else 246 | selStr = selStr.." " 247 | end 248 | end 249 | 250 | -- tiny monospace font 251 | screen.font_face(25) 252 | screen.font_size(6) 253 | 254 | screen.move(96, 32) 255 | screen.text("V= "..u.v) 256 | 257 | screen.move(1, 48) 258 | screen.text(ampStr) 259 | screen.move(1, 58) 260 | screen.text(selStr) 261 | screen.update() 262 | end 263 | 264 | } 265 | } 266 | 267 | 268 | ------- 269 | -- grid stuff 270 | 271 | local g = grid.connect() 272 | local gc = dofile(_path.code .. 'zebra/lib/grid_cut.lua') 273 | 274 | function g.key(x, y, z) 275 | gc.handle_grid_key(x, y, z) 276 | end 277 | 278 | function gridredraw() 279 | gc.draw_grid(g) 280 | end 281 | ------------ 282 | ---- INIT 283 | function init() 284 | u.fn = uifn.one 285 | for i=1,numSines do 286 | o[i] = OscState.new() 287 | engine.am_mul(i, 0) 288 | engine.am_add(i, 1) 289 | engine.amp_atk(i, 5.0) 290 | engine.amp_atk(i, 5.0) 291 | engine.hz_lag(i, 1.0) 292 | end 293 | 294 | local p_pitch = poll.set('pitch_in_l', function(hz) hz_in = hz end) 295 | p_pitch:start() 296 | 297 | gc.init() 298 | end 299 | 300 | -------------------------------------------------------------------------------- /lib/Engine_RedFrikTweets.sc: -------------------------------------------------------------------------------- 1 | Engine_RedFrikTweets : CroneEngine { 2 | 3 | classvar = numTweets, { tidx = numTweets - 1; }); 33 | if(tidx < 0, { tidx = 0; }); 34 | RedFrikTweets.tweets[tidx].value(tweet_g[gidx]); 35 | // tweet_g[gidx].map(\mod1, mod[0]); 36 | // tweet_g[gidx].map(\mod2, mod[1]); 37 | }); 38 | 39 | this.addCommand(\mod2, "if", { arg msg; 40 | var idx = msg[1]; 41 | if (idx < 2 && idx >= 0, { 42 | mod[idx].set(msg[1]); 43 | }); 44 | }); 45 | 46 | this.addCommand(\volume, "f", { arg msg; 47 | }); 48 | 49 | } 50 | 51 | free { 52 | tweet_g.do { arg g; 53 | if (g.notNil, {g.free;}); 54 | } 55 | } 56 | 57 | 58 | } 59 | 60 | RedFrikTweets { 61 | 62 | *tweets {\ 63 | ^[ 64 | //--tweet0000 65 | { 66 | arg target; 67 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 68 | {GlitchRHPF.ar(GbmanN.ar([2300 + In.kr(this.mod[0]),1150 + In.kr(this.mod[1])]),LFSaw.ar(Pulse.ar(4,[1,2]/8,1,LFPulse.ar(1/8)/5+1))+2)}.play(target:target)//#SuperCollider 69 | }, 70 | 71 | //--tweet0008 72 | { 73 | arg target; 74 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 75 | play({x=LFNoise1.ar(0.5!2);Formlet.ar(Crackle.ar(x.range(1.8, In.kr(this.mod[0]) / 50.0)),TExpRand.ar(In.kr(this.mod[1]) * 4.0,2e3,x).lag(2),x.range(5e-4,1e-3),0.0012)}, target:target)//#SuperCollider 76 | }, 77 | 78 | //--tweet0010 79 | { 80 | arg target; 81 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 82 | play({a=SinOsc;LeakDC.ar(a.ar(a.ar(0.31),a.ar(a.ar(0.21),a.ar(a.ar(0.11,a.ar(0.01)),0,a.ar([2,3],0,400))),a.ar([0.3,0.21])))}, target:target)//#SuperCollider 83 | }, 84 | 85 | //--tweet0011 86 | { 87 | arg target; 88 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 89 | play({f={|o,i|if(i>0,{SinOsc.ar([i,i+1e-4]**2*f.(o,i-1),f.(o,i-1)*1e-4,f.(o,i-1))},o)};f.(60,6)/60}, target:target)//#SuperCollider 90 | }, 91 | 92 | //--tweet0014 93 | { 94 | arg target; 95 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 96 | play({a=SinOscFB;sum({|i|a.ar(a.ar(a.ar(a.ar(i+1,1/9,999),1/9,a.ar(1/9,1,1/9)),a.ar(0.1,3),i+2*999),a.ar(1/9,1/9),1/9)}!9)!2}, target:target)//#SuperCollider 97 | }, 98 | 99 | //--tweet0016 100 | { 101 | arg target; 102 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 103 | play({b=LocalBuf(9e4,2).clear;i=Sweep.ar(BufRd.ar(2,b,Saw.ar(12,3e4,4e4)),9e4);BufWr.ar(Saw.ar([8,9]),b,i);BufRd.ar(2,b,i)/2}, target:target)//#SuperCollider 104 | }, 105 | 106 | //--tweet0017 107 | { 108 | arg target; 109 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 110 | play({b=LocalBuf(8e4,2).clear;i=Sweep.ar(BufRd.ar(2,b,Saw.ar(3.1,4e4,4e4)),8e4);BufWr.ar(Blip.ar([2,3]),b,i);BufRd.ar(2,b,i)}, target:target)//#SuperCollider 111 | }, 112 | 113 | //--tweet0018 114 | { 115 | arg target; 116 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 117 | play({b=LocalBuf(5e3,2).clear;i=Sweep.ar(BufRd.ar(2,b,Saw.ar(50,2e3,5e3)),6e4);BufWr.ar(Saw.ar([4,3]),b,i);BufRd.ar(2,b,i)/6}, target:target)//#SuperCollider 118 | }, 119 | 120 | //--tweet0019 121 | { 122 | arg target; 123 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 124 | play({b=LocalBuf(1e4,2).clear;i=Sweep.ar(BufRd.ar(2,b,Saw.ar(1,2e3,5e3)),5e5);BufWr.ar(Saw.ar([8,50]),b,i);BufRd.ar(2,b,i)/3}, target:target)//#SuperCollider 125 | }, 126 | 127 | //--tweet0020 128 | { 129 | arg target; 130 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 131 | play({a=LFPulse;b=(1..4);Mix(a.ar(a.ar(a.ar(a.ar(b/32)+1/8)+1*b)+(Mix(a.ar(b/64))+a.ar(4/b)*(a.ar(a.ar(b/8))*2+b))*100))/8!2}, target:target)//#SuperCollider 132 | }, 133 | 134 | //--tweet0022 135 | { 136 | arg target; 137 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 138 | play({a=1/(2..5);GVerb.ar(Splay.ar(Ball.ar(LPF.ar(Impulse.ar(a),500),7-(1/a),1e-5,LFNoise2.kr(a/5,2e-4,12e-4))/2),5,0.5,0.9)}, target:target)//#SuperCollider 139 | }, 140 | 141 | //--tweet0023 142 | { 143 | arg target; 144 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 145 | play({Splay.ar({|i|f=i+5*99;RHPF.ar(Ringz.ar(Ball.ar(Saw.ar(i+1)>0,SinOsc.kr(0.1,0,1/5,0.3),0.05,0.02)/99,f,0.05),f,0.1)}!5)}, target:target)//#SuperCollider 146 | }, 147 | 148 | //--tweet0024 149 | { 150 | arg target; 151 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 152 | {|j|r{{|i|x=sin(i/5+(j*5));Ndef(i%5+(j*5),{Pan2.ar(LFCub.ar(j*2+x*40+400+i)/15,i%5/2-1)}).play;wait(x.abs+0.5)}!500}.play(target:target)}!5//#SuperCollider 153 | }, 154 | 155 | //--tweet0028 156 | { 157 | arg target; 158 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 159 | play({MoogFF.ar(LFTri.ar(CombN.ar(Duty.ar(1/8,0,Dseq(Dshuf(List.fib(16)%8*99,8),inf)),4,4,16))/4,LFTri.kr(1/16,0,2e3,3e3))!2}, target:target)//#SuperCollider 160 | }, 161 | 162 | //--tweet0030 163 | { 164 | arg target; 165 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 166 | play({a=LFPar;GVerb.ar(VarSaw.ar(a.ar(1,0,5,a.ar([0.05,0.04],0,50,160).round(50)),0,a.ar(0.2,0,0.5,a.ar(3,0,0.2,0.5)))/8,80)}, target:target)//#SuperCollider 167 | }, 168 | 169 | //--tweet0032 170 | { 171 | arg target; 172 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 173 | {Splay.ar({|i|l=LFTri.ar(1/6,i/1.5,2.5,3.5).round;SinOsc.ar(142.857*l,lag(l,i-3/6),1-poll(0.142857*l,10/6,"\t\t"))}!6)}.play(target:target)//#SuperCollider 174 | }, 175 | 176 | //--tweet0033 177 | { 178 | arg target; 179 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 180 | play({f=LFPar.ar(1/14).round*20+80;Splay.ar(LFPar.ar({|i|[i+1*f,i*f+(i+1/3)]}!4)>BrownNoise.ar(Pulse.ar({|i|i+1}!4,0.35))/3)}, target:target)//#SuperCollider 181 | }, 182 | 183 | //--tweet0034 184 | { 185 | arg target; 186 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 187 | play({x=CombN.ar(Phasor.ar(0,{|i|i+1/20}!22),0.042,0.042);y=Phasor.ar(LPF.ar(x,LFPar.ar(1/99,0,400,500)),x);Splay.ar(y)*0.25}, target:target)//#SuperCollider 188 | }, 189 | 190 | //--tweet0035 191 | { 192 | arg target; 193 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 194 | play({x=CombC.ar(Phasor.ar(0,{|i|i+1/4}!5),0.2,LFPar.ar(0.09,0,0.05,0.1).round(0.022));Splay.ar(Phasor.ar(BPF.ar(x,50),x)/4)}, target:target)//#SuperCollider 195 | }, 196 | 197 | //--tweet0036 198 | { 199 | arg target; 200 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 201 | play({Splay.ar({|i|SinOsc.ar(i+SinOsc.ar(0.01,a=pi/[2,4,8]@@i,0.1,1)*80+SinOsc.ar(i+1*1e-4+i),a,SinOsc.ar(i+1*1e-3,a)/4)}!9)}, target:target)//#SuperCollider 202 | }, 203 | 204 | //--tweet0037 205 | { 206 | arg target; 207 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 208 | play({a=LFCub;n=8;Splay.ar(a.ar({|i|pow(i+1,a.kr(1/n,i/n,1/n,1))}!n*150,0,a.kr({|i|pow(i+1,a.kr(i+0.5/n,i/n))}!n).max(0))/4)}, target:target)//#SuperCollider 209 | }, 210 | 211 | //--tweet0038 212 | { 213 | arg target; 214 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 215 | play({PingPong.ar(LocalBuf(3e4,2).clear,Ringz.ar(CuspN.ar*Impulse.kr([9,8]/12)/9,LFPar.kr(1/[3,2]).range(51,[99,17])*9),0.5)}, target:target)//#SuperCollider 216 | }, 217 | 218 | //--tweet0039 219 | { 220 | arg target; 221 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 222 | play({a=SinOsc;Splay.ar({|i|i=i+1;a.ar(a.ar(i)+1**a.ar(2**a.ar(i/500)*(9-i))*a.ar(9*i).exprange(90,2**a.ar(i/20)*800))}!5)/4}, target:target)//#SuperCollider 223 | }, 224 | 225 | //--tweet0041 226 | { 227 | arg target; 228 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 229 | play({o=SinOsc.ar(1/RunningMax.ar(Sweep.ar(LocalIn.ar(6)),Impulse.ar([1,0.749,6,12,3,4])));LocalOut.ar(o);Splay.ar(o).tanh/2}, target:target)//#SuperCollider 230 | }, 231 | 232 | //--tweet0042 233 | { 234 | arg target; 235 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 236 | play({c=[97,99];l=3**9;a=LocalBuf(l,2).clear;BufWr.ar(Saw.ar(c/5),a,BPF.ar(VarSaw.ar(c),98,0.1)*l);PlayBuf.ar(2,a,1/4,1,0,1)}, target:target)//#SuperCollider 237 | }, 238 | 239 | //--tweet0044 240 | { 241 | arg target; 242 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 243 | play({a=SinOsc;Limiter.ar(LeakDC.ar(a.ar(0.11,BRF.ar(a.ar(a.ar(0.12).exprange(1,1e4),2pi),1/a.ar(0.13).range(1,[99,100])))))}, target:target)//#SuperCollider 244 | }, 245 | 246 | //--tweet0045 247 | { 248 | arg target; 249 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 250 | play({a=SinOsc;a.ar(a.ar(a.ar(0.11)),a.ar(a.ar(95*a.ar(0.01,0,1,1),0,a.ar(5e-3,0,50),100),a.ar([98,97]),pi+a.ar(5e-4))).tanh}, target:target)//#SuperCollider 251 | }, 252 | 253 | //--tweet0046 254 | { 255 | arg target; 256 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 257 | play({a=LFTri;GVerb.ar(Mix(Limiter.ar(BRF.ar(a.ar(50,1e-4),a.ar(a.ar([1.01,1.0111])*a.ar(8e3)*1e3+4e3,55),a.ar(0.01)*3))))/9}, target:target)//#SuperCollider 258 | }, 259 | 260 | //--tweet0047 261 | { 262 | arg target; 263 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 264 | play({CombN.ar(Limiter.ar(BRF.ar(LFSaw.ar(10,0,0.01),LFTri.ar([5,6]*0.1))),0.1,LFTri.kr(0.1,0,0.05,0.05).round(0.01))}, target:target)//#SuperCollider#SC2012 265 | }, 266 | 267 | //--tweet0048 268 | { 269 | arg target; 270 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 271 | play({a=Impulse;b=SinOsc;c=b.ar(0,BRF.ar(a.ar([7,8]),a.ar(9).lag2(1e-3),1.5,2pi));Ringz.ar(c,b.ar(0.02,0,99,150),1/9)+c*0.02}, target:target)//#SuperCollider 272 | }, 273 | 274 | //--tweet0049 275 | { 276 | arg target; 277 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 278 | play({Splay.ar(SinOsc.ar(9,SinOsc.ar(midicps((Sweep.ar(0,(33..3))%128&(Sweep.ar(0,(3..9))%(LFSaw.ar(3)*9+99)))+33),0,pi)))/3}, target:target)//#SuperCollider 279 | }, 280 | 281 | //--tweet0050 282 | { 283 | arg target; 284 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 285 | play({a=Saw;b=(2..12);c=0.015;GVerb.ar(Splay.ar(Klank.ar(`[b*50+b,c,c],Hasher.ar(a.ar(b/4pi,a.ar(c)*b+b).ceil)))/9,5.rand+1)}, target:target)//#SuperCollider 286 | }, 287 | 288 | //--tweet0051 289 | { 290 | arg target; 291 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 292 | play({a=Saw;GVerb.ar(Splay.ar(BBandPass.ar(a.ar("sunday".ascii),a.ar(9/"slow".ascii)*400+500,a.ar(7/"coding".ascii)+1.1)/5))}, target:target)//#SuperCollider 293 | }, 294 | 295 | //--tweet0052 296 | { 297 | arg target; 298 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 299 | {Splay.ar(BLowPass.ar(Impulse.ar("sunday".ascii),LFTri.ar(3/"live".ascii)*1800+1900,LFTri.ar(4/"coding".ascii)+1.01))}.play(target:target)//#SuperCollider 300 | }, 301 | 302 | //--tweet0054 303 | { 304 | arg target; 305 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 306 | play({CombN.ar(SyncSaw.ar(Saw.ar([3,4],32,64),Saw.ar([4,3],99,Duty.kr(1,0,flop(Dseq(2!6++4++3,99)*(4**(0..4))))))/9,1,1/6,2)}, target:target)//#SuperCollider 307 | }, 308 | 309 | //--tweet0055 310 | { 311 | arg target; 312 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 313 | play({a=Pulse;CombN.ar(Slope.ar(a.ar(a.ar([1,2]/3,1/9,50,[50,150])),a.ar([3,4],1/3)+a.ar([2,3],1/4)/10+0.005).cos/5,1,1/6,2)}, target:target)//#SuperCollider 314 | }, 315 | 316 | //--tweet0056 317 | { 318 | arg target; 319 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 320 | play({MantissaMask.ar(Pulse.ar(LFPulse.ar(1/8,0,0.55,15,76)+LFSaw.ar([0.1,0.11]),Saw.ar(10)),LFPar.ar(1/16,[0,0.5],3,3),0.7)}, target:target)//#SuperCollider 321 | }, 322 | 323 | //--tweet0058 324 | { 325 | arg target; 326 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 327 | play({CombN.ar(SinOsc.ar(Saw.ar(3,64,99),Saw.ar([3,4],Saw.ar(1,32,128),Duty.ar(1,0,flop(Dseq([0,8,1,5])*[1,4,8]))))/9,1,1/6)}, target:target)//#SuperCollider 328 | }, 329 | 330 | //--tweet0059 331 | { 332 | arg target; 333 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 334 | a=LFTri;play({CombN.ar(SinOsc.ar(Saw.ar(3,128,128),Saw.ar([3,4],a.ar(a.kr(0.1,0,8,12),0,32,128)).sin)/4,1,1/6,a.kr(1/32)+1)}, target:target)//#SuperCollider 335 | }, 336 | 337 | //--tweet0060 338 | { 339 | arg target; 340 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 341 | a=LFSaw;play({FreeVerb.ar(CombN.ar(VarSaw.ar(a.ar([32,48],0,42*a.ar(1/[16,24]),8),0,a.ar([18,12],0,1/64,1/64)).sin/2,1,1,2))}, target:target)//#SuperCollider 342 | }, 343 | 344 | //--tweet0061 345 | { 346 | arg target; 347 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 348 | a=Demand;b=SinOsc;play({b.ar(a.ar(t=Saw.ar([9,9.01]),0,Dseq(0!6++500,inf)),b.ar(a.ar(t,0,Dshuf((0..7)*99,inf)).lag(0.04)))/2}, target:target)//#SuperCollider 349 | }, 350 | 351 | //--tweet0062 352 | { 353 | arg target; 354 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 355 | play({ 356 | a=SinOsc;b=(1..9);Splay.ar(a.ar(b*55).clip(a.ar(2/b,0,0.5),a.ar(3/b,0,0.5,1))*a.ar(b*55+(4/b),0,a.ar(1/b,0,6)).tanh)/5}, target:target)//#SuperCollider 357 | }, 358 | 359 | //--tweet0068 360 | { 361 | arg target; 362 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 363 | play({a=LocalIn.ar(2);LocalOut.ar(a=Hasher.ar(a.round(LFTri.ar(LFTri.ar(1e-4)/4+1e-3,0,LFTri.ar(1e-3)).round(2e-4))));a*0.45}, target:target)//#SuperCollider 364 | }, 365 | 366 | //--tweet0069 367 | { 368 | arg target; 369 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 370 | play({a=LocalIn.ar(2);LocalOut.ar(a=Hasher.ar(a.round(LFPar.ar(4e-3).round(3e-3)/3+a)));FreeVerb2.ar(a[0],a[1],0.33,1,1,0.4)}, target:target)//#SuperCollider 371 | }, 372 | 373 | //--tweet0070 374 | { 375 | arg target; 376 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 377 | play({a=LocalIn.ar(2);LocalOut.ar(a=Hasher.ar(a.round(SinOsc.ar(3.3e-4,a*2pi).round(5e-4))));a/3+CombN.ar(a,1,[1,0.9],3,0.4)}, target:target)//#SuperCollider 378 | }, 379 | 380 | //--tweet0071 381 | { 382 | arg target; 383 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 384 | play({a=LFTri;b=(2..5);Splay.ar(a.ar(abs(a.ar(b/9/9/9).round(a.ar(9-b*99,9-b/9,a.ar(b/9,b/99)))*a.ar(9,0,9-b*99,99*b),b/9)))}, target:target)//#SuperCollider 385 | }, 386 | 387 | //--tweet0072 388 | { 389 | arg target; 390 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 391 | play({a=Pulse;b=(1..8-1);GVerb.ar(Limiter.ar(Splay.ar(a.ar(abs(a.ar(b,1/8,8-b/8)).round(a.ar(b*8,b/8,a.ar(b))))))/8,8,1,0.8)}, target:target)//#SuperCollider 392 | }, 393 | 394 | //--tweet0073 395 | { 396 | arg target; 397 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 398 | play({a=Pulse;b=(1..8);CombN.ar(Splay.ar(a.ar(a.ar(b,a.ar(b/9),b*9,b*99+99),1/3,a.ar(b/9+a.ar(1,2/3,8,10)/9)).tanh),1,2/3,4)}, target:target)//#SuperCollider 399 | }, 400 | 401 | //--tweet0074 402 | { 403 | arg target; 404 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 405 | play({a=Pulse;BLowPass4.ar(a.ar(a.ar(2,0.2,a.ar(3,0.3)*500,[600,606]*a.ar(5))).sin,LFPar.ar(0.07)*4e3+5e3,LFPar.ar(0.1)+1.3)}, target:target)//#SuperCollider 406 | }, 407 | 408 | //--tweet0075 409 | { 410 | arg target; 411 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 412 | play({a=SinOsc;b=(1..16)*8;a.ar(a.ar(b).sum+[2,3]+a.ar(1/8)*99*a.ar(b/(a.ar(1/6)*2+2.05),0,4+a.ar(1/8)).reduce('bitOr'))*0.5}, target:target)//#SuperCollider 413 | }, 414 | 415 | //--tweet0076 416 | { 417 | arg target; 418 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 419 | play({a=SinOsc;a.ar(a.ar([1,2,4,8]/4*999).sum*50+[2,1]/3,a.ar(60,0,a.ar([1,2]/3)*a.ar(1/8,0,a.ar(1/8)*8)).tanh*a.ar(4)*6)/2}, target:target)//#SuperCollider 420 | }, 421 | 422 | //--tweet0077 423 | { 424 | arg target; 425 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 426 | play({a=SinOsc;b=a.ar(a.ar(1/[5,6])+[798,912],a.ar(1/16)*19+99*a.ar([9,8]),a.ar(a.ar(6)*a.ar(0.009)));a.ar([201,301],b).tanh}, target:target)//#SuperCollider 427 | }, 428 | 429 | //--tweet0078 430 | { 431 | arg target; 432 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 433 | play({a=GrayNoise.ar;b=(1..9);CombL.ar(a,1,b/Duty.ar(3,0,Dseq([0.5,1,2,3]*99,99)).lag3(1)).mean/2+Ringz.ar(a/99,b*99).mean!2}, target:target)//#SuperCollider 434 | }, 435 | 436 | //--tweet0079 437 | { 438 | arg target; 439 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 440 | play({Saw.ar((99,111..999),LFSaw.ar(1.1/(1..76))).mean.distort.distort.distort.distort.distort.distort.distort.distort*3.5!2}, target:target)//#SuperCollider 441 | }, 442 | 443 | //--tweet0080 444 | { 445 | arg target; 446 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 447 | play({a=SinOsc;b=a.ar(1/3);Duty.ar(SampleDur.ir,0,Dseq([0,1],inf)).bitXor(a.ar(b>0*30+60,0,a.ar(4,0,a.ar([3,2]/9,b*3,9))))/9}, target:target)//#SuperCollider 448 | }, 449 | 450 | //--tweet0082 451 | { 452 | arg target; 453 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 454 | play({a=LFTri.ar(1/9)*0.07+0.0708;CombN.ar(Decay2.ar(Duty.ar(Dseq([1e-4,a/2],inf),0!2,Dseq([-1,0,1,0],inf)),a/9,a)/5,1,1,12)}, target:target)//#SuperCollider 455 | }, 456 | 457 | //--tweet0083 458 | { 459 | arg target; 460 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 461 | play({a=LFCub;Splay.ar({|i|i=i+1;Formant.ar(*Sweep.ar(a.ar(i/[1,2,3])>a.ar(i/9,i/9,1/6,1/3),0.05)*99*i+99*i)*a.ar(0.1/i)}!6)}, target:target)//#SuperCollider 462 | }, 463 | 464 | //--tweet0084 465 | { 466 | arg target; 467 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 468 | play({a=Saw;Splay.ar(Formant.ar(a.ar((5,7..15)*19)*99+199,a.ar((1,3..13)*29)*199+299,a.ar((3,5..11)*a.ar(3,2,3))*299+399))/3}, target:target)//#SuperCollider 469 | }, 470 | 471 | //--tweet0086 472 | { 473 | arg target; 474 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 475 | play({a=LFNoise2.kr(1/(9..17));Splay.ar(Ringz.ar(BPF.ar(Dust2.ar(a.abs*1e4),a.exprange(99,1e4),1.1-a),(9..1)*99,a+1.1,a)/5)}, target:target)//#SuperCollider 476 | }, 477 | 478 | //--tweet0087 479 | { 480 | arg target; 481 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 482 | play({BLowPass4.ar(Splay.ar(VarSaw.ar(200*Duty.kr(1/(1..5),0,Dseq(flat({|x|{|y|y+1/(x+1)}!8}!8),inf)))),5e3,LFTri.kr(9)+1.1)}, target:target)//#SuperCollider 483 | }, 484 | 485 | //--tweet0088 486 | { 487 | arg target; 488 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 489 | play({a=SinOsc;LPF.ar(LeakDC.ar(a.ar([98,99],a.ar([8,9],a.ar(1/[88,99],0,2pi),pi).lag(a.ar([9,8])),a.ar(1/[8,9])*9)%1),9e3)}, target:target)//#SuperCollider 490 | }, 491 | 492 | //--tweet0089 493 | { 494 | arg target; 495 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 496 | play({GVerb.ar(Splay.ar(Ringz.ar(Blip.ar(a=[4,14,5,15,6,16,8],LFNoise0.ar(4/a)*99,LFNoise1.ar(4/a).max(0)),a*99,4/a))/6,200)}, target:target)//#SuperCollider 497 | }, 498 | 499 | //--tweet0090 500 | { 501 | arg target; 502 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 503 | play({FreeVerb.ar(Splay.ar(BBandPass.ar(Blip.ar(b=(1..8)+1,LFTri.ar(1/b)*9e3,LFTri.ar(3/4/b).max(0)),b*999,1/b),2,3),0.3,1)}, target:target)//#SuperCollider 504 | }, 505 | 506 | //--tweet0091 507 | { 508 | arg target; 509 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 510 | play({a=LFPulse;Splay.ar(Pulse.ar((1..10)*a.ar(1/24+a.ar(1/3)*12,0,1/9,a.ar(1/12,0,0.5,9,48)).abs+6).reduce(\mod).softclip)}, target:target)//#SuperCollider 511 | }, 512 | 513 | //--tweet0092 514 | { 515 | arg target; 516 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 517 | play({Mix(Pan2.ar(Formlet.ar(Dust.ar(b=(1..8)),b*99,b/99,b/9),SinOsc.ar(b),LFSaw.ar(9.5-b,b/9,LFTri.ar(b/5)*4).max(0)).sin)}, target:target)//#SuperCollider 518 | }, 519 | 520 | //--tweet0093 521 | { 522 | arg target; 523 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 524 | play({x=SinOsc;a=LocalIn.ar(2);z=x.ar([3.1,4.2]+a)-Balance2.ar(a[0],a[1],x.ar(a*x.ar(a)*999));LocalOut.ar(CombN.ar(z/3));z/5}, target:target)//#SuperCollider 525 | }, 526 | 527 | //--tweet0094 528 | { 529 | arg target; 530 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 531 | play({a=Blip;b=LFSaw;CombN.ar(a.ar(a.ar(b.ar(1/[9,99])*1e3+4e3,b.ar(1/[23,24])*4+5,b.ar(1/[5,6])+b.ar(1/[8,9])*9)),0.3,0.3)}, target:target)//#SuperCollider 532 | }, 533 | 534 | //--tweet0095 535 | { 536 | arg target; 537 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 538 | {|i|a=VarSaw;b=i/8;play({Pan2.ar(a.ar(b*666+a.ar(b+0.03,b),0,b+0.06,a.ar(b+1,0,b+0.1,6+b,7+b)).sin.tanh,a.ar(b+1,b),0.2)}, target:target)}!8//#SuperCollider 539 | }, 540 | 541 | //--tweet0096 542 | { 543 | arg target; 544 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 545 | play({a=LFTri;b=LocalIn.ar;LocalOut.ar(c=Limiter.ar(CombC.ar(a.ar(d=b+1)*a.ar(d*999),1,a.ar((2..5)/3).mean/2+0.5,6)));c/2!2}, target:target)//#SuperCollider 546 | }, 547 | 548 | //--tweet0097 549 | { 550 | arg target; 551 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 552 | play({a=LFTri;b=LocalIn.ar;LocalOut.ar(c=Limiter.ar(CombC.ar(a.ar(400)*a.ar(d=b+2),1,a.ar((2..5)/d/d/d).mean*0.5+0.5)));c!2}, target:target)//#SuperCollider 553 | }, 554 | 555 | //--tweet0098 556 | { 557 | arg target; 558 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 559 | play({a=LFSaw;b=LocalIn.ar;LocalOut.ar(c=Limiter.ar(CombC.ar(a.ar(d=b+3.3*99)*a.ar(a.ar(d/9)*99),2,a.ar(1/d)/2+1,9)));c/2!2}, target:target)//#SuperCollider 560 | }, 561 | 562 | //--tweet0102 563 | { 564 | arg target; 565 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 566 | {|i|play({a=DelayC.ar(InFeedback.ar(1-i),8,LFSaw.ar(1e-5*i+1e-4*(LFSaw.ar(0.1)>0),i,4,4));SinOsc.ar(99+[0,a/9],a*pi)/5!2}, target:target)}!2//#SuperCollider 567 | }, 568 | 569 | //--tweet0103 570 | { 571 | arg target; 572 | var a, b, c, d, f, i, l, n, o, t, w, y, x, z; 573 | {|i|b=SinOsc;play({a=DelayC.ar(InFeedback.ar(1-i),6,b.ar(1e-3*(b.ar(1,i)),i,3,3));b.ar(45+[a/8,a/9]+b.ar(0.123),a*3)/5!2}, target:target)}!2//#SuperCollider 574 | }, 575 | 576 | ] 577 | } 578 | } 579 | 580 | /* 581 | //--tweet0104 582 | { 583 | arg target; 584 | var a, b, c, d, o, x, z; 585 | play({a=LFCub;(50..85).midicps.clump(2).collect{|x,y|a.ar(TRand.ar(x,y,Dust.ar(b=a.ar(y/x).exprange(1,5e3))),0,b/5e3)}.mean}, target:target)//#SuperCollider 586 | }, 587 | 588 | //--tweet0105 589 | { 590 | arg target; 591 | var a, b, c, d, o, x, z; 592 | play({a=SinOsc;f=InFeedback.ar(0,2);Pan2.ar(a.ar(a.ar(b=(1..9))*b+99,f/(9-b),a.ar(a.ar(b,f))).sum.sin,a.ar(a.ar(2.001)*12))}, target:target)//#SuperCollider 593 | }, 594 | 595 | //--tweet0106 596 | { 597 | arg target; 598 | var a, b, c, d, o, x, z; 599 | play({a=SinOsc;b=InFeedback.ar(0,2);a.ar(9,a.ar(Pitch.kr(Balance2.ar(b[0],b[1],a.ar(12)),execFreq:99).flop[0])+a.ar(3,b,2))}, target:target)//#SuperCollider 600 | }, 601 | 602 | //--tweet0107 603 | { 604 | arg target; 605 | var a, b, c, d, o, x, z; 606 | play({a=SinOsc;d=a.ar(12*a.ar(9))%1/4;c=Amplitude.ar(InFeedback.ar(0),d,d)+a.ar(d*d+[32.01,32]);BBandPass.ar(a.ar(0,c*9,c))}, target:target)//#SuperCollider 607 | }, 608 | 609 | //--tweet0108 610 | { 611 | arg target; 612 | var a, b, c, d, o, x, z; 613 | play({a=SinOsc;Splay.ar({|i|j=i/700;a.ar(j,a.ar(j*2,a.ar(j*3,a.ar(j*4,a.ar(j*5,InFeedback.ar/99,2pi),2pi),2pi),2pi))}!15)/2}, target:target)//#SuperCollider 614 | }, 615 | 616 | //--tweet0109 617 | { 618 | arg target; 619 | var a, b, c, d, o, x, z; 620 | play({a=LFSaw;Formant.ar(b=a.ar(a.ar(a.ar(a.ar(0.1)+1.0905*9)/99)*999)*999,c=CombN.ar(b,1,[0.1,0.11]),CombN.ar(c,1,0.19))/3}, target:target)//#SuperCollider 621 | }, 622 | 623 | //--tweet0110 624 | { 625 | arg target; 626 | var a, b, c, d, o, x, z; 627 | play({Splay.ar({a={LFSaw.kr(0.05.rand2,0,1.0.rand)}!3;BLowPass4.ar(Saw.ar(a@0*250+300,a[2].max(0)),a@1*2e3+2100,0.025)}!99)}, target:target)//#SuperCollider 628 | }, 629 | 630 | //--tweet0111 631 | { 632 | arg target; 633 | var a, b, c, d, o, x, z; 634 | play({a=SinOsc;Splay.ar(a.ar(PulseCount.ar(f=InFeedback.ar(0,2).sum)%999+(60,63.0005..99)*a.ar(2**f)*2+[3,4],f>0*f*9)).tanh}, target:target)//#SuperCollider 635 | }, 636 | 637 | //--tweet0113 638 | { 639 | arg target; 640 | var a, b, c, d, o, x, z; 641 | {|i|play({a=Duty.ar(b=1/24,0,Dseq(Dshuf({b.linrand}!8,16+i),99));Pan2.ar(BPF.ar(Saw.ar(c=a+i+1*99,a*3),c*2,0.6)*5,i/4-1)}, target:target)}!9//#SuperCollider 642 | }, 643 | 644 | //--tweet0114 645 | { 646 | arg target; 647 | var a, b, c, d, o, x, z; 648 | play({a=LFNoise1;BPF.ar(Splay.ar(SinOsc.ar(0,a.ar((999,888..111),a.ar(1/(9..1),a.ar({|i|i+1/(9-i)}!9,99))))/4),1500,a.ar+1)}, target:target)//#SuperCollider 649 | }, 650 | 651 | //--tweet0115 652 | { 653 | arg target; 654 | var a, b, c, d, o, x, z; 655 | play({a=Pulse;d=Splay.ar(a.ar(Duty.ar(c=a.ar(b=(6..1),b/7.5)/8+1,0,Dseq(b*c+c.lag3(9)*66,inf))))/9;d+GVerb.ar(d.mean,25,25)}, target:target)//#SuperCollider 656 | }, 657 | 658 | //--tweet0116 659 | { 660 | arg target; 661 | var a, b, c, d, o, x, z; 662 | play({BPF.ar(SinOsc.ar(Duty.ar(1/300,0,Dseq([Dseq([a=1270,b=2225],2e2),Drand([[1070,a],[2025,b]],[1e3,2e3])],inf))),1500,3)}, target:target)//#SuperCollider 663 | }, 664 | 665 | //--tweet0117 666 | { 667 | arg target; 668 | var a, b, c, d, o, x, z; 669 | play({a=LFTri.ar(1/[8,7]).abs;CombC.ar(Pulse.ar(Duty.ar(a+0.1/9,0,Dseq([Dshuf((1..9)*99,7),3e3],inf)).lagud(*a/6),a),1,a,5)}, target:target)//#SuperCollider 670 | }, 671 | 672 | //--tweet0120 673 | { 674 | arg target; 675 | var a, b, c, d, o, x, z; 676 | play({a=LFTri;CombN.ar(VarSaw.ar(Select.kr(a.kr(1/[7,8])*a.kr(1/9,0,99),(60..79).midicps),0,a.kr(1/[3,4])%1),1,1/[5,6],8)/4}, target:target)//#SuperCollider 677 | }, 678 | 679 | //--tweet0121 680 | { 681 | arg target; 682 | var a, b, c, d, o, x, z; 683 | play({a=SinOsc;CombN.ar(a.ar(Select.kr(a.kr(1/[8,7])*a.kr(1/30,0,9),(56,62..98).midicps),0,a.ar(1/[4,3])),1,1/[6,5],9).tanh}, target:target)//#SuperCollider 684 | }, 685 | 686 | //--tweet0122 687 | { 688 | arg target; 689 | var a, b, c, d, o, x, z; 690 | play({a=LFPar;BLowPass.ar(a.ar(Select.kr(a.kr(1/[3,4],0,64*a.kr(5)),(60..67).midicps)),a.kr(0.04)+5*500,a.kr(1/[5,6])+1.01)}, target:target)//#SuperCollider 691 | }, 692 | 693 | //--tweet0123 694 | { 695 | arg target; 696 | var a, b, c, d, o, x, z; 697 | play({a=SinOsc;a.ar(a.ar(1/[8,12])>0.9+1*[400,404],InFeedback.ar([1,0]).lagud(a.ar(b=1/(1..6)).mean,a.ar(b*1.25).mean)*4pi)}, target:target)//#SuperCollider 698 | }, 699 | 700 | //--tweet0124 701 | { 702 | arg target; 703 | var a, b, c, d, o, x, z; 704 | play({a=SinOsc;a.ar(a.ar(4)>0.2+1*[99,98],InFeedback.ar([1,0]).lagud(a.ar(0.1).abs/5,a.ar(a.ar(1/99)).abs)*a.ar([301,303]))}, target:target)//#SuperCollider 705 | }, 706 | 707 | //--tweet0125 708 | { 709 | arg target; 710 | var a, b, c, d, o, x, z; 711 | play({a=SinOsc;a.ar(a.ar(1/[8,9])*4+[400,202],CombC.ar(InFeedback.ar([1,0]).lagud(a.ar(1/9)+1/88,a.ar(1/8)+1/99),1,0.08,9))}, target:target)//#SuperCollider 712 | }, 713 | 714 | //--tweet0126 715 | { 716 | arg target; 717 | var a, b, c, d, o, x, z; 718 | play({a=SinOsc;c=HPF.ar(a.ar([1,4/3],HPF.ar((1..9).sum{|x|Pan2.ar(a.ar(1/x)>0.5,a.ar(666/x))},5)),5);GVerb.ar(c,99,9)/7+c/4}, target:target)//#SuperCollider 719 | }, 720 | 721 | //--tweet0127 722 | { 723 | arg target; 724 | var a, b, c, d, o, x, z; 725 | play({a=LFTri;distort(LeakDC.ar(a.ar(LeakDC.ar((1..9).sum{|x|Pan2.ar(a.ar(1/x)>0.51,a.ar(a.ar(x+1)*9.99+1200/x))})*4e3))/9)}, target:target)//#SuperCollider 726 | }, 727 | 728 | //--tweet0128 729 | { 730 | arg target; 731 | var a, b, c, d, o, x, z; 732 | play({a=LFTri;RLPF.ar(LeakDC.ar(a.ar(LeakDC.ar((1..9).sum{|x|Pan2.ar(a.ar(1/x,x/3)>0.3333,a.ar(666/x))})*999)).distort,3e3)}, target:target)//#SuperCollider 733 | }, 734 | 735 | //--tweet0129 736 | { 737 | arg target; 738 | var a, b, c, d, o, x, z; 739 | play({a=SinOsc;LeakDC.ar(a.ar(LeakDC.ar((1/[1,2,4,3,9]).mean{|x|Pan2.ar(a.ar(x*9)>0.6,a.ar(a.ar(x/9)+a.ar(x)*666))})%1*4e3))}, target:target)//#SuperCollider 740 | }, 741 | 742 | //--tweet0130 743 | { 744 | arg target; 745 | var a, b, c, d, o, x, z; 746 | play({a=SinOsc;LeakDC.ar(a.ar(LeakDC.ar((1/(1,3..9)).mean{|x|Pan2.ar(a.ar(x)0.93)),9)/2}, target:target)//#SuperCollider 761 | }, 762 | 763 | //--tweet0133 764 | { 765 | arg target; 766 | var a, b, c, d, o, x, z; 767 | play({a=LFSaw;Splay.ar(RLPF.ar(Blip.ar(Duty.ar(1,a.ar(a.ar(1)*9+99),a.ar(7)>(a.ar(12)*0.3+0.6)*8+9),17),(1..12)*99,6e-3))/4}, target:target)//#SuperCollider 768 | }, 769 | 770 | //--tweet0134 771 | { 772 | arg target; 773 | var a, b, c, d, o, x, z; 774 | play({a=LFSaw;mean({|i|Ringz.ar(Blip.ar(a.ar(i+1/[3,4])>(a.ar(i+1/8)+1)*25+50,i+[2,3])*a.ar(i+1/50,i/25),i+1*99,0.1)}!50)/5}, target:target)//#SuperCollider 775 | }, 776 | 777 | //--tweet0135 778 | { 779 | arg target; 780 | var a, b, c, d, o, x, z; 781 | play({a=Pulse;a.ar(a.ar(a.ar(1,b=(1..8)/9,9,8e3),a.ar(2/3,1/9).lag(a.ar(1)*9),a.ar(b/9,0.6,9,99),250),b/(a.ar(4)+4)).mean!2}, target:target)//#SuperCollider 782 | }, 783 | 784 | //--tweet0136 785 | { 786 | arg target; 787 | var a, b, c, d, o, x, z; 788 | play({a=Pulse;a.ar(a.ar(a.ar(1,b=(1..8)/9,99,9e3),a.ar(b,0.4).lag(2),a.ar(0.2*b,0.1,9,99).lag(1),300),b/(a.ar(4)+4)).mean!2}, target:target)//#SuperCollider 789 | }, 790 | 791 | //--tweet0137 792 | { 793 | arg target; 794 | var a, b, c, d, o, x, z; 795 | play({a=LFSaw;b=a.ar(1/64)*8+9;Splay.ar({|i|a.ar(round(a.ar(i+1/32/b,i/40)+1**2*2e3+50,50),0,a.ar(i/16/b,i/48).min(0))}!64)}, target:target)//#SuperCollider 796 | }, 797 | 798 | //--tweet0138 799 | { 800 | arg target; 801 | var a, b, c, d, o, x, z; 802 | play({a=LFTri;b=a.ar([199.99,200]);BPF.ar(b+DelayC.ar(b+a.ar(399.9),1,a.ar(1/99,[0,0.05])/99),999,0.1,5)};s.scope(2).style=2, target:target)//#SuperCollider 803 | }, 804 | 805 | //--tweet0139 806 | { 807 | arg target; 808 | var a, b, c, d, o, x, z; 809 | play({a=LFPar;Splay.ar({|i|Pluck.ar(GrayNoise.ar(a.ar(i=i+1)),a.ar(i/2)%a.ar(i/3/2),1,i*pi/3e3,3,a.ar(i/9,i,0.499,0.5))}!6)}, target:target)//#SuperCollider 810 | }, 811 | 812 | //--tweet0140 813 | { 814 | arg target; 815 | var a, b, c, d, o, x, z; 816 | play({a=LFTri;LFPulse.ar(a.ar(Duty.ar(1/8,0,Dswitch([Dseq((1..8),4),Dseq([60,1,2],[4,3])]/2,Dseq([0,1],99))*99),0,3e3,300))}, target:target)//#SuperCollider 817 | }, 818 | 819 | //--tweet0141 820 | { 821 | arg target; 822 | var a, b, c, d, o, x, z; 823 | play({Mix({|i|BPF.ar(a=Pulse;a.ar(i+[50,a.ar(1/16).lag2(i)+2*99]@@i,a.ar(j=i+1)*a.ar(j)+a.ar(1/12).lag3(10)),j*500)}!8)/3!2}, target:target)//#SuperCollider 824 | }, 825 | 826 | //--tweet0142 827 | { 828 | arg target; 829 | var a, b, c, d, o, x, z; 830 | play({Splay.ar({|i|HPF.ar(a=Pulse;a.ar(a.ar(i+4/32).lag3(0.1,8-i)+1*99,a.ar(j=i+1)*a.ar(i+8/j)+a.ar(8/j).lag3(8)),50)}!8)/2}, target:target)//#SuperCollider 831 | }, 832 | 833 | //--tweet0143 834 | { 835 | arg target; 836 | var a, b, c, d, o, x, z; 837 | play({l=LocalBuf(b=1e4,2);{|i|BufWr.ar(a=LFTri.ar(i+1*[8,19.2]),l,a/[i+1]*b)}!3;LPF.ar(PlayBuf.ar(2,l,1/9,1,0,1).clip2,b)/2}, target:target)//#SuperCollider 838 | }, 839 | 840 | //--tweet0144 841 | { 842 | arg target; 843 | var a, b, c, d, o, x, z; 844 | play({l=LocalBuf(b=3e3).clear;{|i|BufWr.ar(LFTri.ar(i+1*99),l,LFSaw.ar(i).lag(LFSaw.ar(1/9)+1)*b)}!6;PlayBuf.ar(1,l,loop:1)}, target:target)//#SuperCollider 845 | }, 846 | 847 | //--tweet0145 848 | { 849 | arg target; 850 | var a, b, c, d, o, x, z; 851 | play({a=LFTri;l=LocalBuf(b=600,9).clear;BufWr.ar(a.ar(c=(3..11)*3.5),l,a.ar(9/c,c/99)*b);Splay.ar(PlayBuf.ar(9,l,loop:1)/2)}, target:target)//#SuperCollider 852 | }, 853 | 854 | //--tweet0146 855 | { 856 | arg target; 857 | var a, b, c, d, o, x, z; 858 | play({a=LFTri;l=LocalBuf(c=99,20).clear;RecordBuf.ar(a.ar(c=(1..20)),l);GVerb.ar(HPF.ar(IndexL.ar(l,a.ar(c/45)).sum,9)/9,1)}, target:target)//#SuperCollider 859 | }, 860 | 861 | //--tweet0147 862 | { 863 | arg target; 864 | var a, b, c, d, o, x, z; 865 | play({f=LFCub.ar(_);e=f*16+16;BufWr.ar(PanAz.ar(c=32,f.(4.008),f.(9)),l=LocalBuf(c,c),e.(4));Splay.ar(BufRd.ar(c,l,e.(99)))}, target:target)//#SuperCollider 866 | }, 867 | 868 | //--tweet0148 869 | { 870 | arg target; 871 | var a, b, c, d, o, x, z; 872 | play({f=LFPar.ar(_);e=f*31+31;BufWr.ar(PanAz.ar(c=64,f.(5.04),f.(3)),l=LocalBuf(c,c),e.(1));Splay.ar(BufRd.ar(c,l,e.(200)))}, target:target)//#SuperCollider 873 | }, 874 | 875 | //--tweet0149 876 | { 877 | arg target; 878 | var a, b, c, d, o, x, z; 879 | play({f=LFTri.ar(_);e=f*4e3+4e3*f.(1.2).abs;BufWr.ar(f.([3,4]),l=LocalBuf(8e3,2).clear,e.(1/9));COsc.ar(l,99,f.(1/[7,8]))/4}, target:target)//#SuperCollider 880 | }, 881 | 882 | //--tweet0150 883 | { 884 | arg target; 885 | var a, b, c, d, o, x, z; 886 | play({o=CombC.ar(Limiter.ar(HPF.ar(LocalIn.ar(2),9)+Impulse.ar(1/3,1/[4,5])),4,LFTri.ar(0.02)*1.9+2,9,0.9);LocalOut.ar(o);o}, target:target)//#SuperCollider 887 | }, 888 | 889 | //--tweet0152 890 | { 891 | arg target; 892 | var a, b, c, d, o, x, z; 893 | play({a=SinOscFB;Splay.ar({|i|Pan2.ar(a.ar(a.ar(b=1.995**i,0.5/b)+(a.ar(2/b,a.ar(b))*999),a.ar(b*1.01)),a.ar(pi/b,2))}!9/4)}, target:target)//#SuperCollider 894 | }, 895 | 896 | //--tweet0153 897 | { 898 | arg target; 899 | var a, b, c, d, o, x, z; 900 | play({a=LFTri;b=[3,4,8];Splay.ar(Formlet.ar(a.ar(b*99+99),a.ar(b).round(a.ar(0.05).round(1/3))*99+200,1,a.ar(b/6.011)%1)/9)}, target:target)//#SuperCollider 901 | }, 902 | 903 | //--tweet0154 904 | { 905 | arg target; 906 | var a, b, c, d, o, x, z; 907 | play({a=SinOsc;b=(4.002,9..99);mean(Pan2.ar(c=a.ar(b),c))>mean(a.ar(d=1/99)/b)*Splay.ar(a.ar(b%round(a.ar(d/b*8,b,12))*99))}, target:target)//#SuperCollider 908 | }, 909 | 910 | //--tweet0155 911 | { 912 | arg target; 913 | var a, b, c, d, o, x, z; 914 | play({a=LFTri;b=(1..9).pyramid;LeakDC.ar(Pan2.ar(a.ar(d=6.01/b),a.ar(99*b),a.ar(d)%1)+Ringz.ar(a.ar(d)0,{[a.ar(1/i)+2*f.(i-1)]},{[(99..96),(1..4),a.ar(0.1)+1,9]}))};Splay.ar(a.ar(f.(10)))}, target:target)//#SuperCollider 1081 | }, 1082 | 1083 | //--tweet0185 1084 | { 1085 | arg target; 1086 | var a, b, c, d, o, x, z; 1087 | play({a=LFSaw;c=(1..32);Splay.ar(SinOsc.ar(0,BPF.ar(a.ar(pi/c)*8pi*a.ar(c*a.ar(2/c,1/c,8.16,16)),c*99,a.ar(3/c)/3+0.34))/2)}, target:target)//#SuperCollider 1088 | }, 1089 | 1090 | //--tweet0186 1091 | { 1092 | arg target; 1093 | var a, b, c, d, o, x, z; 1094 | play({a=LFTri;b=(1..11).rotate(4)*1.011;LeakDC.ar(Splay.ar(Sweep.ar(0,b+999).fold(a.ar(11.11/b)/2-0.5,a.ar(11.1/b)/2+0.5)))}, target:target)//#SuperCollider 1095 | }, 1096 | 1097 | //--tweet0189 1098 | { 1099 | arg target; 1100 | var a, b, c, d, o, x, z; 1101 | play({Splay.ar(Limiter.ar(Formlet.ar((a=LFSaw).ar((b=(1..8))+200),b*a.ar(b/29).round(0.51)+1*99,a.ar(b/9)*0.5+0.50001)/99))}, target:target)//#SuperCollider 1102 | }, 1103 | 1104 | //--tweet0190 1105 | { 1106 | arg target; 1107 | var a, b, c, d, o, x, z; 1108 | play({a=LFTri.ar(b=8/(1..11))%(LFTri.ar(b-3))+2.01;Limiter.ar(Splay.ar(Formant.ar(202*a[0..3],404*a[4..7],606*a[8..11])))/2}, target:target)//#SuperCollider 1109 | }, 1110 | 1111 | //--tweet0191 1112 | { 1113 | arg target; 1114 | var a, b, c, d, o, x, z; 1115 | play({a=LFSaw;Splay.ar(CombN.ar(Blip.ar(a.ar(b=(1..5)).ceil*(a.ar(1/b)*30+60)+99,a.ar(0.2/b).round(1/3)*8+9).tanh,4,4/b,9))}, target:target)//#SuperCollider 1116 | }, 1117 | 1118 | //--tweet0192 1119 | { 1120 | arg target; 1121 | var a, b, c, d, o, x, z; 1122 | play({a=Pulse;c=a.ar(b=[4,1,5,8,3],d=b/9).lag(1/b);Splay.ar(a.ar(b*99*a.ar(b,1/4,1,1.01)|a.ar(d,d,98,99).lag(c%1),c/2+0.5))}, target:target)//#SuperCollider 1123 | }, 1124 | 1125 | //--tweet0193 1126 | { 1127 | arg target; 1128 | var a, b, c, d, o, x, z; 1129 | play({a=LFSaw;Splay.ar(BLowPass4.ar(b=a.ar(a.ar(c=3/(1..12),d=c/3*2,99/c+99,900+c)),c*999+a.ar(c),a.ar(c,d)%1+0.01*2)).tanh}, target:target)//#SuperCollider 1130 | }, 1131 | 1132 | //--tweet0194 1133 | { 1134 | arg target; 1135 | var a, b, c, d, o, x, z; 1136 | play({a=SinOsc;b=(2,4..20);CombN.ar(Splay.ar(HPF.ar(a.ar(0,Duty.ar(2/b,0,Dseq(b,inf)).lag2(a.ar(1/b,b)%1)*2pi),9)),1,2/3,4)}, target:target)//#SuperCollider 1137 | }, 1138 | 1139 | //--tweet0195 1140 | { 1141 | arg target; 1142 | var a, b, c, d, o, x, z; 1143 | play({a=SinOsc;tanh(a.ar(3e-3,DelayC.ar(Ringz.ar(b=InFeedback.ar(1),[9,12],a.ar(c=1/[3,4])+15),1,a.ar(0,b.lag3(1))/9+0.5)))}, target:target)//#SuperCollider 1144 | }, 1145 | 1146 | //--tweet0196 1147 | { 1148 | arg target; 1149 | var a, b, c, d, o, x, z; 1150 | play({a=SinOsc;Normalizer.ar(Splay.ar(a.ar(811+b=(2..8),a.ar((c=a.ar(0.1/b,b))<0*9*b+855+(9/b),a.ar(899/b)*2,2).tanh*6,c)))}, target:target)//#SuperCollider 1151 | }, 1152 | 1153 | //--tweet0197 1154 | { 1155 | arg target; 1156 | var a, b, c, d, o, x, z; 1157 | play({a=SinOsc;mean({|i|b=a.ar(a.ar(j=i+0.99)/9,a.ar(a.ar(j/99))*9,j*9).tanh;Pan2.ar(a.ar(b.exprange(j*99,j+1*99)+i),b)}!9)}, target:target)//#SuperCollider 1158 | }, 1159 | 1160 | //--tweet0198 1161 | { 1162 | arg target; 1163 | var a, b, c, d, o, x, z; 1164 | play({a=LFSaw;Splay.ar(Ringz.ar(CombN.ar(ClipNoise.ar(a.ar(b=(1..5)/8)>a.ar(0.1,0,1,0.5)),1,b,2),[261,311,349,391,466]))/90}, target:target)//#SuperCollider 1165 | }, 1166 | 1167 | //--tweet0199 1168 | { 1169 | arg target; 1170 | var a, b, c, d, o, x, z; 1171 | play({Splay.ar({|i|SinOsc.ar(c=1/8,LFCub.ar(Duty.ar(b=InFeedback.ar(i%pi)+c,b-c,Dseq(midicps((1..9)*25%32+40),inf)))+i)}!9)}, target:target)//#SuperCollider 1172 | }, 1173 | 1174 | //--tweet0200 1175 | { 1176 | arg target; 1177 | var a, b, c, d, o, x, z; 1178 | a=SinOsc;{|i|play({Pan2.ar(a.ar(i+1/99,i+[1,2]+a.ar(i+1*999)*a.ar([50,74,99]@@i*a.ar(i/9+99,i,i,i))),a.ar(a.ar(i/9)))/11}, target:target)}!9//#SuperCollider 1179 | }, 1180 | 1181 | //--tweet0201 1182 | { 1183 | arg target; 1184 | var a, b, c, d, o, x, z; 1185 | play({a=LFSaw;HPF.ar(SinOsc.ar(2**Decay.ar(a.ar(c=[2,3]),b=2**a.ar(1/9)-0.5)+99))*BLowPass4.ar(a.ar([261,369]),b+1*5e3,0.2)}, target:target)//#SuperCollider 1186 | }, 1187 | 1188 | //--tweet0203 1189 | { 1190 | arg target; 1191 | var a, b, c, d, o, x, z; 1192 | {|i|play({a=LFPulse;HPF.ar(Ringz.ar(a.ar(a.ar(1/(j=i+1)+a.ar(b=(2..5),0,1/b)*b).sum+1*[89,99]*j),2**i*99,0.42).tanh,9)/5}, target:target)}!4//#SuperCollider 1193 | }, 1194 | 1195 | //--tweet0204 1196 | { 1197 | arg target; 1198 | var a, b, c, d, o, x, z; 1199 | play({a=LFSaw;c=(2..22)*99;b=999/c;Splay.ar(MoogFF.ar(a.ar(b*99*a.ar(b*9*a.ar(a.ar(b/9)*b))),(d=a.ar(9/c,9/c))+2*c,d+2.99))}, target:target)//#SuperCollider 1200 | }, 1201 | 1202 | //--tweet0208 1203 | { 1204 | arg target; 1205 | var a, b, c, d, o, x, z; 1206 | play({a=SinOsc;Splay.ar(Formlet.ar(Blip.ar(a.ar(1/(1..9))*400+99,50),(11,22..66)++50++88*10,a.ar(3).abs,a.ar(pi).abs).clip)}, target:target)//#SuperCollider 1207 | }, 1208 | 1209 | //--tweet0209 1210 | { 1211 | arg target; 1212 | var a, b, c, d, o, x, z; 1213 | play({a=Blip;HPF.ar(Normalizer.ar(Splay.ar(Pluck.ar(a.ar(99*b=LFTri.ar(1/c=(1..9))>0+c,1).abs,a.ar(1/b,2).abs)),1,2e-3),12)}, target:target)//#SuperCollider 1214 | }, 1215 | 1216 | //--tweet0210 1217 | { 1218 | arg target; 1219 | var a, b, c, d, o, x, z; 1220 | a=SinOsc;play({a.ar(0,a.ar(5/3)%1+a.ar(Duty.ar(b=0.15,0,Dseq(a.ar(a.ar(b)/3+0.3).max+1*[[261,440],220,261,349,99,0],inf))))}, target:target)//#SuperCollider 1221 | }, 1222 | 1223 | //--tweet0211 1224 | { 1225 | arg target; 1226 | var a, b, c, d, o, x, z; 1227 | a=LFCub;play({RecordBuf.ar(InFeedback.ar+a.ar(99),b=Buffer.alloc(s,8e4));TGrains.ar(2,a ar:c=[3,2],b,a.ar(1/c)>0/2+1.5,0,3)}, target:target)//#SuperCollider 1228 | }, 1229 | 1230 | //--tweet0212 1231 | { 1232 | arg target; 1233 | var a, b, c, d, o, x, z; 1234 | play({{|i|RecordBuf.ar(Limiter.ar(HPF.ar(Warp1.ar(1,b=LocalBuf(9e3).clear,c=LFSaw.ar(d=1.0009,i).max,1/d)+(c>0/3),9)),b)}!2}, target:target)//#SuperCollider 1235 | }, 1236 | 1237 | //--tweet0213 1238 | { 1239 | arg target; 1240 | var a, b, c, d, o, x, z; 1241 | a=LFPar;play({Splay.ar(GrainFM.ar(1,a.ar(9),a.ar((3..7))%1/9,a.ar(1/(2..8))%1*99,(1..9)*99,a.ar(0.22/(4..6))/2+0.5*9)).tanh}, target:target)//#SuperCollider 1242 | }, 1243 | 1244 | //--tweet0214 1245 | { 1246 | arg target; 1247 | var a, b, c, d, o, x, z; 1248 | play({a=LFTri;c=a.ar(3**a.ar(1/b=(9..1),b/9));Splay.ar(GrainSin.ar(2,c,a.ar(1/b)%1/9+0.01,2**a.ar(b/99).round*99*b).tanh)/2}, target:target)//#SuperCollider 1249 | }, 1250 | 1251 | //--tweet0215 1252 | { 1253 | arg target; 1254 | var a, b, c, d, o, x, z; 1255 | play({a=LFTri;BufWr.ar(a.ar(1),b=LocalBuf(c=7e4).clear,a.ar(1.005)*c);Splay.ar(HPF.ar(BufRd.ar(1,b,a.ar([5,1,2,4])*c),9))/2}, target:target)//#SuperCollider 1256 | }, 1257 | 1258 | //--tweet0216 1259 | { 1260 | arg target; 1261 | var a, b, c, d, o, x, z; 1262 | play({a=LFSaw;Mix(SinOsc.ar(3**Hasher.ar(round(a.ar(0.1)%1,c=(3..1)/16))*(a.ar(c,c)<0*[6,2,1]+[4,[5,5.05],3]*99))).softclip}, target:target)//#SuperCollider 1263 | }, 1264 | 1265 | //--tweet0217 1266 | { 1267 | arg target; 1268 | var a, b, c, d, o, x, z; 1269 | a=LFSaw;play({Splay.ar(BBandPass.ar(a.ar(3.7*b=1/(1..16),0,a.ar(99+b,0,a.ar(b*c=0.055).max)),4**a.ar(b/8)*99+99,c,20).tanh)}, target:target)//#SuperCollider 1270 | }, 1271 | 1272 | //--tweet0218 1273 | { 1274 | arg target; 1275 | var a, b, c, d, o, x, z; 1276 | play({a=LFTri;Splay.ar(a.ar(99*(b=a.ar(a.ar(c=1/(1..9))*9)>0.5)/2+Demand.ar(Stepper ar:b,0,Dseq(99/c,inf)).lag3+a.ar(c)))/2}, target:target)//#SuperCollider 1277 | }, 1278 | 1279 | //--tweet0219 1280 | { 1281 | arg target; 1282 | var a, b, c, d, o, x, z; 1283 | a=SinOsc;play({Splay ar:a.ar(HPF.ar(Ringz.ar(a.ar(b=1/[3,12,4,1,6,2]).lag3(a.ar(2.67**b).abs)*99,a.ar(1/b/9,b)>0*20+99/b)))}, target:target)//#SuperCollider 1284 | }, 1285 | 1286 | //--tweet0220 1287 | { 1288 | arg target; 1289 | var a, b, c, d, o, x, z; 1290 | a=SinOsc;play({RecordBuf.ar(c=InFeedback.ar,b=Buffer.alloc(s,9e4));HPF.ar(a.ar(99,c*6)/9+TGrains.ar(2,a ar:3,b,c+3,2,12),9)}, target:target)//#SuperCollider 1291 | }, 1292 | 1293 | //--tweet0221 1294 | { 1295 | arg target; 1296 | var a, b, c, d, o, x, z; 1297 | a=SinOsc;play({tanh((c=InFeedback.ar(0,2))+HPF.ar(a.ar(b=1/[5,4],a.ar(a.ar(b*1.1,a.ar(b*2))+a.ar(b*1.4,c,5,4).ceil*99)),9))}, target:target)//#SuperCollider 1298 | }, 1299 | 1300 | //--tweet0222 1301 | { 1302 | arg target; 1303 | var a, b, c, d, o, x, z; 1304 | a=SinOscFB;play({((c=InFeedback.ar(0,2).lag(b=1/67))+DelayL.ar(HPF.ar(a.ar([99,98]*50.666*a.ar(c+b*b,c),c%2),50),b,b)).tanh}, target:target)//#SuperCollider 1305 | }, 1306 | 1307 | //--tweet0223 1308 | { 1309 | arg target; 1310 | var a, b, c, d, o, x, z; 1311 | a=LFSaw;play({Splay.ar(BPF.ar(a.ar(f=Duty.ar(a.ar(a.ar(c=3/d=(2..6)))*a.ar(d)/c,0,Dseq(ceil(a ar:d)+d*99,inf))+a.ar(c)),f))}, target:target)//#SuperCollider 1312 | }, 1313 | 1314 | //--tweet0224 1315 | { 1316 | arg target; 1317 | var a, b, c, d, o, x, z; 1318 | a=SinOsc;play({d=BufRd.ar(2,b=LocalBuf(c=2e5,2).clear,a.ar([2,3]*9)*c,0);BufWr.ar(a.ar(3/[2,3])/3,b,a.ar([99,145]).abs*c);d}, target:target)//#SuperCollider 1319 | }, 1320 | 1321 | //--tweet0225 1322 | { 1323 | arg target; 1324 | var a, b, c, d, o, x, z; 1325 | a=LFSaw;play({b=(1..8)*99;Splay.ar(CombN.ar(Blip.ar(b/2+a.kr(-8/b,1,99),b/4+a.kr(1/b,1,99))*SinOsc.ar(8/b,a.ar(99/b)))).sin}, target:target)//#SuperCollider 1326 | }, 1327 | 1328 | //--tweet0226 1329 | { 1330 | arg target; 1331 | var a, b, c, d, o, x, z; 1332 | play({a=SinOsc;LocalOut.ar(b=a.ar(0.5,Peak.ar(c=LocalIn ar:2,d=a.ar(9/[2,3]))*a.ar(5e-3)*9));HPF.ar(b+a.ar(0,d.max+c*99),9)}, target:target)//#SuperCollider 1333 | }, 1334 | 1335 | //--tweet0227 1336 | { 1337 | arg target; 1338 | var a, b, c, d, o, x, z; 1339 | play({a=LFPulse;f=SinOsc;b=a.ar(a.ar(4/3)*4).lag2(0.01);Splay.ar(f.ar(d=lag(99**b*a.ar(c=2/(6..9))))+f.ar(d*b/c,b*d,1-c))/4}, target:target)//#SuperCollider 1340 | }, 1341 | 1342 | //--tweet0228 1343 | { 1344 | arg target; 1345 | var a, b, c, d, o, x, z; 1346 | play({a=LFSaw;Splay ar:HPF.ar(MoogFF.ar(a.ar(50*b=(0.999..9))-Blip.ar(a.ar(b)+9,b*99,9),a.ar(b/8)+1*999,a.ar(b/9)+1*2),9)/3}, target:target)//#SuperCollider 1347 | }, 1348 | 1349 | //--tweet0229 1350 | { 1351 | arg target; 1352 | var a, b, c, d, o, x, z; 1353 | play({a=LFPulse;b=(1..9);Splay.ar(CombN.ar(a.ar(b*99*a.ar(b)).reduce('&'),2,2/b,2))+BPF.ar(a.ar(4)*4,a.ar(2)+[1,2]*99,0.12)}, target:target)//#SuperCollider 1354 | }, 1355 | 1356 | //--tweet0230 1357 | { 1358 | arg target; 1359 | var a, b, c, d, o, x, z; 1360 | play({Splay.ar(CombC.ar(PinkNoise.ar(Ringz.ar(LFSaw.ar(b=(1..9)/16),b*999,1.25)),1,1/(b*999)*(LFTri.ar(b/120,b*2)%1),3))/99}, target:target)//#SuperCollider 1361 | }, 1362 | 1363 | //--tweet0231 1364 | { 1365 | arg target; 1366 | var a, b, c, d, o, x, z; 1367 | play({a=LFSaw;Splay.ar(Pluck.ar(a.ar(30*c=(5..7))*a.ar(b=1/[25,14]),a.ar([3,2]),0.02,a.ar(c/66)+1/7,9,a.ar(1/c)%1,3).sin)/2}, target:target)//#SuperCollider 1368 | }, 1369 | 1370 | //--tweet0232 1371 | { 1372 | arg target; 1373 | var a, b, c, d, o, x, z; 1374 | a=SinOsc;play({CombC.ar(a.ar(Duty.ar(1/b=[4,3],0,Dseq(9.fib.pyramid*99,inf)))*a.ar(b/9),1.01,a.ar(b/999).abs+0.01,9).tanh/2}, target:target)//#SuperCollider 1375 | }, 1376 | 1377 | //--tweet0233 1378 | { 1379 | arg target; 1380 | var a, b, c, d, o, x, z; 1381 | play({a=LFTri;Splay.ar(a.ar(Duty.ar(b=1/[1,4,6,8,11],c=a.kr(b/98),Dseq(Select.kr(a.kr(b/99)+c*5,1/b+59),inf).midicps)+c)/2)}, target:target)//#SuperCollider 1382 | }, 1383 | 1384 | //--tweet0234 1385 | { 1386 | arg target; 1387 | var a, b, c, d, o, x, z; 1388 | play({a=LFPulse;Splay.ar(a.ar((99*b=[1,4,5,8])*lag(a.ar(a.ar(4/b)+a.ar(9-b/9)*50))+b)/2)+Mix(GrayNoise.ar(a.ar(b,0,0.1))/9)}, target:target)//#SuperCollider 1389 | }, 1390 | 1391 | //--tweet0235 1392 | { 1393 | arg target; 1394 | var a, b, c, d, o, x, z; 1395 | play({a=SinOsc;Splay.ar(a.ar(CompanderD.ar(Duty.ar(c=a.ar(b=(1,3..13),b,b,b),0,Dseq(b,inf)),5,4,3,c)*99,a.ar(b*9)*9,2)).sin}, target:target)//#SuperCollider 1396 | }, 1397 | 1398 | //--tweet0236 1399 | { 1400 | arg target; 1401 | var a, b, c, d, o, x, z; 1402 | play({a=LFTri;BufWr.ar(e=a.ar(12/c=1/(9..5)),b=LocalBuf(4e4,5).clear,a.ar(e%c)*1e5,0);Splay.ar(BufRd.ar(5,b,a.ar(1)*1e4,0))}, target:target)//#SuperCollider 1403 | }, 1404 | 1405 | //--tweet0238 1406 | { 1407 | arg target; 1408 | var a, b, c, d, o, x, z; 1409 | play({a=LFCub;Splay.ar(Limiter.ar(Formlet.ar(Logistic.ar(3.9,b=(7..4)),a.ar(b)+a.ar(b/7)*800+999,c=a.ar(b/99)%1/50,c*2)/9))}, target:target)//#SuperCollider 1410 | }, 1411 | 1412 | //--tweet0239 1413 | { 1414 | arg target; 1415 | var a, b, c, d, o, x, z; 1416 | play({a=LFTri;Splay.ar(CombC.ar(a.ar(Duty.ar(b=0.11/(1..6),0,Dseq(" #SuperCollider ".ascii.midicps,inf))),4,a.ar(b/9)%a.ar(b)*4%4,5)/6).tanh} 1417 | target:target) 1418 | }, 1419 | //--tweet0240 1420 | { 1421 | arg target; 1422 | var a, b, c, d, o, x, z; 1423 | play({Pan2.ar(CombN.ar(BLowPass4.ar(d=Pulse.ar(Duty.ar(1/[10,4],0,Dseq(" #SuperCollider ".ascii.midicps.pyramid(6),99)).mean)),1,1,8)/2,d)/2}, target:target) 1424 | }, 1425 | 1426 | //--tweet0241 1427 | { 1428 | arg target; 1429 | var a, b, c, d, o, x, z; 1430 | play({a=SinOsc;Splay.ar(a.ar(Shaper.ar(' #SuperCollider '.ascii as:LocalBuf,Blip.ar(0.011,c=(2..4)),a.ar(a.ar(c)>0*a.ar(1/c)>0*99))*c)).tanh}, target:target) 1431 | }, 1432 | 1433 | //--tweet0242 1434 | { 1435 | arg target; 1436 | var a, b, c, d, o, x, z; 1437 | play({a=LFTri;b=Splay.ar(Decay2.ar(a.ar(c=' #SuperCollider '.ascii),a.ar(1/4)%0.2,a.ar(3/c)%1/99,a.ar(3*c)/9).sin)/15;b+GVerb.ar(b,99,4,0.9)}, target:target) 1438 | }, 1439 | 1440 | //--tweet0243 1441 | { 1442 | arg target; 1443 | var a, b, c, d, o, x, z; 1444 | play({a=LFSaw;Splay.ar(a.ar((c=(1..9)/8)**a.ar(c,c,1,a.ar(0.21)%1).reduce('bitXor')*Duty.ar(4,0,Dseq([33,10,40]*9,inf))))/4}, target:target)//#SuperCollider 1445 | }, 1446 | 1447 | //--tweet0244 1448 | { 1449 | arg target; 1450 | var a, b, c, d, o, x, z; 1451 | play({a=LFSaw ar:_;sum({|i|Pan2.ar(a.(a.(i+1/99)/9+1.25**i*9+99),a.(i+1/98))}!23)/6+LPF.ar(a.(a.(0.009)*9)>0*a.([50,51]))/4}, target:target)//#SuperCollider 1452 | }, 1453 | 1454 | //--tweet0245 1455 | { 1456 | arg target; 1457 | var a, b, c, d, o, x, z; 1458 | play({a=LFSaw;Pan2.ar(AllpassC.ar(a.ar(1/c=(1..9))>0.9*a.ar((d=a.ar(0.075))>0/3+1*c*99),1,c/9,d*4+4),a.ar(1/c/9)).sum.lag*8}, target:target)//#SuperCollider 1459 | }, 1460 | 1461 | //--tweet0246 1462 | { 1463 | arg target; 1464 | var a, b, c, d, o, x, z; 1465 | play({a=LFPulse;CombC.ar(DynKlank.ar(`[midicps(a.ar(1/b=(1..9)*1.5)*b+50),2e-4,b/9],e=a.ar(d=[2,3]/.t b)),2,2-LPF.ar(e,50))}, target:target)//#SuperCollider 1466 | }, 1467 | 1468 | //--tweet0248 1469 | { 1470 | arg target; 1471 | var a, b, c, d, o, x, z; 1472 | play({a=LFTri;Splay.ar(a.ar((b=(d=a.ar(0.1)<0)+(2..8)/(d+2))*99)+Ringz.ar(a.ar(b/2)>0,b*99,5**a.ar(a.ar(0.01)+2-b)/4)).tanh}, target:target)//#SuperCollider 1473 | }, 1474 | 1475 | //--tweet0249 1476 | { 1477 | arg target; 1478 | var a, b, c, d, o, x, z; 1479 | play({a=Blip;b=a.ar([6,5]/2).round(a.ar(1.01))%1;HPF.ar(b+AllpassC.ar(PitchShift.ar(b,1,2,c=0.03),2,a.ar(c,[2,3])/2+1,3),9)}, target:target)//#SuperCollider 1480 | }, 1481 | 1482 | //--tweet0250 1483 | { 1484 | arg target; 1485 | var a, b, c, d, o, x, z; 1486 | play({a=LFSaw;AllpassC.ar(Mix(a.ar(Latch.ar(a.ar(1.50055,[0,5e-4]!2),a.ar([15,4,2]))*[999,400,150]))/4,3,2-a.ar(0.1,[0,1]))}, target:target)//#SuperCollider 1487 | }, 1488 | 1489 | //--tweet0251 1490 | { 1491 | arg target; 1492 | var a, b, c, d, o, x, z; 1493 | play({a=SyncSaw;GVerb.ar(Limiter.ar(HPF.ar(Mix(a.ar(99*b=(1..8),b*2.01)%a.ar(b/64,a.ar([4,8,14],b/4)+1).max(0)),9))/2,70,4)}, target:target)//#SuperCollider 1494 | }, 1495 | 1496 | //--tweet0253 1497 | { 1498 | arg target; 1499 | var a, b, c, d, o, x, z; 1500 | play({a=SinOsc;c=a.ar|a.ar(1,[0,a ar:1e-4],2);Splay ar:HPF.ar(c+CombC.ar(RLPF.ar(c,b=12.fib*112,0.01),3,a.ar(2/b)+2,5)/4,9)}, target:target)//#SuperCollider 1501 | }, 1502 | 1503 | //--tweet0254 1504 | { 1505 | arg target; 1506 | var a, b, c, d, o, x, z; 1507 | play({a=SinOsc;CombN.ar(a.ar([0,1],a.ar(Duty.ar(c=0.5/b=2.1,0,Dseq(3*' #SuperCollder 0'.ascii,inf)))*a.ar(0.01)*4,a.ar(b,b)<0),1,c*3,9).tanh}, target:target) 1508 | }, 1509 | 1510 | //--tweet0255 1511 | { 1512 | arg target; 1513 | var a, b, c, d, o, x, z; 1514 | play({a=VarSaw;CombN.ar(tanh(a.ar(99*b=[6,9])*3+a.ar(a.ar(0.39/b)>0+1*50,0,a.ar(1/27),a.ar(1/3)*18)+(a.ar(3)>0*9)),1,1,4)/2}, target:target)//#SuperCollider 1515 | }, 1516 | 1517 | //--tweet0256 1518 | { 1519 | arg target; 1520 | var a, b, c, d, o, x, z; 1521 | play({a=LFSaw;(c=HPF.ar(a.ar(b=1/16)+a.ar(b/4)+a.ar(b/3)*9|(e=a.ar(b,d=[0,1])*99),9,e/9).sin)+PitchShift.ar(c,b,e>>5%2+1)/3}, target:target)//#SuperCollider 1522 | }, 1523 | 1524 | //--tweet0257 1525 | { 1526 | arg target; 1527 | var a, b, c, d, o, x, z; 1528 | play({a=Blip;a.ar(c=a.ar(a.ar(1.23,4.5),6,7,8.9)+a.ar(0.123,[4,5],67,8))*a.ar(a.ar(1,[2,3],4,5),6)+a.ar([7,8]*9,1/c*23.4)/5}, target:target)//#SuperCollider 1529 | }, 1530 | 1531 | //--tweet0258 1532 | { 1533 | arg target; 1534 | var a, b, c, d, o, x, z; 1535 | play({a=Blip;a.ar(c=a.ar(9.87,6/5,4,[3,2])>a.ar(8/76,5/432,a.ar([7,6],5.4,3,2),1))*a.ar(a.ar(6,5,4,3),2)>a.ar([5,4],3210/c)}, target:target)//#SuperCollider 1536 | }, 1537 | 1538 | //--tweet0259 1539 | { 1540 | arg target; 1541 | var a, b, c, d, o, x, z; 1542 | play({a=SinOsc;Splay.ar(lag(a.ar(b=RotateN.ar(a.ar(a.ar(a.ar(1/9)>0))*99,DC ar:(1..6)))>a.ar(b/8))*a.ar(b*99)%a.ar(b/99,b))}, target:target)//#SuperCollider 1543 | }, 1544 | 1545 | //--tweet0260 1546 | { 1547 | arg target; 1548 | var a, b, c, d, o, x, z; 1549 | play({a=SinOsc;RLPF.ar(a.ar(c=Duty.ar(0.1,0,Dseq((0!9++' #SuperCollider '.ascii.midicps).pyramid(10),inf)),a.ar(c.lag(1/[33,99]))*6),3500)/2}, target:target) 1550 | }, 1551 | 1552 | //--tweet0261 1553 | { 1554 | arg target; 1555 | var a, b, c, d, o, x, z; 1556 | play({a=LFPulse;CombN.ar(Splay.ar(a.ar(a.ar([1,3])+a.ar(1/[20,30])+a.ar(1/b=[8,9])+a.ar(a.ar(1/12,1/3)*99*b)*(1..5)*50)/2))}, target:target)//#SuperCollider 1557 | }, 1558 | 1559 | //--tweet0262 1560 | { 1561 | arg target; 1562 | var a, b, c, d, o, x, z; 1563 | play({a=SinOsc;c=Decay2;CombN ar:a.ar(a.ar(b=(1..6)).sum*9+99,sum(c.ar(t=a.ar(10/b).sum>[1,2]*a.ar)*b),c.ar(t,0.02,0.2))/20}, target:target)//#SuperCollider 1564 | }, 1565 | 1566 | //--tweet0263 1567 | { 1568 | arg target; 1569 | var a, b, c, d, o, x, z; 1570 | play({a=LFSaw;SelectXFocus.ar(a.ar([9,99]*c=a.ar(9**a.ar(9)*99))*9,a.ar(Sweep.ar(a.ar((1..9)),c)*9e4%9e2),a.ar(1/9)/9).tanh}, target:target)//#SuperCollider 1571 | }, 1572 | 1573 | //--tweet0264 1574 | { 1575 | arg target; 1576 | var a, b, c, d, o, x, z; 1577 | play({a=Saw;GVerb.ar(a.ar(25*b=(8..2))).mean.lag2(c=LFSaw.ar(a.ar([33,99])+2)+1/99)+mean(a.ar(8/b,a.ar(b))|a.ar(c+2)).sin/3}, target:target)//#SuperCollider 1578 | }, 1579 | 1580 | //--tweet0265 1581 | { 1582 | arg target; 1583 | var a, b, c, d, o, x, z; 1584 | play({a=LFTri;Splay.ar(a.ar(1/99)*sin(LPF.ar(Pulse.ar(2,a.ar(b=a.ar(1e-4)+1/(8..2))),500,a.ar(b/3)+1*8))%sin(a.ar(4))).tanh}, target:target)//#SuperCollider 1585 | }, 1586 | 1587 | //--tweet0266 1588 | { 1589 | arg target; 1590 | var a, b, c, d, o, x, z; 1591 | play({a=SinOsc;(d=Splay.ar(a.ar(c=a.ar(b=(1..6)/2).div(4/b)+(e=a.ar(b/99)*2+3).round*99)).sin)+a.ar(c*1.5,e/d,0.7/e).mean/2}, target:target)//#SuperCollider 1592 | }, 1593 | 1594 | //--tweet0267 1595 | { 1596 | arg target; 1597 | var a, b, c, d, o, x, z; 1598 | play({a=Blip;z=sum(a.ar(b=9/(1..9),303)*a.ar(b/5-4,2.5));{|i|z=z+AllpassC.ar(z,1,i+1/b/9,a.ar(b/9,2),b/9)}!9;Splay ar:z.sin}, target:target)//#SuperCollider 1599 | }, 1600 | 1601 | //--tweet0268 1602 | { 1603 | arg target; 1604 | var a, b, c, d, o, x, z; 1605 | play({a=LFSaw;Splay.ar((c=Resonz.ar(a.ar(50.1/b=1/(1..8)),500*d=2**a.ar(b/9),a.ar(-4*b)%1))+PitchShift.ar(c,b,d round:b))/2}, target:target)//#SuperCollider 1606 | }, 1607 | 1608 | //--tweet0269 1609 | { 1610 | arg target; 1611 | var a, b, c, d, o, x, z; 1612 | play({a=SinOsc;b=a.ar(5/(1..5)).ceil.lag(c=a.ar(5e-3)%0.05);Splay.ar(a.ar(5**b*((5..1)*50),c*b*5555,1+a.ar(1/50+c)-b)).tanh}, target:target)//#SuperCollider 1613 | }, 1614 | 1615 | //--tweet0270 1616 | { 1617 | arg target; 1618 | var a, b, c, d, o, x, z; 1619 | play({a=SinOscFB;AllpassN.ar(a.ar(98.5+c=(Amplitude.ar(d=InFeedback.ar)c=a.ar(1.1/b),b*99,c%0.5+0.5))/2,9)}, target:target)//#SuperCollider 1634 | }, 1635 | 1636 | //--tweet0273 1637 | { 1638 | arg target; 1639 | var a, b, c, d, o, x, z; 1640 | play({a=SinOsc;HPF.ar((c=Splay.ar(a.ar(b=(19..-9)*50.01)*(1.2**a.ar((1..5)*3/4*(a.ar(1/b).floor*3+1)))&b)%1)+a.ar(9/c),9)/3}, target:target)//#SuperCollider 1641 | }, 1642 | 1643 | //--tweet0274 1644 | { 1645 | arg target; 1646 | var a, b, c, d, o, x, z; 1647 | play({a=SinOsc;Splay ar:a.ar(Duty.ar(b=1/[1,8,2],0,Dseq(' #SuperCollider '.ascii.pyramid*9**1.0595/2,inf)),a.ar(b)*lag(a.ar(0-b)<0.9)*5e3)/3}, target:target) 1648 | }, 1649 | 1650 | //--tweet0275 1651 | { 1652 | arg target; 1653 | var a, b, c, d, o, x, z; 1654 | play({a=SinOsc;CombN.ar(a.ar(a.ar(a.ar(1/[2,3])<0+1)**a.ar(1+a.ar(1+a.ar(1/6)*99)*666).lag(a.ar([1.55,1])%1)*99),1,0.9,3)/3}, target:target)//#SuperCollider 1655 | }, 1656 | 1657 | //--tweet0276 1658 | { 1659 | arg target; 1660 | var a, b, c, d, o, x, z; 1661 | play({a=LFSaw;VOsc3.ar({|i|Buffer.alloc(s,1024).sine1(i+c=(3..1))}!2@0,*c+round(d=a.ar([2,[3,1]]))*(a.ar(d*5)>0)/2*99).tanh}, target:target)//#SuperCollider 1662 | }, 1663 | 1664 | //--tweet0277 1665 | { 1666 | arg target; 1667 | var a, b, c, d, o, x, z; 1668 | play({a=LFTri;Splay.ar(Blip.ar([60,65,53,67,80].midicps,(b=(1..5))**ModDif.ar(a.ar(1),a.ar(2),a.ar(4))*a.ar(1/b/9)*9)).tanh}, target:target)//#SuperCollider 1669 | }, 1670 | 1671 | //--tweet0278 1672 | { 1673 | arg target; 1674 | var a, b, c, d, o, x, z; 1675 | play({a=LFSaw;Splay ar:RLPF.ar(a.ar(a.ar(b=1/2**(2..6))>0*3+15/b),pi**a.ar(a.ar(b)+1*b)*999+(a.ar(a.ar(b*9)*9)*99)/2,0.2)/5}, target:target)//#SuperCollider 1676 | }, 1677 | 1678 | //--tweet0279 1679 | { 1680 | arg target; 1681 | var a, b, c, d, o, x, z; 1682 | play({a=LFSaw;Splay ar:a.ar(CombN ar:DegreeToKey.ar(as(b=[1,3,6,8,10],LocalBuf),a.ar(a.ar(1/b/99)/pi)*12+18+b).midicps)*0.6}, target:target)//#SuperCollider 1683 | }, 1684 | 1685 | //--tweet0280 1686 | { 1687 | arg target; 1688 | var a, b, c, d, o, x, z; 1689 | play({a=LFTri;Splay.ar(FBSineC.ar(2**a.ar(pi/b=7.fib).ceil*99*(2**b)%((c=a.ar(b/99)+1)*4e3),c+0.1,a.ar(1/b/20)+1,1.02,7)/3)}, target:target)//#SuperCollider 1690 | }, 1691 | 1692 | //--tweet0281 1693 | { 1694 | arg target; 1695 | var a, b, c, d, o, x, z; 1696 | play({a=LFCub;Splay.ar(a.ar(b=2/(2..9))%a.ar(b/5)*a.ar(2**a.ar(b/8)>0+1*2*(b*[300,303]-(a.ar(b/9)>0*50).lag2))*a.ar(b/6,b))}, target:target)//#SuperCollider 1697 | }, 1698 | 1699 | //--tweet0282 1700 | { 1701 | arg target; 1702 | var a, b, c, d, o, x, z; 1703 | play({a=SinOscFB;Splay.ar(AllpassN.ar(a.ar(999*b=1/(a.ar(1/(4..9))>0*[1,4,2,3]+4),a.ar(a.ar(b)>0,b,b)%1).tanh/2,1,b.lag,4))}, target:target)//#SuperCollider 1704 | }, 1705 | 1706 | //--tweet0283 1707 | { 1708 | arg target; 1709 | var a, b, c, d, o, x, z; 1710 | play({a=SinOscFB;Splay.ar(a.ar(a.ar(b=1/(2..6),1)0*99),99,0.3).tanh*0.6}, target:target)//#SuperCollider 1718 | }, 1719 | 1720 | //--tweet0285 1721 | { 1722 | arg target; 1723 | var a, b, c, d, o, x, z; 1724 | play({a=LFSaw;a.ar((b=a.ar(1/3))+1**a.ar(b)*(99+c=[0,1]))%a.ar(b*99,c)%a.ar(1/32)+a.ar(a.ar(b)*4e4%2e3,0,a.ar(6,c)>0.9/2)/2}, target:target)//#SuperCollider 1725 | }, 1726 | 1727 | //--tweet0286 1728 | { 1729 | arg target; 1730 | var a, b, c, d, o, x, z; 1731 | play({a=Blip;GVerb.ar(HPF.ar(a.ar(a.ar(1/4,8).ceil+1*[99,9])*a.ar(1.01,ceil(2**a.ar(1/16)*4))>(a.ar(1/128)/4),9)/9,9,2,0.9)}, target:target)//#SuperCollider 1732 | }, 1733 | 1734 | //--tweet0287 1735 | { 1736 | arg target; 1737 | var a, b, c, d, o, x, z; 1738 | play({a=LFSaw;HPF.ar(Splay.ar(Saw.ar(midicps(':>AEH.'.ascii-ceil(2**a.ar((1..5)/32))))%a.ar(1!2++6)%a.ar(2,[1,2]/8,2)),9)/2}, target:target) 1739 | }, 1740 | 1741 | //--tweet0288 1742 | { 1743 | arg target; 1744 | var a, b, c, d, o, x, z; 1745 | play({a=SinOscFB;Splay.ar(a.ar(SelectX.ar(a.ar(0.1)%(a.ar(b=(1..4)))*(c=b+8),DC ar:':.UODD.Ed'.ascii.midicps),a.ar(1/c)))/2}, target:target)//#SuperCollider 1746 | }, 1747 | 1748 | //--tweet0289 1749 | { 1750 | arg target; 1751 | var a, b, c, d, o, x, z; 1752 | play({GVerb.ar(sum(SinOscFB.ar(33*b=(1..50),lagud(t=Impulse.ar(b/49),5e-3,0.2)*99,t.lagud(7e-3,1))),299,9,0.01,0.5,6,1,1,1)}, target:target)//#SuperCollider 1753 | }, 1754 | 1755 | //--tweet0290 1756 | { 1757 | arg target; 1758 | var a, b, c, d, o, x, z; 1759 | play({a=SinOsc;AllpassC.ar(a.ar(b=[99,98],c=a.ar(12))+a.ar(c>0*8*b,0,a.ar(1/b)),1,a.ar(1/[3,4])%1,8,a.ar(1/64,[0,1])*3).sin}, target:target)//#SuperCollider 1760 | }, 1761 | 1762 | //--tweet0291 1763 | { 1764 | arg target; 1765 | var a, b, c, d, o, x, z; 1766 | play({a=LFSaw;Pluck.ar(a.ar(a.ar(1/16)+2*99,0,a.ar([2,3]/4)*6).sin,a.ar([6,4])%a.ar([4,6]),1,a.ar(5/[4,6])%(1/[2,3]),2)/9%1}, target:target)//#SuperCollider 1767 | }, 1768 | 1769 | //--tweet0292 1770 | { 1771 | arg target; 1772 | var a, b, c, d, o, x, z; 1773 | play({a=Saw;RecordBuf.ar(a.ar(d=[2,4,8,3,6])%a.ar(9)/6,b=LocalBuf(3e3,5).clear);Splay.ar(Shaper.ar(b,a.ar(d*32+a.ar(d/8))))}, target:target)//#SuperCollider 1774 | }, 1775 | 1776 | //--tweet0294 1777 | { 1778 | arg target; 1779 | var a, b, c, d, o, x, z; 1780 | play({a=SinOsc;Mix(a.ar({|x|a.ar(x+1/[6,8]).round/2+1*99*{|x|Duty.kr(1/x,0,Dseq(fib(x+1)-1,inf))}.(x+2).lag(0.02)}!8)).tanh}, target:target)//#SuperCollider 1781 | }, 1782 | 1783 | //--tweet0295 1784 | { 1785 | arg target; 1786 | var a, b, c, d, o, x, z; 1787 | play({a=SinOsc;AllpassC.ar(HPF.ar(reduce(a.ar([600,500,99,50,8/3])*a.ar(0.1/(9..5)),\hypot)/2,9),1,a.ar(1/[80,90])/3+0.5,5)}, target:target)//#SuperCollider 1788 | }, 1789 | 1790 | //--tweet0296 1791 | { 1792 | arg target; 1793 | var a, b, c, d, o, x, z; 1794 | play({a=SinOscFB;HPF.ar(CombN.ar(a.ar(sum({|i|a.ar(2**(1/8)**i,i/8,a.ar(i+8/8))>a.ar(i+[2,3]/88)}!8)*88,a.ar(1/18,1))),8)/3}, target:target)//#SuperCollider 1795 | }, 1796 | 1797 | //--tweet0297 1798 | { 1799 | arg target; 1800 | var a, b, c, d, o, x, z; 1801 | play({a=SinOscFB;Splay.ar({|i|a.ar(1+(c=a.ar(i+1/[6,4])/(a.ar(1/[8,9])+1.5))**i+i*99,d=c%DelayN.ar(c),d.lag3(c%1/99))}!4)/3}, target:target)//#SuperCollider 1802 | }, 1803 | 1804 | //--tweet0298 1805 | { 1806 | arg target; 1807 | var a, b, c, d, o, x, z; 1808 | play({b=XFade2;a=SinOscFB;a.ar(b.ar(a.ar(1).ceil*36,a.ar(2).round*2+4*12,a.ar(1/[4,12]))+8*4,c=a.ar([2,3])%1,c*a.ar(1,1/3))}, target:target)//#SuperCollider 1809 | }, 1810 | 1811 | //--tweet0299 1812 | { 1813 | arg target; 1814 | var a, b, c, d, o, x, z; 1815 | play({a=LFSaw;b=Formant;b.ar(round(a.ar(1/16),c=3**a.ar([2,3],[0,1]))+3*33*ceil(c),3**c.lag*66,3**c*99)*b.ar(c+3,1-c*3e3)/4}, target:target)//#SuperCollider 1816 | }, 1817 | 1818 | //--tweet0300 1819 | { 1820 | arg target; 1821 | var a, b, c, d, o, x, z; 1822 | play({a=LFSaw;b=Formant;b.ar(round(a.ar(1/16),c=3**a.ar([2,3],[0,1]))+3*33*ceil(c),3**c.lag*66,3**c*99)+b.ar(c+3,1-c*3e3)/4}, target:target)//#SuperCollider 1823 | }, 1824 | 1825 | //--tweet0301 1826 | { 1827 | arg target; 1828 | var a, b, c, d, o, x, z; 1829 | play({a=SinOsc;Splay ar:CombN.ar(a.ar(Out.kr(0,b={|i|Duty.kr(i+1/9,0,In.kr(i+1%4)+Dseq(8.fib,inf)%9)}!4);b*99,b*2),1,1/3)/2}, target:target)//#SuperCollider 1830 | }, 1831 | 1832 | //--tweet0302 1833 | { 1834 | arg target; 1835 | var a, b, c, d, o, x, z; 1836 | play({a=SinOsc;b=Spring;c=a.ar((4..2)/64)%1;CombN ar:a.ar(0,b.ar(b.ar(b.ar(a.ar([2,3])>0,4,c@0/4),9,c@1/3),24,c@2/3)*9)*0.7}, target:target)//#SuperCollider 1837 | }, 1838 | 1839 | //--tweet0303 1840 | { 1841 | arg target; 1842 | var a, b, c, d, o, x, z; 1843 | play({a=SinOscFB;LocalOut kr:d=a.ar(Duty.kr(LocalIn kr:8,a.kr(1/16,1),Dseq((1..8)*50,inf)),a.kr(1/(1..8))+1/2);Splay ar:d/2}, target:target)//#SuperCollider 1844 | }, 1845 | 1846 | //--tweet0304 1847 | { 1848 | arg target; 1849 | var a, b, c, d, o, x, z; 1850 | play({a=SinOsc;GVerb.ar(sum(RHPF.ar(a.ar(3.5-b=(8..2),a.ar(4/b)*99)>0*a.ar(b*99)*(9-b),a.ar(1/b/2)+2*666,0.4)).tanh/5,99,2)}, target:target)//#SuperCollider 1851 | }, 1852 | 1853 | //--tweet0305 1854 | { 1855 | arg target; 1856 | var a, b, c, d, o, x, z; 1857 | play({a=SinOsc;Splay ar:a.ar(Duty.ar(1/b=(2..6),0,Dseq(a.ar(0.1)>0*b+ceil(b*a.ar(3/b))%14*99,inf)),b*b*tanh(a.ar(4/b)*9)|1)}, target:target)//#SuperCollider 1858 | }, 1859 | 1860 | //--tweet0306 1861 | { 1862 | arg target; 1863 | var a, b, c, d, o, x, z; 1864 | play({HPF.ar(FreeVerb.ar({|i|SinOsc.ar(Duty.ar(i+1/9,0,Dseq((1..8).stutter(32),inf)*Dseq(8.fib,inf)*99))}!2,0.2,1,0.2),9)/2}, target:target)//#SuperCollider 1865 | }, 1866 | 1867 | //--tweet0307 1868 | { 1869 | arg target; 1870 | var a, b, c, d, o, x, z; 1871 | play({CombN.ar(Blip.ar(Duty.ar(1/[9,8],0,Dseq(\AVVVF.ascii.midicps,inf)/a=2+Blip.ar(3/[8,9],2).round),c=a**a.lag,c+5)).tanh}, target:target)//#SuperCollider 1872 | }, 1873 | 1874 | //--tweet0308 1875 | { 1876 | arg target; 1877 | var a, b, c, d, o, x, z; 1878 | play({FreqShift.ar(a=Splay.ar(Formlet.ar(Blip.ar(Blip.ar(Blip.ar(2.01,3)>0,b=(1..9))+1,b/8)+2*99,b*50,0.01).tanh),0.01)+a/7}, target:target)//#SuperCollider 1879 | }, 1880 | 1881 | //--tweet0309 1882 | { 1883 | arg target; 1884 | var a, b, c, d, o, x, z; 1885 | play({a=SinOscFB;GVerb.ar(mean(FreqShift.ar(c=a.ar(a.ar(a.ar(99/b=(1..9),1),1/b)+b*50,1),1/b)+c)/3,200,3,0.5,0.5,9,1,0.7,1)}, target:target)//#SuperCollider 1886 | }, 1887 | 1888 | //--tweet0310 1889 | { 1890 | arg target; 1891 | var a, b, c, d, o, x, z; 1892 | play({a=SinOscFB;LocalOut ar:c=a.ar(Duty.ar(Trig.ar(LocalIn ar:2,a.ar(b=1/[3,2])+11/2),0,Dseq((1..8),inf))*99,a.ar(b/12));c}, target:target)//#SuperCollider 1893 | }, 1894 | 1895 | //--tweet0311 1896 | { 1897 | arg target; 1898 | var a, b, c, d, o, x, z; 1899 | play({a=SinOscFB;AllpassC.ar(a.ar(a.ar(8)+3<0/2+2.5-b/99+(b*a.ar(b,1)>(c=3e-3)/2),2,a.ar(c*b,0.4))/12}, target:target)//#SuperCollider 1907 | }, 1908 | 1909 | //--tweet0313 1910 | { 1911 | arg target; 1912 | var a, b, c, d, o, x, z; 1913 | play({a=LFTri;CombN.ar(a.ar(Duty.ar(c=[4,2]/(a.ar([4,1])>0*4+4),0,Dseries()%a.ar(c,c,42)+1*99).lag3(0.025).max(0)),2,2,4)/2}, target:target)//#SuperCollider 1914 | }, 1915 | 1916 | //--tweet0314 1917 | { 1918 | arg target; 1919 | var a, b, c, d, o, x, z; 1920 | play({a=SinOscFB;b=AllpassC;b.ar(b.ar(a.ar(a.ar(0.1)<0/2+1*[99,98],a.ar(3e-3)+1/2),2,a.ar(0.9)/2+1,9),2,a.ar(0.91)/2+1,9)/4}, target:target)//#SuperCollider 1921 | }, 1922 | 1923 | //--tweet0315 1924 | { 1925 | arg target; 1926 | var a, b, c, d, o, x, z; 1927 | play({a=Blip;b=(1..8);Splay.ar(a.ar(a.ar(3.125,b)+a.ar(b/2.45,b)+1*a.ar(8/b,50)+1*99,a.ar(b/pi,b)+b-a.ar(1/4/b,2,4)).sin/2)}, target:target)//#SuperCollider 1928 | }, 1929 | 1930 | //--tweet0316 1931 | { 1932 | arg target; 1933 | var a, b, c, d, o, x, z; 1934 | play({a=LFSaw;Formlet.ar(Formlet.ar(a.ar(a.ar(c=a.ar([1,2]/32)<0+1)>0+c.lag(c)*99),0,a.ar(3-c/[4,3])+1).sin,99,0,0.01).tanh}, target:target)//#SuperCollider 1935 | }, 1936 | 1937 | //--tweet0317 1938 | { 1939 | arg target; 1940 | var a, b, c, d, o, x, z; 1941 | play({a=VarSaw;Splay ar:a.ar(Select.ar(a.ar(2.01/b=[0,3,7,5,2,9,10]+0.2)*8,(c=a.ar(0.5/b))>0*12+b+48).midicps,0,c%1).tanh/2}, target:target)//#SuperCollider 1942 | }, 1943 | 1944 | //--tweet0318 1945 | { 1946 | arg target; 1947 | var a, b, c, d, o, x, z; 1948 | play({a=SinOscFB;Splay.ar(a.ar(13*13*b=(1..3),1/3)*a.ar(b/13,1)/13+a.ar(a.ar(1/(13..3))+133*b,a.ar(b/333,a.ar(b,1)%1)%1))/3}, target:target)//#SuperCollider 1949 | }, 1950 | 1951 | //--tweet0319 1952 | { 1953 | arg target; 1954 | var a, b, c, d, o, x, z; 1955 | play({a=SinOscFB;Splay ar:a.ar(collect(b=(1..8),{|x,i|[x,i+6/6e3+x]})*60,c=a.ar(b/16/16.16)%1,a.ar([3,6],1,c.lag/3).max(0))}, target:target)//#SuperCollider 1956 | }, 1957 | 1958 | //--tweet0320 1959 | { 1960 | arg target; 1961 | var a, b, c, d, o, x, z; 1962 | play({a=VarSaw;Splay ar:CombC.ar(a.ar(a.ar(1/b=[2,4,9,3]*9)>0+3*b,0,lag(a.ar(b/2e3)+1/2,1)),1.1,round(a.ar(8/b)%1)+0.1,8)/3}, target:target)//#SuperCollider 1963 | }, 1964 | 1965 | //--tweet0321 1966 | { 1967 | arg target; 1968 | var a, b, c, d, o, x, z; 1969 | play({a=SinOsc;c=a.ar(b=(1..6)*60,LocalIn.ar(6)*3);LocalOut.ar(Limiter.ar(BPF.ar(c,a.ar(16/b)+3*b),0.66,16/b));Splay ar:c/2}, target:target)//#SuperCollider 1970 | }, 1971 | 1972 | //--tweet0322 1973 | { 1974 | arg target; 1975 | var a, b, c, d, o, x, z; 1976 | play({a=SinOscFB;Splay ar:a.ar(midicps(c=a.ar(12.fib/round(a.ar(1/[2,4])%1+0.125),1)>0*[9,2,3,0,7,5]+55),a.ar(c/999)+1/2)/3}, target:target)//#SuperCollider 1977 | }, 1978 | 1979 | //--tweet0323 1980 | { 1981 | arg target; 1982 | var a, b, c, d, o, x, z; 1983 | play({a=SinOsc;Splay ar:a.ar(b=(1..7)/7,a.ar(b/77)+1*7**a.ar(777*b,77**a.ar(b+a.ar(b/77,a.ar(b)/7,77*a.ar(b/77,b,b*7)))))/2}, target:target)//#SuperCollider 1984 | }, 1985 | 1986 | //--tweet0324 1987 | { 1988 | arg target; 1989 | var a, b, c, d, o, x, z; 1990 | play({Splay ar:HPF.ar(BLowPass.ar(LFTri ar:c=[1,3,5,6],Duty.ar(c+1/16,0,Dseq(LFTri.ar(1/c/8)>0*3+c*99,inf)),1e-3)/12,9).sin}, target:target)//#SuperCollider 1991 | }, 1992 | 1993 | //--tweet0325 1994 | { 1995 | arg target; 1996 | var a, b, c, d, o, x, z; 1997 | play({a=SinOscFB;Out.kr(8,c=a.ar(1/4)>0*a.ar(3/4,1,99,199).round(20)+DelayN.ar(In kr:[9,8],2,2)%[72,64]);a.ar(c**2,c.lag%1)}, target:target)//#SuperCollider 1998 | }, 1999 | 2000 | //--tweet0326 2001 | { 2002 | arg target; 2003 | var a, b, c, d, o, x, z; 2004 | play({a=LFTri;Splay ar:CombC.ar(a.ar(2**a.ar(1/6**(1..6))*99)*Decay.ar(HPZ1.ar(a.ar(#[2,3])<0),c=a.ar(98)%1/3),2,c.lag+1,6)}, target:target)//#SuperCollider 2005 | }, 2006 | 2007 | //--tweet0327 2008 | { 2009 | arg target; 2010 | var a, b, c, d, o, x, z; 2011 | play({a=SinOsc;a.ar(0,a.ar(99,9**a.ar(1/8,lagud(a.ar(1/[2,12])<0*2**a.ar(a.ar(3)>0*150),1/50,1/5)*5))+a.ar(1/[6,7]),3).tanh}, target:target)//#SuperCollider 2012 | }, 2013 | 2014 | //--tweet0328 2015 | { 2016 | arg target; 2017 | var a, b, c, d, o, x, z; 2018 | play({a=SinOsc;Splay ar:a.ar(Slope.ar(SinOscFB.ar((5..1)/2**a.ar(1/(5..9)+1,99*c=a.ar(1/(9..5))).round(1.005)*99,c+1/2)))/2}, target:target)//#SuperCollider 2019 | }, 2020 | 2021 | //--tweet0329 2022 | { 2023 | arg target; 2024 | var a, b, c, d, o, x, z; 2025 | play({a=SinOsc;LocalOut ar:c=a.ar(99,LocalIn.ar(9)*a.ar((1..9)/99-98,0,a.ar(97/round(a.ar(1/32)+2.2).lag)*pi));Splay ar:c/2}, target:target)//#SuperCollider 2026 | }, 2027 | 2028 | //--tweet0330 2029 | { 2030 | arg target; 2031 | var a, b, c, d, o, x, z; 2032 | play({a=SinOsc;GVerb.ar(FreqShift.ar(c=a.ar([2,3]/8)%0.5,a.ar(1/[9,5]).round(c>0.125)+1*[3,2]*99).tanh/2,200,9,1,1,9,1,0.1)}, target:target)//#SuperCollider 2033 | }, 2034 | 2035 | //--tweet0331 2036 | { 2037 | arg target; 2038 | var a, b, c, d, o, x, z; 2039 | play({Ringz.ar(c=Spring.ar(TDuty ar:Dseq(b=[3,3,2,2,2,1,2,2,2]/3,inf))/9,50*Duty.ar(c+1/[6,3],0,Dseq(c.lag>0+[2,4]/b,inf)))}, target:target)//#SuperCollider 2040 | }, 2041 | 2042 | //--tweet0332 2043 | { 2044 | arg target; 2045 | var a, b, c, d, o, x, z; 2046 | play({a=SinOscFB;AllpassN.ar(a.ar(2**(a.ar([4,3])>0)*(a.ar(1/16)>0+2*(a.ar(1/[32,48])>0*20+99)),a.ar(1/63.9)+2/3),3,3,60)/3}, target:target)//#SuperCollider 2047 | }, 2048 | 2049 | //--tweet0333 2050 | { 2051 | arg target; 2052 | var a, b, c, d, o, x, z; 2053 | play({a=SinOscFB;Splay.ar({|i|Formant.ar(a.ar(i+1/150).round+1+i*99+a.ar([3,2]),b=i+2*99,b,a.ar(i+1/130).max(0)).tanh}!8)/3}, target:target)//#SuperCollider 2054 | }, 2055 | 2056 | //--tweet0334 2057 | { 2058 | arg target; 2059 | var a, b, c, d, o, x, z; 2060 | play({a=SinOsc;b=(9..1)*4.0015;Splay ar:a.ar(0,a.ar(2/b)*3+4**a.ar(a.ar(b/8)/2+(a.ar(1/33)>0+8*b))*6,4**a.ar(1/b,b)).tanh/2}, target:target)//#SuperCollider 2061 | }, 2062 | 2063 | //--tweet0335 2064 | { 2065 | arg target; 2066 | var a, b, c, d, o, x, z; 2067 | play({a=LFSaw;tanh(GrainFM.ar(1,a.ar([0.5,0.6]),16,a.ar(5)*a.ar(0.015)+1*98,round(2**a.ar(4),0.5)*99,2**a.ar(1/[8,9])*8)/2)}, target:target)//#SuperCollider 2068 | }, 2069 | 2070 | //--tweet0336 2071 | { 2072 | arg target; 2073 | var a, b, c, d, o, x, z; 2074 | play({RecordBuf.ar(BPF.ar(Saw.ar((d=LFSaw.ar(1/9))>0+1/3*99)+c=GrainBuf.ar(2,d,24,b=LocalBuf(3e4).clear,-2),99,4).mean,b);c}, target:target)//#SuperCollider 2075 | }, 2076 | 2077 | //--tweet0337 2078 | { 2079 | arg target; 2080 | var a, b, c, d, o, x, z; 2081 | play({a=Formant;Splay.ar(a.ar(a.ar(b=(1..12)/8,b/3.5+80,999-b/9)+3*50,a.ar(b/3,2.5,5)>0+1*300,a.ar(b/5,2,3)>0*1200)/3).tanh}, target:target)//#SuperCollider 2082 | }, 2083 | 2084 | //--tweet0338 2085 | { 2086 | arg target; 2087 | var a, b, c, d, o, x, z; 2088 | play({a=Pulse;Splay.ar({|i|i=2**i;Formant.ar(*{|j|j+5.5**a.ar(j+0.75/i).lag(0.12)+a.ar(1.3/i,1/3)*99}!3)*a.ar(4/i)}!8).tanh}, target:target)//#SuperCollider 2089 | }, 2090 | 2091 | //--tweet0339 2092 | { 2093 | arg target; 2094 | var a, b, c, d, o, x, z; 2095 | play({a=LFSaw;Splay.ar(Formant.ar(*[2**round(a.ar(b=1/(1..12)),a.ar(8,b)<0/4+1),4**a.ar(b/12)+2,3**a.ar(b/4)*3]*99)/2).tanh}, target:target)//#SuperCollider 2096 | }, 2097 | 2098 | //--tweet0340 2099 | { 2100 | arg target; 2101 | var a, b, c, d, o, x, z; 2102 | play({a=SinOscFB;AllpassN ar:a.ar(midicps(Duty.ar(c=a.ar(1/[12,8])+3/24,0,Dseq([0,8,5,1,5,4,5]*round(c*18),inf))+60),c*2)/2}, target:target)//#SuperCollider 2103 | }, 2104 | 2105 | //--tweet0341 2106 | { 2107 | arg target; 2108 | var a, b, c, d, o, x, z; 2109 | play({a=LFTri;e=a.ar(2**a.ar(1/5)).round(a.ar(1/8)/3);GVerb.ar(HPF.ar(SinOsc.ar(e**[99,150],BPF.ar(e%1,500))/6,9),99,5,0.1)}, target:target)//#SuperCollider 2110 | }, 2111 | 2112 | //--tweet0342 2113 | { 2114 | arg target; 2115 | var a, b, c, d, o, x, z; 2116 | play({a=LFSaw;Splay ar:SinOscFB.ar(round(2**a.ar(b=(1..8)/128)*256,64),c=a.ar(b)%1,RLPF.ar(a.ar(1/b/32),500,1.01-c)).clip/2}, target:target)//#SuperCollider 2117 | }, 2118 | 2119 | //--tweet0343 2120 | { 2121 | arg target; 2122 | var a, b, c, d, o, x, z; 2123 | play({a=SinOscFB;Splay ar:a.ar(4**a.ar(b=0.01/(2..6))*99,c=a.ar(1-b*8,1/2)+1/2,Decay.ar(c>0.99512*a.ar(c+1/b),1/2)/22).tanh}, target:target)//#SuperCollider 2124 | }, 2125 | 2126 | //--tweet0344 2127 | { 2128 | arg target; 2129 | var a, b, c, d, o, x, z; 2130 | play({a=SinOsc;a.ar(RLPF.ar(a.ar(9+c=1.1**a.ar([6,8]),a.ar(c/9)%a.ar(a.ar(c/14)*999))>0.99*999,c/4+1*99,a.ar(c/9)/19+0.06))}, target:target)//#SuperCollider 2131 | }, 2132 | 2133 | //--tweet0345 2134 | { 2135 | arg target; 2136 | var a, b, c, d, o, x, z; 2137 | play({a=SinOscFB;Splay.ar({|i|a.ar(1+i).max(c=a.ar(8-i/8))*a.ar(a.ar(i-2.1)%a.ar(9,1)+(a.ar(1)>0/3+1.83)**i+99,c+1/4)}!8)/2}, target:target)//#SuperCollider 2138 | }, 2139 | 2140 | //--tweet0346 2141 | { 2142 | arg target; 2143 | var a, b, c, d, o, x, z; 2144 | play({a=SinOscFB;c=a.ar(1-a.ar(1/[3,2]).round(0.5)+InFeedback.ar(0,2));a.ar(2**a.ar(1-c).round(1-c)*400,c.abs,c.lag*c).tanh}, target:target)//#SuperCollider 2145 | }, 2146 | 2147 | //--tweet0347 2148 | { 2149 | arg target; 2150 | var a, b, c, d, o, x, z; 2151 | play({a=LFSaw;Splay.ar({|i|VarSaw.ar(round(a.ar(c=i/48)*a.ar(b=c/72)*8+9,i%9+1)*25+c,c,a.ar(3,i)+1/3,a.ar(b,i/pi)%1)/2}!30)}, target:target)//#SuperCollider 2152 | }, 2153 | 2154 | //--tweet0348 2155 | { 2156 | arg target; 2157 | var a, b, c, d, o, x, z; 2158 | play({a=VarSaw;Splay ar:AllpassC.ar(9**(c=a.ar(0.1/b=[9,4,3,6]/4)+1/9)*a.ar(round(a.ar(c/3)+b,b)*99,0,c),1,c+9/99,9).tanh/2}, target:target)//#SuperCollider 2159 | }, 2160 | 2161 | //--tweet0349 2162 | { 2163 | arg target; 2164 | var a, b, c, d, o, x, z; 2165 | play({a=SinOsc;b=Duty;c={Dseq([5,1,3,2],1/0)};a.ar(b.ar(e=1/[8,4],0,c.()*b.ar(e/4,0,c.()))*b.ar(1/e,0,c.()*28.8))*a.ar(e/9)}, target:target)//#SuperCollider 2166 | }, 2167 | 2168 | //--tweet0350 2169 | { 2170 | arg target; 2171 | var a, b, c, d, o, x, z; 2172 | play({a=LFSaw;Splay ar:CombN.ar(GVerb.ar(a.ar(a.ar(b=(9..1)/99,b)+1*99,b,a.ar(a.ar(b)>b)>0.9),99,1,b*9,b)/19,1,b/9.9,9,0.9)}, target:target)//#SuperCollider 2173 | }, 2174 | 2175 | //--tweet0351 2176 | { 2177 | arg target; 2178 | var a, b, c, d, o, x, z; 2179 | play({LocalOut.ar(b=HPF.ar(Saw.ar([50,99],9e3**lag(Saw.ar([9,8])+LocalIn.ar(2),LFTri.ar(1/[19,18])/19+0.09)).cos,9));b.tanh}, target:target)//#SuperCollider 2180 | }, 2181 | 2182 | //--tweet0352 2183 | { 2184 | arg target; 2185 | var a, b, c, d, o, x, z; 2186 | play({a=SinOsc;c=a.ar(999**(a.ar(3)*a.ar([3,1]/8)%1),a.ar(0.03,a.ar(98)*a.ar(0.02,[0,1],3),4));c+a.ar(99,c*a.ar(0.01)*12)/3}, target:target)//#SuperCollider 2187 | }, 2188 | 2189 | //--tweet0353 2190 | { 2191 | arg target; 2192 | var a, b, c, d, o, x, z; 2193 | play({a=LFSaw;sum({|i|AllpassN.ar(RHPF.ar(Saw.ar(a.ar(1/[99,100]).round(1/8)**2*8),2**i*[99,50],0.01),1,i+1/9,9)/9}!8).tanh}, target:target)//#SuperCollider 2194 | }, 2195 | 2196 | //--tweet0354 2197 | { 2198 | arg target; 2199 | var a, b, c, d, o, x, z; 2200 | play({a=LFTri;c=Klank.ar(`[[12,4,3,9,10]*2*99],a.ar(5*b=[1,9/8]),b)*d=a.ar(b/8);a.ar(b*2).sum<0*SinOscFB.ar(b*99,d+1/2)+c/2}, target:target)//#SuperCollider 2201 | }, 2202 | 2203 | //--tweet0355 2204 | { 2205 | arg target; 2206 | var a, b, c, d, o, x, z; 2207 | play({a=LFSaw;Splay.ar(MoogFF.ar(a.ar(a.ar(9,2/b=(1..9)))>0.05*GrayNoise.ar(999)*a.ar,2**a.ar(b/3.55).round*b*99,3.5)).tanh}, target:target)//#SuperCollider 2208 | }, 2209 | 2210 | //--tweet0356 2211 | { 2212 | arg target; 2213 | var a, b, c, d, o, x, z; 2214 | play({a=LFTri;Splay ar:BHiPass4.ar(BLowPass4.ar(a.ar(b=[4,16,3])*a.ar(b*b),8**a.ar(b/50).round*99),3**a.ar(1/b)*99,0.1).sin}, target:target)//#SuperCollider 2215 | }, 2216 | 2217 | //--tweet0357 2218 | { 2219 | arg target; 2220 | var a, b, c, d, o, x, z; 2221 | play({a=VarSaw;HPF.ar(BLowPass4.ar(a.gar((a.ar([7,6])<0+b=a.ar(c=1/[31,23]))>1+1*99,0,1-b/2)%b,4**a.ar(c)*666,0.08).sin/2,9)}, target:target)//#SuperCollider 2222 | }, 2223 | 2224 | //--tweet0358 2225 | { 2226 | arg target; 2227 | var a, b, c, d, o, x, z; 2228 | play({a=LFTri;Splay ar:Pulse.ar(fold((2..5)/(a.ar(0.1)>0+2)**a.ar(b=a.ar(2/(9..7))).ceil.lag*99*[3,1,8,2,4],9,999),2-b/5)/2}, target:target)//#SuperCollider 2229 | }, 2230 | 2231 | //--tweet0359 2232 | { 2233 | arg target; 2234 | var a, b, c, d, o, x, z; 2235 | play({a=LFTri;Splay ar:Pulse.ar(wrap((1..4)/(a.ar(2/3)<0+3)**a.ar(b=a.ar(1/[4,3])).ceil.lag*99*[2,3,4,8,1],20,1e3),2-b/3)%1}, target:target)//#SuperCollider 2236 | } 2237 | 2238 | 2239 | ] 2240 | } 2241 | } 2242 | */ --------------------------------------------------------------------------------