0:00/0:00
// I'll Put You Together Again — Hot Chocolate
// 103 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 133 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(103/3)
// 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.
// bass · acoustic bass
const bass = note("<~@48 A B C@2 D@4 E F@2 G H@8 ~@36 I@5 J K@2 L@2 M@4 N O P@2 ~@11>".pickRestart({
A: "g2@19 ~@3 g2@2", B: "~ b2@20 ~@3", C: "[b2@2 ~ c3@8 a2@8 d3@8 ~ g2@20]/2",
D: "[~@2 g2@2 ~ d3@23 a2@2 d3@21 ~@2 d3@3 g2@22 d2@2 ~ g2@8 a2@7]/4", E: "~ b2@4 c3@7",
F: "[~@8 c3@3 b2@23 ~@2 d#3@12]/2", G: "~@4 d#3@8 ~ e3@11",
H: "[~@5 d3@6 ~@2 c3@19 ~@3 c3@2 d3@18 ~@4 d3@3 g2@17 d2@8 ~ g2@21 ~@4 g2@46 ~@2 g2@26 ~@5]/8",
I: "[~@19 g2@20 ~@2 g2@2 ~ b2@20 ~@3 b2@2 ~ c3@8 a2@8 ~ d3@8 g2@21 ~ g2@2 ~]/5", J: "d3@11 a2",
K: "[~ d3@21 ~ d3@3 g2@22]/2", L: "[d2@2 ~ g2@8 a2@8 ~ b2@8 c3@16 ~@4]/2",
M: "[~@2 c3@3 b2@23 ~ d#3@16 ~ d#3@8 e3@16 d3@6 ~@2 c3@18]/4", N: "~@4 c3@2 ~ d3@17", O: "~@5 d3@3 g2@16",
P: "[d2@8 ~ g2@22 ~@17]/2",
})).s("gm_acoustic_bass").gain(0.39)
// chords · string ensemble 2
const string_ensemble_2 = note(`<
~@25 A@4 B@3 C@8 ~@3 D@5 E@4 F@3 G@8 ~ H@2 I@2 J@6 K@7 L@5 M@3 N@8 ~@3 O@7 P@2 Q@3 R S@7 ~@13
>`.pickRestart({
A: "[~@23 [d3,b3]@23 ~ [e3,g3,c4]@16 [f#3,a3,d4]@8 [d3,g3,b3]@25, ~@23 g3@16 ~@57]/4", // G C D G
B: "[~@23 [g3,b3,d4]@23 ~ [g3,c4,e4]@24 [g3,b3,d4,g4]]/3", // G C G
C: "[~@7 [g3,b3]@32 ~@8 [c3,e4]@24 [g3,d4]@24 [f#3,d#4]@24 [e3,e4]@23 ~ [c3,g3,e4]@23 ~ [d3,a3,d4,f#4]@23 ~@2, ~@7 d4@25 ~@15 [g3,c4]@19 ~@5 b3@19 ~@5 b3@46 ~@2 c4@16 ~@33]/8", // G C G5 D#m E C D C5
D: "[~@23 d4@23 ~ [c4,e4]@23 ~ [c4,e4]@8 [b3,d4]@7 ~ [a3,c4]@7 ~ [g3,b3]@21 ~@4, ~@23 g4@92 ~@5, ~@23 g3@49 ~@48]/5", // C Bm Am G
E: "[d4@25 g4@25 a4@8 ~ g4@8 [f#4,a4]@8 [b3,g4]@21, b4@50 e4@17 ~@29]/4", // F#m Em
F: "[~@5 c5@25 d5@17 c5@8 [g4,b4]@17, ~@5 f#4@50 ~@17]/3", // G
G: "[[d4,a4]@3 [e4,b4]@2 [d4,a4]@3 [b3,g4]@22 ~@3 e5@17 g5@8 ~ b3@24 f#5@17 [f#4,a5]@8 [e4,b4,g5]@22 ~@3 [g3,e4,c5]@24 [a3,f#4,d5]@24 [b3,g4]@11, ~@33 g4@50 d#4@16 ~@93, ~@33 c4@25 ~ d5@22 ~@2 b4@25 ~@84]/8", // D5 E5 D5 Em F#m Em C D …
H: "[~@2 [g2,d3,b3,d4]@3 [c3,g3,c4,e4], ~@4 g3@5 ~@3]/2", // G C
I: "[~ [d4,f#4] [g2,b3,d4]@3 [c3,g3,c4,e4], ~ d3@4 ~, ~@2 a3 ~ g3@4 ~@4]/2", // D G C
J: "[~@2 [g2,d3,b3,d4]@3 [c3,c4,e4]@3 [g2,d3,d4,g4]@6 [c3,c4,e4]@3 [b2,b3,d4], ~ g3@6 g3@2]/6", // G C G5 C Bm
K: "[~@16 [d3,a3,c4,f#4]@24 ~@16 [g2,d4]@8 [c3,c4,e4]@24 [d3,a3,d4,f#4]@22 ~@3 [b3,d4]@24 [c4,e4]@20 ~@4 [c4,e4,g4]@6 ~, ~@5 g3@6 ~@10, ~@5 [b3,g4]@3 ~@13]/7", // D7 G5 C D Bm C Em
L: "[~ [b3,d4,g4]@6 ~@2 [a3,c4,g4]@6 ~@2 [g3,b3,d4,g4]@22 ~@2 [d3,b3]@23 ~ [e3,g3,c4]@16 [f#3,a3,d4]@8 [d3,g3,b3]@25 ~@6, ~@41 g3@16 ~@63]/5", // G Am7 G C D G
M: "[~@17 [g3,b3,d4]@23 ~ [g3,c4,e4]@24 [g3,b3,d4,g4]@7]/3", // G C G
N: "[~ [g3,b3]@32 ~@8 [c3,e4]@24 [g3,d4]@24 [f#3,d#4]@24 [e3,e4]@23 ~ [c3,g3,e4]@23 ~ [d3,a3,d4,f#4]@23 ~@8, ~ d4@25 ~@15 [g3,c4]@19 ~@5 b3@19 ~@5 b3@46 ~@2 c4@16 ~@39]/8", // G C G5 D#m E C D C5
O: "[~@18 d4@23 ~ [c4,e4]@23 ~ [c4,e4]@8 [b3,d4]@7 ~ [a3,c4]@7 ~ [g3,b3]@22 ~@2 d4@25 ~ g4@25 [e4,a4]@3, ~@18 g4@92 ~@4 b4@51 ~@3, ~@18 g3@49 ~@101]/7", // C Bm Am G A5
P: "[~@6 g4@8 [f#4,a4]@8 [b3,g4]@21 ~@5]/2", Q: "[c5@25 d5@16 c5@8 ~ [g4,b4]@16 [d4,a4]@3 [e4,b4]@3, f#4@25 ~@11]/3",
R: "[d4,a4] [b3,g4]@7", // D5 Em
S: "[~@3 e5@16 ~ g5@8 b3@25 d#4@16 [f#4,a5]@8 [e4,b4,g5]@22 ~@3 [g3,e4,c5]@24 [a3,f#4,d5]@24 ~ g4@16 ~, ~@3 g4@49 ~ f#5@19 ~@96, ~@3 c4@25 d5@22 ~@3 b4@24 ~@73 b3@17 ~]/7", // F#m Em C D
})).s("gm_string_ensemble_2").gain(0.22).pan(0.7)
// other · taiko drum
const taiko_drum = note("<~@47 [~@2 g2] ~@56 [~@5 g2@4 ~@3] ~@28>").s("gm_taiko_drum").gain(0.42)
// chords · string ensemble 1
const string_ensemble_1 = note(`<
~@22 A B C D E@2 F@2 G H G I J K L M H N A B C D ~@2 O P Q R S@2 T@4 U@4 V@8 W@4 X@7 Y Z AA@7 AB@2 AC@3 AD@4 AE AF
AG@2 ~ AH AI@6 AJ@3 AK AL@3 AM@6 ~@5 AN AO@2 AP AQ@2
>`.pickRestart({
A: "[g3,g4,b4]@6 ~@6 [b3,g4,b4] ~@3 [b3,g4,b4] ~@3 [d4,g4,d5] ~@3", // G Em G5
B: "[d4,d5]@2 [e4,g4] ~ [e4,g4,c5]@5 ~@3, g4@2 ~@2 c5 ~@19", // D Em C
C: "[e4,g4,e5]@4 g5 ~@3 [b2,g4,d5]@4 g5 ~@3 [a2,g4,c5]@4 g5 ~@3, c3@7 ~ d4@3 ~@5 c4@3 ~@5", // Em G Am7
D: "[g4,b4]@2 ~, g2@23 ~, d4@5 ~", E: "[g2@23 ~]/2",
F: "[~@12 [b3,g4,b4] ~@3 [b3,g4,b4] ~@3 [d4,g4,d5] ~@3 [d4,d5]@4 [e4,g4]@2 ~@2 [e4,g4,c5]@10 ~@6, g2@47 ~, ~@24 g4@2 ~@2 c5 ~@19]/2", // Em G5 D Em C
G: "g2@23 ~", H: "c3@11 ~", I: "[g4,b4]@4 g5 ~@3 [a4,c5]@4 g5 ~@3 b4@4 g5 ~ f#5 ~, g2 a2 b2, ~@8 d5 ~@3",
J: "~@8 g5@3 ~, [c3,c5]@23 ~, e5@5 ~", K: "~@16 g5@5 ~@3, [b2,b4,d5]@11 ~",
L: "c5@4 ~@2 c5@2 b4@3 ~@6 b4 ~@6, d#3@11 ~, ~@5 d5@2 ~@9 a4@7 ~", M: "g4@6 f#4 ~ e4@8 ~@8, e3@11 ~", N: "d3@7 ~",
O: "c3@4 ~@3 b2@5 ~@4 a2@4 ~@4", P: "g2@3 ~", Q: "g2", R: "~ b2@23", S: "[~@3 c3@16 d3@8 ~ g2@20]/2",
T: "[~@5 d3@50 ~ g2@23 ~@2 g2@8 a2@7]/4", U: "[~@2 b2@8 c3@25 b2@25 d#3@25 e3@11]/4",
V: "[~@5 d3@8 c3@24 d3@25 ~@9 [b3,d5]@4 ~@4 [a3,c5] [b3,d5] ~@2 b3 ~@2 c5 ~ [g3,b4]@17 ~@8 [b3,g4]@8 [d4,b4]@8 [g4,d5]@3 ~@5 c5 d5 c5 ~ d5 c5@8 ~@3 f#3@4 [d4,f#4] ~@3 d4@7 ~@9 b4 ~@3 d5 ~@3 d5 e5 d5 ~ e4@3, ~@62 g2@42 ~@9 d3@16 ~@8 [e3,e4]@16 ~@8 d3@20 ~@4 e3@7, ~@81 c5@2 ~ c5@2 b3@2 ~@65 a4@2 ~@14 b3@14 ~@2 c4@4 ~@3, ~@82 [a3,d5]@2 ~ [a3,d5]@2 a3@2 ~@64 f#4 ~@7 g4@12 ~@16 c5 ~@2]/8", // Bm Am Bm G Em G G5 D …
W: "[~ a4@4 g4 a4 g4 a4 g4 ~@3 a4@2 ~@2 [b3,g4]@2 ~@4 a4 ~ [b3,b4]@3 ~@3 c5 ~ [d4,d5]@3 ~@3 d5 ~ c4@3 ~@3 d5 ~ c5@2 ~@4 d5 ~ f#4@3 [a4,f#5]@4 ~ g5@3 ~@5 d5 c4 ~@5 d5@5 ~@4 g2@4 [g4,g5] a4 a5, ~ c5@11 ~@5 d3@17 ~@6 e5@3 ~@5 e4@3 ~@5 e5@4 ~@4 g4@4 ~@5 b3@2 b3@2 [c4,e5]@2 e5@2 ~@15, ~@41 e3@19 ~@5 d3@17 ~@14, ~@74 e5@2 d5@4 c4 ~@15, ~@78 b3@11 ~@7]/4", // Em B D G C
X: "[~@3 b5 [a4,a5] ~@4 [g4,g5] ~@2 d4 d5 ~@3 [e4,e5] ~@3 [e4,e5] ~ [d4,d5] [c4,c5] ~@3 e5@2 [f#4,f#5] ~ [g4,g5] c3@2 ~ [e4,e5] ~@3 [d4,d5] ~@4 [d4,d5] [c4,c5] ~ [b3,b4] ~@4 g5@2 ~@3 [f#4,f#5]@2 [e4,e5]@2 [d4,d5]@2 ~@8 [d4,d5]@8 ~ c4@8 [g2,b4]@20 ~ [d4,f#4]@2 ~ [e4,g4]@8 [g4,c5]@13 [c5,e5]@2 ~ [a4,d5]@8 [f#4,a4]@13 ~ [g4,b4]@2 [g3,d4,g4,b4]@7, b4@4 ~@6 [a4,a5]@2 ~@41 g4 ~ [f#4,f#5]@2 ~@23 c5@9 ~@79, ~ a2@5 ~@3 b2@4 ~@4 c3@14 ~@10 b2@15 ~ [b2,g4]@2 ~@6 a2@16 d3@3 ~@25 b2@4 c3@23 ~ d3@22 ~@9, ~ b5@2 ~@53 g5@2 ~@110, ~@2 [c5,c6]@2 ~@7 [g4,g5]@2 ~@15 e4 ~@35 [c4,c5]@8 ~@17 b3@11 ~@68]/7", // A G E D C F# G E …
Y: "~@5 [b3,b4] [b3,g4] ~@2 [b3,g4,b4,d5] d4 ~@2 [d4,g4,d5,g5] ~@4 c6@2 ~ [c5,a5] a4@2, ~@2 g3@11 ~@4 [d4,b4,d5,b5]@5 ~@2, ~@17 g4@2 ~@2 [e4,g4]@2 ~", // B Em G G5 F G Em
Z: "~@2 a4@8 ~@7 e5 [e4,e5]@3 g5!2 ~, ~ [e4,g4,c5,a5]@10 ~@6 c3@7, ~@17 g4@4 ~@3", // E Am7
AA: "[~@2 [d4,g4,g5]@3 c6@3 ~@2 [c4,g4,c5]@3 ~ g5 ~@3 d6@7 ~ b6@12 ~@4 g2@46 ~@14 [b3,g4,b4] ~@3 [b3,g4,b4] ~@3 [d4,g4,d5] ~@3 [d4,d5]@4 [e4,g4]@2 ~@2 [e4,g4,c5]@10 ~@5 g2@23 ~@2 c3@6, ~ [b2,d5]@4 g5 ~@3 [a2,c6]@4 e6@4 g2@23 ~@50 g2@47 ~@31, ~@9 d4@10 ~@65, ~@18 [g4,b4]@16 ~@80 g4@2 ~@2 c5 ~@49, ~@25 a6@2 ~@15 b6@8 ~@118]/7", // G5 C5 Em G5 D Em C Bm …
AB: "[~@18 g2@23 ~ [g2,g4]@4 g5 ~, ~@14 b4 ~]/2", // G
AC: "[~@2 [a4,c5]@4 g5 ~@3 b4@4 g5 ~ f#5 ~ [c5,e5]@7 c5@3 ~@10 e5@2 ~@9 g5@5 ~@12 c5@4 d5@2, ~@2 a2@8 b2@8 c3@23 ~ [b2,b4]@22 ~@8, ~@10 d5@2 ~@28 d5@9 ~@23]/3", // Am C B
AD: "[~ b4@4 a4@4 g4@2 ~@2 f#4@2 ~@3 g4@6 f#4 ~ e4@8 ~@8 c3@22 ~@2 d3@21 ~@3 [g3,g4,b4]@6, c5 ~@8 e3@11 ~@28]/4", // G
AE: "~@6 [b3,g4,b4] ~@3 [b3,g4,b4] ~@3 [d4,g4,d5] ~@3 [d4,d5]@4 [e4,g4]@2, ~@18 g4@2 ~@2 c5 ~", // Em G5 D Em
AF: "~@2 [e4,g4,c5]@10 ~@6 [c3,e4,g4,e5]@4 g5 ~", // C
AG: "[~@2 [b2,g4,d5]@4 g5 ~@3 [a2,g4,c5]@4 g5 ~@3 [g4,b4]@17 ~@13, ~@2 d4@3 ~@5 c4@3 ~@5 g2@23 ~@7, ~@9 d4@10 ~@5]/2", // G Am7 G
AH: "~@9 c3@2 ~", AI: "[~@2 b2@5 ~@3 a2@4 ~@4 g2@19 ~@6 g2@25 b2@25 ~ c3@17 d3@8 g2@21 ~@4]/6", AJ: "[d3@25 g2@11]/3",
AK: "~@3 g2@8 a2@8 ~ b2@4", AL: "[~@4 c3@25 b2@24 d#3@19]/3",
AM: "[~@6 e3@16 d3@8 c3@25 d3@25 ~@8 [b3,d5]@4 ~@4 [a3,c5] d5 b3 ~@2 b3 ~@2 c5 [g3,b4]@17 ~@22, ~@80 g2@43 ~@21, ~@49 c5 d5 a3!2 ~@19, ~@99 a3@2 c5@2 [b3,d5]@2 ~@39]/6", // Bm Am G Bm
AN: "~@7 [g3,g4,b4]@3 ~@2", // G
AO: "[~@2 [b3,g4,b4] ~@3 [b3,g4,b4] ~@3 [d4,g4,d5] ~@4 [d4,d5]@4 [e4,g4,c5]@3 ~ [e4,g4,c5]@12 ~@7 [c3,e4,g4,e5]@5 g5, ~@5 g4 ~@10]/2", // Em G5 D C
AP: "~@4 [b2,g4,d5]@6 g5 ~@5 [c4,g4,c5]@6 g5 ~, ~@4 d4@4 ~@7 a2@9", AQ: "[~@2 [g2,d4,g4,b4]@21 ~]/2",
})).s("gm_string_ensemble_1").gain(0.32).pan(0.6)
// chords · french horn
const french_horn = note(`<
~@22 A B ~@4 C B ~@3 D E ~@5 A B F G H@2 I J K L M@2 N@3 O P@8 Q@4 R@2 S@5 T@4 U V W@2 ~@2 X Y ~@2 Z AA@2 ~@4 AB X V
AC@4 AD@6 AE AF AG AH AI@4 AJ@3 AK ~@6 AL AM AN ~@3
>`.pickRestart({
A: "b3@6 ~@6 b3 ~@3 b3 ~@3 d4@2 ~@2", B: "d4@4 e4@3 ~ e4@8 ~@8", C: "~@12 b3 ~@3 b3 ~@3 d4@2 ~@2",
D: "[g3,d4] [a3,e4] b3", E: "[c4,g4]@11 ~", F: "[c4,e4] ~ [b3,d4] ~ [a3,c4] ~", G: "[g3,b3]@3 ~",
H: "[[g3,g4]@23 ~, d4@7 ~@5]/2", I: "[e4,g4]@4 g3@4 [d4,g4]@4 g3@4 [c4,g4]@4 g3@3 ~", J: "[b3,g4]@2 ~", K: "b3@11 ~",
L: "~ d4@22 ~", M: "[~@3 c4@8 e4@8 d4@8 ~ b3@17 ~@3]/2", N: "[~@5 d4@25 f#4@25 ~ g4@16]/3",
O: "e4@3 g4@3 e4@3 d4@14 ~",
P: "[~@2 g4@2 f#4@3 ~@3 e4@17 e4@2 e4@3 g4@3 g4@25 f#4@25 e4@16 b3@3 b3@2 e4@3 e4@24 f#4@22 ~@12 g4@4 ~@4 e4@8 ~@9]/8",
Q: "[~@17 b3@24 [c4,e4]@16 f#4@6 ~@2 [b3,d4]@22 ~@9]/4", R: "[~@17 d4@24 c4@7]/2",
S: "[~@9 [c4,f#4]@8 g4@34 ~@2 g4@2 f#4@2 e4@4 ~@4 c4@24 [b3,d4]@24 a3@7, ~@17 b3@48 g4@48 ~@7]/5", // Cdim Bm
T: "[~@9 a4@8 [b3,g4]@22 ~@2 [c4,e4]@24 [d4,f#4]@22 ~@2 b3@6 ~]/4", U: "~@5 b3 ~@3 b3 ~@3 d4@2 ~@2 d4@4 e4@3",
V: "~ e4@4 ~@4 [c4,e4]@2 ~", W: "[~@2 [b3,d4]@4 ~@4 [a3,c4]@4 ~@4 g3@17 ~@13, ~@17 b3@18 ~@13]/2",
X: "~@6 b3 ~@3 b3 ~@3 d4@2 ~@2 d4@4 e4@2", Y: "~ e4@4 ~@7", Z: "~@3 [g3,d4]",
AA: "[~ [a3,e4]@4 b3@4 [c4,g4]@11 ~@4]/2", AB: "~@3 b3",
AC: "[~ [b3,d4]@2 ~@2 [a3,c4]@2 ~@2 [g3,b3]@9 ~@3 [g3,g4]@23 ~ [e4,g4]@2 g3, ~@21 d4@14 ~@13]/4", // Bm Am G Em
AD: "[~@2 [d4,g4]@4 g3@4 [c4,g4]@4 g3@3 ~ [b3,g4]@16 ~@9 b3@23 ~@2 d4@23 ~@3 c4@8 e4@8 ~ d4@8 b3@17 ~@8]/6", AE: "d4",
AF: "~ f#4@23", AG: "~@2 g4@17 e4@3 g4@2", AH: "e4@3 d4@14 ~@3 g4@2 f#4@2",
AI: "[~@4 e4@16 e4@3 e4@3 g4@3 g4@24 f#4@24 ~ e4@16 b3@2]/4", AJ: "[~ b3@3 e4@2 e4@25 f#4@22 ~@11 g4@4 ~@4]/3",
AK: "e4 ~@2", AL: "~@7 b3@3 ~@2", AM: "~@2 b3 ~@3 b3 ~@3 d4@2 ~@3 d4@4 e4@4 ~", AN: "e4@5 ~@7",
})).s("gm_french_horn").gain(0.31).pan(0.2)
// chords · french horn · soft notes
const french_horn_soft = note("<~@33 A ~@29 B@3 C D@4 ~ E ~ F@3 ~@13 G ~@29 H@2 ~@11>".pickRestart({
A: "~@2 f#4", B: "[~@16 d4@22 ~@3 d4@24 ~@7]/3", C: "~@3 d4@2 ~@3", D: "[~@17 [c4,e4]@19 ~@5 b3@24 e4@16 ~@15]/4",
E: "~@13 g4@2 ~@9", F: "[~@17 d4@42 ~@13]/3", G: "~@5 f#4@4 ~@3", H: "[~@9 d4@23 ~@16]/2",
})).s("gm_french_horn").gain(0.19).pan(0.2)
// chords · church organ
const church_organ = note("<~@48 A@3 B C@4 D@7 ~@41 E@5 F@4 G@7 ~@13>".pickRestart({
A: "[[b4,d5]@50 ~ [c5,e5]@16 [d5,f#5,a5]@5, g5@65 ~@7]/3", B: "~ [b4,d5,g5]@5",
C: "[~@30 c6@25 ~ b5@25 b4@15, ~@5 d5@91, ~@5 [f#5,a5]@50 ~ g5@40]/4", // F#m
D: "[~@10 [c5,e5]@25 [b4,d5]@25 f#5@16 a5@8 ~ g5@24 [g4,c5,e5]@24 [a4,d5,f#5]@25 ~@10, ~@10 g5@50 b4@49 ~@59, ~@60 d#5@25 e5@18 ~@65]/7", // C Bm C D
E: "[~@19 [b4,d5]@51 [c5,e5]@17 [d5,f#5,a5]@8 [b4,d5,g5]@25, ~@19 g5@66 ~@35]/5", // Bm C D G
F: "[~@25 c6@25 b5@25 b4@21, d5, [f#5,a5]@25 g5@23]/4", // F#m
G: "[~@4 [c5,e5]@25 [b4,d5]@24 f#5@17 a5@8 g5@24 [g4,c5,e5]@25 [a4,d5,f#5]@25 ~@16, ~@4 g5@49 b4@49 ~@66, ~@53 d#5@24 ~ e5@18 ~@72]/7", // C Bm C D
})).s("gm_church_organ").gain(0.13).pan(0.2)
// chords · pad poly
const pad_poly = note("<~@62 A@3 ~@54 B C ~@12>".pickRestart({
A: "[~@23 [g4,b4,d5]@8 c5 d5@2 ~@3 b4 ~@2 [g4,b4]@17 ~@15, ~@31 e4@7 d5@2 ~@32, ~@31 a4@4 [b4,d5]@2 c5@2 ~@33, ~@32 b4 ~ c5@2 a4@3 d4@10 ~@23]/3", // G Bm
B: "~@2 [g4,b4,d5]", C: "c5 b4 ~@5 b4 ~ [g4,b4]@15, e4@7 d5@2 ~@15, a4@3 c5@2 a4@3 d4@11 ~@5, ~ d5 [b4,d5] c5 ~@8",
})).s("gm_pad_poly").gain(0.19).pan(0.7)
// chords · piano
const piano = note(`<
A B C D E F G H I J K L@2 M@2 N O P Q R S T U V W X Y Z AA AB@2 AC@2 N AD AE AF AG AH AI U V W AJ E F AK AL AM AN@6
AO@6 AP@5 AQ@2 AR@7 AS@6 AT@7 AU@2 AV@4 AW@5 AX@4 AY@6 AZ@3 BA@5 BB@8 BC@8
>`.pickRestart({
A: "~@3 b4 ~ d5, [g2,g4], ~ b3@2, ~@2 b4", B: "~ c5 ~@2 a4@2, [g2,d5], ~ e3@5, ~ c5@2",
C: "~@4 g4@4 ~@4 g4@4 ~@4 g4@3 ~, [c4,e5] [b3,d5] [a3,c5]", D: "g4 ~@3 g5@2, b4 b4@2, ~ g4@5, ~@3 d5@2 ~",
E: "~@3 b4 ~ d5, [g2,g4], ~ d3@5, ~ b3@2, ~@2 b4", F: "d5 c5 ~ g4@2 g4, g2, ~ g3@2, ~ c5 ~",
G: "e4@2 f#4@2 g4@4 ~@2 f#4@2 g4@3 ~@3 f#4@2 g4@2 ~@2, e5@7 ~ d5@7 ~@9, ~@4 [b3,d4]@2 ~@2 [c4,c5]@3 ~", // Bm C
H: "[b3,b4] ~ g4, g3 ~ b3@4, ~@3 d4@2 ~", I: "~@2 d5, g2, g4 [b3,b4]@2, ~ d3@5, ~@3 g4@2 ~",
J: "~@2 g4@2 ~ f#4, [c3,c5]@17 ~@7, ~ e4@2 ~ [d3,a4]@2", K: "~@3 b4 ~ d5, [g2,g4], ~@2 b4",
L: "[d5 c5 ~@9 g4, ~ c5@5, ~@5 a4@7, ~@6 g4@3 ~ d5@2, ~@2 b4]/2",
M: "[e5@2 e5@2 ~@5 g4@3, c4 e5@2, ~@5 g4@4 ~@3, ~ [g2,g5], ~@2 d5]/2", // G
N: "~ g5 ~ g4 ~ g5, [g3,g4,b4] [a3,c5] [b3,d5]", O: "~@3 g4 ~ g4, c3, [c4,e5]@2 e5, ~ c5@2",
P: "~@8 g5@15 ~, b2, [b3,d5]@2 ~, ~ g4@2 ~@3", Q: "~@2 [d3,c5], [a2,a3], c5@2 ~, ~ d4@2 ~@3, ~ d5@2",
R: "~@2 g4@2 g4 f#4, [g3,b4], g2@2 b2", S: "~ g4@2 ~@2 g4, c3@23 ~, e4@2 ~ g4@2 ~, ~@2 e5",
T: "~ f#5@2, d3, f#4@2 ~, d5 ~", U: "~@3 b4 ~ d5, [g2,g4,g5], ~ b3@2, ~@2 b4",
V: "d5 c5 ~@3 g4, g2, ~ e3@5, ~ g3@2, ~@2 c5 g4 c5@2",
W: "e4 f#4 [g4,g5]@2 ~ f#4 [g4,g5]@2 ~ f#4 g5@2, e5@2 ~@2 [b3,d4,d5]@2 ~@2 [c4,c5]@2 g4 ~", // G Bm C
X: "~@2 g4, [b3,b4]@5 ~ d4@4 ~@2, ~ g3@5", Y: "~@5 g4, g2, g4 [b3,b4]@2, ~ d3@5, ~@3 g4 d5@2",
Z: "~@3 e4 ~ f#4, [c3,c5]@17 ~@7, ~ e4@2 ~ [d3,a4]@2, ~@8 g4@9 ~@7", AA: "~@3 b4 ~ [d4,d5], [g2,g4], ~@2 b4",
AB: "[d5 c5 ~@9 g4, c4@3 ~@3 g4@2 b4 g4 d5@2, ~ e4@3 ~ a4@7, ~ c5@5, ~@7 d4@5]/2",
AC: "[~@2 e5@2 ~@7 d4, c4@2 ~ [g2,g5]@3, e5 ~ e5@4, ~ g4@2 ~@2 g4@4 g4@3, ~@2 d5]/2", // G
AD: "~@3 g4 ~ g4, c3, [c4,e5]@2 ~, ~ g4@2 ~ e5@2, ~ c5@2", AE: "~@5 g4, b2, [b3,d5]@2 d5, ~ g4@2 g4@2 ~, ~ g5@2",
AF: "~@5 b3, [b2,d#5], ~ b3@2 b3@2 ~, ~ [d#4,b4]@2, ~@2 [f#3,a4]", // B G#m F#m
AG: "~@2 b3 f#4 ~@6 b3@2, e2, g4@7 ~ e4@16, ~@3 b3@2 ~, ~@2 [e3,g4]", // Em
AH: "~ g4@2 ~@2 g4, [c3,c4]@23 ~, e4@2 ~ g4@2 ~, ~@2 e5", AI: "~@5 a4, d3, f#4 d5, d5 f#5@2, ~ a4@3 [d4,f#4]@2",
AJ: "~@2 g5, [g3,b3], b4 b4@2, ~ g4@5, ~@3 d5@2 ~", // G
AK: "[c4,e4]@2 f#4@2 [g4,g5]@4 f#4@2 ~@2 g5@4 f#4@2 g4@2 g5@3 ~, e5 ~ [b3,d4,d5] ~ [a3,c4,c5] ~, ~@5 g4@2 ~@5", // C G Bm Am
AL: "[g3,b3,b4]", AM: "[g3,d4,g4,b4]@8 ~ [g3,d4,g4,b4]@8 [g3,d4,g4,b4]@6 d4, g2",
AN: "[~ [d4,g4,b4]@8 ~ [b3,d4,g4,b4]@8 d4@6 ~@3 [c3,c4,e4,a4]@8 [c4,e4,g4]@3 ~@5 [d3,d4,f#4,d5]@8 ~ [g3,d4,g4]@8 [g3,d4,g4]@8 ~ [g3,d4,g4,b4]@7 ~ [d3,a4,d5]@8 [d3,a4,d5,f#5]@8 ~ [d3,a4,d5,f#5]@8 [d3,a4,d5,f#5]@8 ~ [d3,d5,f#5]@8 [d3,d5,f#5,d6]@9 [g3,b4,d5]@8 [g3,b4,d5]@6 b4@2, ~ b2@34 c3@7 ~@10 g2@24 ~ d2@25 d2@25 ~ [g2,g5,b5]@16, ~@18 [b3,g4,b4]@17 ~@59 a5@17 [a4,a5]@17 ~@16, ~@24 d4@11 ~@17 b4@17 ~@8 f#4@48 ~@19]/6", // G Am C D G5 G D5 D …
AO: "[d5@3 d5@3 [b4,d5]@3 [g2,g3,b4]@8 b4@8 ~@9 [c3,g3,c5]@6 ~@16 g5@3 [g3,b4]@6 ~@8 b4@3 b4@8 [b3,b4,d#5]@8 [b3,b4,d#5]@8 [b2,b3,b4,d#5,a5]@8 ~ g4@5 g4@3 [e4,g4,b4]@8 [e4,g4,b4]@8 [c3,g3,e4,g4,c5]@8 [c3,g3,e4,g4,c5,e5]@3, [g2,g3,a5]@9 ~@8 g2@31 c5@3 [c3,g3,e5]@2 c5@5 ~@26 b2@8 f#5@17 ~@8 e5@16 ~@11, b4@6 ~@3 [d5,g5]@17 [b2,b4,d5]@33 [g2,g5]@48 ~@37, ~@3 b5@6 ~@8 g3@9 g4@8 e4@25 ~@8 [g3,b4]@8 ~ [g3,g4,d5]@33 [e3,g5]@24 ~@11, ~@26 g5@14 g4@2 [c3,g3,c5]@3 g4@14 ~@6 g4@5 g4@6 ~@8 f#4@25 [e4,b4]@8 ~@27]/6", // Bm G C5 G B B7 Em C …
AP: "[~@5 [c3,g3,c4,g4,c5,g5]@8 [d3,a3,d4,d5,f#5]@8 ~ [d3,a3,d4,d5,f#5,a5,d6]@8 [d3,d4]@8 ~@17 [d3,a4,c5]@8 ~ [g2,g3,g4,b4]@21 ~ e5@2 f#5 ~@16 [d4,d6]@4 d5@2 ~@6 c5@3, ~@13 a4@34 [b4,d5]@17 ~@21 d5@2 ~@6 d5@8 d5@8 ~@11, ~@30 [a3,f#5,a5,d6]@34 ~@33 [b3,b5]@14 ~@9, ~@30 d5@8 d3@17 ~@38 d3@18 ~@2 [c3,c6]@7, ~@38 [g2,g3,b3,d4,g4]@25 ~@26 [g2,g5]@22 ~@9]/5", // C5 D D7 G D Bm D B …
AQ: "[~@5 c5@4 ~@4 f#5@4 ~@20 d5@4 ~@4 c5@3, ~ e5@8 [d3,a5]@8 [g2,g5]@16 b4@8 ~@7, ~@21 d3@20 [c3,d5]@7, ~@25 b3@16 ~@7, ~@29 g4@12 ~@7]/2", // D5 G Csus2
AR: "[~@9 g4@7 ~@17 [b3,d5,d6]@8 ~@20 e3@4 [g5,g6]@3 ~@33 b4@4 ~@4 d4@4 ~@20 [g3,g4]@4 ~@20 [g3,g4]@4 ~@4 d4@3, ~ [g3,c5]@15 ~ [g2,g4,g5]@25 ~@3 e3@8 e3@8 ~@8 d3@8 ~@8 g4@4 [g3,b4]@4 g5@4 [a3,c5]@8 ~@12 [g3,g4]@4 e4@4 g4@8 ~@12 g5@16 ~@7, ~@25 b3@8 ~@8 [e5,e6]@16 ~@16 [d5,d6]@32 ~@8 e5@16 [e4,e5]@8 ~@4 [g3,g4]@4 d4@4 [g3,g4]@8 ~@11, ~@29 d3@8 ~@4 g2@24 g2@40 ~@8 c3@24 b2@24 [d3,c5]@7, ~@49 c4@8 [c4,e5,e6]@9 ~@15 b3@24 [b3,g4]@8 ~@8 c5@16 d5@16 [d4,d5]@8 ~@7]/7", // Bm G C5 G Am G E D …
AS: "[~@21 [d3,d4]@8 ~@10 [b4,d5]@2 ~@20 g3@4 ~@20 a3@4 ~@13 b4@4 ~@4 d5@4 d5@3 ~@17 g4@4 e4@2 f#4@2 [g4,g5]@2, ~ d5@12 d4@4 [g2,b4]@16 [b3,g5]@8 ~@4 g3@4 e4@4 g3@8 ~@8 a3@8 a3@8 ~@13 b3@17 ~@3 e3@20 e5@4 ~@2, ~ f#4@8 f#4@24 e5@2 [d5,f#5]@6 ~@8 [g4,g5]@16 ~@8 f#4@8 [d5,d6]@8 ~@17 b4@9 ~@2 c5@4 ~ c5@4 g4@4 c5@9 ~@5, ~@5 d4@8 a3@24 [c5,e5]@4 c5@16 [e4,c5,c6]@8 ~@8 [d4,f#5]@16 ~ g4@25 ~@7 g3@17 ~@5, ~@9 c5@20 [d3,d4]@12 [c3,e5]@24 [d3,a4,a5]@24 [g2,g5]@25 g2@25 ~@5]/6", // D Bm G Em D G D C …
AT: "[~@4 f#4@2 [g4,g5]@4 ~@2 f#4@2 g5@4 ~@15 g4@8 ~@21 g4@4 ~@12 e4@4 ~@4 f#4@4 ~@12 b4@4 ~@4 [d4,d5]@4 d5@4 c5@4 ~@36 g4@4 [c4,e5]@4 g4@2, ~@2 [b3,d4,d5]@4 ~@4 [c4,c5]@4 g4@2 ~@2 [b3,b4]@10 ~ d4@8 ~@5 g4@8 [b3,b4]@17 ~@3 e4@8 ~@36 c4@12 ~@12 g4@8 b4@4 g4@4 d5@8 ~@6, ~@22 g3@20 g2@24 ~@16 [d3,a4]@9 ~@31 c5@40 ~@6, ~@46 d3@20 [c3,c5]@17 ~@7 [g2,g4]@25 ~@27 d4@20 ~@6, ~@54 g4@4 d5@8 ~@8 g4@9 ~@23 b4@9 ~@3 e4@12 ~@4 a4@28 ~@6]/7", // G D C Bm C B D5 C …
AU: "[~ e5@4 ~@14 d4@2 [g3,g4,b4]@2 g5, ~@5 e5@16 ~@3, ~@7 g4@8 g4@6 ~@3, ~@3 [g2,g5]@4 ~, ~@13 d5@8 ~@3]/2", // G
AV: "[~@3 g4@2 ~@2 g5@2 ~@6 g4@2 ~@2 g4@2 ~@10 g4@2 ~@10 b3@2 [e2,g4]@2 b3, ~ [a3,c5]@4 [b3,d5]@4 c3@12 b2@12 [b2,d#5]@12 ~@3, ~@18 [c4,e5]@16 ~@8 [b3,d5]@16 d5@8 ~@8 [d#4,b4]@17 ~@5, ~@22 g4@8 ~@4 e5@9 ~@7 g5@16 ~@16 [f#3,a4]@8 ~@6, ~@13 c5@8 ~@2 g4@4 g4@4 ~@4 b3@4 b3@4 ~@5]/4", // Em Am Bm B C Bm G#m F#m
AW: "[f#4 ~@6 b3@2 ~@2 g4@4 ~@4 g4@2 ~@10 a4@2 ~@6 b4@2 ~@2 d5@2 d5@2 c5@2 ~@6 g4@2 e4 f#4 [g4,g5], ~@2 e4@16 e4@8 ~@4 g4@8 ~@4 f#4@12 d5@12 ~@16 b4@9 ~@7 c5@4 g4@4 c5@8 e5@4 ~@2, ~@6 b3@8 ~@20 e5@8 d5@8 f#5@16 ~@24 g2@25 ~@5, ~@10 [e3,g4]@8 [c3,c4]@23 ~ d3@24 [g2,g4,g5]@25 ~@7 g3@17 ~@5, ~@46 a4@12 [d4,f#4]@8 ~@8 b3@17 ~@3 e3@21 ~@5]/5", // G Em C G D
AX: "[~@2 f#4 [g4,g5]@2 ~ f#4 g5@2 ~@8 g5@4 ~@6 b4@2 ~@2 d5@2 d5@2 c5@2 ~@2 g4@4 g4@2 [c4,e4] f#4 [g4,g5], ~ [b3,d4,d5]@2 ~@2 [c4,c5]@2 g4 ~ [g3,b3]@12 [g2,g4]@12 g2@12 ~@3, ~@18 b4@8 b4@16 ~@8 b3@17 ~@7 g3@16 ~@6, ~@22 g4@20 ~@4 d3@21 ~@29, ~@30 d5@8 ~@20 b4@9 ~@7 c5@8 ~@8 e5@4 ~@2]/4", // G C G Bm C G
AY: "[~@2 f#4@2 ~@2 g5@4 f#4@2 g4@2 g5@2 ~@2 [g3,b3,b4]@24 ~ [g3,d4,g4,b4]@8 [g3,d4,g4,b4]@8 ~ d4@5 d4@3 [d4,g4,b4]@8 ~ [b3,d4,g4,b4]@8 d4@6 ~@3 [c3,c4,e4,a4]@8 [c4,e4,g4]@3 ~@6 [d3,d4,f#4,d5]@8 [g3,d4,g4]@8 [g3,d4,g4]@8 ~ [g3,d4,g4,b4]@7 ~, ~@2 [b3,d4,d5]@4 ~@4 [a3,c4,c5]@4 ~@29 g2@25 b2@34 c3@7 ~@10 g2@24 ~, ~@4 g4@4 ~@52 [g3,g4,b4]@8 ~@17 [b3,g4,b4]@17 ~@42, ~@91 d4@11 ~@17 b4@17 ~@8]/6", // G Am C D G5 G Bm Am …
AZ: "[[d3,a4,d5]@8 ~ [d3,a4,d5,f#5]@8 [d3,a4,d5,f#5]@8 [d3,a4,d5,f#5]@8 ~ [d3,d5,f#5]@8 [d3,d5,f#5,d6]@8 [g3,b4,d5]@8 [g3,b4,d5]@6 b4@3 d5@3 [d5,b5]@2, f#4@24 ~ g5@11, d2@25 d2@25 [g2,b5]@19 ~@3, ~@17 a5@17 [a4,a5]@17 ~@16 [g2,g3,b4,a5]@5]/3", // D5 D G A G
BA: "[[b4,d5]@3 [g2,g3,b4]@8 b4@8 ~@31 g5@3 ~@13 b4@3 b4@8 [b3,b4,d#5]@8 [b3,b4,d#5]@8 ~ [b2,b3,b4,d#5,a5]@8 g4@5 g4@3 [e4,g4,b4,e5]@8 [e4,g4,b4]@2, ~@3 [d5,g5]@17 [b2,b4,d5]@33 [g2,g5]@48 ~@19, ~@11 g2@31 c5@2 [c3,g3,e5]@3 c5@5 ~@9 b4@5 ~@11 b2@8 f#5@16 ~@19, ~@11 g3@9 g4@8 e4@25 [g3,b4]@8 g3@8 [g3,g4,d5]@33 [e3,g5]@18, ~@20 g5@8 [c3,g3,c5]@5 g4@3 [c3,g3,c5]@3 g4@14 ~@5 g4@5 ~ g4@5 ~@8 f#4@25 [e4,b4]@8 ~@10]/5", // Bm G B B7 Em G5 Bm G …
BB: "[~@6 [c3,g3,e4,g4,c5]@8 [c3,g3,g4,c5]@8 ~ [c3,g3,c4,g4,c5,g5]@8 [d3,a3,d4,d5,f#5]@8 [d3,a3,d4,d5,f#5,a5,d6]@8 [d3,d4]@8 ~@17 [d3,a4,c5]@8 ~ [g2,g3,g4,b4]@25 ~@13 g4@4 ~@4 g4@4 ~@20 g4@4 ~@20 b3@4 ~@4 b3@2 f#4@2 e4@4 b3, ~@14 [e4,e5]@16 ~ a4@33 [b4,d5]@17 ~@30 g4@8 ~@4 e5@9 ~@7 g5@16 ~@16 [f#3,a4]@8 ~@13, ~@47 [a3,f#5,a5,d6]@33 ~@27 [c4,e5]@16 ~@8 [b3,d5]@16 d5@8 ~@8 [d#4,b4]@17 ~@12, ~@47 d5@9 d3@16 ~@35 c3@24 b2@24 [b2,d#5]@24 e2@13, ~@56 [g2,g3,b3,d4,g4]@25 ~@34 c5@16 ~@4 g4@8 g4@8 ~@8 b3@8 b3@8 ~@4 g4@7 ~@6]/8", // C C5 D D7 G E Bm F#m …
BC: "[~@7 b3@4 ~@4 g4@8 ~@8 g4@4 ~@22 a4@4 ~@13 b4@4 ~@4 d5@4 ~ d5@4 c5@5 ~@4 g4@9 g4@5 e4@2 f#4@2 ~ [g4,g5]@5 [d4,f#4]@3 ~@3 g5@5 ~ f#4@3 g4@3 g5@4 ~@3 g3@38 ~@5, ~@3 [e3,g4]@8 [c3,c4]@24 ~ d3@26 [g2,g4]@26 ~@104, ~@11 e4@8 ~@4 g4@8 ~@5 f#4@12 d5@13 ~@9 b3@18 ~@8 g3@18 [c4,e5]@4 ~@6 [b3,d5]@6 ~@5 [a3,c4]@4 ~@9 [b3,b4]@38 ~@6, ~@27 e5@8 ~ d5@8 f#5@17 ~@17 b4@9 g2@27 ~@78, ~@40 a4@13 [d4,f#4]@9 ~@4 d3@22 ~@8 c5@9 ~@22 g4@6 ~@2 c5@7 ~@50]/8", // G D Em C G C Bm Am …
})).s("gm_piano").gain(0.32).pan(0.4)
// chords · piano · soft notes
const piano_soft = note(`<
A B ~ C ~ D E F G H I J@2 K@2 ~ L M N O P Q A ~ E R ~ S T U@2 V@2 ~ W X ~@2 Y ~ A ~ E Z ~ D ~@20 AA ~ AB@2 AC AD@2 AE
~ AF AG ~ AH@2 AI AJ AK ~ AL@2 AM@2 AN@2 ~ AO AP ~@2 AQ AR@2 AI AS AT AU@2 ~@19 AV AW ~ AX@2 ~ AY@2 ~@3
>`.pickRestart({
A: "~ d3@5", B: "~@3 e4@2 e4, ~ g3@2", C: "~@5 d5, g3", D: "~@2 c5, ~ e3@5", E: "c4 ~@3 a3 ~", F: "~@5 d4, ~ g3@5",
G: "~@5 g4", H: "~@12 e4@5 ~@7, ~ a4 ~", I: "~@5 d4, ~ d3@2 d3@3, ~ b3!2",
J: "[~@9 g4@2 b3, c4@3 c4@5 b3@3 ~, ~ e4@3 e4@8, ~@2 a4@3 ~ g2@6, ~@7 [d3,d4]@5]/2", // D
K: "[~ g4@2 ~@5 b3@2 ~ d4, ~@3 g4@2 ~@2 d3@5, ~ c4@2, ~@5 b3]/2", L: "~ g4@2 ~ c4@2",
M: "~@5 g4, ~@3 g4@2 ~, ~@16 [b3,d5]@7 ~", N: "~@5 d4, ~ f#4!2, ~@3 d4@2 ~", O: "~ d4@2 d4 ~@2", P: "~ e4@2, c4@23 ~",
Q: "~@5 a4, ~ a4@4 ~, ~ d5, ~@2 [d4,f#4]", R: "g3 ~@4 d4, ~ b3@2", S: "~ a4 ~", T: "~@2 b3, ~ d3@2 d3@3, ~ b3 ~",
U: "[~@8 b3@3 b3, ~@2 a4@3 ~ g2@6, ~ c4@3, ~ e4@2, ~@7 d3@5]/2", V: "[~@4 b3!2, ~@3 g4@2 ~@2 d3@5, ~ c4@2]/2",
W: "~@2 c4", X: "~@2 b3", Y: "~@8 e4@15 ~", Z: "~@5 d5", AA: "~ g3@7 ~@16",
AB: "[~@5 e4@8 e4@3 ~@5 d3@8 ~@8 d3@5 ~@6]/2", AC: "~ [c5,c6]@17 ~@6", AD: "[~@5 d3@8 d3@20 ~@15, ~ b3@8 ~@39]/2",
AE: "~@5 g3@8 ~@11", AF: "~ a3@4 a3@8 ~@11", AG: "~ b3@8 ~@15", AH: "[~@9 f#4@8 ~@5 d3@21 ~@5]/2", AI: "~@9 c4@2 ~",
AJ: "~@5 a3@2 ~@2 g3@2 ~", AK: "~@7 d4@2 ~@3, ~ b3@8 ~@3",
AL: "[~@2 a4@8 ~@24 b3@9 ~@5, ~@22 d3@8 d3@13 ~@5, ~@13 b3@4 ~@7]/2",
AM: "[~@13 b3@6 b3@2 ~@3, ~ a4@6 ~@2 g2@12 ~@3, ~ c4@6 ~, ~@5 e4@16 ~@3, ~@11 d3@10 ~@3]/2",
AN: "[~@13 b3@4 b3@4 ~@3, ~@3 g4@4 ~@4 d3@10 ~@3, ~@5 c4@16 ~@3]/2", AO: "~@5 c4@4 ~@3", AP: "~@5 b3@4 ~@3",
AQ: "~@2 e4@15 ~@7", AR: "[~@22 d3@21 ~@5]/2", AS: "~@5 a3@2 ~@5", AT: "~@7 d5@2 ~@3",
// … 54 more lines
More by Hot Chocolate
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.