0:00/0:00
// Fritz Love My Tits — E-Rotic
// 146 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 111 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(146/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.
// other · pad poly
const pad_poly = note("<~@20 A B C D A B C ~@84>".pickRestart({
A: "e4 e3 g#4 b3 f#4 e3 g#4 e4 b3 e4 g#4 e3 f#4 b3 g#4 b3", B: "c#4 e3 e4 a3 d#4 e3 e4 c#4 a3 c#4 e4 e3 d#4 a3 e4 a3",
C: "f#4 f#3 a4 c#4 g#4 f#3 a4 f#4 c#4 f#4 a4 f#3 g#4 c#4 a4 c#4",
D: "d#4 d#3 f#4 b3 e4 f#3 f#4 d#4 d#3 d#4 f#4 b3 e4 f#3 f#4 b3",
})).s("gm_pad_poly").gain(0.15).pan(1)
// other · synth drum
const synth_drum = note("<~@11 [c1@11 ~@5] ~@94 [c1@11 ~@5] ~@4>").s("gm_synth_drum").gain(0.36)
// other · synth bass 1
const synth_bass_1 = note("<~@28 A B C D E B C D ~@27 A B C D E B C D ~@40>".pickRestart({
A: "~@14 f#4 ~", B: "e4 ~ a3 ~ d#4 ~ f#4 e4@3 a3 ~ f#4 ~ e4 ~", C: "d#4 ~ f#3 ~ b3 ~ e4 d#4@3 f#3 ~ b3 ~ e4 ~",
D: "d#4 ~ g#3 ~ c#4 ~ e4 d#4@3 g#3 ~ c#4 ~ d#4 ~", E: "e4 ~ g#3 ~ d#4 ~ f#4 e4@3 g#3 ~ d#4 ~ f#4 ~, ~@7 f#4 ~@8",
})).s("gm_synth_bass_1").gain(0.21).pan(0.7)
// other · synth bass 1 · soft notes
const synth_bass_1_soft = note(`<
~@28
[e4 ~ g#3 ~ d#4 ~ f#4 e4@3 g#3 ~ d#4 ~@3, ~@7 f#4 ~@8]
~@34
[e4 ~ g#3 ~ d#4 ~ f#4 e4@3 g#3 ~ d#4 ~@3, ~@7 f#4 ~@8]
~@47
>`).s("gm_synth_bass_1").gain(0.1).pan(0.7)
// bass · synth bass 1
const bass = note(`<
~@20 A B C D A B C ~ E B D F E B D F ~ A B C D A B C D A B C D A B C D B D A B C D A B C ~ E B D F E B D F ~ A B C D A
B C D A B C D A B C D B D A B C D A B C D A B C D A B C ~@6
>`.pickRestart({
A: "e1 ~ e1!3 ~ e1!3 ~ e1!3 ~ e1!2", B: "a1 ~ a1!3 ~ a1!3 ~ a1!3 ~ a1!2", C: "f#1 ~ f#1!3 ~ f#1!3 ~ f#1!3 ~ f#1!2",
D: "b1 ~ b1!3 ~ b1!3 ~ b1!3 ~ b1!2", E: "c#2 ~ c#2!3 ~ c#2!3 ~ c#2!3 ~ c#2!2",
F: "g#1 ~ g#1!3 ~ g#1!3 ~ g#1!3 ~ g#1!2",
})).s("gm_synth_bass_1").gain(0.48)
// other · lead 2 sawtooth
const lead_2_sawtooth = note(`<
~@11 A B C D A B C D ~@18 E F G H E F G H E F G H E F G H I J ~@17 E F G H E F G H E F G H E F G H I J ~@21
>`.pickRestart({
A: "e5 e4 g#5 b4 f#5 e4 g#5 e5 b4 e5 g#5 e4 f#5 b4 g#5 b4", B: "c#5 e4 e5 a4 d#5 e4 e5 c#5 a4 c#5 e5 e4 d#5 a4 e5 a4",
C: "f#5 f#4 a5 c#5 g#5 f#4 a5 f#5 c#5 f#5 a5 f#4 g#5 c#5 a5 c#5",
D: "d#5 d#4 f#5 b4 e5 f#4 f#5 d#5 d#4 d#5 f#5 b4 e5 f#4 f#5 b4", E: "g#5 ~ f#5 ~ g#5 ~ f#5 ~ g#5 ~ f#5 ~ g#5 ~ b5 ~",
F: "f#5 ~ e5 ~ f#5 ~ e5 ~ f#5 ~ e5 ~ f#5 ~ g#5 ~", G: "a5 ~ g#5 ~ a5 ~ g#5 ~ a5 ~ g#5 ~ a5 ~ b5 ~",
H: "f#5 ~ e5 ~ f#5 ~ e5 ~ f#5 ~ e5 ~ f#5 ~ e5 ~", I: "a5 ~ e5 ~ a5 ~ e5 ~ a5 ~ e5 ~ a5 ~ e5 ~",
J: "b5 ~ f#5 ~ b5 ~ f#5 ~ b5 ~ f#5 ~ b5 ~ f#5 ~",
})).s("gm_lead_2_sawtooth").gain(0.23).pan(0.8)
// other · lead 2 sawtooth
const lead_2_sawtooth_2 = note(`<
~@11 A B C D E F G H ~ I J K L M J K L ~@7 N ~@19 O J P D Q R S H ~@7 T ~@19 U B V W Q X S Y A B Z AA E AB G D ~@5
>`.pickRestart({
A: "g#5@2 ~@2 g#5@2 ~ g#5@2 b4 g#5 b4 g#5@2 f#5@2", B: "e5@2 a4@2 e5@2 ~ e5@2 ~ e5 a4 f#5@2 g#5@2, ~@3 a4 ~@4",
C: "a5@2 c#5@2 a5@2 c#5 a5@2 ~ a5 ~ a5@2 g#5@2", D: "f#5@2 b4@2 f#5@2 b4 g#5@2 g#5 ~ b4 e5@2 f#5 ~, ~@5 f#5 ~@2",
E: "g#5@2 b4@2 g#5@2 ~ g#5@2 b4 g#5 b4 g#5@2 f#5@2", F: "e5@2 ~@2 e5@2 ~ e5@2 ~ e5 ~ f#5@2 g#5@2, ~@3 a4 ~@4",
G: "a5@2 ~@2 a5@2 c#5 a5@2 ~ a5 c#5 a5@2 g#5@2", H: "f#5@2 b4@2 f#5@2 b4 g#5@2 g#5 f#5@2 e5@2 f#5 ~",
I: "g#5@2 b4@2 g#5@2 b4 g#5@2 ~ g#5 b4 g#5@2 f#5@2", J: "e5@2 a4@2 e5@2 ~ e5@2 a4 e5 a4 f#5@2 g#5@2, ~@3 a4 ~@4",
K: "a5@2 c#5@2 a5@2 ~ a5@2 ~ a5 c#5 a5@2 g#5@2", L: "f#5@2 b4@2 f#5@2 ~ g#5@2 g#5 ~ b4 e5@2 f#5 ~, ~@5 f#5 ~@2",
M: "g#5@2 b4@2 g#5@2 b4 g#5@2 b4 g#5 b4 g#5@2 f#5@2",
N: "~@10 d3 [a2,b2] [e2,f2,f#2,g2] [a#1,b1,c2,c#2,d2] [f1,f#1,g1,g#1,a1] [c1,d1,d#1,e1]", // Asus2
O: "g#5@2 b4@2 g#5@2 b4 g#5@2 ~ g#5 ~ g#5@2 f#5@2", P: "a5@2 ~@2 a5@2 c#5 a5@2 c#5 a5 ~ a5@2 g#5@2",
Q: "g#5@2 ~@2 g#5@2 b4 g#5@2 b4 g#5 b4 g#5@2 f#5@2", R: "e5@2 ~@2 e5@2 ~ e5@2 a4 e5 a4 f#5@2 g#5@2",
S: "a5@2 c#5@2 a5@2 c#5 a5@2 c#5 a5 c#5 a5@2 g#5@2",
T: "~@12 [d#2,e2,g2] [a#1,b1,c2,c#2,d2] [f1,f#1,g1,g#1,a1] [c1,d1,d#1,e1]", // D#
U: "g#5@2 b4@2 g#5@2 ~ g#5@2 ~ g#5 ~ g#5@2 f#5@2", V: "a5@2 c#5@2 a5@2 ~ a5@2 c#5 a5 c#5 a5@2 g#5@2",
W: "f#5@2 ~@2 f#5@2 b4 g#5@2 g#5 f#5@2 e5@2 f#5 ~", X: "e5@2 a4@2 e5@2 ~ e5@2 a4 e5 ~ f#5@2 g#5@2",
Y: "f#5@2 b4@2 f#5@2 ~ g#5@2 g#5 f#5@2 e5@2 f#5 ~", Z: "a5@2 ~@2 a5@2 c#5 a5@2 c#5 a5 c#5 a5@2 g#5@2",
AA: "f#5@2 ~@2 f#5@2 ~ g#5@2 g#5 ~ b4 e5@2 f#5 ~, ~@5 f#5 ~@2",
AB: "e5@2 ~@2 e5@2 ~ e5@2 a4 e5 a4 f#5@2 g#5@2, ~@3 a4 ~@4",
})).s("gm_lead_2_sawtooth").gain(0.21)
// chords · rock organ
const rock_organ = note(`<
~@11 A B C D E F G H ~ I J K L M N O P ~@9 Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP ~@9 AQ
AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW ~@6
>`.pickRestart({
A: "[b4,e5,g#5]!2 ~ [b4,e5,g#5] [b4,e5] ~ [b4,e5,g#5]!2 ~ [b4,e5,g#5]!2 ~ [b4,e5,g#5] ~ [b4,e5] ~", // E E5 E E5
B: "[c#5,e5,a5]!2 ~ [c#5,e5,a5]!2 ~ [c#5,e5] [c#5,e5,a5] ~ [e5,a5] [c#5,e5,a5] ~ [e5,a5] ~ [c#5,e5] ~", // A C#m A A5 A A5 C#m
C: "[a4,c#5,f#5]!2 ~ [a4,c#5,f#5] [c#5,f#5] ~ [a4,f#5] [a4,c#5,f#5] ~ [a4,c#5,f#5]!2 ~ [a4,c#5,f#5] ~ [a4,c#5] ~", // F#m F#5 D F#m A
D: "[b4,d#5,f#5] [b4,d#5] ~ [b4,f#5] [b4,d#5] ~ [b4,d#5,g#5]!2 ~ [b4,g#5] [b4,d#5,f#5] ~ [b4,e5] ~ [b4,e5,f#5] ~", // B B5 B G#m E B E5 Bsus4
E: "[b4,e5,g#5]!2 ~ [b4,e5,g#5]!2 ~ [b4,e5,g#5]!2 ~ [b4,e5,g#5] [e5,g#5] ~ [b4,e5,g#5] ~ [b4,g#5] ~", // E
F: "[c#5,e5,a5]!2 ~ [c#5,e5,a5]!2 ~ [c#5,e5] [c#5,e5,a5] ~ [c#5,e5]!2 ~ [c#5,e5,a5] ~ [e5,g#5] ~", // A C#m A C#m A E
G: "[a4,c#5] [a4,c#5,f#5] ~ [c#5,f#5] f#5 ~ [a4,f#5] [c#5,f#5] ~ [a4,c#5,f#5] [c#5,f#5] ~ [a4,c#5,f#5] ~ [a4,c#5] ~", // A F#m F#5 D F#5 F#m F#5 F#m …
H: "d#5 [b4,f#5] ~ [b4,d#5,f#5]!2 ~ b4 [d#5,g#5] ~ [b4,d#5,g#5] [b4,d#5,f#5] ~ [b4,e5] ~ [b4,e5,f#5] ~", // B5 B G#5 G#m B E5 Bsus4
I: "[b4,e5] [e5,g#5] ~ [b4,e5,g#5] [b4,e5] ~ [b4,e5,g#5] [b4,e5] ~ g#5 [b4,e5] ~ e5 ~ [e5,g#5] ~", // E5 E E5 E E5 E
J: "[c#5,a5] [c#5,e5,a5] ~ [c#5,e5,a5]!2 ~ [c#5,e5]!2 ~ [c#5,e5,a5] [c#5,e5] ~ [e5,a5] ~ [c#5,e5,g#5] ~", // F#m A C#m A C#m A5 C#m
K: "[a4,c#5] [a4,c#5,f#5] ~ [a4,c#5,f#5]!2 ~ [c#5,f#5] [a4,c#5,f#5] ~ [a4,f#5]!2 ~ [a4,c#5] ~ [a4,f#5] ~", // A F#m F#5 F#m D A D
L: "[b4,d#5,f#5]!2 ~ [b4,d#5,f#5]!2 ~ [b4,d#5,g#5]!2 ~ [b4,d#5,g#5] [d#5,f#5] ~ b4 ~ [b4,e5,f#5] ~", // B G#m D#m Bsus4
M: "[b4,e5,g#5] [e5,g#5] ~ g#5 [b4,e5,g#5] ~ [b4,e5,g#5]!2 ~ [b4,e5,g#5]!2 ~ [b4,e5] ~ [b4,e5] ~", // E E5
N: "[c#5,e5,a5]!2 ~ [c#5,e5,a5] [c#5,e5] ~ e5 [c#5,e5] ~ [c#5,e5,a5] [c#5,a5] ~ [c#5,e5,a5] ~ [c#5,e5] ~", // A C#m A F#m A C#m
O: "[a4,c#5,f#5] [a4,c#5] ~@2 [c#5,f#5] ~ [a4,c#5,f#5]!2 ~ [a4,c#5] [c#5,f#5] ~ [a4,c#5] ~ [a4,c#5] ~", // F#m A F#5 F#m A F#5 A
P: "[b4,f#5] [d#5,f#5] ~ [d#5,f#5] [b4,d#5,f#5] ~ [b4,d#5] [d#5,g#5] ~ [b4,d#5,g#5] [b4,d#5,f#5] ~ [b4,e5] ~ [b4,f#5] ~", // B5 D#m B G#5 G#m B E5 B5
Q: "[e5,g#5] e5 ~ [e5,g#5] g#5 ~ [e5,g#5]!2 ~ [e5,g#5]!2 ~ [e5,g#5] ~ [e5,g#5] ~", // E
R: "a5 [e5,a5] ~ a5 e5 ~ e5 [e5,a5] ~ a5 [e5,a5] ~ [e5,a5] ~ [e5,g#5] ~", // A5 E
S: "[c#5,f#5]!2 ~ [c#5,f#5]!2 ~ [c#5,f#5] f#5 ~ c#5 [c#5,f#5] ~ c#5 ~ c#5 ~", // F#5
T: "[d#5,f#5]!2 ~ [d#5,f#5] d#5 ~ g#5 [d#5,g#5] ~ [d#5,g#5] [d#5,f#5] ~@3 [e5,f#5] ~", // D#m G#5 D#m Esus2
U: "[e5,g#5]!2 ~ [e5,g#5] g#5 ~ g#5!2 ~ [e5,g#5]!2 ~ g#5 ~ [e5,g#5] ~", // E
V: "a5 [e5,a5] ~ [e5,a5] a5 ~ e5!2 ~ e5 [e5,a5] ~ [e5,a5] ~ [e5,g#5] ~", // A5 E
W: "[c#5,f#5] f#5 ~ [c#5,f#5] f#5 ~@2 [c#5,f#5] ~ c#5 [c#5,f#5] ~ c#5 ~ f#5 ~", // F#5
X: "[d#5,f#5] d#5 ~ d#5 f#5 ~ [d#5,g#5]!2 ~ [d#5,g#5] [d#5,f#5] ~@3 f#5 ~", // D#m G#5 D#m
Y: "[e5,g#5] g#5 ~ [e5,g#5] e5 ~ e5 [e5,g#5] ~ e5 g#5 ~ e5 ~ g#5 ~", // E
Z: "[e5,a5]!2 ~ [e5,a5]!2 ~@2 [e5,a5] ~ a5 [e5,a5] ~ [e5,a5] ~ [e5,g#5] ~", // A5 E
AA: "[c#5,f#5] f#5 ~ f#5 [c#5,f#5] ~ [c#5,f#5]!2 ~ [c#5,f#5] c#5 ~ [c#5,f#5] ~ [c#5,f#5] ~", // F#5
AB: "[d#5,f#5]!2 ~ [d#5,f#5]!2 ~ d#5 [d#5,g#5] ~ g#5 [d#5,f#5] ~ e5 ~ [e5,f#5] ~", // D#m G#5 D#m Esus2
AC: "[e5,g#5]!2 ~ [e5,g#5] g#5 ~ [e5,g#5] ~@2 [e5,g#5]!2 ~ [e5,g#5] ~ [e5,g#5] ~", // E
AD: "e5 [e5,a5] ~ [e5,a5]!2 ~ e5!2 ~ [e5,a5] a5 ~ [e5,a5] ~ e5 ~", // A5
AE: "c#5 [c#5,f#5] ~ [c#5,f#5] c#5 ~ [c#5,f#5]!2 ~ [c#5,f#5] c#5 ~ [c#5,f#5] ~ [c#5,f#5] ~", // F#5
AF: "[d#5,f#5]!2 ~@2 d#5 ~ g#5 [d#5,g#5] ~ [d#5,g#5] [d#5,f#5] ~@3 [e5,f#5] ~", // D#m G#5 D#m Esus2
AG: "e5 [e5,a5] ~ [e5,a5] a5 ~ [e5,a5] a5 ~ [e5,a5]!2 ~ [e5,a5] ~ [e5,a5] ~", // A5
AH: "[f#5,b5]!2 ~ f#5 [f#5,b5] ~ f#5!2 ~@2 [f#5,b5] ~ [f#5,b5] ~ [f#5,b5] ~", // B5
AI: "[b4,e5,g#5] [b4,e5] ~ [b4,e5,g#5]!2 ~ [b4,e5,g#5] [b4,g#5] ~ [b4,e5,g#5]!2 ~ [b4,e5,g#5] ~ [b4,e5,g#5] ~", // E E5 E
AJ: "[c#5,e5]!2 ~ [c#5,e5] [c#5,e5,a5] ~ e5 [e5,a5] ~ [c#5,e5,a5]!2 ~ [c#5,e5,a5] ~ [c#5,e5,g#5] ~", // C#m A A5 A C#m
AK: "[a4,c#5,f#5]!2 ~ [a4,c#5,f#5]!2 ~ [a4,c#5]!2 ~ [a4,c#5,f#5] [a4,f#5] ~ [c#5,f#5] ~ [a4,f#5] ~", // F#m A F#m D F#5 D
AL: "[b4,d#5] [b4,d#5,f#5] ~ [d#5,f#5] [b4,d#5,f#5] ~ [b4,d#5,g#5] b4 ~ [b4,d#5] [b4,d#5,f#5] ~ [b4,e5] ~ [b4,e5,f#5] ~", // B D#m B G#m B E5 Bsus4
AM: "[e5,g#5] [b4,e5,g#5] ~ [b4,e5,g#5] [b4,e5] ~ [b4,e5,g#5]!2 ~ [b4,g#5] [b4,e5,g#5] ~ [b4,g#5] ~ [b4,e5,g#5] ~", // E E5 E
AN: "e5 c#5 ~ [c#5,a5] [c#5,e5,a5] ~ e5 [c#5,e5,a5] ~ [c#5,e5,a5]!2 ~ [c#5,e5,a5] ~ [c#5,e5,g#5] ~", // F#m A C#m
AO: "[a4,c#5,f#5]!2 ~ [a4,f#5] [a4,c#5,f#5] ~ [a4,c#5,f#5]!2 ~ [c#5,f#5] [a4,c#5,f#5] ~ [a4,c#5,f#5] ~ [a4,c#5,f#5] ~", // F#m D F#m F#5 F#m
AP: "[d#5,f#5]!2 ~ [b4,f#5] [b4,d#5,f#5] ~ [b4,g#5] [b4,d#5,g#5] ~ [b4,d#5,g#5] [d#5,f#5] ~ [b4,e5] ~ [b4,e5] ~", // D#m B5 B E G#m D#m E5
AQ: "[e5,g#5]!2 ~ e5 [e5,g#5] ~ [e5,g#5] ~@2 [e5,g#5]!2 ~ g#5 ~ [e5,g#5] ~", // E
AR: "[e5,a5]!2 ~ [e5,a5]!2 ~ e5 [e5,a5] ~ a5 e5 ~ [e5,a5] ~ [e5,g#5] ~", // A5 E
AS: "~ [c#5,f#5] ~ [c#5,f#5] f#5 ~ [c#5,f#5]!2 ~ c#5 [c#5,f#5] ~ [c#5,f#5] ~ f#5 ~", // F#5
AT: "[d#5,f#5]!2 ~ [d#5,f#5]!2 ~ [d#5,g#5] g#5 ~ [d#5,g#5] f#5 ~@3 [e5,f#5] ~", // D#m G#5 Esus2
AU: "[e5,g#5]!2 ~ [e5,g#5]!2 ~ e5 g#5 ~ [e5,g#5]!2 ~ [e5,g#5] ~ [e5,g#5] ~", // E
AV: "[e5,a5] a5 ~ [e5,a5]!2 ~ e5 [e5,a5] ~ e5 [e5,a5] ~ e5 ~ [e5,g#5] ~", // A5 E
AW: "[c#5,f#5]!2 ~ [c#5,f#5]!2 ~ [c#5,f#5]!2 ~ [c#5,f#5] f#5 ~ [c#5,f#5] ~ [c#5,f#5] ~", // F#5
AX: "d#5 [d#5,f#5] ~ [d#5,f#5]!2 ~ [d#5,g#5] g#5 ~ [d#5,g#5] [d#5,f#5] ~ e5 ~ f#5 ~", // D#m G#5 D#m
AY: "[e5,g#5]!2 ~ [e5,g#5] g#5 ~ [e5,g#5]!2 ~ g#5 [e5,g#5] ~ e5 ~ g#5 ~", // E
AZ: "[e5,a5]!2 ~ [e5,a5]!2 ~ e5 a5 ~ e5 [e5,a5] ~ [e5,a5] ~ e5 ~", // A5
BA: "c#5 [c#5,f#5] ~ f#5 [c#5,f#5] ~ [c#5,f#5]!2 ~ c#5 [c#5,f#5] ~ f#5 ~ [c#5,f#5] ~", // F#5
BB: "f#5 [d#5,f#5] ~ [d#5,f#5] f#5 ~ [d#5,g#5] g#5 ~ [d#5,g#5] [d#5,f#5] ~ e5 ~ [e5,f#5] ~", // D#m G#5 D#m Esus2
BC: "[e5,g#5]!2 ~ e5 [e5,g#5] ~ [e5,g#5] e5 ~ [e5,g#5]!2 ~ g#5 ~ g#5 ~", // E
BD: "[e5,a5]!2 ~@2 a5 ~@2 [e5,a5] ~ [e5,a5]!2 ~ e5 ~ g#5 ~", // A5
BE: "[c#5,f#5]!2 ~ [c#5,f#5] c#5 ~ [c#5,f#5] c#5 ~ [c#5,f#5]!2 ~ [c#5,f#5] ~ f#5 ~", // F#5
BF: "[d#5,f#5] d#5 ~ [d#5,f#5] ~@2 [d#5,g#5] g#5 ~ d#5 [d#5,f#5] ~ e5 ~ [e5,f#5] ~", // D#m G#5 D#m Esus2
BG: "a5 [e5,a5] ~ [e5,a5]!2 ~ [e5,a5]!2 ~ [e5,a5]!2 ~ [e5,a5] ~ [e5,a5] ~", // A5
BH: "[f#5,b5]!2 ~ b5!2 ~ [f#5,b5] f#5 ~ f#5 b5 ~ [f#5,b5] ~ [f#5,b5] ~", // B5
BI: "[b4,e5,g#5] [b4,g#5] ~ [b4,e5,g#5]!2 ~ [b4,e5,g#5]!2 ~ [b4,e5,g#5] g#5 ~ [b4,e5] ~ [b4,e5,g#5] ~", // E E5 E
BJ: "[c#5,e5,a5] [c#5,a5] ~ [c#5,e5] [c#5,e5,a5] ~ [c#5,e5] a5 ~ [c#5,e5,a5]!2 ~ [c#5,e5,a5] ~ [c#5,e5,g#5] ~", // A F#m C#m A C#m A C#m
BK: "[a4,c#5] [a4,f#5] ~ [a4,c#5,f#5]!2 ~ [a4,c#5] [a4,c#5,f#5] ~ [a4,c#5,f#5]!2 ~ [a4,c#5,f#5] ~ [a4,c#5,f#5] ~", // A D F#m A F#m
BL: "[b4,d#5]!2 ~ [d#5,f#5] [b4,d#5] ~ [b4,g#5] [b4,d#5,g#5] ~ [d#5,g#5] b4 ~ [b4,e5] ~ [b4,e5,f#5] ~", // B D#m B E G#m G#5 E5 Bsus4
BM: "[b4,e5]!2 ~ [b4,e5,g#5] [b4,e5] ~ [b4,e5,g#5] b4 ~ [b4,e5] [b4,g#5] ~ [b4,e5,g#5] ~ [b4,e5,g#5] ~", // E5 E E5 E E5 E
BN: "c#5 [c#5,e5] ~ [c#5,e5,a5] [c#5,a5] ~ [c#5,e5] [c#5,e5,a5] ~ [c#5,e5,a5] e5 ~ [c#5,e5,a5] ~ [c#5,e5,g#5] ~", // C#m A F#m C#m A C#m
BO: "[a4,c#5,f#5] [a4,f#5] ~ [a4,c#5,f#5] [a4,f#5] ~ [a4,c#5] [a4,c#5,f#5] ~ [a4,c#5,f#5] [a4,c#5] ~ [c#5,f#5] ~ [a4,c#5,f#5] ~", // F#m D F#m D A F#m A F#5 …
BP: "[d#5,f#5] [b4,d#5,f#5] ~ [b4,d#5,f#5]!2 ~ [b4,d#5,g#5]!2 ~ [b4,d#5,g#5] [b4,d#5,f#5] ~ [b4,e5] ~ [b4,e5] ~", // D#m B G#m B E5
BQ: "b4 [e5,g#5] ~ [b4,e5,g#5] g#5 ~ [e5,g#5] [b4,g#5] ~ [b4,e5,g#5]!2 ~ [b4,e5,g#5] ~ [b4,e5,g#5] ~", // E
BR: "[c#5,e5,a5]!2 ~ [c#5,e5,a5] [c#5,e5] ~ [c#5,e5] [c#5,e5,a5] ~ [c#5,e5,a5] [c#5,e5] ~ [e5,a5] ~ [c#5,e5,g#5] ~", // A C#m A C#m A5 C#m
BS: "[a4,c#5,f#5]!2 ~ [a4,f#5] [a4,c#5,f#5] ~ [a4,c#5,f#5]!2 ~ [a4,c#5,f#5]!2 ~ [a4,c#5,f#5] ~ [a4,c#5,f#5] ~", // F#m D F#m
BT: "[d#5,f#5] b4 ~ [b4,d#5]!2 ~ [b4,d#5,g#5]!2 ~ [b4,d#5,g#5] [b4,d#5,f#5] ~ [b4,e5] ~ [b4,f#5] ~", // D#m B G#m B E5 B5
BU: "[b4,e5,g#5]!2 ~ [b4,e5,g#5] [e5,g#5] ~ [b4,e5,g#5] [b4,e5] ~ [b4,e5,g#5] [b4,g#5] ~ [b4,e5,g#5] ~ e5 ~", // E E5 E
BV: "[c#5,e5] [c#5,a5] ~ [c#5,e5,a5]!2 ~ [c#5,e5] [c#5,e5,a5] ~ [c#5,e5] [c#5,a5] ~ [c#5,e5,a5] ~ [c#5,e5,g#5] ~", // C#m F#m A C#m A C#m F#m A …
BW: "[a4,c#5,f#5]!2 ~ [a4,c#5,f#5] f#5 ~ [a4,c#5,f#5]!2 ~ [a4,c#5,f#5]!2 ~ f#5 ~ a4 ~", // F#m
})).s("gm_rock_organ").gain(0.17).pan(0)
// other · lead 2 sawtooth
const lead_2_sawtooth_3 = note(`<
~@37 A B C D A B C D A B C D A B C D B E A B C D A B C D ~@9 A B C D A B C D A B C D A B C D B D A B C D A B C D A B C
D A B C ~@6
>`.pickRestart({
A: "e4 ~ g#4 ~ f#4 ~ g#4 e4 ~ e4 g#4 ~ f#4 ~ g#4 ~", B: "c#4 ~ e4 ~ d#4 ~ e4 c#4 ~ c#4 e4 ~ d#4 ~ e4 ~",
C: "f#4 ~ a4 ~ g#4 ~ a4 f#4 ~ f#4 a4 ~ g#4 ~ a4 ~", D: "d#4 ~ f#4 ~ e4 ~ f#4 d#4 ~ d#4 f#4 ~ e4 ~ f#4 ~",
E: "d#4 ~ f#4 ~ e4 ~ f#4 d#4 ~ d#4 f#4 ~ e4 f#3 f#4 ~",
})).s("gm_lead_2_sawtooth").gain(0.23)
// other · slap bass 1
const slap_bass_1 = note("<~@28 A B C D E F G H ~@27 I J K L M N O P ~@40>".pickRestart({
A: "c#3@2 ~@2 c#3@2 ~@2 c#3@2 c#3!2 ~@2 c#3 ~", B: "c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 c#3@2 ~ c#3 ~",
C: "c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3!2 ~@2 c#3!2", D: "c#3@2 c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~@3",
E: "c#3@2 ~@2 c#3@2 ~@2 c#3!2 ~ c#3 ~@2 c#3 ~", F: "c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3@2 c#3 ~",
G: "c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~", H: "c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~@3",
I: "c#4@2 ~@2 c#4@2 ~@2 c#4!2 ~ c#4 ~@2 c#4 ~", J: "c#4 ~ c#4 ~ c#4!2 ~ c#4@3 c#4 ~ c#4 ~ c#4 ~",
K: "c#4 ~ c#4 ~ c#4 ~ c#4 ~ c#4!2 ~ c#4 ~@2 c#4 ~", L: "c#4 ~ c#4 ~ c#4@2 c#4 ~ c#4@2 c#4!3 ~@3",
M: "c#4 ~@3 c#4@2 ~@2 c#4!2 ~ c#4 ~@2 c#4 ~", N: "c#4 ~ c#4 ~ c#4 ~ c#4 ~ c#4 ~ c#4 ~ c#4 ~ c#4 ~",
O: "c#4 ~ c#4 ~ c#4 ~ c#4@2 c#4!2 ~ c#4 ~@2 c#4 ~", P: "c#4 ~ c#4 ~ c#4 ~ c#4 ~ c#4 ~ c#4 ~ c#4 ~@3",
})).s("gm_slap_bass_1").gain(0.52)
// chords · synth strings 1
const synth_strings_1 = note("<~ A@8 B C ~@95 D E@4>".pickRestart({
A: "[[e2,e3,b3,g#4,b4] [a2,a3] [f#2,f#3] [b2,b3,d#4,b4,d#5], e4 f#4, ~ [c#4,a4,c#5]@2 ~]/4", B: "[a2,a3,c#4,e4,a4]",
C: "[b2,b3,d#4,f#4,b4]", D: "[a2,e3,a3,c#4,e4]", E: "[[f#3,d#4,f#4]@2 [e2,e3,g#3,e4]@5 ~, [b2,b3]@3 ~]/4",
})).s("gm_synth_strings_1").gain(0.28)
// drums · kick
const kick = s("bd").struct(`<
~@11 A@8 B C D C D C D C E C D C D C D C D B C D C D C D C D C D C D C D C D C D C D C D C D C E C D C D C D C D B C D
C D C D C D C D C D C D C D C D C D C D C D C B C D C D C D C B ~@5
>`.pickRestart({
A: "x!2", B: "x ~@3 x ~@3 x ~@2 x!2 ~ x!2", C: "x!4", D: "x ~ x ~ x ~ x!2", E: "~@11 x!2 ~ x!2",
})).gain(0.44)
// drums · snare
const snare = s("sd").struct("<~@20 A@7 ~@10 A@25 ~@10 A@25 ~ A@7 ~@6>".pickRestart({
// … 32 more lines
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.