0:00/0:00
// Venus (#1, 1959) — Frankie Avalon
// 60 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 62 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(60/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 B C D@2 E F@2 G H I@4 E J@2 G K L M@5 ~@6 N O P@2 Q@5 ~@2 R@2 G H L S T@2 O P@2 E F@2 G K L S ~
>`.pickRestart({
A: "~@4 d4@2 ~@11 d4@2 ~@13", B: "~@27 d4@3 ~@2", C: "~@8 d4@3 ~@11 d4@3 ~@7",
D: "[~@4 d4@3 ~@10 [a4,c5]@4 ~@10 [e4,g4]@4 ~@10 [d4,f4]@4 ~@15]/2", E: "~@4 [a4,c5]@2 ~@5 [e4,g4]@2 ~@3",
F: "[~@4 [d4,f4]@4 ~@23 [a4,c5]@4 ~@10 [e4,g4]@4 ~@10 [d4,f4]@4 ~]/2", G: "~@11 [a4,c5]@2 ~@3",
H: "~@3 [e4,g4]@4 ~@10 [d4,f4]@4 ~@11", I: "[~@8 f4@41 e4@8 ~@5 f4@41 d4@25]/4",
J: "[~@4 [d4,f4]@4 ~@23 [a4,c5]@4 ~@10 [e4,g4]@4 ~@9 [d4,f4]@4 ~@2]/2", K: "~@4 [e4,g4]@4 ~@9 [d4,f4]@4 ~@11",
L: "~@13 [a4,c5]@4 ~@9 [e4,g4]@4 ~@2", M: "[~@8 [d4,f4]@4 ~@19 f4@40 e4@8 ~@6 f4@41 d4@27 ~@7]/5",
N: "~@13 [a4,c5]@2 ~", O: "~@4 [e4,g4]@2 ~@5 [d4,f4]@2 ~@3",
P: "[~@17 [a4,c5]@4 ~@10 [e4,g4]@4 ~@10 [d4,f4]@4 ~@15]/2", Q: "[~@3 f4@41 e4@8 ~@6 f4@41 d4@39 ~@22]/5",
R: "[~@31 [a4,c5]@4 ~@10 [e4,g4]@4 ~@10 [d4,f4]@4 ~]/2", S: "~@2 [d4,f4] ~@5",
T: "[~@4 [a4,c5]@4 ~@9 [e4,g4]@4 ~@10 [d4,f4]@4 ~@23 [a4,c5]@4 ~@2]/2", // Am Em Dm Am
})).s("gm_synth_strings_1").gain(0.28).pan(0.8)
// chords · synth strings 1 · soft notes
const synth_strings_1_soft = note("<~@40 A@2 B C ~@17 D>".pickRestart({
A: "[~@17 [a4,c5]@4 ~@10 [e4,g4]@4 ~@10 [d4,f4]@4 ~@15]/2", B: "~@4 [a4,c5]@2 ~@5 [e4,g4]@2 ~@3", C: "~ [d4,f4] ~@6",
D: "~@2 [a4,c5]@5 ~@9", // Am
})).s("gm_synth_strings_1").gain(0.16).pan(0.8)
// bass · electric bass finger
const bass = note(`<
~@2 A B@2 C D@2 E F@3 G@3 H@2 I J@2 K L@4 M@2 N O@2 P Q@2 R@2 S T@3 U V@2 W@3 X@2 Y Z@3 AA@3 AB@3 AC@2 AD AE@2
>`.pickRestart({
A: "~@16 e2@2 g2@2 ~ g2@11, ~@15 d2@2 ~@3 e2@2 ~@10",
B: "[~ g1 ~ g1@12 ~@2 g1@23 ~ g1@3 f1@4 ~ f2 ~@6 a#1 ~ c2@6, ~@55 a1@2 ~@7]/2",
C: "~@4 e2@2 d2@2 a#1@4 ~ d2@5 a#1@3 c2@8 ~@3, ~@3 d2@2 ~@27",
D: "[~ f2 ~ f1@3 ~@2 f2 ~@4 a1 ~ a#1 ~ c2@8 ~ d2 e2 ~ d2@2 a#1@6 a#1@3 ~ a#1@3 c2@8 ~ d2 f2 ~@3 f1@4 ~ f2, d2 ~@31]/2",
E: "~@4 a1 ~ a#1 ~ c2@7 ~ d2@2 e2@2 ~ a#1@4 ~@2 d2@5, ~@10 d2 ~@5",
F: "[a#1@3 c2@8 ~@2 d2@2 f2 ~ f1@3 ~@2 f2 ~@4 a1 ~ a#1 ~ c2@8 d2 ~ e2 d2@2 a#1@5 a#1@5 a#1@3 ~ c2@12 ~@2 d#2@4 ~ d#3@7 ~ c#2 ~ f2 ~@2 c#3@5 ~, ~@89 g#2@2 ~@5]/3",
G: "[~ a#1@2 c2@3 ~@2 c3@4 ~@2 c2@2 ~ c2@11 ~@2 d#2@5 ~ d#3@8 c#2 ~ c#2@2 g#2 c#3@6 ~ a#1 ~ c2@10 ~@2 f1 ~ g1 g1@5 ~ g1@3 g1@3 g1@2 g1@4 g1 g1@3 ~, ~@29 c2@2 ~@65]/3",
H: "[g1 e1 ~ f1@5 f2 ~@4 a1@2 a#1 ~ c2@6 ~@2 d2@2 e2 ~@2 a#1@4 ~@2 d2@5 a#1@3 c2@8 ~@2 d2@2 f2 ~ f1@3 ~@2 f2, ~@29 d2@2 ~@33]/2",
I: "~@4 a1 ~ a#1 ~ c2@8 d2 ~ e2 ~@2 a#1@7 a#1@3 ~, ~@10 d2 ~@5",
J: "[a#1@3 c2@8 ~ d2 f2 ~@3 f1@4 ~ f2 ~@4 a1@2 a#1 ~ c2@7 ~ d2@2 e2@2 ~ a#1@4 ~ d2@5 ~ a#1@3 c2@6, ~@43 d2@2 ~@19]/2",
K: "~@4 d2@2 f2 ~ f1@3 ~@2 f2 ~@4 a1 ~ a#1 c2@8 ~ d2 ~",
L: "[e2 d2@2 a#1@5 a#1@5 a#1@3 ~ c2@12 ~@2 d#2@4 ~ d#3@7 ~ c#2 ~ f2 ~@2 c#3@5 ~@2 a#1@2 c2@3 ~@2 c3@5 c2@2 ~@2 c2@11 ~@2 d#2@4 ~@2 d#3@8 c#2 ~ c#2@2 g#2 c#3@6 ~ a#1 ~ c2@10 ~@2 f1 g1@2, ~@24 g#2 ~@17 c2 ~@21]/4",
M: "[g1@5 g1@3 ~ g1@3 g1@2 g1@3 g1@2 g1@7 g1@2 g1@3 g1@2 g1@3 g1@3 ~ c2@2 c2!2 ~ e1@5 f#1@3 g1@2 g1@3 ~ g1@4 ~]/2",
N: "a1 g1@2 c2@2 c2@11 ~ g1 g1@3 ~ g1@5 a1 ~ g1@2 c2",
O: "[c2 ~ c2 ~ e1@5 f#1@3 g1@2 g1@3 g1@5 a1 ~ g1@2 c2@2 c2@9 ~@3 g1 g1@3 ~ g1@5 a1 g1@2 c2@2 c2 ~ c2 e1@5 ~]/2",
P: "f#1@3 g1@2 g1@3 g1@4 ~ a1 ~ g1@2 c2 c2@11 ~@2 g1",
Q: "[g1@3 ~ g1@5 a1 g1@2 c2 ~ c2 ~ c2 e1@5 f#1@3 ~ g1@2 g1@3 g1@4 ~ a1 ~ g1@2 g1 g1@3 ~ g1@4 ~@3 e1 f1@4 ~@2 f2 ~@4]/2",
R: "[a1@2 a#1 c2@7 ~@2 d2@2 ~ d2@2 a#1@4 ~ d2@5 a#1@3 c2@8 ~@4 f2 ~ f1@3 ~@2 f2 ~@5 a1 a#1 ~ c2@6, ~@14 e2@2 ~@25 d2@2 ~@21]/2",
S: "~@3 d2 e2 ~ d2@2 a#1@5 a#1@5 a#1@3 c2@11",
T: "[~@3 d#2@4 ~ d#3@7 ~@2 c#2 f2 ~ g#2 ~ c#3@5 ~@2 a#1@2 c2@3 ~@2 c3@5 c2@2 ~ c2@11 ~ c2@2 d#2@5 d#3@8 ~ c#2 c#2@2 g#2 ~ c#3@6 ~ a#1 c2@10 ~]/3",
U: "~ f1 ~ g1@2 g1@5 g1@3 ~ g1@3 g1 g1@4 g1@2 g1@5 g1 g1@2",
V: "[g1@3 ~ g1 g1@4 ~@2 f1 f1@4 ~@10 c2@2 c2@3 c2@2 c2@2 ~ e2@2 d2@2 ~ f1 ~ f1@2 f1 f1@2 ~@5 c2@5 ~@6, ~@35 d2@2 ~@3 a#1@2 ~@22]/2",
W: "[~@3 f1@5 f1@2 f1@3 a1@3 ~ c2@5 c2@2 c2@2 d2 e2 ~ d2@2 a#1@5 d2@5 a#1@3 c2@5 ~@5 d2@2 f2 ~ f1@5 f1@2 f1@3 a1@2 a#1 ~ c2@5 c2@2 ~ d2 ~ e2 ~@2 a#1@5 ~ d2@5, ~@79 c2@2 ~@3 d2@2 ~@10]/3",
X: "[a#1@3 c2@5 ~@5 d2@2 f2 ~ f1@5 f1@2 f1@3 a1@2 a#1 ~ c2@5 c2 c2@2 d2 ~ e2 d2@2 a#1@5 d2@5 a#1@3 ~ c2@5 ~]/2",
Y: "~@6 e1 ~ f1@5 f1 f1@3 ~ a1@2 a#1 c2@5 c2@2 c2@2 d2 ~",
Z: "[e2 d2@2 a#1@5 d2@5 a#1@3 ~ c2@5 ~@5 d2@2 f2 ~ f1@5 f1 f1@3 ~ a1@2 a#1 c2@5 c2@2 c2@2 d2 ~ e2 d2@2 a#1@5 d2@5 a#1@3 c2@5 ~@8 e1 f1@5 f1@2 f1@3 ~]/3",
AA: "[~ a#1 ~ c2@5 c2@2 c2@2 d2 e2 ~ d2@2 a#1@5 d2@5 a#1@3 c2@5 ~@6 d2@2 f2 f1@4 ~ f1@2 f1@3 ~@2 a#1 ~ c2@5 c2@2 c2@2 d2 e2 ~ d2@2 a#1@5 d2@5 a#1@3 c2@5 ~@6, a1@2 ~@53 a1@2 ~@39]/3",
AB: "[~ e1 ~ f1@5 f1@2 f1@3 a1@2 a#1 ~ c2@5 c2@2 c2@2 d2 e2 ~ d2@2 a#1@5 d2@5 a#1@3 c2@5 ~@5 d2@2 f2 ~ f1@5 f1@2 f1@3 a1@2 a#1 ~ c2@5 c2 c2@2 d2 ~ e2 ~@2 a#1@5 ~ d2@5, ~@42 d2 ~@5]/3",
AC: "[a#1@3 c2@5 ~@7 e1 ~ f1@5 f1@2 f1@3 a1@2 a#1 c2@5 ~ c2 c2@2 d2 ~ e2 d2@2 a#1@5 d2@5 a#1@3 ~ c2@5 ~]/2",
AD: "~@4 d2@2 f2 ~ f1@5 f1@2 f1@3 a1@2 a#1 c2@5 ~ c2 c2@2 d2 ~",
AE: "[e2 d2@2 a#1@5 d2@5 a#1@3 ~ c2@5 ~@7 e1 ~ f1@21 ~@12]/2",
})).s("gm_electric_bass_finger").gain(0.5)
// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
~@8 A B@3 C@3 D@3 E@3 F G@2 H@3 I@2 J K@6 L@3 M@6 N@3 O@6 P@3 Q@3 R@2
>`.pickRestart({
A: "~@16 [c4,f4] ~ [d4,g4]@2 [d4,f4]@9 ~@3", // F5 G5 Dm
B: "[~@3 [c4,e4,g4]@13 ~ [c4,f4,a4]@13 ~ [c4,e4,g4]@11 ~@2 [a#3,d4,f4]@12 ~@2 [c4,e4,g4]@13 ~@14 [c#4,f4,g#4]@11]/3", // C F C A# C C#
C: "[~@3 [c4,d4,g4]@20 ~@7 [d#4,f4,a#4]@12 ~@2 [c#4,f4,g#4]@10 ~@4 [c4,d4,g4]@12 ~@2 [b3,d4,g4]@22 ~@2]/3", // Csus2 D#sus2 C# Csus2 G
D: "[~@3 [c4,f4,a4]@13 ~ [c4,e4,g4]@11 ~@3 [a#3,d4,f4]@12 ~@2 e4@13 [c4,f4,a4]@13 ~ [c4,e4,g4]@11 ~@3 f4@10, ~@44 [c4,g4]@13 ~@28 [a#3,d4]@11]/3", // F C A# F C C5 A#
E: "[~@3 [c4,e4,g4]@13 ~ [c4,f4,a4]@13 ~ [c4,e4,g4]@11 ~@2 [a#3,d4,f4]@12 ~@2 [c4,e4,g4]@13 ~ [c4,f4,a4]@13 [c4,e4,g4]@11]/3", // C F C A# C F C
F: "~@3 [a#3,d4,f4]@12 ~@2 [c4,e4,g4]@13 ~@2", G: "[~@12 [c#4,f4,g#4]@12 ~@2 [c4,d4,g4]@20 ~@7 [d#4,f4,a#4]@11]/2",
H: "[~@3 [c#4,f4,g#4]@10 ~@4 [c4,d4,g4]@12 ~@2 [b3,d4,g4]@22 ~@5 [b3,d4,g4]@13 ~ [c4,e4,g4]@13 [b3,d4,g4]@11]/3", // C# Csus2 G C G
I: "[~@3 [c4,e4,g4]@7 ~@7 [b3,d4,g4]@13 ~ [c4,e4,g4]@13 [b3,d4,g4]@13 ~ [c4,e4,g4]@6]/2", // C G C G C
J: "~@8 [b3,d4,g4]@13 [c4,e4,g4]@11", // G C
K: "[~@3 [b3,d4,g4]@13 ~ [c4,e4,g4]@7 ~@6 [b3,d4,g4]@13 ~ [c4,e4,g4]@13 ~ [b3,d4,g4]@13 ~ [b3,d4,g4]@13 ~ [c4,f4,a4]@13 [c4,e4,g4]@11 ~@3 [a#3,d4,f4]@12 ~@2 [c4,e4,g4]@13 ~ a4@13 [c4,e4,g4]@11 ~@3 [a#3,d4,f4]@12 ~@2 [c4,e4,g4]@10, ~@140 [c4,f4]@13 ~@39]/6", // G C G C G F C A# …
L: "[~@17 [c#4,f4,g#4]@12 ~@2 [c4,d4,g4]@20 ~@7 [d#4,f4,a#4]@12 ~@2 [c#4,f4,g#4]@10 ~@3 [c4,d4,g4]@11]/3", // C# Csus2 D#sus2 C# Csus2
M: "[~@3 [b3,d4,g4]@22 ~@5 [b3,d4,g4]@13 ~@2 a4@13 [e4,g4]@11 ~@3 [d4,f4]@13 ~ [e4,g4]@13 [f4,a4]@13 ~ [e4,g4]@11 ~@3 [d4,f4]@13 ~ e4@13 [f4,a4]@13 ~ [c4,e4,g4]@11 ~@3 f4@10, ~@44 f4@13 ~@83 g4@13 ~@28 [a#3,d4]@11]/6", // G Em Dm Em F Em Dm F …
N: "[~@3 [c4,e4,g4]@13 ~ [f4,a4]@13 ~ [e4,g4]@11 ~@2 [d4,f4]@12 ~@2 [e4,g4]@13 ~ [f4,a4]@13 [e4,g4]@11]/3", // C F Em Dm Em F Em
O: "[~@3 [d4,f4]@13 ~ [e4,g4]@13 ~ [f4,a4]@13 [e4,g4]@11 ~@3 [d4,f4]@13 ~ [e4,g4]@13 ~ [f4,a4]@13 [e4,g4]@11 ~@3 [d4,f4]@13 ~ [e4,g4]@13 ~ a4@13 [e4,g4]@11 ~@3 [d4,f4]@13 ~ [e4,g4]@10, ~@140 f4@13 ~@39]/6", // Dm Em F Em Dm Em F Em …
P: "[~@3 [f4,a4]@13 ~ [e4,g4]@11 ~@3 [d4,f4]@13 ~ e4@13 [f4,a4]@13 ~ [e4,g4]@11 ~@3 f4@10, ~@44 g4@13 ~@28 d4@11]/3", // F Em Dm F Em
Q: "[~@3 [e4,g4]@13 ~ [f4,a4]@13 ~ [e4,g4]@11 ~@2 [d4,f4]@12 ~@2 [e4,g4]@13 ~ [f4,a4]@13 [e4,g4]@11]/3", // Em F Em Dm Em F Em
R: "[~@3 [d4,f4]@13 ~ [e4,g4]@13 ~ [f4,a4]@13 ~@20]/2", // Dm Em F
})).s("gm_electric_guitar_jazz").gain(0.21).pan(0.9)
// chords · pad warm
const pad_warm = note("<~@2 A@7 B@6 C@6 D@6 E@3 F@6 G@6 C@6 H@6 I@8>".pickRestart({
A: "[~@21 [d3,g3]@54 ~ [a3,c4,f4]@14 [g3,c4,e4]@14 [f3,a#3,d4]@13 [g3,c4,e4]@14 [a3,c4,f4]@14 [g3,c4,e4]@13 [f3,a#3,d4]@14 [g3,c4,e4]@14 [a3,c4,f4]@14 [g3,c4,e4]@13 [f3,a#3,d4]@11]/7", // G5 F C A# C F C A# …
B: "[~@3 [g3,c4,e4]@14 [a3,c4,f4]@13 [g3,c4,e4]@14 [f3,a#3,d4]@14 [g3,c4,e4]@14 [d#4,f4,a#4]@13 [c#4,f4,g#4]@14 [c4,d4,g4]@14 [c4,e4,g4]@13 [d#4,f4,a#4]@14 [c#4,f4,g#4]@14 [c4,d4,g4]@14 [b3,d4,g4]@24]/6", // C F C A# C D#sus2 C# Csus2 …
C: "[~@3 [a3,c4,f4]@14 [g3,c4,e4]@13 [f3,a#3,d4]@14 [g3,c4,e4]@14 [a3,c4,f4]@14 [g3,c4,e4]@13 [f3,a#3,d4]@14 [g3,c4,e4]@14 [a3,c4,f4]@13 [g3,c4,e4]@14 [f3,a#3,d4]@14 [g3,c4,e4]@14 [a3,c4,f4]@13 [g3,c4,e4]@11]/6", // F C A# C F C A# C …
D: "[~@3 [f3,a#3,d4]@14 [g3,c4,e4]@13 [d#4,f4,a#4]@14 [c#4,f4,g#4]@14 [c4,d4,g4]@14 [c4,e4,g4]@13 [d#4,f4,a#4]@14 [c#4,f4,g#4]@14 [c4,d4,g4]@13 [b3,d4,g4]@27 ~ [g3,b3,d4]@13 ~ [g3,c4,e4]@13 [g3,b3,d4]@11]/6", // A# C D#sus2 C# Csus2 C D#sus2 C# …
E: "[~@3 [g3,c4,e4]@13 ~ [g3,b3,d4]@13 [g3,c4,e4]@13 ~ [g3,b3,d4]@13 ~ [g3,c4,e4]@13 ~ [g3,b3,d4]@13 [g3,c4,e4]@11]/3", // C G C G C G C
F: "[~@3 [g3,b3,d4]@13 ~ [g3,c4,e4]@13 [g3,b3,d4]@13 ~ [g3,c4,e4]@13 ~ [g3,b3,d4]@25 ~@2 [a3,c4,f4]@14 [g3,c4,e4]@14 [f3,a#3,d4]@13 [g3,c4,e4]@14 [a3,c4,f4]@14 [g3,c4,e4]@14 [f3,a#3,d4]@13 [g3,c4,e4]@11]/6", // G C G C G F C A# …
G: "[~@3 [d#4,f4,a#4]@14 [c#4,f4,g#4]@13 [c4,d4,g4]@14 [c4,e4,g4]@14 [d#4,f4,a#4]@14 [c#4,f4,g#4]@13 [c4,d4,g4]@14 [b3,d4,g4]@39 ~@2 [a3,c4,f4]@14 [g3,c4,e4]@14 [f3,a#3,d4]@13 [g3,c4,e4]@11]/6", // D#sus2 C# Csus2 C D#sus2 C# Csus2 G …
H: "[~@3 [f3,a#3,d4]@14 [g3,c4,e4]@13 [a3,c4,f4]@14 [g3,c4,e4]@14 [f3,a#3,d4]@14 [g3,c4,e4]@13 [a3,c4,f4]@14 [g3,c4,e4]@14 [f3,a#3,d4]@13 [g3,c4,e4]@14 [a3,c4,f4]@14 [g3,c4,e4]@14 [f3,a#3,d4]@13 [g3,c4,e4]@11]/6", // A# C F C A# C F C …
I: "[~@3 [a3,c4,f4]@14 [g3,c4,e4]@13 [f3,a#3,d4]@14 [g3,c4,e4]@14 [a3,c4,f4]@14 [g3,c4,e4]@13 [f3,a#3,d4]@14 [g3,c4,e4]@14 [a3,c4,f4]@13 [g3,c4,e4]@14 [f3,a#3,d4]@14 [g3,c4,e4]@14 [a3,c4,f4]@13 [g3,c4,e4]@14 [f3,a#3,d4]@14 [g3,c4,e4]@13 [a3,c4,f4]@27 ~@7]/8", // F C A# C F C A# C …
})).s("gm_pad_warm").gain(0.3).pan(0.3)
// chords · pad bowed
const pad_bowed = note(`<
A ~ B ~ C D@2 E ~ F ~@4 G@2 H ~ I ~ J ~@11 K ~ L ~@5 C D@2 E ~ F ~ M N ~ K ~ L G@2 H ~ I ~ J N ~
>`.pickRestart({
A: "~@17 [c4,f4,a4]@12 ~@3", B: "~@9 [c4,d4,g4,a4]@5 ~@2", C: "~@5 [c4,f4,a4]@10 ~@17",
D: "[~@28 [c4,f4,a4]@9 ~@27]/2", E: "~@19 [c4,f4,a4]@10 ~@3", F: "~@10 [c4,f4,a4]@9 ~@13",
G: "[~@14 [c4,f4,a4]@5 ~@13]/2", H: "~@19 [c4,f4,a4]@9 ~@4", I: "~@5 [c4,f4,a4]@5 ~@6", J: "~ [c4,f4,a4]@9 ~@22",
K: "~@15 [c4,f4,a4]@10 ~@7", L: "~@5 [c4,f4,a4]@9 ~@18", M: "~ [c4,f4,a4]@10 ~@21", N: "~@3 [c4,f4,a4]",
})).s("gm_pad_bowed").gain(0.28).pan(0.9)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@6 A B ~ C ~ D E F ~@2 B ~ C ~ G ~ H ~ I ~@2 J K L M@2 N ~ O P@2 ~ Q R S ~ A B ~ C ~ G T ~ U ~ O ~ A B ~ C ~ G T ~
>`.pickRestart({
A: "[c4,f4] ~@31", B: "~@22 [c4,f4] ~@9", C: "~@13 [c4,f4] ~@18", D: "~@9 [f4,a#4] ~@6", E: "[f4,g#4] ~@31",
F: "~@9 [f4,a#4] ~@13 [f4,g#4]@2 ~@7", G: "~@4 [c4,f4] ~@27", H: "~@9 [f4,a#4]@2 ~@12 [f4,g#4] ~@8",
I: "[f4,a#4] ~@12 [f4,g#4]@2 ~@17", J: "~@12 [c4,f4] ~@2 [c4,f4] ~ [d4,g4] ~ [d4,g4] ~@2 [d4,g4] ~@9",
K: "~@5 [c4,f4] ~@2 [c4,f4] ~ [c4,f4] ~ [c4,f4] ~@2 [c4,f4] ~@16", L: "~@18 [b3,d4]@3 ~@10 [c4,f4]",
M: "[~ [c4,f4] ~ [d4,g4]@3 ~@7 [c4,f4] ~@3 [c4,e4]@4 ~@6 [c4,f4]@2 [d4,g4]@7 ~@17 [c4,f4] ~@2 [c4,f4] ~ [d4,g4]@6]/2", // F5 G5 F5 C F5 G5 F5 G5
N: "~@4 [c4,f4] ~@3 [d4,g4]@5 ~@5 [c4,f4] ~@13", O: "~@9 [c4,f4] ~@22",
P: "[~@28 f4@10 ~@8 f4 ~@12 [f4,g#4] ~@4, ~@45 a#4@2 ~@17]/2", Q: "~@4 [f4,a#4] ~@13 [f4,g#4]@2 ~@12",
R: "~@27 [d4,g4] ~@4", S: "~@9 [d4,g4] ~@22", T: "~@27 [c4,f4] ~@4", U: "~@18 [c4,f4] ~@13",
})).s("gm_electric_guitar_clean").gain(0.3).pan(0.2)
// other · electric guitar muted
const electric_guitar_muted = note(`<
A ~@3 B C D E F G H I ~@3 D E F G H J K ~@3 L M N O P Q R S T U C ~@3 V W C D E F G H J K X Y T U C D E F G H J K ~
>`.pickRestart({
A: "~@13 d4 ~ d4 ~@16", B: "~@19 f4 ~ f4!2 ~@8 c4",
C: "~ c4 d3 ~ e3 ~ d3 ~@6 a#3 ~ d4!2 ~ d4 ~ a#2 c3 ~ c4 ~@2 c3 ~@3 c3 ~",
D: "~@10 f4 ~ f4!2 ~@8 c4 ~ c4 d3 ~ e3 ~ d3 ~@2", E: "~@4 a#3 d4 ~ d4 ~ d4 a#2 ~ c3 ~ c4 ~@2 c3 ~@3 c3 ~@10",
F: "~ f4 ~ f4!2 ~@8 c4!2 ~ d3 ~ e3 ~ d3 ~@6 a#3 d4 ~ d4 ~", G: "d4 a#2 ~ c3 ~ c4 ~@2 c3 ~@3 c3 ~@11 f4!2 ~ f4 ~@4",
H: "~@4 c4!2 ~ d3 ~ e3 d3 ~@6 a#3 ~ d4 ~ d4 ~ d4 a#2 ~ c3 ~ c4 ~@2 c3", I: "~@2 c3 ~@29",
J: "~@2 c3 ~@11 f4 ~ f4 ~ f4 ~@8 c4!2 ~ d3 ~", K: "e3 d3 ~@6 a#3 ~ d4 ~ d4!2 ~ a#2 ~ c3 ~ c4 ~@2 c3 ~@2 c3 ~@6",
L: "~@26 d3 ~ g3 d3 ~ f3", M: "~ g3 d3 ~ g3 ~ d3 ~ c3 c4 ~@3 c3 c4 ~ c4 ~ c4 ~ g3 d3 ~ g3 ~ d3 f3 ~ g3 ~ d3 ~",
N: "g3 d3 ~ c4 ~@6 f3 ~@2 f3 ~@3 d3 g3 ~ d3 ~ f3 ~ g3 d3 ~ g3 ~ d3 c3 ~",
O: "c4 ~@3 c3 c4 ~ c4 ~ c4 g3 ~ d3 ~ g3 ~ d3 f3 ~ g3 ~ d3 ~ g3 d3 ~ c4 ~@5",
P: "~ f3 ~@2 f3 ~@3 d3 g3 ~ d3 ~ f3 g3 ~ d3 ~ g3 ~ d3 c3 ~ c4 ~@2 c3 ~ c4 ~ c4 ~",
Q: "c4 g3 ~ d3 ~ g3 d3 ~ f3 ~ g3 ~ d3 g3 ~ d3 ~ c4 ~@6 f3 ~@2 f3 ~@3 d3",
R: "g3 ~ d3 f3 ~ g3 ~ d3 ~ g3 d3 ~ c3 ~ c4 ~@2 c3 ~ c4 ~ c4!2 ~ g3 ~ d3 ~ g3 d3 ~ f3",
S: "~ g3 d3 ~ g3 ~ d3 ~ d3 g3 ~ d3 ~ f3 g3 ~@3 g3 ~@9 f4 ~ f4 ~",
T: "f4 ~@7 c4 ~ c4 ~ d3 e3 ~ d3 ~@6 a#3 ~ d4!2 ~ d4 ~ a#2 c3 ~", U: "c4 ~@3 c3 ~@2 c3 ~@11 f4 ~ f4!2 ~@8 c4",
V: "~@3 d3 ~ g3 d3 ~ f3 ~ g3 ~@2 g3 ~@3 d3 g3 ~ d3 ~ f3 ~ g3 d3 ~ g3 ~ d3 ~ d3",
W: "g3 ~ d3 f3 ~ g3 ~@3 g3 ~@9 f4 ~ f4!2 ~@8 c4", X: "~@5 f4 ~ f4 ~ f4 ~@7 c4 ~ c4 ~ d3 e3 ~ d3 ~@6 a#3",
Y: "~ d4 ~ d4!2 ~ a#2 ~ c3 c4 ~@3 c3 ~@2 c3 ~@11 f4 ~ f4 ~",
})).s("gm_electric_guitar_muted").gain(0.35).pan(0)
// other · electric guitar muted · soft notes
const electric_guitar_muted_2 = note(`<
A ~@3 B ~ C ~ D E ~@5 C ~ D E ~ F ~@6 G ~ H I ~ J K B ~@4 L M ~ C ~ D E ~ F ~ N ~ K B ~ C ~ D E ~ F ~@2
>`.pickRestart({
A: "~@12 d3 ~@4 d3 ~@14", B: "~@24 f4 ~@7", C: "~@15 f4 ~@16", D: "~@6 f4 ~@25", E: "~@29 f4 ~@2", F: "~@20 f4 ~@11",
G: "~@12 f3 ~@19", H: "~@3 f3 ~@28", I: "~@25 f3 ~@6", J: "~@16 d3 ~@3 d3 ~@11", K: "~ f4 ~@30",
L: "~@12 d3 ~@2 d3 ~@16", M: "~@7 d3 ~@2 d3 ~@13 f4 ~@7", N: "~@10 f4 ~@21",
})).s("gm_electric_guitar_muted").gain(0.2).pan(0)
// other · overdriven guitar
const overdriven_guitar = note("<~@23 A@3 ~@8 B ~ C@3 D ~@22>".pickRestart({
A: "[~@26 c4@2 d#4@3 f4@3 ~ f4@5 f4@5 f4@3 ~ c5@4 ~ c5@5 g4@3 g4@17 ~@17, ~@25 a#3@2 ~@69]/3", B: "~@5 c4@8 ~@3",
C: "[~@10 g3 g#3 g3 f3@2 g3@2 ~ g#3@2 ~@2 a#3@3 c4@2 ~@2 c4@6 ~ a#3@3 c4@3 c4 ~ c4@6 ~@11 a#3@2 c4@2 d#4@3 f4@3 ~ f4@5 f4@5 f4@3 c5@4 ~ c5@5 ~]/3",
D: "g4@3 g4@17 ~@12",
})).s("gm_overdriven_guitar").gain(0.4)
// other · alto sax
const alto_sax = note("<~@40 A B C D@2 E@2 F G H I@2 J K@2 L M N@3 O@2>".pickRestart({
A: "~@16 c4 ~@2 d4@2 ~ f4@2 g4@8", B: "~@11 c4 ~@2 d4@2 ~@2 f4@2 ~ c4 ~@10",
C: "~@6 c4 ~@3 d4@3 f4 ~ g4@8 ~@6 c4 c5 ~",
D: "[c5 ~@3 a#4!2 ~@3 a4@2 a4@2 ~ g4 ~ g4@2 ~ f4@2 f4@2 ~ d4@2 c4@9 ~@29]/2",
E: "[~@22 c4 ~ f4@3 g4 ~ e4@8 ~@14 a3 ~@3 a#3 g3 ~@3 a3 f3 ~@2]/2",
F: "~ g3@2 ~ a3@3 ~@19 a3@4 ~ f3, ~@4 g#3 ~@21 g#3 ~@5", G: "~ f3@2 ~@29", H: "~@25 g#4 a4@2 ~ f4@2 ~",
I: "[~ c4@2 ~ a4 ~ g4@2 ~ f4@2 ~@2 g4@2 ~ a4@2 c5 ~@2 c5@16 ~@27]/2", J: "~@19 f4 ~@4 e4@8, ~@23 g4@2 ~@7",
K: "[~@4 f4@2 d4@9 ~@5 c4 f4@2 f4@3 f4@2 a4@3 a4@2 a4@9 ~@10 f3 ~ a3 ~@2 d4@2 d4@2 ~@3, ~@21 e4 ~@6 g#4 ~@27 f4@2 ~@6]/2",
L: "~@4 d4 f4@2 d4 ~@3 d4 f4 ~@3 d4 ~ f4 ~@2 d4 f4 ~@9", M: "~ a4 ~@2 a#4 ~ g4@10 ~ g#4 a4@2 f4@12",
N: "[d4@2 [d#4,e4] f4@5 e4@5 c4@5 ~@4 c5@2 c5@3 [c#5,d5] ~ c5@4 g#4 a4 a4@5 ~ f4@3 f4@4 c4 c4@6 a3@3 a3@4 f3 f3@5 c3@4 c3@9 ~@15, ~@68 b2 ~@27]/3", // Emaj7 Dmaj7
O: "[~@8 d4 ~ [d#4,e4] f4@3 e4@4 ~@4 d4 ~ f4@3 e4 ~ f4@17 ~@18, ~@24 d#4 ~@39]/2", // Emaj7
})).s("gm_alto_sax").gain(0.48)
// other · fretless bass
const fretless_bass = note("<~@41 A ~ B ~ C D ~ E ~ F ~ G H ~ B ~ C D ~ E ~>".pickRestart({
A: "~@27 c4 ~@4", B: "~@17 c4 ~@14", C: "~@8 c4 ~@23", D: "~@31 c4", E: "~@22 c4 ~@9", F: "~@13 c4 ~@18",
G: "~@4 c4 ~@27", H: "~@26 c4 ~@5",
})).s("gm_fretless_bass").gain(0.35)
// other · string ensemble 2
const string_ensemble_2 = note("<~@2 A@4 B@3 C@6 B@3 D@3 E@5 ~@6 F G@3 H@6 B@3 D@3 I@3 G@3 B@3 D@3 J@2>".pickRestart({
A: "[~@21 [g1,g2]@24 ~@4 g2@23 ~@4 f2@13 ~ c2@13 ~ a#1@13 c2@11, ~@49 g1@16 ~@63]/4", // G
B: "[~@3 f2@13 ~ c2@13 ~ a#1@13 c2@13 ~ f2@13 ~ c2@13 a#1@11]/3",
C: "[~@3 c2@13 ~ f2@13 ~ c2@13 a#1@13 ~ c2@13 ~ a#3@13 g#3@14 g3@25 ~@2 a#3@14 g#3@14 g3@13 g4@17 ~@8]/6",
D: "[~@3 c2@13 ~ f2@13 ~ c2@13 a#1@13 ~ c2@13 ~ f2@13 c2@11]/3",
E: "[~@3 a#1@13 ~ c2@13 ~ a#3@13 g#3@14 g3@25 ~@2 a#3@14 g#3@13 g3@14 g4@17 ~@17]/5", F: "~@21 f2@11",
G: "[~@3 c2@13 ~ a#1@13 ~ c2@13 f2@13 ~ c2@13 ~ a#1@13 c2@11]/3",
H: "[~@3 a#3@13 ~ g#3@13 g3@25 ~@3 a#3@14 g#3@13 g3@14 g4@39 ~@2 f2@13 ~ c2@13 ~ a#1@13 c2@11]/6",
I: "[~@3 a#1@13 ~ c2@13 ~ f2@13 c2@13 ~ a#1@13 ~ c2@13 f2@11]/3", J: "[~@3 a#1@13 ~ c2@13 ~ f2@14 ~@19]/2",
})).s("gm_string_ensemble_2").gain(0.25)
// … 182 more lines
More by Frankie Avalon
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.