0:00/0:00
// Max Don't Have Sex With Your Ex — E-Rotic
// 140 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 84 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(140/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// chords · synth strings 1
const synth_strings_1 = note("<A@8 B@8 C@5 ~@8 D@5 E@4 ~@8 A@8 F ~@7 G@3 H@7 I@3 J@4 K@5>".pickRestart({
A: "[~@15 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]]/8", // Am F G Am F G Am F …
B: "[~@7 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]]/8", // G Am F G Am F G Am …
C: "[~@7 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 ~]/5", // G Am F G Am F G
D: "[~@15 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]]/5", // Am F G Am F G Am
E: "[~@15 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 ~]/4", F: "~@7 [g3,b3,d4]@8 [a3,c4,e4]",
G: "[~@15 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]]/3", // Am F G Am
H: "[~@15 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]]/7", // F G Am F G Am F G …
I: "[~@7 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 ~@9]/3", // G Am F
J: "[~@15 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]]/4", // F G Am F G Am
K: "[~@15 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@16 [a3,c4,f4]@8 [g3,b3,d4]@8 [a3,c4,e4]@4 ~@13]/5", // F G Am F G Am
})).s("gm_synth_strings_1").gain(0.2).pan(0.3)
// other · distortion guitar
const distortion_guitar = note(`<
A B ~@5 C D ~@20 E F G H I ~@12 E F G H I J K L M ~@7 A B ~@2 A B ~ N ~@4 E F G H I O P Q ~@2
>`.pickRestart({
A: "~@3 e4", B: "d4@5 ~@11", C: "~@6 d4 e4", D: "d4 ~@3", E: "~@2 c4 ~ c4 ~ c4 ~ d4@3 ~ d4@3 ~",
F: "e4 ~ e4 f4 e4 ~ e4 f4", G: "e4@2 ~@4 e4 f4 g4@2 f4 ~ e4@2 d4@2",
H: "e4@2 ~@2 f4@4 e4@2 ~@2 c4 ~ c4@2, ~@4 e4 ~@11", I: "a4@3 ~ a4@3 ~ g4@4 f4@3 ~",
J: "e4@2 ~@2 e4@2 f4 ~ e4@2 ~@2 e4@2 f4@2", K: "e4@2 ~@4 e4 f4 g4@2 f4 ~ e4@2 d4 ~",
L: "e4@2 ~@2 e4 f4@3 e4@2 ~@2 c4@3 ~", M: "a4@3 ~ a4@4 g4@4 d4@4", N: "e4@7 ~", O: "e4@2 ~@2 e4@3 ~@9",
P: "~@4 g4@3 ~@9", Q: "~ g4 ~@2",
})).s("gm_distortion_guitar").gain(0.37)
// other · lead 1 square
const lead_1_square = note("<~ A@11 B@9 ~@9 A@4 B@4 ~@9 A@8 B@8 ~@12 A@4 B@4 C>".pickRestart({
A: "[a4,a5,a6] [b4,b5,b6] [a4,a5,a6] [c5,c6,c7] [a4,a5,a6] [b4,b5,b6] [a4,a5,a6] [c5,c6,c7]", // A B A C A B A C
B: "[a4,a6] [b4,b6] [a4,a6] [c5,c7] [a4,a6] [b4,b6] [a4,a6] [c5,c7]", C: "[a4,a6] ~@7",
})).s("gm_lead_1_square").gain(0.05).pan(0.6)
// other · lead 8 bass lead
const lead_8_bass_lead = note("<~@55 A B A B A B A B ~@4 A B A B A B A ~@5 A B A B C>".pickRestart({
A: "e4 a4 g4 e4 a4 g4 e4 a4!3 g4 e4 a4!2 g4 e4", B: "e4 a4 g4 e4 a4 g4 e4 a4 e4 a4 g4 e4 a4!2 g4 a4", C: "a4 ~@15",
})).s("gm_lead_8_bass_lead").gain(0.07)
// other · synth brass 1
const synth_brass_1 = note(`<
~@9 A B A B A B A B A B A B C D C E C D C E ~ A B A B A B A B C D C E C D C E ~ A B A B A B A B A B A B A B A B C D C
E C D C E C D C ~ A B A B A B A B F
>`.pickRestart({
A: "a1 a2 a1 a2 a1 a2 a1 a2", B: "f1 f2 f1 f2 g1 g2 g1 g2", C: "a2 a3 a2 a3 a2 a3 a2 a3",
D: "f2 f3 f2 f3 g2 g3 g2 g3", E: "f2 f3 f2 f3 g2 g3 g2 c4", F: "a1 ~@7",
})).s("gm_synth_brass_1").gain(0.2)
// bass · synth bass 1
const bass = note(`<
~@13 A B A B A B A B C@8 ~ A B A B A B A B C@8 ~ A B A B A B A B A B A B A B A B ~@12 A B A B A B A B D
>`.pickRestart({
A: "a2 ~ a2!3 ~ a2!4 ~ a2@2 ~ a2 ~", B: "f2 ~ f2!3 ~ f2!2 g2!2 ~ g2@2 ~ g2 ~", C: "a3!16", D: "a2 ~@3",
})).s("gm_synth_bass_1").gain(0.15)
// drums · kick
const kick = s("bd").struct(`<
~@9 A B A B A B A B A B A B A B A B A B A C D A B A B A B A B A B A B A B A C D A B A B A B A E A B A B A B A B A B A
B A B A B A B A F A B A B A B A B D
>`.pickRestart({
A: "x!4", B: "x ~ x ~ x ~ x!2", C: "x ~@3 x ~@3 x ~@3 x ~ x!2", D: "x", E: "x ~@3 x ~@3 x ~@2 x!2 ~ x ~",
F: "x ~@13 x!2",
})).gain(0.45)
// drums · clap
const clap = s("cp").struct("<~@13 A@16 ~ A@16 ~ A@16 ~@8 A@3 ~ A@8 ~>".pickRestart({
A: "~ x ~ x",
})).gain(0.35)
// drums · snare
const snare = s("sd").struct("<~@12 A B ~@6 C ~@40 D E ~@11 A ~@6 D E ~>".pickRestart({
A: "~@4 x!12", B: "x", C: "~@8 x!2 ~ x!2 ~ x ~", D: "~@15 x", E: "x!2 ~ x!2 ~@2 x!3 ~ x!5",
})).gain(0.25)
// drums · hihat
const hihat = s("hh").struct("<~@9 A@20 ~ A@16 ~ A@16 ~@2 A@9 ~ A@8 B>".pickRestart({
A: "x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2", B: "x",
})).gain(0.2)
// drums · open hat
const open_hat = s("oh").struct("<~@9 A@20 ~ A@16 ~ A@16 ~@2 A@9 ~ A@8 ~>".pickRestart({
A: "~ x ~ x ~ x ~ x",
})).gain(0.25)
// drums · crash
const crash = s("cr").struct(`<
~@7 A ~ A ~@2 B A ~@6 B A ~@6 B A@2 ~@6 B A ~@6 B A@2 ~@7 A ~@6 B A ~@3 A ~@7 A ~@6 B A
>`.pickRestart({
A: "x", B: "x!4",
})).gain(0.25)
// drums · tambourine
const tambourine = s("tb").struct("<~@9 A@20 B A@16 B A@16 ~@4 A@7 ~ A@8 B>".pickRestart({
A: "x!16", B: "x",
})).gain(0.2)
// drums · ht
const ht = s("ht").struct("<~@37 [~@2 x!2 ~ x ~ x!2 ~ x!2 ~@4] ~@46>").gain(0.3)
stack(
synth_strings_1, distortion_guitar, lead_1_square, lead_8_bass_lead, synth_brass_1, bass, kick, clap, snare, hihat,
open_hat, crash, tambourine, ht
)
More by E-Rotic
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.