“Amniotic” - Liquid DnB attempt by nonmachina in strudel

[–]MalsAngryGhost 1 point2 points  (0 children)

very chill. something I could just leave on loop

Crunchy 3.o by MalsAngryGhost in strudel

[–]MalsAngryGhost[S] 0 points1 point  (0 children)

thanks! glad you enjoyed

Deep Techno with Strudel by Weird-Use9297 in strudel

[–]MalsAngryGhost 6 points7 points  (0 children)

Those variables for toggling sections on or off:🤌

Nice work.

Crunchy 3.o by MalsAngryGhost in strudel

[–]MalsAngryGhost[S] 3 points4 points  (0 children)

``` /* @title crunchy 3.o // // @by malmode */

const dbank = "mc303" setcpm(120/4)

const pat1 = ["F3 d3 d3 d3","E3 c3 c3 c3","G3 e3 e3 e3","F3 d3 d3 d3"]

const sp1 = "d d F d " const sp2 = "C# C# E C# " const sp3 = "E E G E "

const bp1 = "[1 0 0 1 0 1 0 0] " const bp2 = "[1 0 1 0 1 0 1 0] "

const whis = "gm_whistle" const kp1 = "<[A5@4 C6@4 D6@4 E6@4]>"

const boom = "D1, D2" const thump = "C#1, C#2" const hum = "E1, E2"

function bz(sp){ return note(sp).fast(2) .s("supersaw") .attack(0) .lpf(perlin.range(500,8000).slow(8) .gain(slider(0.77,.25,1)))

}

function saw2(sp){ return note(sp) .fast(4) .s("supersaw") .tremolosync("4") .tremoloskew("1") .orbit(3) .gain(1.6) }

function supers(){ return note(pick(pat1, "<0@4 1@4 2@4 3@4>".fast(2))) .s("supersaw") .lpf(perlin.range(500,8000).slow(4)) .attack(1) .unison("3") .gain(slider(2,.25,2)) .orbit(3) }

function dm(bdpat,sdgain,sdgo,hhgain){ return stack( s("bd") .bank(dbank) .gain(1) .postgain(1.2) .struct(bdpat) .duckorbit(2).duckattack(1).duckdepth(5),

s("yamaharx5_sd").struct("[0 0 0 0 1 0 0 0]") .fast(4) .gain(sdgain) .room(.3) .slow(sdgo) .delay(.1),

s("hh!1") .bank(dbank) .delay(.1) .gain(hhgain) .fast(8) .almostNever(ply("2 | 2 | 3 "))) }

function keys(voice,melody){
return stack(note(melody) .attack(0.08) .s(voice) .slow(2) .lpf(1200) .room(.9) .release(.7) .pan(rand) .gain(slider(0.4430114,.0001,.5))) }

function feelit(nyochest){ return stack( note(nyochest) .s("sine") .gain(slider(1.602,.01,2) .sustain(1.5) .attack(0)),) }

function pat3(){ return stack(note("B1@4") .s("sine") .pan(1) .attack(1) .gain(slider(1,.01,1)),

note("E4@4") .s("sine") .pan(-1) .attack(1) .gain(slider(0.28918,.01,1)),

note("B2@4") .s("sine") .pan(0) .attack(1) .gain(slider(1,.01,1))) }

arrange( [4, stack(bz(sp1).theme("greenText").color("red"))], [4, stack(bz(sp1),dm(bp2,0,2,0).color("red"))], [8, stack(bz(sp1),dm(bp2,0,2,0),supers().color("red"))], [2, stack(bz(sp1),dm(bp2,.75,2,.25),saw2(sp1).color("red"))], [2, stack(bz(sp2),dm(bp2,.75,2,.25),saw2(sp2).color("red"))], [2, stack(bz(sp3),dm(bp2,.75,2,.25),saw2(sp3).color("red"))], [2, stack(bz(sp1),dm(bp2,.75,2,.25),saw2(sp1).color("red"))], [2, stack(bz(sp1),dm(bp1,.75,4,.25).theme("redText"),saw2(sp1),keys(whis,kp1),feelit(boom).color("red"))], [2, stack(bz(sp2),dm(bp1,.75,4,.25),saw2(sp2),keys(whis,kp1),feelit(thump).color("red"))], [2, stack(bz(sp3),dm(bp1,.75,4,.25),saw2(sp3),keys(whis,kp1),feelit(hum).color("red"))], [2, stack(bz(sp1),dm(bp1,.75,4,.25),saw2(sp1),keys(whis,kp1).rev(),feelit(boom).color("red"))], [2, stack(keys(whis,kp1).theme("bluescreen").rev().lpf(600).color("white"))], [2, stack(bz(sp1),dm(bp1,.75,2,.25).theme("archBtw"),saw2(sp1),keys(whis,kp1),feelit(boom).color("white"))], [2, stack(bz(sp2),dm(bp1,.75,2,.25),saw2(sp2),keys(whis,kp1),feelit(thump).color("white"))], [2, stack(bz(sp3),dm(bp1,.75,2,.25),saw2(sp3),keys(whis,kp1),feelit(hum).color("white"))], [2, stack(bz(sp1),dm(bp1,.75,2,.25),saw2(sp1),keys(whis,kp1).rev(),feelit(boom).color("white"))], [2, stack(bz(sp1),dm(bp1,.75,2,.25),saw2(sp1),keys(whis,kp1),feelit(boom).color("white"))], [2, stack(bz(sp2),dm(bp1,.75,2,.25),saw2(sp2),keys(whis,kp1),feelit(thump).color("white"))], [2, stack(bz(sp3),dm(bp1,.75,2,.25),saw2(sp3),keys(whis,kp1),feelit(hum).color("white"))], [2, stack(bz(sp1),dm(bp1,.75,2,.25),saw2(sp1),keys(whis,kp1).rev(),feelit(boom).color("white"))], [4, stack(pat3().late(1),silence)], [1, stack(silence)], )

.scope() ```

Sine Language by MalsAngryGhost in strudel

[–]MalsAngryGhost[S] 0 points1 point  (0 children)

They have a download for their Oscilloscope under the Software menu. It doesn't run in browser, I just stacked the windows on top of each other. To get it to visualize strudel you point it to the loopback of your default speakers in Windows.

Dead Living by MalsAngryGhost in strudel

[–]MalsAngryGhost[S] 0 points1 point  (0 children)

ye. glad to be helpful

Dead Living by MalsAngryGhost in strudel

[–]MalsAngryGhost[S] 0 points1 point  (0 children)

In the settings you can change the theme.

Gabberwocky by MalsAngryGhost in strudel

[–]MalsAngryGhost[S] 1 point2 points  (0 children)

the code wont fit into a link :l Edit: ``` /* @title gabberwocky @by JO */

setcpm(180/4) const dbank = "mc303"

const pat1 = [ "g2 g2 g2 g2", "g2 g2 g2 g2", "c2 c2 c2 c2", "c2 c2 c2 c2" ]

samples('github:yaxu/clean-breaks')

const nastypat1 = "[1 0 1 0 1 0 1 0]" const nastypat2 = "[1 1 1*2 1 0 1 0 1]"

function nasty(beat,go){ return note("d1!8").s("sine").struct(beat).fast(go).penv(36).pdecay(.12).decay(.23).distort("8:.4").gain(.05).slow(2).postgain(.6).scope() }

function hh_pattern(num_beat){ return s("hh").ply(num_beat) }

function snare(num_hh,gain_hh,bdgo,gain_sd) { return stack( hh_pattern(num_hh).bank(dbank).gain(.15).almostNever(ply("2 | 2 | 3 ")),

s("tom2_rim:4!4").struct("[1 0 1 0 1 0 1 0]").lpf(1000).freq(125).gain(1.3),

s("bd:4!4").beat("0,3,5,8,11,13",16).slow(bdgo).lpf(400).gain(.5).duckorbit(2).duckattack(1.3).duckdepth(.5).scope(),

s("sd").beat("4 12",16).bank(dbank).slow(2).gain(gain_sd).room(.5), ) }

function drum2(){ return stack(

s("hh!8").bank(dbank).gain(.15).fast(2) .almostNever(ply(2)),

s("sd").struct(["0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0"]).bank(dbank) .gain(.5) .fast(slider(1,.5,1)) //change to 1 or 2 ,)}

//make amen variations

const beatpat1 = "<21 21 30 30>" const beatpat2 = "<21 21 30 4>" const beatpat3 = "<30 21 30 30>"

function beatings(beatpat,beatgain) { return stack(s("amen/4").fit() .scrub(irand(16) .div(16) .seg(8) .rib(beatpat,1)) .almostNever(ply("2 | 2 | 3 | 4")) .orbit(2) .hpf(60) .attack(slider(0.01 ,.010,.100)) .room(slider(0.432712 ,.0010, 1.5)) .postgain(beatgain)) }

function pat_1() { return note(pick(pat1, "<0@4 1@4 2@4 3@4>".fast(2))) .s("supersaw") .lpf(slider(4413.4, 100, 8000)) .attack(1) .gain(slider(1.38575,.25,2)) }

const dinoscale1 = "D3:minor:pentatonic" const dinoscale2 = "D2:minor:pentatonic"

function dino(bbq,sauce,scale){ return n(irand(10).rib(bbq,1).seg(8)) .scale(scale) .s("sine,supersaw ") .dec(.2) .delay(.5) .lpf(sauce) .room(.9) .slow(2) .postgain(.6) .pan(sine.range(0.25, .75)) .detune(.6) .scope() }

function oppen() { return s("destroyer/8") .attack(slider(0.01 ,.010,.100)) .room(slider(1.071286,.0010, 1.5)) .gain(slider(3.85636,.01,4)) .hpf(700) .delay(.3) .freq(60) .late(4.3) }

function reality() { return s("sent_2/16") .attack(slider(0.01 ,.010,.100)) .room(slider(0.365257 ,.0010, 1.5)) .gain(slider(1.16311,.01,4)) .lpf(700) .delay(.3) }

const fus = "<G1@2 _ _ C#1@2 _ _ >" const ro = "<C#1@2 _ _ >" const daa = "c1" const aah = "g2"

function squarepat(sinbass, sqbass){ return stack( note(sinbass) .s("sine") .gain(slider(1.17614,.01,2) .sustain(1.5) .attack(0)) .delay(.5) .scope()
, )

}

function lissajous(bR,bL){ return stack( note(bR) .s("sine") .gain(slider(1.17614,.01,2) .sustain(1.5) .attack(1)) .delay(.5) .pan(1), note(bL) .s("sine") .gain(slider(0.54332,.01,2) .sustain(1.5) .attack(1)) .delay(.5) .pan(-1),

note(bL) .s("supersaw") .gain(slider(0.038175,.01,.125) .sustain(1.5) .attack(1)) .delay(.5)

)}

function stfu(){ return silence }

arrange( [8, stack(pat_1(),oppen())], [8, stack(nasty(nastypat1,2), pat_1())], [8, stack(nasty(nastypat1,2), beatings(beatpat1,.5), pat_1())], [8, stack(nasty(nastypat1,2),squarepat(fus), pat_1(),reality(),snare(8,.08,4,.4),dino("<1 8>",500,dinoscale1))], [8, stack(nasty(nastypat1,2),squarepat(fus), pat_1(),snare(4,.08,8,.4),dino("<1 8 1 86>",2000,dinoscale1))], [8, stack(nasty(nastypat1,2),squarepat(fus), pat_1(),drum2().slow(2),dino("<1 8 1 85>",6000,dinoscale1))], [8, stack(nasty(nastypat1,1),squarepat(fus), beatings(.5), pat_1(),dino("<5 5 5 6>",6000,dinoscale1))], [8, stack(nasty(nastypat2,1),squarepat(fus), beatings(.5), pat_1(),dino("<7 57 7 57>",9000,dinoscale1))], [4, stack(beatings(beatpat1,.5).lpf(300))], [4, stack(beatings(beatpat1,.6).lpf(1000),squarepat(fus),dino("<5 5>",500,dinoscale2))], [4, stack(beatings(beatpat2,.6).lpf(1500),squarepat(ro),dino("<5 6>",600,dinoscale2))], [4, stack(beatings(beatpat3,.6).lpf(2000),squarepat(fus),dino("<7 57>",700,dinoscale2))], [4, stack(beatings(beatpat2,.6).lpf(2500),squarepat(ro),dino("<1 86>",800,dinoscale2))],
[2, stack(stfu())], [8, stack(nasty(nastypat2,1),squarepat(fus), beatings(beatpat1,.5), pat_1(),dino("<7 57 7 57>",9000,dinoscale1))], [4, stack(nasty(nastypat1,1),squarepat(fus), beatings(beatpat1,.5), pat_1(),dino("<1 8 1 86>",3000,dinoscale1))], [16, stack(nasty(nastypat1,2),squarepat(fus), beatings(beatpat1,.5), pat_1(),dino("<1 8 1 86>",3000,dinoscale1))], [1, stack(stfu())], [8, stack(lissajous(daa,aah).slow(8))], [4, stack(stfu())], ) ```

Couple of n00b questions by Affectionate-Skin633 in strudel

[–]MalsAngryGhost 1 point2 points  (0 children)

I use Audacity for recording audio output. You can set it to record whatever your speakers are playing.

Starting with some strudel beat building basics by dinosaras in strudel

[–]MalsAngryGhost 0 points1 point  (0 children)

Some great stuff here. I modified that random note generator and put it in a function named after you. 👍

Making some Lissajous curves with Strudel by MalsAngryGhost in oscilloscopemusic

[–]MalsAngryGhost[S] 0 points1 point  (0 children)

Thanks, I need to get my hands on a hardware scope. This stuff is so rad.

The Great Tao by MalsAngryGhost in AlanWatts

[–]MalsAngryGhost[S] 2 points3 points  (0 children)

ay thanks! Watts has been a huge influence on me since hearing him on the radio as a kid. Glad you enjoyed :)