Last active
November 7, 2025 11:41
-
-
Save RH2/50a2b46799cef019ef4ba98fc88109ff to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // @title ff chords | |
| // @by mestela | |
| // @DNB remix by Switch Angel | |
| setcpm(50/4) | |
| // define chords like Cm11/F as Cm11:F | |
| let chart = "< D13:D1 Am9:A1 E9sus:E1 G2:B1 >" | |
| // $drums: stack( | |
| // s("bd:1").beat("0,7?,10",4).duck("3:4:5"), | |
| // s("sd:2").beat("4,12",1), | |
| // s("hh:4").beat("1,2,5,6,9,11,13,14,15,2 ",1), | |
| // ).fast(2) | |
| let chords = chord(`<[G F D]>`) | |
| /////////////////////////////////////////////////////////// | |
| // $: n("<a@1 b@1 >" | |
| // .pickRestart({ | |
| // a: "[1,2,3] [1,4,7] -1 ".color("#aa11ff").lpf("<400 800>*8"), | |
| // b: "[1,2,3]*2 [1,4,7] -1 ".color("#dd228d").lpf(800), | |
| // c: "[[-1,2,8] 8!2 9 10*4 11 12 13 14 [-6,0,12]]/2".color("#c3668d").lpf(600), | |
| // d: "1 3 1".color("#ee448d").lpf(1200) | |
| // }) | |
| // ) | |
| // .add("<0 6>") | |
| // .set(chords) | |
| // .voicing() | |
| // .decay(2) | |
| // // .delay(.5) | |
| // .distort(3) | |
| // // .gain("0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8") | |
| // .gain(.2) | |
| // .s("ocarina_small_stacc") | |
| // .room(.1) | |
| // // .lpf(sine.segment(2).range(0,1000)) | |
| ._pianoroll() | |
| // $: n("<a@1 b@1 >" | |
| // .pickRestart({ | |
| // a: "[1,2,3]*4 [1 4,7]*2 -1 ".color("#aa11ff").lpf("<400 800>*8"), | |
| // b: "[1 2 3]*2 [1,4,7]*2 [6 3 2 1] ".color("#dd228d").lpf(800), | |
| // c: "[[-1,2,8] 8!2 9 10*4 11 12 13 14 [-6,0,12]]/2".color("#c3668d").lpf(600), | |
| // d: "1 3 1".color("#ee448d").lpf(1200) | |
| // }) | |
| // ) | |
| // .add("<0 6 1 1 2 3 4 8>") | |
| // .set(chords) | |
| // .voicing() | |
| // .decay(1.1) | |
| // // .delay(.3) | |
| // .distort(2) | |
| // // .gain("0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8") | |
| // .gain(.2) | |
| // .s("gm_contrabass") | |
| // .room(0.9) | |
| // // .lpf(sine.segment(2).range(0,1000)) | |
| // ._pianoroll() | |
| $: n("<a@1 b@1 c@1 >" | |
| .pickRestart({ | |
| a: "[1,2,3]*4 [1 4,7] [-3]!4 [-3]!4 [-3]!4 [-3]!4 ".color("#aa11ff").lpf("<400 800>*8"), | |
| b: "[1,2,3]*4 [1 2 3]*4 [1,4,7]*4 [6 3 2 1] ".color("#dd228d").lpf(800), | |
| c: "[1,2,3]*4 [1 2 3]*4".color("#c3668d").lpf(600), | |
| d: "1 3 1".color("#ee448d").lpf(1200) | |
| }) | |
| ) | |
| .sub("<3 6 3 4 5>") | |
| .set(chords) | |
| .voicing() | |
| .decay(1.0) | |
| .delay(.2) | |
| .distort(1) | |
| // .gain("0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8") | |
| .gain(.6) | |
| .s("gm_acoustic_guitar_nylon") | |
| .room(0.9) | |
| // .lpf(sine.segment(2).range(0,1000)) | |
| ._pianoroll() | |
| $: n("<a@1 b@1 c@1 d@1>" | |
| .pickRestart({ | |
| a: "[1 2 3]*4 [1 4,7] [-3]!4 [-3]!4 [-3]!4 [-3]!4".color("#aa11ff").lpf("<400 800>*8"), | |
| b: "[1,2,3]*4 [1 2 3]*4 [1,4,7]*4 [6 3 2 1] ".color("#dd228d").lpf(800), | |
| c: "[6 7 6]*4 [1 2 3]*4".color("#c3668d").lpf(600), | |
| d: "[-3]!16".color("#ee448d").lpf(1200) | |
| }) | |
| ) | |
| .sub("<3 6 3 4 5>") | |
| .set(chords) | |
| .voicing() | |
| .decay(1.0) | |
| .delay(.2) | |
| .distort(1) | |
| // .gain("0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8 0.2 0.4 0.2 0.8") | |
| .gain(1.1) | |
| .s("gm_acoustic_guitar_nylon") | |
| .room(0.9) | |
| // .lpf(sine.segment(2).range(0,1000)) | |
| ._pianoroll() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment