```javascript setcps(60/60/4) $:stack( note("").sound("sine"), note("").sound("sine").gain(0.5), note("").sound("sine").gain(0.25), note("").sound("sine").gain(0.15), note("< >".late(1)).fast(2).sound("sine").gain(0.0625), ).postgain(0.4).delay(0.75).room(0.3).gain(0.3).fast(2) .fm(1).fmh(2) .lpf(sine.range(100,500).seg(4).slow(4)) .lpq(10) $:stack( note("").sound("sine"), note("").sound("sine").gain(0.5), note("").sound("sine").gain(0.25), note("").sound("sine").gain(0.15), note("< >".late(1)).fast(2).sound("sine").gain(0.0625), ).postgain(0.2).delay(0.75).room(0.3).gain(0.3) .penv(2) .lpf(sine.range(60,200).seg(14).fast(4)) .lpq(15) $:stack( note("").sound("sine"), note("").sound("sine").gain(0.5), note("").sound("sine").gain(0.25), note("").sound("sine").gain(0.15), note("< >".late(1)).fast(2).sound("sine").gain(0.0625), ).postgain(0.6).delay(0.75).room(0.3).gain(0.3) .lpenv(4) .lpf(sine.range(200,300).seg(10).fast(2)) .lpq(15) $:sound("pink").decay(0.1).hpf(800) ``` ```javascript setcps(60/60/4) const base = stack( note("").sound("sine"), note("").sound("sine").gain(0.5), note("").sound("sine").gain(0.25), note("").sound("sine").gain(0.15), note("< >".late(1)).fast(2).sound("sine").gain(0.0625), ).delay(0.75).room(0.3) $_:base.postgain(sine.range(0.1,0.5).slow(3)).fast(4).jux(rev) .fm(2).fmh(2) .lpf(sine.range(100,600).seg(5).slow(2)).lpq(15) $:base.postgain(0.2).fast(4).phaser(4) .penv(2) .lpf(tri.range(60,200).seg(14).fast(2)).lpq("<5 10 15 20 25>".fast(8)) $:base.postgain(0.2).fast(2).decay(16) .lpenv(2) .lpf(sine.range(200,400).seg(3).fast(8)).lpq(20) $_:base.postgain(0.2).decay("<1 8>").fast(2) .lpf(perlin.range(400,900).seg(5).slow(3)).lpq(25) all(x=>x._scope() ``` ```javascript setcps(60/60/4) const base = stack( note("").sound("tri"), note("").sound("tri").gain(0.5), note("").sound("tri").gain(0.25), note("").sound("tri").gain(0.15), note("< >".late(1)).fast(2).sound("tri").gain(0.0625), ).delay(0.75).room(0.3) $:base.postgain(0.2).fast(4).decay(0.5).transpose("<0 7 0 12>") .fm(2).fmh(2) .lpf(sine.range(300,600).slow(2)).lpq(15) $:base.postgain(0.2).fast(2).decay(1).jux(rev) .lpf(400).lpq("<5 10 15>").penv(1) $:base.postgain(0.2).fast(4).decay(2).lpenv(2) .lpf(sine.range(700,900).fast(7)).lpq(15) $:base.postgain(0.2).fast(1).decay(1) .lpf(perlin.range(100,800).fast(7)).lpq(20).phaser(2) all(x=>x._scope() ``` ```javascript setcps(60/60/4) const base = stack( stack( note("").sound("saw"), note("").sound("saw").gain(0.5), note("").sound("saw").gain(0.25), note("").sound("saw").gain(0.15) ).pan(sine.range(-0.4, 0.4).slow(8)), note("<[e5 c5] [c5 g5] [g5 d5] [d5 a5]>") .sometimes(x=>x.rev()) .fast(1.5).sound("sqr") .late("<1 1.25 0.75 1.125>") .early("<0 0.05 -0.05 0.02>") .gain(perlin.range(0.15,0.5).slow(4)).pan("-0.8|0.8") ) $:base .transpose("<0 2 7 5 12 0>".slow(2)) .lpf(tri.range(300,400)).lpq(10) .sometimesBy(0.4,x=>x.mask("0")) $:base.slow(2) .lpf(600).lpq(10).phaser(1.2).ply(4) .hpf(sine.range(80,120).slow(16)) .sometimesBy(0.2,x=>x.mask("0")) $:base.fast(1.5) .lpf(sine.range(200,300).slow(2)).lpq(15) .sometimesBy(0.3,x=>x.mask("0")) $:base.fast(4) .lpf(perlin.range(300,400).fast(16)).lpq(15) .sometimesBy(0.3,x=>x.mask("0")) all(x=>x.room(1/4).dist(0.05).postgain(1/4)) ``` ```javascripy setcps(120/60/4) const melodyPatterns = [ // クロマチック・アプローチ "[g4 g#4 a4] [e4 f4 g4] [f4 e4 f4] [f4 e4 b4]", // 7th、9thを強調 "[b4 d5] [g4 c5] [a4 c5] [f4 a4 d5]", // シンコペーション + ブルーノート "[~ g4 bb4] [e4 ~ g4] [f4 ab4] [~ f4 b4]", // 3連符でスウィング感 "[g4 b4 d5]/3 [e4 g4]/2 [f4 a4 c5]/3 [b4]/1", // ジャズ的アルペジオ "[g4 b4 d5 f#5] [e4 g4 c5] [f4 a4] [b4 d5 f4]", // 半音階的下降 "[b4 bb4 a4] [g4 f#4 g4] [f4 e4 eb4] [f4 g4 b4]", // 複雑なリズム + 9th "[g4*2 b4] [e4 ~ g4 c5] [f4/2 a4/2 d5] [f4 b4]", // モダンジャズ風 "~ [e4 bb4 d5] [f4 ~ a4] [b4 eb5 g4]" ] const base = stack( stack( note("c1 a1 d1 g1").sound("sine"), note("c2 a2 d2 g2").sound("sine").gain(0.5), note("g3 e3 f3 b3").sound("sine").gain(0.25), note("b3 g3 a3 f3").sound("sine").gain(0.15) ), note(chooseCycles("0","1","2","3","4","5","6","7").inhabit(melodyPatterns)) .fast(1.5).sound("sine") // ジャズ的なタイミング調整 .sometimesBy(0.3, x=>x.early(1/32)) // 微妙な前ノリ .sometimesBy(0.2, x=>x.late(1/32)) // 微妙な後ノリ ).dist(0.05) $:base .lpf(tri.range(600,900)) // 少し暗めの音色でジャズ感 .sometimesBy(0.15,x=>x.mask("0")) $:base.late(1/16) .lpf(tri.range(200,300)) .sometimesBy(0.125,x=>x.rev()) .someCyclesBy(0.20,x=>x.mask("0")) all(x=>x.room(1/4).postgain(1/4)) ```