0:00/0:00
// For a Date With You — Rene Froger
// 138 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 150 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(138/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 · piano · "A.PIANO 3"
const piano = note(`<
A@2 B@2 C@4 D@5 ~@8 E@2 F@2 E@2 F@2 G H I J E K E L M N O N P G@2 Q@2 R S K Q S T U ~@4 E@2 F@2 E@2 F@2 G H I J E K E
L M N O N P G@2 Q V R W@4 T U ~@16 E K E L M N O N P G@2 X Q G@2 X Q G@2 X Q R S K Q S Y Z ~@17
>`.pickRestart({
A: "[~@14 g3 g2, [a1,a2,c4,e4]@31 ~, g3@7 ~, ~@26 a3@5 ~]/2", B: "[~@31 d#3, [f2,d#3,g3,c4], ~ f1@31, ~@15 a3]/2",
C: "[~@2 g2@2 c4@29 ~@4 g2@2 ~@20 [g3,c4]@5, ~@4 [a1,a2,g3,e4]@31 g3@4 ~ [f2,d#3]@24, ~@34 c4@6 [g3,c4]@19 ~@5, ~@41 f1@23]/4", // C5 A7 F7 C5
D: "[~ [e1,e2,d3,g#3,b3]@37 ~@6 [e3,g3]@12 ~@10 c5@10 ~@4, ~@44 [a1,a2]@17 e4@3 g4@13 ~@3, ~@44 c4@15 c4@18 ~@3, ~@56 e3@21 ~@3, ~@57 g3@19 ~@4]/5", // E7 Em A
E: "~@2 [g3,c4,e4] ~@2 [g3,c4,e4] ~@2 [g3,c4,d4]@2 ~ [g3,c4,e4] ~@2 [g3,c4,f4] ~", // C Gsus4 C Csus4
F: "~@2 [f3,a3,c4] ~@2 [f3,a3,c4] ~@2 [f3,g3,c4]@2 ~ [f3,a3,c4] ~@2 [f3,a#3,c4] ~", // F Fsus2 F Fsus4
G: "~@2 [f3,a3,c4] ~@2 [f3,a3,c4] ~@2 [f3,g3,c4]@2 ~ [f3,a3,c4] ~@2 [f3,a3,c4] ~", // F Fsus2 F
H: "~@2 [e3,g#3,b3] ~@2 [e3,g#3,b3] ~@2 [e3,g#3,b3]@2 ~ [e3,g#3,b3] ~@2 [e3,g#3,b3] ~", // E
I: "~@2 [e3,a3,c4] ~@2 [e3,a3,c4] ~@2 [e3,g3,c4]@2 ~ [e3,g3,c4] ~@2 [e3,g3,c4] ~", // Am C
J: "~@2 [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@2 [f#3,a3]@2 ~ [f#3,a3,d4] ~@2 [f#3,a3,d4] ~, ~@8 d4 ~@7", // D F#m D
K: "~@2 [a3,c4,e4] ~@2 [a3,c4,e4] ~@2 [a3,c4,d4]@2 ~ [a3,c4,e4] ~@2 [a3,c4,e4] ~", // Am D7 Am
L: "~@2 [a3,c4,e4] ~@2 [a3,c4,e4] ~@2 [a3,c4,e4]@2 ~ [a3,c4,e4] ~@2 [a3,c4,e4] ~", // Am
M: "~@2 [f3,a3,c4] ~@2 [f3,a3,c4] ~@2 [f3,a3,c4]@2 ~ [f3,a3,c4] ~@2 [f3,a3,c4] ~", // F
N: "~@2 [g3,b3,d4] ~@2 [g3,b3,d4] ~@2 [g3,b3,d4]@2 ~ [g3,b3,d4] ~@2 [g3,b3,d4] ~", // G
O: "~@2 [f3,a3,c4,d4] ~@2 [f3,a3,c4,d4] ~@2 [f3,a3,c4,d4]@2 ~ [f3,a3,c4,d4] ~@2 [f3,a3,c4,d4] ~", // Dm7
P: "[g3,d4,g4] ~@15", Q: "~@2 [g3,c4,e4] ~@2 [g3,c4,e4] ~@2 [g3,c4,d4]@2 ~ [g3,c4,e4] ~@2 [g3,c4,e4] ~",
R: "~@2 [f3,a3,c4] ~@2 [f3,a3,c4] ~@2 [f3,c4] ~@2 [f3,a3,c4] ~@2 [f3,a3,c4] ~, ~@4 g3 ~@3", // F F5 F
S: "~@2 [f3,a3,c4] ~@2 [f3,a3,c4] ~@2 [f3,g3]@2 ~ [f3,a3,c4] ~@2 [f3,a3,c4] ~, ~@8 c4 ~@7", // F Fsus2 F
T: "~@2 [g3,c4,d4] ~@2 [g3,c4,d4] ~@2 [g3,c4,d4] ~@2 [g3,c4,d4] ~@2 [g3,c4,d4] ~", U: "[g3,b3,d4] ~@15",
V: "~@2 [g3,c4,e4] ~@2 [c4,e4] ~@2 [g3,c4,d4]@3 [g3,c4,e4] ~@2 [g3,c4,e4] ~, ~@5 g3@3 ~@8", // C Gsus4 C
W: "[~@2 [f3,a3,c4] ~@2 [f3,a3,c4] ~@2 f3@2 ~ [f3,a3,c4] ~@2 [f3,a3,c4] ~@3 [a3,c4,e4] ~@2 [a3,c4,e4] ~@2 [a3,c4,d4]@2 ~ [a3,c4,e4] ~@2 [a3,c4,e4] ~@3 [c4,e4] ~@2 [c4,e4] ~@2 [g3,c4,d4]@3 [c4,e4] ~@2 [c4,e4] ~@3 [f3,a3,c4] ~@2 [f3,a3,c4] ~@2 g3@3 [f3,a3,c4] ~@2 [f3,a3,c4] ~, ~@8 g3@26 g3@3 g3@3 ~@3 g3@3 g3@10 f3@2 ~@6, ~@8 c4 ~@47 c4 ~@7]/4", // F Am D7 Am C Gsus4 C F
X: "~@2 [g3,c4,e4] ~@2 [g3,c4,e4] ~@2 [g3,c4,d4]@2 ~ [c4,e4] ~@2 [c4,e4] ~, ~@11 g3@3 g3@2", // C Gsus4 C
Y: "~@2 [c4,d4] ~@2 [c4,d4] ~@2 [g3,c4,d4] ~@2 [g3,c4,d4] ~@2 [c4,d4] ~, ~@2 g3@3 g3@3 ~@6 g3@2", // Csus2 Gsus4 Csus2
Z: "b3 ~, g3 ~@7, d4 ~@15",
})).s("gm_piano").gain(0.3)
// bass · synth bass 2 · "SYN BASS 2"
const bass = note(`<
A@2 B@6 C@6 D E F D@2 E F D@2 G H D@2 H@3 I J K D L D L H M N M O P@2 Q@2 P@2 R S P S T D@2 E F D@2 G H D@2 H@3 I J K
D L D L H M N M O P@2 Q@2 P@2 R S P S T D@2 E F D@2 E F R U P V R U P W D L D L H M N M O P@2 Q@2 X P Q@2 X P Q@2 P@2
R S P S T D@2 E F D@2 E F D@2 E F D@2 E F ~
>`.pickRestart({
A: "[a1@15 g1]/2", B: "[f1@33 ~ g1@2 a1@33 ~ g1@2 f1@24]/6",
C: "[~ e1@43 a1@36 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2]/6", D: "c2!8", E: "f2!8", F: "d2!4 g2!4",
G: "f1@2 f1@2 f1 ~ f1@2 f1@2 f1@2 f1@2 f1@2", H: "f1!8", I: "e1!4 g#1!4", J: "a1!4 g1!4", K: "f#1!8", L: "a1!8",
M: "g1!8", N: "d1!8", O: "g1@2 ~@10 g2 f2 [c2,d2,e2] [g1,a1,b1]", P: "~ f1 ~ f1 ~ f1 ~ f1", Q: "~ c2 ~ c2 ~ c2 ~ c2",
R: "~ a1 ~ a1 ~ a1 ~ a1", S: "~ g1 ~ g1 ~ g1 ~ g1", T: "g1@3 ~@13", U: "~ a1 ~ a1 ~ a1 ~ g1",
V: "~ f1 ~ f1 ~ f1 ~ g#1", W: "~ f1 ~ f1 ~ f1 ~ b1", X: "~@2 f1 ~@3 f1@2 ~@2 f1@2 ~@2 f1@2",
})).s("gm_synth_bass_2").gain(0.42)
// bass · synth bass 2 · "SYN BASS 2" · soft notes
const bass_soft = note(`<
~@42 A@2 B@2 A@2 C D A D ~@26 A@2 B@2 A@2 C D A D ~@9 C E A F C E A G ~@9 A@2 B@2 A@2 B@2 A@2 B@2 A@2 C D A D ~@18
>`.pickRestart({
A: "f1 ~ f1 ~ f1 ~ f1 ~", B: "c2 ~ c2 ~ c2 ~ c2 ~", C: "a1 ~ a1 ~ a1 ~ a1 ~", D: "g1 ~ g1 ~ g1 ~ g1 ~",
E: "a1 ~ a1 ~ a1 ~ g1 ~", F: "f1 ~ f1 ~ f1 ~ g1 ~", G: "f1 ~ f1 ~ f1 ~ a1 ~",
})).s("gm_synth_bass_2").gain(0.19)
// other · alto sax
const alto_sax = note(`<
~@13 A B A C D E F G ~@19 H I ~@9 J I D B A K ~@13 L M N O ~@3 P ~@10 P Q R S T Q R S T U V ~ W X Y ~ W Z@2 AA N O ~@3
AB ~@7 AC ~@10 AB ~@17
>`.pickRestart({
A: "~@4 c4 ~@3 d4 ~@3 e4@2 ~@2", B: "c4@2 ~@2 c4 ~@3 d4 ~@3 e4@3 ~",
C: "f4@3 ~ e4@2 ~@4 [g3,g4] ~ [g3,g4]!2 [a3,a4] [c4,c5]", D: "~@8 d4 ~@3 e4@2 ~@2",
E: "c4@2 ~@2 c4 ~@3 d4 ~@3 e4@2 ~@2", F: "c4 ~@5 e4 ~", G: "f4@2 ~@2 e4@2 ~@6 g4 a4 c5 ~",
H: "~@10 c4 a3 d4 c4 e4 d4", I: "g4 ~@15", J: "~@10 c4 ~ d4 c4 e4 d4", K: "f4@3 ~ e4@2 ~@6 [e3,e4]!2 [d3,d4] [c3,c4]",
L: "~@7 c4 ~ c4 ~@6", M: "~@2 a3 ~ c4@2 a3 e4@2 d4 c4 ~@5, ~ c4@3 ~@12", N: "~@15 c4",
O: "~ c4 a3 ~ c4 ~ e4 d4 c4 ~@7", P: "~@2 c4 ~ d4 c4 e4 d4 g4 ~@7", Q: "~@12 c4 ~@3",
R: "d4 ~@3 e4@2 ~@2 c4@2 ~@2 c4 ~@3", S: "d4 ~@3 e4@3 ~@5 c4 ~@3", T: "d4 ~@3 e4@2 ~@2 f4@3 ~ e4@2 ~@2",
U: "d4 ~@3 c4 ~@11", V: "~@6 [g3,g4] [a3,a4] ~@8", W: "~@10 c5 ~@2 a#4 ~@2", X: "g4@2 f4 ~ f4 e4 ~@10",
Y: "~@6 [g3,g4] [a3,a4] ~ [g3,g4] ~ [a3,a4] ~@4", Z: "[g4@2 f4 ~ f4 e4 ~@2 [c4,e4]@16 ~@7 c4]/2",
AA: "~ c4 a3 ~ c4 ~ a3 e4@2 d4 c4 ~@5", AB: "~@2 c4 a3 d4 c4 e4 d4 g4 ~@7", AC: "~@7 f4@2 ~ e4 ~ c4!2 ~ c4",
})).s("gm_alto_sax").gain(0.22).pan(0.1)
// other · alto sax · soft notes
const alto_sax_soft = note(`<
~@13 A B C D ~@2 E F ~@32 A B C D ~@14 G ~ H ~@15 I J K J L J K J ~@10 G ~ H ~@40
>`.pickRestart({
A: "c4@2 ~@8 d4 ~@5", B: "~@10 d4 ~@5", C: "c4@3 ~@3 c4 ~@3 d4 ~@5", D: "~@8 d4 ~@7", E: "~@4 c4 ~ c4 ~ d4 ~ d4 ~@5",
F: "~@4 d4 ~@3", G: "~@10 b3 ~@5", H: "~@8 [a3,b3] ~@7", I: "~@4 c4 ~@3", J: "~@2 d4 ~@13",
K: "~@2 d4 ~@5 c4@3 ~@3 c4 ~", L: "d4 ~@7 c4@2 ~@6",
})).s("gm_alto_sax").gain(0.09).pan(0.1)
// other · trumpet
const trumpet = note(`<
~@16 A ~@3 B ~@11 C@2 ~@6 D E ~@9 D E ~@15 C@2 F@2 G H ~@2 D E ~@9 D E I J K L I J K L M ~@2 N M O ~ N P F@2 G H Q ~ D
E ~@3 R ~@2 S@2 ~@3 T ~@5 D E ~@17
>`.pickRestart({
A: "~@10 [g4,g5] ~ [g4,g5]!2 [a4,a5] [c5,c6]", // G A C
B: "[a4,a5]@3 ~ [g4,g5] ~ [g4,g5] ~ [f4,f5]@3 ~ [g4,g5] [a4,a5] [c5,c6] ~, ~@12 [e4,e5]@3 ~", // A G F G A C E
C: "[~@4 [f#3,f#4]@2 [g3,g4] ~ [a3,a4]@2 [b3,b4] ~ [c4,c5] ~ [e4,e5] [c4,c5]@16 ~]/2", // F# G A B C E C
D: "~@10 [c4,c5] [a3,a4] [d4,d5] [c4,c5] [f4,f5] [d4,d5]", E: "[g4,g5] ~@15",
F: "[~@7 c5 ~ c5 a4 ~ c5 ~ a4 e5@2 [b4,c5,d5] [f4,g4,a4] ~@13]/2", G: "~@7 c5 ~ c5 a4 ~ c5 ~ e5 d5",
H: "[a4,b4,c5] ~@15", I: "c3@3 ~ c3 ~ c3@2 d3 ~ d3 ~ e3@3 ~", J: "c3@3 ~ c3 ~ c3 ~ d3 ~ d3 e3@3 ~@2",
K: "c3@2 ~@2 c3 ~ c3 ~ d3!2 ~@2 e3@3 ~", L: "f3@3 ~ e3@3 ~ d3@4 c3@2 ~@2", M: "~@14 [g4,g5] [a4,a5]",
N: "~@2 [a4,a5] ~@2 [g4,g5] ~@2 [d4,d5]@3 ~ [d4,d5] [c4,c5] ~@2", O: "~ [g4,g5] ~ [a4,a5] ~@12", P: "[c4,g4,c5]",
Q: "~@8 [c4,c5]@2 [d4,d5] [b3,b4]@2 [a3,a4] [g3,g4]!2", // C D B A G
R: "[c4,c5]@3 [c4,c5] ~@2 [d4,d5] ~@3 [d4,e4,e5] ~ [e4,e5]@3 ~", // C D Dsus2 E
S: "[~@14 [c5,c6] [f5,f6]@3 [e5,e6] ~ [c5,c6]!2 ~ [c5,c6] ~@8]/2", // C F E C
T: "[c4,c5]@2 ~ [c4,c5] ~@2 [d4,d5] ~@3 [e4,e5] ~ [e4,e5]@2 [c4,d4,d5] [g3,a3,b3,c5]", // C D E Csus2 Cmaj7
})).s("gm_trumpet").gain(0.14).pan(0.6)
// other · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note(`<
~@13 A B@2 C A B@2 D ~@32 A B@2 C ~@32 A B@2 C A B@2 C ~@36 A B@2 C A B@2 D A B@2 C A B@2 D ~
>`.pickRestart({
A: "[c4,c5]@3 ~ [c4,c5] ~ [c4,c5] ~ [d4,d5] ~ [d4,d5] ~ [e4,e5]@2 ~@2", // C D E
B: "[c4,c5]@3 ~ [c4,c5] ~ [c4,c5] ~ [d4,d5] ~ [d4,d5] ~ [e4,e5]@3 ~", // C D E
C: "[f4,f5]@3 ~ [e4,e5] ~ [e4,e5] ~ [d4,d5]@3 ~ [c4,c5]@3 ~", D: "[f4,f5]@3 ~ [e4,e5]@3 ~ [d4,d5]@3 ~ [c4,c5]@3 ~",
})).s("gm_synth_brass_1").gain(0.18).pan(0.7)
// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
A@2 B@2 C@5 ~ D@3 E@2 F G@4 H@8 ~@9 I@4 J@8 K@2 L M@5 ~@16 N@2 O P Q R@2 E@2 S@2 T U V U W X@2 F Y@4 Z@8 AA ~@4 AB@4
AC@3 AD@4 AE@4 E@2 S@2 T U V U W AF@2 AG@2 AF@2 AG@2 AF@2 F AH AF@2 F AH ~
>`.pickRestart({
A: "[[a2,c4,e4]@31 ~, g3@7 ~]/2", B: "[f2,d#3,g3,c4]/2",
C: "[~@4 [g3,e4]@32 ~@4 [f2,d#3]@27 ~@13, ~@4 c4@29 ~@7 [g3,c4]@19 ~@21]/5", // C F7 C5
D: "[~@3 [a1,a2]@8 ~, ~@4 c4@5 ~@7, ~@12 [e3,g3]@13 ~@23]/3", E: "[e3,g3,c4]/2", F: "[c3,f3,a3]",
G: "[[d3,f3,a3] [d3,g3] [e3,g3,c4]@4 [c3,f3,a3]@2, ~ b3@7]/4", H: "[[d3,f3,a3] [g3,b3]@15, ~ d3 ~@14]/8",
I: "[[f3,a3,c4]@15 [g3,c4,d4]@9 d4@7 ~ [a3,c4,f4]@15 ~ [c4,d4,g4]@16, ~@3 [g3,b3]@5]/4", // F Gsus4 F Csus2 G
J: "[g4@2 ~@14 [c3,f3,a3]@31 ~ [e3,c4]@32 [c3,f3,a3]@32 [e3,a3,c4]@15 ~, b3, g3@3 g3@5, d4 ~@127]/8", // F C F Am
K: "[[d3,c4]@15 ~ [f3,a3,c4]@15 ~, g3]/2", L: "[d3,g3,c4]",
M: "[g3@2 [e3,c4]@4 [c3,f3,a3]@2 [d3,f3,a3] [d3,g3,b3], b3@9 ~, d3@2 ~@14 g3@39 ~@25]/5", // C F Dm G
N: "[[f3,a3,c4]@15 [g3,c4,d4]@8 ~ [g3,b3,d4]@7 ~]/2", O: "[a3,c4,f4]@15 ~", P: "[c4,d4,g4]",
Q: "[g3,g4] ~@7, [b3,d4] ~@15", R: "[[c3,f3,a3]@31 ~]/2", S: "[c3,f3,a3]/2", T: "[e3,a3,c4]@15 ~",
U: "[d3,g3,c4]@15 ~", V: "[f3,a3,c4]@15 ~", W: "[d3,g3,b3] ~@7", X: "[c3,e3,g3]/2",
Y: "[[d3,f3,a3] [d3,g3] [c3,e3,g3]@4 [c3,f3,a3]@2, ~ b3@7]/4", // Dm G5 C F
Z: "[[d3,f3,a3]@8 d3@8 ~@2 [a2,a3] ~ [c3,c4] ~ [a2,a3] ~ [d#3,d#4]@3 ~ [d3,d4] ~ [c3,c4] ~@3 [a2,a3] ~ [c3,c4] ~ [a2,a3] ~ [d#3,d#4]@3 ~ [d3,d4] ~ [c3,c4] ~@3 [a2,a3] ~ [c3,c4] ~ [a2,a3] ~ [d#3,d#4]@3 ~ [d3,d4] ~ [c3,c4] ~@3 [a2,a3] ~ [c3,c4] ~ [a2,a3] ~ [d#3,d#4]@2 [d3,d4]@2 [c3,c4]@2 [a2,a3] ~@3 [a2,a3] ~ [c3,c4] ~ [a2,a3] ~ [d#3,d#4]@3 ~ d4@2 [c3,c4] ~@3 [a2,a3] ~ [c3,c4] ~ [a2,a3] ~ [d#3,d#4]@3 ~ d4@2 c3@2 ~@2 [a2,a3] ~ [c3,c4] ~ [a2,a3] ~ d#4@3 ~ [d3,d4]@2 c3@2, ~ g3@15, ~@8 b3@64 ~@20 d3 ~@14 d3@2 ~ c4 ~@15 c4 ~]/8", // Dm A C A D# D C A …
AA: "~@2 [a2,a3] ~ [c3,c4] ~ [a2,a3] ~ [d#3,d#4] ~ [d3,d4] ~ [c3,c4]@4", // A C A D# D C
AB: "[[f3,a3,c4]@15 [g3,c4,d4]@9 [b3,d4]@7 ~ [a3,c4,f4]@15 ~ [c4,d4,g4]@16, ~@3 g3@5]/4", // F Gsus4 Bm F Csus2
AC: "[[b3,d4] ~@15 [c3,f3,a3]@31 ~, g3, g4 ~@23]/3", AD: "[[e3,c4]@32 [c3,f3,a3]@31 ~, g3]/4",
AE: "[[e3,c4] [c3,f3,a3], g3@55 ~@9]/4", AF: "[[c3,e3], g3 ~@3]/2", AG: "[[f3,a3]@2 [d3,f3,a3] [d3,g3,b3], c3]/2",
AH: "[d3,f3,a3] [d3,g3,b3]", // Dm G
})).s("gm_string_ensemble_1").gain(0.15)
// chords · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note("<~ A ~ B@4 C@4 D@2 ~@137>".pickRestart({
A: "~@6 g3 g2, ~@10 a3@5 ~", B: "[~@18 g2@2 ~@33 g2@2 ~@9, ~@14 a3@7 ~@29 c4@6 ~@8, ~@15 d#3@5 a2@31 g3@4 ~@9]/4",
C: "[~@17 [e2,d3,g#3,b3]@37 ~@10, ~@11 [g3,c4]@8 ~@45]/4", // E7 C5
D: "[~@9 c5@5 ~@2, ~@8 e3@21 ~@3, ~@9 g3@7 g4@13 ~@3, ~@11 c4@18 ~@3, ~@13 e4@15 ~@4]/2",
})).s("gm_string_ensemble_1").gain(0.06)
// other · lead 8 bass lead · "BASS&LEAD"
const lead_8_bass_lead = note(`<
~@13 A B A C A B A D E@2 F G E H F G F I J K E L E L M N O N P A@6 Q A@2 R S A B A D E@2 F G E H F G F I T K E L E L F
N U N P A@6 Q A@2 R S A B A D A B A C V W X Y V W X Z E L E L F N O N P A@11 Q A@2 Q A@2 R S A B A C A B A D A B A C A
B A D ~
>`.pickRestart({
A: "c4!2 c5!2 c4!2 c5!2 d4!2 d5!2 e4!2 e5!2", B: "c4!2 c5!2 [c4,d4] c4 c5!2 d4!2 d5!2 e4!2 e5!2",
C: "f4!2 f5!2 e4!2 e5!2 d4!2 d5!2 c4!2 c5!2", D: "~ f4 f5!2 e4!2 e5!2 d4!2 d5!2 c4!2 c5!2",
E: "c3 ~ c3!3 ~ c3!2 ~ c3!4 ~ c3!2", F: "f2 ~ f2!3 ~ f2!2 ~ f2!4 ~ f2!2", G: "f2 ~ f2!3 ~ f2!2 ~ f2!4 ~ f2 ~",
H: "c3 ~ c3!3 ~ c3!2 ~@2 c3!3 ~ c3!2", I: "e2 ~ e2!3 ~ e2 g#2 ~ g#2!4 ~ g#2!2", J: "a2 ~ a2!3 ~ a2 g2 ~ g2!4 ~ g2!2",
K: "f#2 ~ f#2!3 ~ f#2!2 ~ f#2!4 ~ f#2!2", L: "a2 ~ a2!3 ~ a2!2 ~ a2!4 ~ a2!2", M: "f2 ~@2 f2!2 ~ f2!2 ~ f2!4 ~ f2!2",
N: "g2 ~ g2!3 ~ g2!2 ~ g2!4 ~ g2!2", O: "d2 ~ d2!3 ~ d2!2 ~ d2!4 ~ d2!2", P: "g2 ~@15",
Q: "c4 ~ c5!2 c4!2 c5!2 d4!2 d5!2 e4!2 e5!2", R: "g3!2 g4!2 g3!2 g4!2 g3!2 g4!2 g3!2 g4!2", S: "g3 ~@15",
T: "a2 ~ a2!3 ~ a2 g2 ~ g2!3 ~@2 g2!2", U: "d2 ~ d2!3 ~ d2!2 ~ d2!3 ~@2 d2!2", V: "~@2 a3!2 ~@2 a3!2 ~@2 a3!2 ~ a3!3",
W: "~@2 a3!2 ~@2 a3!2 ~@2 a3 g3 ~ g3!3", X: "~@2 f3!2 ~@2 f3!2 ~@2 f3!2 ~ f3!3",
Y: "~@2 f3!2 ~@2 f3!2 ~@2 f3 g3 ~ g3 g#3!2", Z: "~@2 f3!2 ~@2 f3!2 ~@2 f3 ~ a3 ~ b3!2",
})).s("gm_lead_8_bass_lead").gain(0.15)
// drums · kick
const kick = s("bd").struct(`<
~@13 A@19 B A@3 B A@8 B A@3 B A@18 B A@3 B A@8 B A@3 B A@12 B A B A B A B A@3 B A@8 B A@3 B A@3 B A@3 B A@19 ~
>`.pickRestart({
A: "x!4", B: "x ~ x ~ x ~ x!2",
})).gain(0.5)
// drums · snare
const snare = s("sd").struct(`<
~@13 A B C D A B C E F G@6 H G@3 I G@7 J K G@9 L K A B C D G@7 H G@3 I G@7 J K G@3 M G@5 L K A B C D A B C D F@3 N F@3
O G@7 J K G@3 M G@3 M G@3 M G@5 L K A B C D A B C E A B C D A B C E ~
>`.pickRestart({
A: "~@4 x ~@2 x ~@3 x!2 ~ x ~", B: "~@2 x ~ x ~ x!2 ~@3 x!2 ~ x ~", C: "~@2 x ~ x ~ x!2 ~@4 x ~ x ~",
D: "~@2 x ~ x ~@3 x!8", E: "~@2 x ~ x ~@3 x!2 ~ x!5", F: "~ x ~ x", G: "~@4 x ~@2 x ~@4 x ~@3",
H: "~@4 x ~@3 x!2 ~ x ~ x!2 ~", I: "~@4 x ~@2 x ~@2 x ~ x ~@3", J: "~@4 x ~@2 x!9", K: "x ~@11 x!4",
L: "~@4 x ~@2 x ~@5 x!3", M: "~@4 x ~@2 x ~@2 x!5 ~", N: "~@2 x ~@2 x!3", O: "~@4 x ~@3 x!2 ~@2 x!4",
})).gain(0.4)
// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
~@13 A B C D A B C E ~@24 B ~@5 F ~ A B C D ~@30 F ~ A B C D A B C D ~@7 C ~@26 F ~ A B C D A B C E A B C D A B C E ~
>`.pickRestart({
A: "~ x ~ x ~ x ~@2", B: "~@5 x ~@2", C: "~@10 x!2 ~@4", D: "~@6 x!2 ~@8", E: "~@6 x!2 ~@2 x ~@5", F: "~@8 x!5 ~@3",
})).gain(0.2)
// drums · clap
const clap = s("cp").struct(`<
~@12 A B@3 C D B@2 E ~@19 A ~@10 A ~ B@3 E ~@19 A ~@10 A ~@10 F ~ F ~ F ~ F ~@28 B@3 C D B@2 E B@3 C D B@2 E ~
>`.pickRestart({
A: "x", B: "~ x ~ x", C: "~@2 x ~@2 x!3", D: "~ x ~@2", E: "~@2 x ~@2 x!2 ~", F: "~@4 x!4",
})).gain(0.3)
// drums · low tom
// … 53 more lines
More by Rene Froger
Are You Ready for Loving MeG major · 135 bpmWoman WomanD major · 68 bpmAlles kan een mens gelukkig makenB♭ major · 85 bpmCalling Out Your NameG major · 130 bpmHere in My HeartC minor · 70 bpmI'm a Singer, This Is the Moment (medley)F major · 66 bpmIn DreamsB♭ major · 116 bpmJust Say HelloA♭ major · 98 bpm
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.