0:00/0:00
// Super Gut — Mo-Do
// 145 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 128 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(145/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// bass · lead 8 bass lead
const bass = note(`<
~@8 A@3 B A@3 B A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@3 B A@3 B A@2 C D A@2 C D A@2 C D
A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D A@2 C D ~@8
>`.pickRestart({
A: "e1 e2 e1 e2 e1 e2 e1 e2", B: "e1 e2 e1 e2 g1 g2 d1 d2", C: "g1 g2 g1 g2 g1 g2 g1 g2",
D: "b0 b1 b0 b1 b0 b1 b0 b1",
})).s("gm_lead_8_bass_lead").gain(0.37)
// chords · synth brass 1
const synth_brass_1 = note(`<
~@16 A@2 B C A@2 B C A@2 B C A@2 B C ~@32 A@2 B C A@2 B C A@2 B C A@2 B C ~@24 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C
A@2 B C
>`.pickRestart({
A: "[b3,e4,b4,e5] ~ [e4,g4,e5,g5] ~ [b3,e4,b4,e5] ~ [e4,g4,e5,g5] ~ [b3,e4,b4,e5] ~ [e4,g4,e5,g5] ~ [d4,f#4,d5,f#5] ~ [e4,g4,e5,g5] ~", // E5 Em E5 Em E5 Em D Em
B: "[d4,g4,d5,g5] ~ [g4,b4,g5,b5] ~ [d4,g4,d5,g5] ~ [g4,b4,g5,b5] ~ [d4,g4,d5,g5] ~ [g4,b4,g5,b5] ~ [f#4,a4,f#5,a5] ~ [g4,b4,g5,b5] ~", // G5 G G5 G G5 G F#m G
C: "[f#4,b4,f#5,b5] ~ [b4,d5,b5,d6] ~ [f#4,b4,f#5,b5] ~ [b4,d5,b5,d6] ~ [f#4,b4,f#5,b5] ~ [b4,d5,b5,d6] ~ [a4,c#5,a5,c#6] ~ [f#4,d5,f#5,d6] ~", // B5 Bm B5 Bm B5 Bm A D
})).s("gm_synth_brass_1").gain(0.25)
// other · synth brass 1
const synth_brass_1_2 = note("<~@40 A B C D A B C D ~@40 A B C D A B C D E@2 F G E@2 F G ~@24>".pickRestart({
A: "e3 e4 e3 e4 e3 e4 f#3 f#4", B: "g3@2 g4@3 ~ g4@2 g3@2 g4@2 f#3@2 f#4@2", C: "d3 d4 d3 d4 d3 d4 g3 g4",
D: "f#3@2 f#4@3 ~ f#4@2 f#3@2 f#4@2 d3@2 d4@2", E: "e2 e3 e2 e3 e2 e3 e2 e3", F: "g2 g3 g2 g3 g2 g3 g2 g3",
G: "b1 b2 b1 b2 b1 b2 b1 b2",
})).s("gm_synth_brass_1").gain(0.35).pan(0.4)
// other · synth bass 1
const synth_bass_1 = note(`<
~@16 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C ~@8 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B
C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C ~@8
>`.pickRestart({
A: "e3 g3 b3 g3 e3 g3 b3 g3 e3 g3 b3 g3 e3 g3 b3 g3", B: "g3 b3 d4 b3 g3 b3 d4 b3 g3 b3 d4 b3 g3 b3 d4 b3",
C: "b3 d4 f#4 d4 b3 d4 f#4 d4 b3 d4 f#4 d4 b3 d4 f#4 d4",
})).s("gm_synth_bass_1").gain(0.29).pan(0.4)
// drums · kick
const kick = s("bd").struct(`<
~@4 A B A B A B A B A B A B ~@4 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B
A B A B A ~
>`.pickRestart({
A: "x!4", B: "x ~ x ~ x ~ x!2",
})).gain(0.56)
// drums · snare
const snare = s("sd").struct(`<
A B A B A B A B ~@6 C D ~@8 E@6 C D E@14 C D ~@8 E@6 C D ~@8 E@6 C D ~@14 C D ~@6 C D E@6 ~@8 C D ~@6 C D
>`.pickRestart({
A: "x ~ x!3 ~ x ~ x ~ x!3 ~ x ~", B: "x ~ x!7 ~ x ~ x ~@3", C: "~@9 x!7", D: "x!16", E: "~@2 x ~@3 x!2",
})).gain(0.37)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@14 A ~@15 A ~@15 A ~@15 A ~@15 A ~@15 A ~@7 A ~@15 A ~@7 A ~>".pickRestart({
A: "x!9 ~@7",
})).gain(0.19)
// drums · hihat
const hihat = s("hh").struct("<~@8 [x!4]!8 ~@4 [x!4]!104 ~@4>").gain(0.25)
// drums · open hat
const open_hat = s("oh").struct("<~@8 [~ x ~ x ~ x ~ x]!8 ~@4 [~ x ~ x ~ x ~ x]!104 ~@4>").gain(0.37)
// drums · crash
const crash = s("cr").struct(`<
~@8 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7
>`.pickRestart({
A: "x",
})).gain(0.37)
stack(bass, synth_brass_1, synth_brass_1_2, synth_bass_1, kick, snare, snare_soft, hihat, open_hat, crash)
More by Mo-Do
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.