0:00/0:00
// Hello Hooray — Alice Cooper
// 94 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 6/4 at bar 20, 4/4 at bar 21, 6/4 at bar 42, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 98 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(94/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
const piano = note(`<
A B C D C B E D F G@3 H G I J K L M N O P Q R S Q T@2 U V W X@4 Y@4 Z AA AB@2 AC AD@3 AE@3 AF@2 AG AH@4 AI@3 AJ AK
AL@2 AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ Q BA BB BC BA BB Q BA BB Q BA BB Q BA BB Q BD@4
>`.pickRestart({
A: "~@14 [e1,e2] ~, ~@7 e3", B: "[a1,a2,a3]@5 ~ [a1,a2,a3] ~ [a1,a2,a3]@7 ~",
C: "[g1,g2,g3]@5 ~ [g1,g2] ~ [g1,g2,g3]@7 ~, ~@3 g3 ~@4", D: "[f1,f2,f3]@5 ~ [f1,f2] ~ [f1,f2,f3]@7 ~, ~@3 f3 ~@4",
E: "[g1,g2,g3]@6 [g1,g2] ~ [g1,g2,g3]@7 ~, ~@3 g3 ~@4", // G
F: "[g1,g2,g3]@5 ~ [g1,g2] ~ [g1,g2,g3]@5 ~ [e1,e2,e3]@2, ~@3 g3 ~@4", G: "[a1,a2]@5 ~ [a1,a2]@2 [a1,a2]@7 ~",
H: "[a1,a2]@5 ~ a2@2 [a1,a2]@5 ~ e1@2, ~@6 a1 ~@7 e2 ~", I: "[a1,a2]@5 ~ a1@2 [a1,a2]@7 ~, ~@6 a2 ~@9",
J: "[a1,a2]@5 ~ [a1,a2] ~ [a1,a2]@7 ~", K: "[g1,g2,g4,b4,d5] [f1,f2,f4,a4,c5]",
L: "[e1,e2] ~ [e4,g#4,b4]@2 [e1,e2]!2 [g#1,g#2] [b1,b2], ~@2 [e1,e2]@5 ~@5 d#4 ~@3, ~@4 d#4 ~@7 [e4,g#4,b4]@4", // E G# B E
M: "[a1,a2,a3,c4,e4]@3 ~ [b1,b2,b3,d4,g4]@3 ~ [c2,c3,c4,e4,g4]@8", // Am G C
N: "[d#5,e5,a5] ~ [g4,b4,d5,g5]@2 [f4,a4,c5,f5] ~ a#4 ~ [e1,e2]@2 ~@2 [e4,g#4,b4]@4, [a4,c5]@2 ~@4 [e4,g#4,b4,e5]@4 [e1,e2]@5 ~, ~@12 d#4 ~@3", // A G F E Am E
O: "[e1,e2]@2 [e1,e2]@2 [g#1,g#2]@2 [b1,b2]@2 [a1,a2,a3,c4,e4]@3 ~ [g1,g2,b3,d4,g4]@3 ~, ~ [e4,g#4,b4] ~@2, ~@4 d#4 ~@11", // E G# B Am G E
P: "[c2,c3,c4,e4,g4] [g4,b4,d5]", Q: "~@2 [g4,b4] ~ [a4,b4,d5] ~ [f4,a4,c5]@10",
R: "~@2 [f4,a4,c5] ~ [g4,b4,d5] ~@9 [g1,g2]@2, ~@3 [e4,g4,c5]@5", S: "[c2,c3] [d2,d3] [e2,e3] [f2,f3] [g4,b4,d5]@4",
T: "[~@2 [f4,a4,c5]@2 ~ [g4,b4,d5]@2 ~@7 [g1,g2]@2 [c2,c3]@2 d2@2 [e2,e3]@2 f3@2 [b4,d5,g5]@8, ~@4 [e4,g4,c5]@7 ~@5, ~@18 d3 ~@3 f2 ~@9]/2", // F G C E G C
U: "~@2 [b4,d5,g5] ~ [a4,d5,g5] ~ [a4,c5,f5]@10", V: "~@2 [a4,c5,f5] ~ [b4,d5,g5] ~@9 g2 ~, ~@3 [g4,c5,e5]@5",
W: "[c2,c3]@3 ~ [g2,g4,b4,d5] ~ [c2,c3,g4,c5,e5]@6 ~@2 [g4,c5,e5,g5,c6]!2", // C G C
X: "[[g4,c5,e5]@2 [g#4,b4,e5,g#5,b5]!2 [g#4,b4,e5]@4 [a1,a2]@5 ~ [a1,a2]@2 [a1,a2]@7 ~ [a1,a2]@4 [c#5,c#6] ~ [a1,a2]@2 [e5,e6]@3 ~ [a4,a5]@2 ~@2 [a1,a2]@5 ~ [a1,a2]@2 [a1,a2]@7 ~ [a1,a2]@5 ~ a2@2, [g5,c6] ~@3 [g#5,b5]@2 ~@2 [a3,c#4,e4]@15 ~ [g3,b3,d4,e4]@15 ~ [a3,c4,f4,a5,a6]@16 [g3,b3,d4]@8, ~@30 [d5,d6] ~ [a1,a2]@7 ~@23 a1 ~]/4", // C E A C# A E A C5 …
Y: "[[b4,d5,g5,b5]@3 ~ [d5,g5,b5,d6]@2 e1@2 ~@6 [a1,a2]@2 [a1,a2]@7 ~ [a1,a2]@4 c#6@2 [a2,d5,d6] ~ [e5,e6]@3 ~ [a4,a5]@2 ~@8 [a1,a2] ~ [a1,a2]@7 ~ [g1,g2,b3,d4,g4]@7 ~, [a1,a2]@4 ~@2 e2 ~ [a3,c#4,e4,c#5,e5,a5,c#6]@16 [g3,b3,d4,e4]@15 ~ [c4,f4,a5,a6]@15 ~@9, ~@28 c#5 ~ a1@2 [a1,a2]@7 ~@25]/4", // G A D5 E A G A Em7 …
Z: "[f1,f2,a3,c4,f4]@4 [e1,e2] ~ [e4,g#4,b4]@2, ~@10 [e1,e2]@5 ~, ~@12 d#4 ~@3", // F E
AA: "[e1,e2]@2 [e1,e2]@2 [g#1,g#2]@2 [b1,b2]@2 [a1,a2,a3,c4,e4]@3 ~ [b1,b2,b3,d4,g4]@3 ~, ~ [e4,g#4,b4] ~@2, ~@4 d#4 ~@11", // E G# B Am G E
AB: "[[c2,c3,c4,e4,g4]@8 [d#5,e5,a5] ~ [g4,b4,d5,g5]@2 [f4,a4,c5,f5] ~ a#4 ~ [e1,e2]@2 ~@2 [e4,g#4,b4]@4 [e1,e2]@2 [e1,e2]@2 [g#1,g#2]@2 [b1,b2]@2, ~@8 [a4,c5]@2 ~@4 [e4,g#4,b4,e5]@4 [e1,e2]@5 ~@5 d#4 ~@3, ~@20 d#4 ~@7 [e4,g#4,b4]@4]/2", // C A G F E G# B Am …
AC: "c5 a4 e4 c5 b4 g4 d4 b4 [c2,c3,c4,e4,g4,c5]@8, [a1,a2,e3,a3,c4]@3 ~ [g1,g2,d3,g3,b3]@3 ~@9", // C Am G
AD: "[[g4,b4,d5]@9 ~ [g4,b4] ~ [a4,b4,d5] ~ [f4,a4,c5]@11 ~ [f4,a4,c5] ~ [g4,b4,d5] ~@9 [g1,g2]@2 [c2,c3]@2 [d2,d3]@2 [e2,e3]@2 [f2,f3]@2, ~@30 [e4,g4,c5]@11 ~@7]/3", // G Bm7 F G C D E F …
AE: "[[g4,b4,d5]@9 ~ [g4,b4] ~ [a4,b4,d5] ~ [f4,a4,c5]@11 ~ [f4,a4,c5] ~ [g4,b4,d5] ~@9 [g1,g2]@2 [c2,c3]@2 d2@2 [e2,e3]@2 f3@2, ~@15 [e4,g4,c5]@7 ~@2, ~@42 d3 ~@3 f2 ~]/3", // G Bm7 F G C E C
AF: "[[b4,d5,g5]@9 ~ [b4,d5,g5] ~ [a4,d5,g5] ~ [a4,c5,f5]@11 ~ [a4,c5,f5]@3 [b4,d5,g5]@3]/2", // G Dsus4 F G
AG: "[c2,c3,c4,e4,g4,c5]@4 [d2,d3,d4,d5]@3 ~ [e2,e3,e4,e5]@3 ~ [f2,f3,f4,f5]@3 ~", // C D E F
AH: "[[g5,b5,d6,g6]@2 [g4,c5,e5] [g4,b4,d5] [f4,a4,c5] [c5,f5,a5,c6] [a4,c5,f5,a5] [c5,f5,a5,c6] [g5,b5,d6,g6] [d5,g5,b5,d6] [b4,d5,g5,b5] [d5,g5,b5,d6] [f5,a5,c6,f6] [a4,c5,f5,a5] [c5,f5,a5,c6] [a4,c5,f5,a5], [g1,g2]@63 ~]/4", // G C G F G F G
AI: "[[f1,f2,a3,c4,f4] ~ [f1,f2,a3,c4,f4]@2 ~@2 [f1,f2,a3,c4,f4]@42]/3", // F
AJ: "[e1,e2,e3]@5 ~ [e1,e2] ~ [e1,e2,e3]@7 ~, ~@3 e3 ~@4", AK: "[e1,e2,e3]@6 [e1,e3]@2 [e1,e2,e3]@7 ~, ~@6 e2 ~@9",
AL: "[e1,e2,e3]@6 [e1,e2,e3]@2 [e1,e2,e3]@7 ~", AM: "[a1,a2]@5 ~ [a1,a2]@2 [a1,a2]@7 ~, [a3,c#4,e4]@15 ~",
AN: "[a1,a2]@5 ~ [a1,a2]@2 [g4,b4,d5]@2 ~ [g4,b4,d5]@2 [g4,b4,d5]@2 ~, [g3,b3,d4,e4]@8 [a1,a2]@7 ~", // A G Em7 A
AO: "[a1,a2]@5 ~ [a1,a2]@2 [a1,a2,a4,c5,e5]@7 ~, [a3,c4,f4]@15 ~, [a4,c5] ~", // A Am F Am
AP: "[a1,a2]@5 ~ a2@2 [d5,g5,b5,d6]@3 ~ [g5,b5,d6,g6]@2 e1@2, [g3,b3,d4,g4,b4,d5] ~, ~@6 a1 ~ [a1,a2]@4 ~@2 e2 ~", // A G A
AQ: "[a1,a2]@5 ~ [a1,a2]@2 [a1,a2]@7 ~, [a3,c#4,e4,c#5,e5,a5,c#6]", // A
AR: "[a1,a2]@5 ~ a1@2 [d5,g5,b5]@2 ~ [g5,b5,d6]@2 [g5,b5,d6,g6]@2 ~, [g3,b3,d4,e4]@15 ~, ~@6 a2 ~ [a1,a2]@7 ~", // A G Em7 A
AS: "[a1,a2]@5 ~ [a1,a2] ~ [a1,a2]@7 ~, [a3,c4,f4,a5,c6,f6,a6]@15 ~", AT: "[g1,g2,g4,b4,d5]@7 ~ [f1,f2,f4,a4,c5]@8",
AU: "[e1,e2,b4,e5]@2 [b4,e5] ~ [a#4,b4] ~ [b4,e5] ~ [e1,e2,e5]@2 [e1,e2]@2 [g#1,g#2,b4,e5]@2 [b1,b2,b4,e5]@2, a#4 ~ [e1,e2]@5 ~@9, ~@4 e5@2 ~@2 [a#4,b4] ~ [b4,e5] ~ a#4 ~@3", // E5 Bmaj7 E5 E E5 E Bmaj7 E5
AV: "[a1,a2,c5,e5,a5,c6]@3 ~ [b1,b2,d5,g5,b5,d6]@3 ~ [e5,g5,c6,e6]@4 [e4,g4,c5,e5]@3 ~, ~ [c2,c3]", // Am G C
AW: "[c4,e4,g4,c5]@3 ~ [e4,g4,c5,e5]@3 ~ [e1,e2]@2 ~@2 [e4,g#4,b4]@4, ~@10 [e1,e2]@5 ~, ~@12 d#4 ~@3", // C E
AX: "[e1,e2]!2 [g#1,g#2] [b1,b2] [a2,a3,e4,a4,c5]@4, ~ [e4,g#4,b4] ~@2, ~@4 d#4 ~@11", // E G# B Am E
AY: "[e2,e3,e4,g#4,b4] [f2,f3,f4,a4,c5]", AZ: "[f#2,f#3,f#4,a4,c5,d5] [g4,b4,d5]",
BA: "~@2 [f4,a4,c5] ~ [g4,b4,d5] ~ [e4,g4,c5]@8 [g1,g2,g3,g4]@2", // F G C G
BB: "[c2,c3,c4] [d2,d3,d4] [e2,e3,e4,e5] [f2,f3,f4,f5] [g4,b4,d5]@4, c5 ~ d5 ~@13", // C D E F G
BC: "~@2 [g4,b4] ~ [a4,b4,d#5] ~ [f4,a4,c5]@10", // G B7 F
BD: "[~@2 [f4,a4,c5] ~ [g4,b4,d5] ~ [e4,g4,c5]@14 [g4,b4] ~ [g4,c5,e5]@5 ~ [b4,g5,b5]@2 [c5,e5,g5,c6]@26 ~@8, ~@20 d5@2 ~@6 d5 ~@35]/4", // F G C G C Em C
})).s("gm_piano").gain(0.32).pan(0.7)
// bass · fretless bass
const bass = note(`<
A B C D C B C D E B F B G F H F I J K L M N O P Q O R S O T U V W X@2 Y W Z@2 AA AB AC AD AE AF@3 AG@3 AH@2 AI AJ@4
AK@3 AL AM@2 AN AO AP AO AP AQ AR AS AT J K AU AV AW N O P Q O P Q O P Q O P Q O P Q O AX AY@3
>`.pickRestart({
A: "~@14 e1 ~", B: "a1@5 ~ a1@2 a1@7 ~", C: "g1@5 ~ g1@2 g1@7 ~", D: "f1@5 ~ f1@2 f1@7 ~",
E: "g1@5 ~ g1@2 g1@5 ~ e1@2", F: "a1@5 ~ a1 ~ a1@7 ~", G: "a1@5 ~ a1 ~ a1@5 ~ e1 ~", H: "a1@6 a1 ~ a1@7 ~",
I: "g1@7 ~ f1@7 ~", J: "e1@2 e1@2 e2@3 ~ e1@2 e1@2 g#1@2 b1@2", K: "a1@3 ~ b1@3 ~ c2@7 ~",
L: "a2@2 c3@2 a2 g2 e2@2 e1@2 e1@2 e2@4", M: "e1@2 e1@2 g#1@2 b1@2 a1@3 ~ g1@3 ~", N: "d2@8 g2@5 ~ g1 ~",
O: "g1@2 g1 ~ a2 ~ f2@6 ~@2 f1@2", P: "f1@2 f1 ~ g2 ~ c2@7 ~ g1 ~", Q: "c2 ~ d2@2 e2@2 f2 ~ g2@5 ~ g1 ~",
R: "f1@2 f2@2 ~ g2@2 ~ c2@5 ~ g1@2", S: "c2@2 d2@2 e2@2 f2@2 g2@5 ~ g1 ~", T: "f1@2 f1 ~ g2 ~ c2@7 ~ g1@2",
U: "c2@2 c2@2 g2 ~ c2@8 g1@2", V: "d2@2 c2@2 b1@2 g#1@2 a1@5 ~ a1@2", W: "a1@4 a2@4 a1@5 ~ a1 ~",
X: "[~@2 e3 d#3 ~@4 a1@5 ~ a1@2 a1@7 ~ a1@5 ~ a1 ~, a1@7 ~@25, ~ e3@5 ~@2]/2", Y: "a1@5 ~ e2 ~ a1@5 ~ a1@2",
Z: "[~@2 e3 d#3 ~@4 a1@5 ~ a1 ~ a1@7 ~ g1@7 ~, a1@7 ~@25, ~ e3@5 ~@2]/2", AA: "f1@7 ~ e1@2 e1@2 e2@3 ~",
AB: "e1@2 e1@2 g#1@2 b1@2 a1@3 ~ b1@3 ~", AC: "c2@7 ~ a2@2 c3@2 a2 g2 f2@2", AD: "e1!2 e2@2 e1!2 g#1 b1",
AE: "a1@3 ~ g1@3 ~ d2@8",
AF: "[g2@5 ~ g1 ~ g1@2 g1 ~ a2 ~ f2@6 ~@2 f1@2 f1@2 f1 ~ g2 ~ c2@7 ~ g1 ~ c2 ~ d2@2 e2@2 f2 ~]/3",
AG: "[g2@5 ~ g1 ~ g1@2 g1 ~ a2 ~ f2@6 ~@2 f1@2 f1@2 f1@2 g2@2 c2@7 ~ g1@2 c2@2 d2@2 e2@2 f2@2]/3",
AH: "[g2@5 ~ g1 ~ g1@2 g1 ~ a2 ~ f2@6 ~@2 f1@2 f1@2 f2@2 ~ g2@3]/2", AI: "c2 d2 e2 f2", AJ: "[g2@63 ~]/4",
AK: "[f2@2 f2@3 ~ f2@42]/3", AL: "e1@6 e1 ~ e1@7 ~", AM: "e1@5 ~ e1 ~ e1@7 ~", AN: "e1@6 e1@2 e1@5 ~@3",
AO: "a2@6 b2@2 c3@2 b2@2 a2 ~ g2@2", AP: "a2@2 g2@3 ~ e2@3 ~ g2@5 ~", AQ: "a2@6 b2@2 c3@2 b2@2 c3 ~ d3@2",
AR: "f3@2 e3@3 ~ d3@3 ~ e3@4 ~@2", AS: "e3 d3!2 c3!2 b2!2 a2", AT: "g2@8 f2@7 ~",
AU: "a2@2 c3@2 a2 g2 f2@2 e1@2 e1@2 e2@4", AV: "e1!2 g#1 b1 a1@4", AW: "e1 f1", AX: "f1@2 f1 ~ g2 ~ c2@7 ~ c2 ~",
AY: "[c2 ~ c2@2 g1@2 c2@5 ~ [g1,d3]@2 [c2,e3]@26 ~@8]/3", // G5 C
})).s("gm_fretless_bass").gain(0.44)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@21 A@3 B@8 ~@12 C@3 D@3 E@2 F G@3 H ~@20 I@8 J K@8 L@4>".pickRestart({
A: "[~@8 [d3,g3,b3,g4]@4 [d3,g3,b3,g4]@3 [b3,g4] [b3,g4]@2 [b3,g4] ~ [d3,g3,b3,d4,g4] ~@2 f2@5 [f2,c3,f3,a3,c4,f4]@3 [c4,f4] c3 ~ [c4,f4] ~ [g2,d3,g3,b3,d4,g4] ~ [e3,c4,e4]@6 [e3,g3,c4,e4]@3 [g3,c4,e4], ~@8 b2@7 [b2,g3]@4 ~@3 [c3,f3,a3,c4,f4]@6 ~@4 [c4,f4]@2 ~@14, ~@16 d3@4 ~@11 [f3,a3]@4 ~@3 g3 ~@9, ~@33 c3@2 ~@3 c3@9 ~]/3", // G Em G F F5 G C Em …
B: "[[e3,g3,c4,e4]@2 [c3,e3,c4,e4] [c4,e4]@2 [c4,e4] [c3,e3,c4,e4] ~ [d3,b3,g4]@4 [d3,g3,b3,g4]@3 [b3,g4] [b3,g4]@2 [b3,g4]@2 [d3,b3,g4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2 [f2,f3,a3,c4,f4]@3 a3 [f2,a3]@2 [c4,f4] ~@2 [g2,d3,g3,b3,d4,g4]@2 ~ [c3,e3,g3,c4,e4]@4 [e3,g3,c4,e4]@3 [c4,e4] [g3,c4,e4]@2 [c4,e4] [c4,e4]@2 [c3,e3,g3,c4,e4] [c3,e3,c4,e4] c4 [b2,d3,g3,b3,g4]@4 [g3,b3,g4]@3 [g3,b3,g4]@3 g4@2 [d3,g4]@2 [c3,f3,a3,c4,f4]@6 [f3,a3,c4,f4]@3 [a3,c4,f4] [f3,a3,c4,f4]@2 [f3,c4,f4] ~ [g2,d3,g3,b3,d4] ~ [c3,e3,g3,c4]@6 [c3,e3,g3,c4,e4]@3 [e3,g3,c4] [c3,e3,g3,c4]@2 [c3,g3,c4,e4] [c4,e4] [b3,d4,g4]@2 [c3,c4,e4]@6 [c3,g3,c4,e4]@4 [c4,e4]@2 [c4,e4]@2 [b2,e3,g#3,b3,e4]@2 [b2,e3,g#3,b3,e4]@2 ~@8, ~@2 g3@3 g3@7 [g2,b2]@9 ~@91 c3 ~@15, ~@15 g3@7 f3@6 ~@3 [f3,c4,f4]@4 ~@13 e3@5 ~@13 [g3,b3]@4 ~@25 e4@3 ~@14 g3@4 ~@12, ~@15 d3@5 ~@2 c3@13 ~@9 c3@6 [c3,g3]@3 ~@7 [b2,d3]@8 ~@8 c3@7 ~@16 g3@9 e3@7 ~@13]/8", // C G Em G F F5 G C …
C: "[[g2,b2,d3,g3,b3,g4]@4 [b2,d3,g3,b3,g4]@3 [b2,g4] ~@2 [b3,g4] ~ [g2,d3,g3,b3,d4,g4] ~@2 f2@5 [c3,f3,a3,c4,f4]@3 [c4,f4] [c3,c4,f4]@2 [a3,c4,f4] ~ [d3,g3,b3,d4,g4] ~ [c3,e3,g3,c4,e4]@6 [g3,c4,e4]@3 [g3,c4,e4]@3 [c4,e4]@2 [c4,e4]!2 e4 c4, ~@7 [g3,b3]@4 ~@12 [f3,a3]@4 ~@9 c3@10 ~@2, ~@8 [b2,d3]@4 ~@2 [c3,f3,a3,c4,f4]@6 f2@7 ~@9 e3@6 g3@6, ~@21 e3@2 ~]/3", // G Em G F F5 F G C …
D: "[[g3,b3,d4,g4]@4 [g3,b3,d4,g4]@3 [b3,d4,g4]@3 [d4,g4]@2 [g2,d3,g3,b3,d4,g4] ~ [c3,f3,a3,c4,f4]@6 [c3,f3,a3,c4,f4]@3 [c3,a3,c4] [c3,f3,a3,c4]@2 [c3,f3,a3,c4,f4] ~ [g2,d3,g3,b3,d4,g4] ~ [e3,g3,c4,e4]@6 [e3,c4,e4]@3 [c4,e4]@3 e4 e4@2 [c3,e3,g3,c4,e4] ~ c4, d3@4 ~@8 g3@3 ~, ~@4 g2@8 ~@2 f2@9 ~@13 c3@6 [c3,c4]@3 ~ [c3,g3,c4,e4]@2, ~@7 g3@5 ~@11 f4@3 ~@13 e3@6 ~@3]/3", // G G5 G F G C
E: "[[b2,d3,g3,b3,g4]@4 [b2,d3,g3,b3,g4]@3 g4 g4@2 g4@2 [d3,g3,b3,g4]@2 [c4,f4]@4 [c4,f4]@2 [c3,a3,c4,f4]@3 ~ c3@2 [a3,c4,f4] ~@2 [d3,g3,b3,d4,g4] ~@2, ~ g2@2 ~@5, ~@7 [g3,b3]@5 ~@8 f3@8 ~@4, ~@8 d3@4 ~@2 [c3,a3]@6 ~@3 [a3,c4,f4]@3 ~@6]/2", // G F5 F G F
F: "[c3,e3,g3,c4,e4]@13 ~@3", // C
G: "[~ g4@13 ~@2 [c4,f4]@13 ~@3 g4@12 ~@4, [g2,b2,d3,g3]@5 ~@11, b3@13 ~@2 a3@13 ~@3 [b3,d4]@12 ~@5]/3", H: "[c4,f4]",
I: "[~@8 [g3,b3,d4,g4]@4 [g3,b3,d4,g4]@3 d4 d4@2 [d4,g4]@2 [d3,g3,b3,d4,g4] ~ [c3,f3]@4 ~@2 [a3,c4,f4]@3 a3 a3@2 [a3,c4,f4] ~ [d3,g3,b3,d4] ~ [c3,e3,g3]@4 ~@2 [e3,g3]@4 [e3,g3]@2 [c4,e4] [c4,e4]@2 [c4,e4] [e3,g3,c4,e4] ~ [b3,d4,g4]@4 [b3,d4,g4]@3 [b3,d4,g4]@3 [d4,g4]@2 [d3,g3,b3,d4,g4] ~ [a3,c4,f4]@6 [a3,c4,f4]@3 f4 f4@2 [c3,f3,a3,c4,f4] ~ [g2,d3,g3,b3,d4,g4] ~ [e3,g3,c4,e4]@6 [e3,g3,c4,e4]@3 [c3,e4] [e3,e4]@2 [e3,c4,e4] [e3,c4,e4]@2 [e3,c4,e4] [g3,c4,e4] c4 [b3,d4,g4]@4 [b3,d4,g4]@3 d4 d4@2 [g3,d4,g4]@2 [d3,b3,d4,g4] ~ [f3,a3,c4,f4]@6 [f2,c3,f3,a3,c4,f4]@3 [c4,f4], ~@15 [b3,g4]@3 ~@4 [c4,f4]@6 f3@7 ~@7 c3@8 [c3,e3,g3]@4 ~@16 f2@12 ~@29 g4@3 ~@14, ~@16 g3@4 ~@6 c3@5 [c4,f4]@3 ~@4 c4@6 [c4,e4]@6 ~@6 g3@7 g3@5 ~@2 [c3,f3]@4 ~@2 [c3,f3]@6 ~@4 c3@9 ~@3 [c3,g3]@4 ~@2 d3@7 b3@5 ~@12, ~@79 [a3,c4]@3 ~@13 [g3,c4]@3 ~@6 g3@10 ~@14, ~@56 d3@2 ~ c3@2 ~@3]/8", // G G5 G F5 F G C Em …
J: "[c3,f3,c4,f4]@2 [a3,c4,f4] ~ [d3,g3,b3,d4,g4] ~ [c3,e3,g3,c4]@6 [c3,e3,g3,c4,e4]@3 [c4,e4]", // F5 F G C
K: "[~@2 [c4,e4]@4 [c3,e3,g3,e4] ~ [b3,d4,g4]@4 [b3,d4,g4]@3 [b3,d4,g4]@3 [g2,b3,d4,g4]@2 [g2,d3,g3,d4,g4] ~ [c3,f3,a3,c4,f4]@6 [f2,c3,c4,f4]@3 ~ [f2,c3]@2 [f3,a3,c4,f4] ~ [g2,d3,g3,b3,d4] ~ [c3,e3,c4]@6 [c3,e3,g3,c4,e4]@3 ~ [c3,e3]@2 [c3,e3,g3,c4,e4] [e3,c4,e4] ~ [c4,e4] [c3,c4,e4] ~ [d3,g3,b3,d4,g4]@4 [d3,g3,b3,d4,g4]@3 ~@3 [b3,d4,g4]@2 [b3,d4,g4] ~ [f3,a3,c4,f4]@6 [c3,f3,c4,f4]@3 f3 [c3,f3]@2 [f3,a3,c4,f4] ~ [c#3,g3,a#3,d4,g4] ~ [c3,e3,c4,e4]@6 [c4,e4]@3 [c4,e4]@3 [c3,e3,g3,c4,e4]@2 e4 [c3,e3,g3,c4,e4] [c4,e4] ~ [d3,b3,d4,g4]@4 [d3,b3,d4,g4]@3 g3 ~@2 [d3,b3]@2 [d3,g3,b3,d4,g4] ~ [f3,a3,c4,f4]@6 [f3,a3,c4,f4]@3 [a3,c4,f4], [c3,e3,g3]@6 ~@2 [d3,g3]@12 ~@8 [f3,a3]@6 ~@13 [g3,c4,e4]@3 ~ g3@4 ~@8 [b3,d4,g4]@3 ~@10 a3@6 ~@4 g3@4 ~@2 [c3,e3,g3]@6 ~@13 [d3,b3,d4]@3 ~@4 c3@4 ~@6, ~@31 [c4,f4]@3 ~@18 [e3,c4,e4]@2 ~@10 [d3,g3]@4 ~@11 [c4,f4]@3 ~@22 g3@7 g4@5 ~@12, ~@28 g3 ~@3]/8", // C G G5 F F5 F G C …
L: "[[f2,c3,f3,a3]@2 [c3,a3,c4,f4] ~ [c#3,g3,b3,d4,g4] ~ [c3,e3,g3,c4,e4]@6 [c3,e3,g3,c4,e4]@3 g3 c3@2 [c3,c4,e4]@2 [d3,g3,b3,g4] ~ c3@3 e4@3 [b2,d3,g3,b3,g4]@2 [c3,g3,c4,e4]@26 ~@8, ~@15 [c4,e4]@3 ~@46, ~@8 [e3,g3]@2 ~ [e3,g3,c4]@3 ~@18]/4", // F G C G C Em C
})).s("gm_acoustic_guitar_steel").gain(0.17).pan(0)
// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
~@21 A@2 B C ~@2 D@3 E F ~@12 G H I J K@2 L@2 ~ M@4 ~@20 N O P Q@2 ~@2 R S ~@2 T U V B ~ W X Y@3
>`.pickRestart({
A: "[~@8 g2@4 g2@7 ~@13]/2", B: "f2@3 ~@13", C: "~@2 [g2,b2] ~", D: "[~@8 g2@13 ~ f2@6 f2@8 g4 ~@11]/3",
E: "~@2 b2 ~@5", F: "~ c3@2 ~@13", G: "~@4 g2@3 ~ [g2,g4]@3 ~@5", H: "~@12 g2 ~@3", I: "~@14 c4 g4", J: "g2 ~@3",
K: "[~@4 f2 ~@2 c3@3 ~@6]/2", L: "[g2@4 ~@4 b2@4 ~@2 [f2,f3]@6 f2@4 f2@3 ~@2 g2 ~@2]/2",
M: "[~@15 f3@13 ~@3 g3@12 ~@4 [f3,a3]@17]/4", N: "~@12 g2@3 ~", O: "g2@2 g2@2 ~@2 f#2@3 ~ f3@2 ~@4",
P: "~@4 [g2,g4] ~@5 e3@2 ~@4, ~@3 e4@3 ~@2", Q: "[~@4 g2@6 ~@3 f3 ~@2]/2", R: "~@3 f2@3 ~@2",
S: "f2@3 ~@3 e4@6 ~@3 e3", T: "~@4 g4 ~ e4@6 ~@4", U: "~@2 c3 ~@5", V: "~@3 c3@2 ~ f2@2", W: "~@5 c3@3, ~@3 f2@5",
X: "~@4 g2 ~@11", Y: "[~@4 b2 ~ e4@2 ~@6 e3@26 ~@8]/3",
})).s("gm_acoustic_guitar_steel").gain(0.1).pan(0)
// other · epiano1
const epiano1 = note("<~@17 A B@2 C D@5 E@3 F@2 ~@8 G H I J K L M@2 L N@2 L O@2 ~@45>".pickRestart({
A: "~@2 e3!2 e3@2 e3@2 e3!2 e3@4 e3@2", B: "[a3 a3@3 b3!2 c4@3 a3 g3@10 ~@4 e3 e3@3 e3 e3@2 e3]/2",
C: "b2@3 ~ b3 b3@3 c4 c4@3 d4!2 e4@2",
D: "[~ d4 c4@6 [g4,b4]@6 [e4,a4] [d4,g4]@7 e4@2 f4@2 e4@2 d4@2 c4@4 a3 c4@3 d4@2 e4@2 d4 c4@11 [g4,b4] ~ [g4,b4]@5 [f4,a4] [e4,g4] [d4,f4]@7 e4@2 f4@2 e4@2 d4@2 c4@2]/5", // G A5 G5 G F Em Dm
E: "[~ c4 c4@2 c4@2 d4 e4@2 d4 c4@11 ~ [g4,b4]@2 [g4,b4]@5 [f4,a4] [e4,g4] [d4,f4]@7 e4@2 f4@2 e4@2 d4@2 c4@2]/3", // G F Em Dm
F: "[~ a3 c4 a3 c4@2 a3 c4@2 d4 e4@11 ~@11]/2", G: "~@10 e3!2 e3@2 e3@2", H: "e3!2 e3@4 e3@2 a3 a3@3 b3!2 c4@2",
I: "~ a3 g3@10 ~@4", J: "e4 e4@2 e4 e4@3 e4 b3@4 b3 a3 c4@2", K: "c4@4 d4!2 e4@3 d4 c4@6",
L: "[g4,b4]@5 [f4,a4] [e4,g4] [d4,f4]@7 e4@2", M: "[f4@2 e4@2 d4@2 c4@4 a3 c4@2 d4@2 e4@2 d4 c4@11 ~ [g4,b4]@2]/2",
N: "[f4@2 e4@2 d4@2 c4@3 c4 c4@2 c4@2 d4 e4@2 d4 c4@11 ~ [g4,b4]@2]/2", // G
O: "[f4@2 e4@2 d4@2 c4@3 a3 c4 a3 c4@2 a3 c4@2 d4 e4@11 ~@3]/2",
})).s("gm_epiano1").gain(0.29)
// chords · overdriven guitar
const overdriven_guitar = note(`<
A B@2 C@2 D@2 E F G@2 ~@6 H I@2 J K@2 L M@2 N O@2 P@2 Q@8 R S T U V W@3 X@3 Y@2 Z AA ~@3 AB@3 AC@4 AD AA AE AA AD AA
AE AF U AG@2 AH AI AJ@3 AK@8 AL@7 AM@3
>`.pickRestart({
A: "~@7 e2", B: "[c#4@19 ~ c#4@2 d4@2 e4@4 a3@4, a2 ~]/2", C: "[a4@23 ~ b4@4 d5@4]/2",
D: "[c#5@10 c#5 d5 e5@2 a4@2]/2", E: "a5", F: "b5", G: "c#6/2", H: "e2 ~ e2 ~ [e3,b3,e4]@3 ~ e2 ~@3 a2 ~ b2 ~",
I: "[[a2,e3]@2 ~@2 [b2,g3]@2 ~@2 [c3,g3,c4]@16 e2 ~ e2 ~ [e3,b3,e4]@4]/2", // A5 Em C5 E5
J: "e2 ~ e2 ~ a2 ~ b2 ~ [a2,e3,a3]@2 ~@2 [g2,d3,g3]@2 ~@2", // A5 G5
K: "[[c3,g3,c4]@2 c#3 [d3,g#3,c#4,d4] [d#3,d#4] [e3,f3,b3,c4,e4] [f#3,c#4] [g3,d4] [g3,d4,g4]@10 ~@2 [g4,b4,d5] ~ [f4,a4,c5]@10]/2", // C5 C# D# Cmaj7 F#5 G5 G F
L: "~@4 [d4,g4] ~ [e4,g4,c5]@10", M: "[~@4 e3@2 f3 ~ [g3,b3,d4]@10 ~@2 [f#4,b4,d5] ~ [f4,a4,c5]@10]/2",
N: "~@2 [f4,a4,c5]@2 ~ [d4,g4,b4]@2 ~ [c4,e4,g4]@7 ~", // F G C
O: "[c3@2 d3@2 e3@2 f3 ~ [g3,d4,g4]@10 ~@2 [g4,b4,d5] ~ [f4,a4,c5]@10]/2", // G5 G F
P: "[~@4 [b3,d4,g4,b4] ~ [e4,g4,c5]@12 ~@2 [b3,d4,b4] ~ [e4,g4,c5]@10]/2", // G C Bm C
Q: "[[c4,e4,g4,c5]@2 ~@2 [b3,d4,g#4,b4]@2 ~@2 [c#4,e4,a4]@14 ~@2 [g3,b3,d4,g4]@15 ~ [a3,c4,f4]@15 ~ [g3,b3,d4,g4]@13 ~ e2@2 [a2,a3]@15 ~ [g3,b3,d4,g4]@14 ~@2 [a3,c4,f4]@14 ~@2 [g3,b3,d4,g4]@7 ~]/8", // C G#dim A G F G A G …
R: "[f3,a3,c4,f4]@7 ~ e2 ~ e2 ~ [e3,b3,e4]@4", S: "e2 ~ e2 ~ a2 ~ b2 ~ a2@2 ~@2 b2@2 ~@2", T: "[c3,g3,c4]@7 ~",
U: "e2 ~ e2 ~ [e3,b3,e4]@4 e2 ~ e2 ~ a2 ~ b2 ~", // E5
V: "[a2,e3]@2 ~@2 [g2,d3,g3]@2 ~@2 [c3,g3,c4]@4 [c#3,d3,g#3,c#4] [d#3,a3,d4,d#4] [e3,f3,e4,f4] [f#3,g3]", // A5 G5 C5 C# D Fmaj7 Gmaj7
W: "[[g3,b3,d4,g4,b4]@12 [g4,b4,d5] ~ [f4,a4,c5]@12 ~@2 [b3,d4,g4] ~ [c4,e4,g4,c5]@8 ~@2 c3@2 d3@2 e3@2 f3 ~]/3", // G F G C
X: "[[g3,d4,g4,b4]@10 ~@2 [g4,b4,d5] ~ [f4,a4,c5]@12 ~@2 [d4,g4,b4] ~ [e4,g4,c5]@8 ~@2 c3@2 d3@2 e3@2 f3 ~]/3", // G F G C
Y: "[[g3,d4,g4,b4]@10 ~@2 [g4,b4,d5] ~ [f4,a4,c5]@12 [f4,a4,c5]@2 ~ [d4,g4,b4]@2 ~]/2", Z: "c3 d3 e3 f3", AA: "g3",
AB: "[[f2,c3,f3]!2 ~ [f2,c3,f3,a3]@20 ~]/3", AC: "e2@3 e2 e2@4", AD: "a3", AE: "f3", AF: "g3@8 f3@7 ~",
AG: "[a2@2 ~@2 b2@2 ~@2 [c3,g3]@15 ~ e2 ~ e2 ~ [e3,b3,e4]@4]/2", AH: "e2 ~ e2 ~ a2 ~ b2 ~ [a2,e3,a3]@6 ~@2",
AI: "[e2,b2]@8 [f2,c3,f3]@7 ~", // E5 F5
AJ: "[[d3,a3]@8 [g2,d3,g3]@11 ~ [g3,b3,d4,a4] ~ [f3,a3,c4,f4]@14 [a3,c4,g4] ~ [e3,g3,c4,e4]@8 ~@2]/3", // D5 G5 G F Am7 C
AK: "[c3@2 d3@2 e3@2 f3 ~ [g3,b3,d4,g4]@12 [b3,d4,a4] ~ [f3,a3,c4]@14 [a3,c4,g4] ~ [e3,g3,c4,e4]@16 ~@2 [g3,d4,g4]@12 [b3,d4,a4] ~ [f3,a3,c4,g4]@14 [f3,a3,c4,g4] ~ [e3,g3,c4,e4]@18 [g3,b3,d4,g4]@12 [b3,d4,a4] ~ [f3,a3,c4,f4]@10, ~@22 f4@13 ~@21 b3@11 ~@61]/8", // G Bm7 F Am7 C G5 Bm7 F …
AL: "[~@4 [a3,c4,g4] ~ [e3,g3,c4,e4]@17 ~ [g3,b3,d4,g4]@12 [b3,d4,a4] ~ [a3,c4,f4]@14 [a3,c4,g4] ~ [e3,c4]@14 ~@4 [g3,b3,d4,g4]@12 [b3,d4,a4] ~ [f3,a3,c4,f4]@14 [a3,c4,g4] ~ [e3,g3,c4,e4]@10, ~@27 g3@9 ~@20, ~@27 e4@8 ~@21]/7", // Am7 C G Bm7 F Am7 C G …
AM: "[~@4 d3@2 [c3,e3,g3,c4]@6 [d3,g3,b3]@2 ~ c4@25 ~@8, ~@7 [c3,e3,g3]@13 ~@4]/3", // C G C
})).s("gm_overdriven_guitar").gain(0.22).pan(0.2)
// chords · overdriven guitar · soft notes
const overdriven_guitar_soft = note(`<
~@17 A ~@3 B ~ C D@2 E F@2 ~ G ~ H@3 I@4 ~@4 J ~@13 K ~@15 L@2 M N ~@2 O ~@9 P Q@2 R S ~ T ~@2
>`.pickRestart({
A: "~@10 e2 ~@5", B: "~@3 a3 a#3 f4 f#4 ~@9", C: "~@4 b4 ~@11", D: "[~@4 g4@5 ~@7]/2", E: "~@5 b3@2 ~@9",
F: "[~@4 b3@5 ~@7]/2", G: "~@4 g4 ~ c4@10", H: "[~@8 a2@16 a2@17 ~@7]/3", I: "[~@8 c#4@15 ~ a2@33 ~@7]/4",
J: "~@13 a#3 [b3,c4] [c#4,d4,f#4,g4]", K: "~ a3 ~@6", L: "[~@8 c4@15 ~@9]/2", M: "~@15 [d3,d#3,g3,g#3]",
N: "f#3 ~@15", O: "~@4 f3 ~@11", P: "~@7 e4 ~@8", Q: "[~@3 f3@7 ~@6]/2", R: "~@6 e4 ~@9", S: "~@4 [g3,f4] ~@11",
T: "~@2 g3 ~@5",
})).s("gm_overdriven_guitar").gain(0.11).pan(0.2)
// chords · distortion guitar
const distortion_guitar = note(`<
~ A@2 B@2 C@2 D E F@2 ~@6 G H@2 I J@4 K L@5 M@8 N O P Q R S@3 T@3 U@2 V W ~@3 X@3 Y@3 Z AA@2 AB AC@3 AD AE AF AG@2 AH
AI AJ@8 AK@6 AL@7
>`.pickRestart({
A: "[c#4@10 c#4 d4 e4@2 a3@2]/2", B: "[a4@23 ~ f4@4 b4@4]/2", C: "[a4@10 a4 b4 c#5@2 e4@2]/2", D: "f5", E: "g5",
F: "a5/2", G: "~@4 [e4,g#4,b4]@4 ~@4 [e4,g#4,b4]@3 ~",
H: "[[a3,c4,e4]@2 ~@2 [d4,g4,b4]@2 ~@2 [e4,g4,c5]@15 ~@5 [e4,g#4,b4]@4]/2", // Am G C E
I: "~@4 [e4,g#4]@3 ~ [c4,e4,a4]@2 ~@2 [b3,d4,g4]@2 ~@2", // E Am G
J: "[[g3,c4,e4]@3 ~ [c#4,d4,f4,f#4] [d#4,g4] e4 ~ [d4,g4,b4]@10 ~@2 [g4,b4,d5] ~ [a4,c5]@12 ~@2 [d4,g4,b4] ~ [e4,g4,c5]@17 ~ [d4,g4,b4]@8]/4", // C Dmaj7 D# G Am G C G
K: "~@4 [g4,b4,d5] ~ [f4,a4,c5]@10", // G F
L: "[~@2 [f4,a4,c5]@2 ~ [d4,g4,b4] ~@2 [c4,e4,g4]@13 ~@3 [g3,d4,g4,b4]@10 ~@2 [g4,b4,d5] ~ [a4,c5]@12 ~@2 [d4,g4,b4] ~ [e4,g4,c5]@14 [d4,g4,b4] ~ [e4,g4,c5]@8 ~@2]/5", // F G C G Am G C G …
M: "[[e4,g4,c5]@2 ~@2 [d4,g#4,b4]@2 ~@2 [a3,c#4,e4,a4]@15 ~ [g3,b3,d4,a4]@15 ~ [c4,f4,a4]@15 ~ [b3,d4,a4]@15 ~ [c#4,e4,a4]@15 ~ [g3,b3,d4,a4]@15 ~ [c4,f4,a4]@15 ~ [g3,b3,d4,a4]@6 ~@2]/8", // C G#dim A G F Bm7 A G …
N: "[a3,c4,f4,a4]@7 ~@5 [e4,g#4,b4]@3 ~", O: "~@2 [e4,g#4,b4] ~ [c4,e4,a4] ~ [d4,g4,b4] ~", P: "[e4,g4,c5]@15 ~",
Q: "~@4 [e4,g#4,b4]@3 ~@5 [e4,g#4,b4]@2 ~@2", // E
R: "[c4,e4,a4]@2 ~@2 [b3,d4,g4]@2 ~@2 [g3,c4,e4]@5 [c#4,d4,f4] [d#4,e4,f#4,g4] [f4,f#4]", // Am G C C# F#maj7
S: "[[d4,g4,b4]@11 ~ [g4,b4,d5] ~ [f4,a4,c5]@11 ~@3 [d4,g4,b4] ~ [e4,g4,c5]@14 ~@4]/3", // G F G C
T: "[[d4,g4,b4]@10 ~@2 [g4,b4,d5] ~ [f4,a4,c5]@12 ~@2 [d4,g4,b4] ~ [e4,g4,c5]@14 ~@4]/3", // G F G C
U: "[[g4,b4]@10 ~@2 [g4,b4,d5] ~ [f4,a4,c5]@11 ~ [c4,e4,g4,c5]@2 ~ [b3,d4,g4,b4] ~@2]/2", V: "c3 d3 e3 f3",
W: "g3@15 ~", X: "[[f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 ~@2 [f3,a3,c4,f4]@41 ~]/3", Y: "e3@3 e3 e3@4", Z: "e3@3 e3 e3@3 ~",
AA: "[[a3,c#4,e4]@15 ~ [b3,d4,e4]@14 ~@2, ~@15 g3@14 ~@3]/2", AB: "[a3,c4,e4]@15 ~",
AC: "[[g3,b3,d4,g4]@14 ~@2 [c#4,e4]@15 ~@2 g4@13 ~@2, ~@15 a3@15 ~ g3@15 ~@2, ~@32 [b3,d4]@15 ~]/3", // G C#m Bm
AD: "[f3,a3,c4,f4]@15 ~", AE: "[g3,b3,d4,g4]@7 ~ [a3,c4,f4]@7 ~", AF: "~@4 [e4,g#4,b4]@3 ~@5 [e4,g#4,b4]@3 ~",
AG: "[[c4,e4,a4]@2 ~@2 [d4,g4,b4]@2 ~@2 [e4,g4,c5]@15 ~@5 [e4,g#4,b4]@3 ~]/2", // Am G C E
AH: "~@4 [e4,g#4,b4]@3 ~ [c4,e4,a4]@7 ~", AI: "[g#3,b3,e4]@7 ~ [a3,c4,f4]@6 ~@2",
AJ: "[[f#3,a3,d4]@7 ~ [g3,b3,d4,g4]@11 ~ [b3,d4,a4] ~ [a3,c4,g4]@14 [a3,c4,g4] ~ [g3,c4,e4]@15 ~@3 [b3,d4,g4,b4]@12 [b3,d4,a4,b4] ~ [a3,c4,g4]@14 [c4,g4] ~ [g3,c4,e4]@16 ~@2 [b3,d4,g4,b4]@12 [b3,d4,b4] ~ [a3,c4,g4]@10]/8", // D G Bm7 Am7 C G Bm7 Am7 …
AK: "[~@4 [c4,g4] ~ [g3,c4,e4]@16 ~@2 [b3,d4,g4,b4]@12 [b3,d4,a4] ~ [a3,c4,g4]@14 [c4,g4] ~ [g3,c4,e4]@15 ~@3 [b3,d4,g4]@12 [d4,g4,b4] ~ [a3,c4,g4]@10, ~@72 b4@11 ~@13]/6", // C5 C G Bm7 Am7 C5 C G …
AL: "[~@4 [a3,c4,g4] ~ [g3,c4,e4]@15 ~@3 [b3,d4,g4,b4]@12 [b3,d4] ~ [a3,c4,g4]@13 ~ [a3,c4,g4] ~ [g3,c4,e4]@12 ~@2 [g3,b3,d4,g4] ~ [g3,c4,e4]@5 ~ [g3,b3,d4] ~ [c4,e4]@26 ~@8, ~@39 g3@12 ~@5]/7", // Am7 C G Bm Am7 C G C …
})).s("gm_distortion_guitar").gain(0.22).pan(1)
// … 140 more lines
More by Alice Cooper
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.