0:00/0:00
// Maximum Overdrive — 2 Unlimited
// 131 bpm, 4/4, key G# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 8 "XYLOPHONE" xylophone (copy of ch 9 "ORGAN 2" percussive organ)
// note: Full arrangement: all 120 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(131/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.
// other · rock organ · "ORGAN 3"
const rock_organ = note("<~@13 A@16 ~@8 A@8 ~@9 A@4 ~@16 A@8 ~@9 A@4 ~@16 A@8 ~>".pickRestart({
A: "g#4@2 ~@2 g#4@2 ~ g#4 ~@2 g#4@2 a4@2 f#4@2",
})).s("gm_rock_organ").gain(0.48)
// bass · electric bass finger · "FINGERDBAS"
const bass = note("<~@13 A@32 ~ A@12 ~@8 A@16 ~ A@12 ~@8 A@16 ~>".pickRestart({
A: "g#1@2 ~@2 g#1@2 ~ g#1 ~@2 g#1@2 a1@2 f#1@2",
})).s("gm_electric_bass_finger").gain(0.3)
// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@13 A@32 ~@9 A@4 ~@8 A@16 ~@9 A@4 ~@8 A@16 ~>".pickRestart({
A: "g#2@2 ~@2 g#2@2 ~ g#2 ~@2 g#2@2 a2@2 f#2@2",
})).s("gm_overdriven_guitar").gain(0.3)
// other · lead 1 square · "SQUAREWAVE"
const lead_1_square = note(`<
~@21 A B A B A B A B ~@8 A B A B A B A B ~@16 B ~@12 A B A B A B A B ~@29 A B A B A B A B ~
>`.pickRestart({
A: "g#4 ~@2 g#5 ~@4", B: "g#4@2 ~@4 g#5@2 ~@2 g#6@2 ~ g#5@2 ~",
})).s("gm_lead_1_square").gain(0.48)
// other · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
~@11 A@2 ~@12 A@4 ~@12 A@4 ~@9 A@3 ~@8 B ~@12 A@4 ~@9 A@3 ~@5 B@3 ~@13 A@4 ~
>`.pickRestart({
A: "~ [a2,a3]@15", B: "[a2,a3]",
})).s("gm_distortion_guitar").gain(0.64)
// other · percussive organ · "ORGAN 2"
const percussive_organ = note("<~@58 [g#3 ~ g#3 ~ g#3 ~ g#3!2 ~ g#3 ~ g#3 a3@2 f#3@2]!7 ~@55>")
.s("gm_percussive_organ").gain(0.48)
// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_2 = note("<~@12 A ~@32 A ~@19 A ~@16 A ~@19 A ~@17>".pickRestart({
A: "~@12 [f3,g3,g#3] [b2,c3,d3,e3] [f2,g2,a2] e2", // Fm Cmaj7 F
})).s("gm_overdriven_guitar").gain(0.4).pan(0.3)
// other · overdriven guitar · "OVERDRIVE" · soft notes
const overdriven_guitar_soft = note("<~@12 A ~@32 A ~@19 A ~@16 A ~@19 A ~@17>".pickRestart({
A: "~@15 d2",
})).s("gm_overdriven_guitar").gain(0.24).pan(0.3)
// drums · kick
const kick = s("bd").struct("<~@13 A@32 ~ A@11 ~ A@7 ~ A@16 ~ A@11 ~@9 A@16 ~>".pickRestart({
A: "x!4",
})).gain(0.64)
// drums · snare
const snare = s("sd").struct(`<
~@13 A@7 B A@3 C A@3 D A@3 C A@3 E A@3 F A@2 G H ~ A@7 I A@3 ~@4 J ~@4 A@3 C A@3 E A@3 F A@2 G H ~ A@7 I A@3 ~@9 A@3 C
A@3 E A@3 F A@2 G H ~
>`.pickRestart({
A: "~ x ~ x", B: "~ x ~@2 x ~ x ~ x!5 ~ x!2", C: "~@4 x ~@4 x ~@2 x ~ x!2", D: "~ x ~@2 x!4 ~ x ~ x!5",
E: "~@4 x ~@2 x!9", F: "~@4 x ~@4 x!4 ~ x!2", G: "~@4 x ~@7 x ~@2 x", H: "~ x ~@2 x ~ x ~@2 x ~ x!2 ~ x!2",
I: "~ x ~ x!2 ~ x ~@2 x ~ x!2 ~ x!2", J: "~@9 x ~ x!5",
})).gain(0.48)
// drums · clap
const clap = s("cp").struct("<~@13 A@32 ~ A@11 ~@5 B C B ~ A@16 ~ A@11 ~ A@7 ~ A@16 ~>".pickRestart({
A: "~ x ~ x", B: "~@2 x ~@3 x ~@3 x ~@3 x!2", C: "~ x ~ x ~ x ~ x",
})).gain(0.48)
// drums · hihat
const hihat = s("hh").struct("<~@13 A@32 B A@11 B A@7 B A@16 B A@11 B A@7 B A@16 B>".pickRestart({
A: "x!4", B: "x",
})).gain(0.08)
// drums · open hat
const open_hat = s("oh").struct("<~@13 A@32 ~ A@11 ~ A@7 ~ A@16 ~ A@11 ~ A@7 ~ A@16 ~>".pickRestart({
A: "~ x ~ x ~ x ~ x",
})).gain(0.48)
// drums · crash
const crash = s("cr").struct("<~@59 A ~ B C ~@10 B C ~@21 A ~ A ~ A ~@10 A ~@2 A ~@5>".pickRestart({
A: "~@5 x ~ x", B: "~@5 x ~@2", C: "x",
})).gain(0.56)
// drums · tambourine
const tambourine = s("tb").struct("<~@13 A@32 ~ A@11 ~ A@7 ~ A@16 ~ A@11 ~@9 A@16 ~>".pickRestart({
A: "x!16",
})).gain(0.32)
// drums · bongos
const bongos = s("bongo:4").struct("<~@13 A@32 ~ A@11 ~@9 A@16 ~ A@11 ~ A@7 ~ A@16 ~>".pickRestart({
A: "~ x ~@2 x ~@2 x ~@3 x ~@2 x ~",
})).gain(0.84)
// drums · bongos · soft notes
const bongos_soft = s("bongo:4").struct("<~@13 A@32 ~ A@11 ~@9 A@16 ~ A@11 ~ A@7 ~ A@16 ~>".pickRestart({
A: "~@5 x ~@2",
})).gain(0.63)
// drums · congas
const congas = s("conga:13").struct("<~@13 A@32 ~ A@11 ~@9 A@16 ~ A@11 ~@9 A@16 ~>".pickRestart({
A: "x ~ x!2 ~@2 x ~ x!2 ~@2 x ~@2 x",
})).gain(1.02)
// drums · shaker
const shaker = s("sh").struct("<~@13 A@32 ~ A@11 ~@5 A@3 ~ A@16 ~ A@11 ~@9 A@16 ~>".pickRestart({
A: "x!16",
})).gain(0.24)
stack(
rock_organ, bass, overdriven_guitar, lead_1_square, distortion_guitar, percussive_organ, overdriven_guitar_2,
overdriven_guitar_soft, kick, snare, clap, hihat, open_hat, crash, tambourine, bongos, bongos_soft, congas, shaker
)
More by 2 Unlimited
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.