0:00/0:00
// It's All Coming Back to Me — Celine Dion
// 90.5 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 35, 4/4 at bar 36, 2/4 at bar 107, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 157 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90.5/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@3 B@8 C@8 D@5 ~@8 E@5 F@5 ~@52 G@5 H@6 ~@32 I@5 J@4 K@3 L@7 ~>".pickRestart({
A: "[~@12 g5@2 ~@11 [d5,g5,b5]@5 g5@20 g5@3 g5@2 ~ [d5,g5]@5 [d5,g5]@5 g5@5 g5@21 g5@2 g5@2, ~@7 c4@8 ~@13 b3@20, ~@14 g5@10 ~@37 c6@10 ~@25, ~@19 [c5,e5,c6]@10 ~ [c5,e5,c6]@25 ~@16 [d5,c6]@24 ~]/3", // G G5 C D7
B: "[~ g5@5 [d5,g5]@5 ~@6 c6@10 ~@5 d6@5 f4@5 ~@6 a5@5 ~@28 f5@2 ~@6 c5@5 [c5,g5]@5 g5@21 g5@3 g5@2 [d5,g5]@5 [d5,g5]@5 d5@5 ~@21 g5@5 ~ [d5,g5]@5 [d5,g5]@5 [a4,d5,g5]@5 c6@21 ~@2 d6@2 ~ a5@5 a5@5 [a5,e6]@5 ~@11 g5@5 [g4,b5]@10 [g2,g3,g5]@7, ~ a3@36 f3@21 d6@25 ~@47 c6@10 ~@32 c6@10 ~@21 c6@23 ~@3 g3@20 ~@7, ~@6 [a4,c6]@10 ~ [d5,g5]@20 ~@5 f4@16 b5@15 [g4,b5]@6 e5@4 ~@6 [e5,c6]@10 [c5,e5,c6]@26 ~@16 [d5,c6]@26 ~@15 [a4,d5,g5]@26 ~@5 f6@10 [g4,b5]@16 ~@17, ~@11 b5@26 [a5,c6]@10 ~ [c5,c6,f6]@10 g5@10 [g5,c6]@14 ~@2 g5@10 [d5,b5]@31 ~@10 b5@31 ~@11 b5@31 e6@10 ~@5 d6@28 ~@5, ~@27 c6@10 e6@16 [a4,e6]@9 ~ g3@20 ~ c4@31 ~@10 b3@41 ~ a3@41 [f3,f4]@15 g5@10 ~ c6@17 ~@5]/8", // G5 C5 G5 Dsus4 A5 G Am G5 …
C: "[~@25 g3@4 ~@4 c4@4 e1@8 ~@5 [e2,g3,c4,e4]@8 f2@8 ~@20 c4@3 ~ [d3,a3]@8 ~@4 a2@4 g3@8 [e3,g3]@8 [a2,a3]@8 ~@4 e2@4 ~@8 a3@8 ~@28 c3@4 [d4,g4,c5]@8 ~@16 g1@8 [g3,c4,e4]@8 ~@17 [g3,c4,e4]@8 [f1,f2,a3,c4,f4]@5, ~@25 [c2,c3,e4]@12 [e2,g3,c4,e4]@12 ~@17 f2@12 f2@11 ~ [d2,d4,f4]@16 [e2,b3,e4]@17 ~@7 [a2,a3]@8 ~@4 d2@12 [f2,f4]@32 g1@20 d2@8 ~@4 c2@33 ~@5, ~@25 c4@8 ~@25 [f3,a3,c4,f4]@12 f4@19 ~@65 a3@12 f3@8 c4@12 ~@8 c5@20 ~@42, ~@29 g3@8 ~@9 e1@12 ~@12 c4@16 ~@52 a3@8 ~@8 c4@16 a3@16 ~@8 [d4,g4]@8 [d4,g4,b4]@12 ~@13 [g3,c4,e4]@8 [g3,c4,e4]@8 ~@13, ~@70 [f3,a3]@12 [f3,a3]@7 ~@9 [d3,a3]@8 ~@16 [a1,c4,e4]@16 [d1,d4,f4]@16 f3@8 c3@16 f3@8 g2@12 g2@16 ~@4 c3@12 ~ c3@8 c3@13 ~@4]/8", // C D5 Em A Csus2 C F C …
D: "[~@23 d4@2 e4@2 ~@12 a2@4 [e3,g3,b3,e4]@8 ~@4 c3@4 ~@12 e2@4 ~@4 d3@4 ~@4 a2@4 ~@28 c3@4 ~@12 d3@4 ~@9 [d3,g3,b3,d4]@4 g2@2 ~@6, ~@3 [a3,c4,f4]@8 [a3,c4,f4]@8 [a3,c4,f4]@8 ~@4 a2@8 ~@20 a1@16 ~@16 a3@8 f3@12 c3@8 ~@4 [g2,a3,c4,f4]@16 ~@4 g2@8 ~@9, ~@7 f2@20 d2@16 e2@16 [a2,a3,c4,e4]@8 [a2,a3,c4,e4]@8 [f3,a3,c4,d4]@8 [d3,f3,a3,c4,d4]@8 c4@12 a3@12 [f3,a3,c4,f4]@9 ~@3 d3@8 ~@4 [d3,g3,b3,d4]@8 ~@13, ~@15 f3@12 [d3,a3,d4,f4]@8 [d3,a3,d4,f4]@8 ~@8 [e3,g3,b3,e4]@9 ~@3 e2@8 ~@4 d2@16 f2@33 ~@36, ~@91 f3@4 c3@12 c4@8 ~@16 g3@8 ~@21]/5", // Em G F Am Dm7 F G Dm …
E: "[~@7 g5@2 g5@2 g5@5 g5@5 g5@5 g5@19 g5@2 g5 ~ g5@5 [d5,g5]@5 ~@2 d5@2 ~@22 f6@2 ~@10 e6@5 ~@52 [g5,b5]@5 g5, ~@16 [c5,e5,c6]@10 [c5,e5,c6]@23 b3@38 ~ [a3,a4,c6,g6]@15 ~@18 e6@14 [c5,e6]@9 ~@16, ~@21 [d5,b5]@27 ~@6 [b4,c6]@10 [b4,d5,g5,c6]@24 ~@19 c5@9 f6@10 ~@14 d6@20, ~@59 [g4,b5]@28 ~@15 [f4,a6]@24 f4@18 ~@16, ~@59 g5@5 ~@19 e6@5 ~@4 f6@10 c6@9 [f5,c6,g6]@15 ~@4 [f5,f6]@14 ~@5 c6@11]/5", // G5 G C Am7 C G Cmaj7 G …
F: "[~ g5@2 ~ g5@5 [c5,g5]@4 [g4,g5]@5 g4@14 ~@5 g5@2 g5@2 ~ [d5,g5]@4 ~ [d5,g5]@4 [b4,d5,g5]@5 b4@10 ~@12 f6@2 ~@9 [a3,e6]@5 f4@5 ~@48 [g4,b5]@9 ~@4, ~@4 c4@24 ~@4 g4@10 b3@33 e6@5 ~@5 f6@9 f6@14 ~ f6@10 ~@4 [d4,f6]@14 ~@5 d4@14 ~@4, ~@9 [e5,c6]@9 [e5,c6]@24 ~@5 c6@9 [d5,g5,c6]@24 [a3,e6]@9 ~@5 [f3,c6,a6]@24 d3@19 g3@19 ~@4, ~@13 [d5,b5]@29 ~@9 b5@28 ~@25 g6@15 ~@13 d6@18 ~@10, ~@18 [c5,g5]@19 ~@10 g4@23 g4@9 ~ [a4,c6,g6]@15 ~@18 e6@14 ~ [a3,e6]@10 ~@4 c6@9 ~@9]/5", // C5 G G5 G A5 G Dm C …
G: "[~@14 g5@2 ~ g5@2 g5@5 g5@5 g5@4 g5@19 g5@2 ~ g5 ~ g5@5 g5@5 ~@2 d5@2 ~@22 f6@2 ~@10 e6@4 ~@48 c6@3, ~@24 [c5,e5,c6]@9 [c5,e5,c6]@23 ~ b3@38 [a3,a4,c6,g6]@15 ~@19 e6@14 [c5,e6]@9 ~@8, ~@29 [d5,b5]@27 ~@6 [b4,d5,c6]@9 [b4,d5,g5,c6]@24 ~@19 c5@10 f6@10 ~@14 d6@12, ~@67 [g4,b5]@28 ~@14 [f4,a6]@24 f4@18 ~@9, ~@67 g5@4 ~@19 e6@5 ~@5 f6@9 c6@10 [f5,c6,g6]@15 ~@4 [f5,f6]@14 ~@8]/5", // C Am7 C G Bm G F Fsus2 …
H: "[~@2 g5@5 g5@2 g5@2 g5@5 [c5,g5]@5 [g4,g5]@5 g4@14 ~@5 g5@2 g5@2 ~ [d5,g5]@4 [d5,g5]@5 [b4,d5,g5]@5 b4@9 ~@12 f6@2 ~@10 [a3,e6]@5 f4@5 ~@47 [g4,b5]@9 ~@29, ~@2 b5@9 c4@24 ~@5 g4@10 b3@33 e6@5 ~@4 f6@10 f6@14 f6@10 ~@4 [d4,f6]@14 ~@6 d4@14 ~@28, ~@16 [e5,c6]@10 [e5,c6]@24 ~@4 c6@10 [d5,g5,c6]@24 [a3,e6]@9 ~@5 [f3,c6,a6]@24 d3@19 ~@5 c6@9 ~@33, ~@21 [d5,b5]@29 ~@9 b5@28 ~@24 g6@15 ~@14 d6@18 ~@34, ~@26 [c5,g5]@19 ~@9 g4@24 g4@9 ~ [a4,c6,g6]@15 ~@18 e6@14 [a3,e6]@10 g3@19 ~@28]/6", // C5 G G5 G A5 G Dm C …
I: "[~@19 g5@3 g5@4 ~ g5@4 [c5,g5]@5 [e5,c6]@24 g5@2 ~ [d5,g5]@5 [d5,g5]@4 [b4,d5,g5]@5 ~@25 f5@2 ~@9 e5@5 f5@13 ~@5 e5@14 e5@5 d5@5, ~@22 c4@41 b3@41 [a3,a4,c5,g5]@14 [c4,f4,a5]@22 ~@20, ~@26 [g4,e5]@10 ~@41 [b4,d5,g5,c6]@27 ~@5 f5@9 ~@13 f5@9 ~@20, ~@27 c6@9 g5@21 ~@11 c6@9 ~@22 e5@14 ~@5 c5@18 c5@20 ~@4, ~@31 [d5,b5]@31 ~ b4@9 b5@32 ~@56]/5", // C5 C G5 G Am7 F C G
J: "[~@16 f5@3 [e5,g5]@4 ~ g5@4 [g4,c5,g5]@4 ~ g4@14 ~@5 g5@2 g5@2 [d5,g5]@5 [d5,g5]@4 [b4,d5,g5]@5 b4@15 ~@7 f5@3 ~@5 f5@9 ~@14 f5@5, ~@9 b4@9 ~ [g4,c5]@9 [d5,b5]@28 b3@38 ~@34, ~@14 e5@5 ~@4 c6@9 ~@29 c6@9 [d5,g5,c6]@25 [a4,g5]@15 ~@9 g5@9, ~@24 e5@9 [e5,c6]@23 b4@9 b5@29 ~@15 f5@14 ~@5, ~@90 e5@5 e5@9 ~@5 [c5,a5]@19]/4", // Em C5 G5 G C5 G Csus2 A7 …
K: "[~@13 e5@5 ~@20 f5@3 ~@9 e5@5 ~@32 e5@4 d5@5, c5@18 b4@14 b4@9 [e3,b3,e4,b4,g5]@14 [f3,c4,f4,c5,a5]@23 ~@18, e5@13 ~@5 d5@24 ~@4 f5@9 f5@14 f5@9 ~@4 f5@9 ~@5, ~@9 f5@10 ~@8 c5@14 ~@32 e5@14 ~@9, ~@36 e5@5 e5@9 ~@14 g5@13 ~@19]/3", // Em F
L: "[~@15 f5@2 ~@9 e5@4 ~ f2@2 ~@11 a5@4 ~@14 c6@5 b5@15 b5@17 ~@77 [c1,c2]@48, ~@4 c5@13 ~@5 f5@9 a5@13 ~@5 c6@13 ~@37 c6@24 c5@29 c3@4 g6@40 ~@28, ~@8 [g4,b4]@9 [e2,e3,b4,g5]@13 ~ [f3,c5,f5]@18 [d3,d4,d5,f5,a5]@19 ~@31 c3@28 d5@28 e6@2 c7@38 ~@29, ~@13 e5@4 e5@9 ~@14 g5@8 ~@10 b5@9 [g3,d4,g4,g5,d6]@32 g5@13 d4@23 g5@6 c6@5 d6@50 ~@28, ~@99 e5@9 c4@23 e5@64 ~@29]/7", // C G Em F5 Dm G5
})).s("gm_piano").gain(0.13)
// chords · piano · soft notes
const piano_soft = note(`<
A B@2 C@2 D E F@4 ~@2 G ~@4 H ~ I ~@11 J@2 K@2 L@3 M N ~@53 O@2 P@4 Q R@2 ~@34 S T@2 U@8 V@2 ~ W@5 ~
>`.pickRestart({
A: "~@9 g5@2 ~@14 g4@6 ~", B: "[~@34 [b4,d5]@5 b4@24 ~, ~@29 g4@35, ~@17 b5@15]/2",
C: "[~@11 [d5,g5]@5 ~ a4@20 ~@16 a5@9 ~@2, ~@11 f4@26 c4@24 ~@3]/2", D: "~@2 d4@7 ~@7", E: "~@19 c4@10 ~@3",
F: "[~@7 [b4,g5]@5 ~ b4@26 ~@5 f4@36 c4@15 ~@16 g5@10 ~@7, ~@2 g4@36 ~ a4@10 ~@46 d4@28 ~@5, ~@13 g5@20 ~@73 b3@17 ~@5]/4", // Em
G: "~@22 c3@3 ~@7", H: "~@23 g2@5 ~@4", I: "~@15 c3@8 ~@9", J: "[~@21 g4@27 ~@16, ~@11 c4@37 ~@16]/2",
K: "[~@12 e4@7 f6@7 c5@5 ~, ~@38 c5@5 ~@21]/2",
L: "[~@21 d5@14 ~@10 c5@5 ~@19 c5@5 ~@22, ~@17 g4@19 ~@24 c4@14 ~@22]/3", M: "~@11 b3@5 ~@5 e4@10 ~, ~ b4@7 ~@8",
N: "~@8 f4@15 ~@9, ~@5 c4@17 ~@10", O: "[~@29 g4@27 ~@8, ~@19 c4@37 ~@8]/2",
P: "[~@31 e4@14 f6@14 ~ c5@10 ~@23 d5@14 ~@10 c5@5 ~@6, ~@45 c5@5 ~@38 g4@19 ~@21]/4",
Q: "~@13 c5@5 ~@14, ~@3 c4@14 ~@15", R: "[~@19 b3@5 ~@4 e4@10 ~@9 f4@15 ~@2, ~@9 b4@14 ~@22 c4@17 ~@2]/2",
S: "~@16 g5@3 ~@13", T: "[~@25 g5@3 ~@3 g4@20 g4@6 g4@7, ~@2 g4@13 ~@17, ~@5 c5@26 ~@33]/2",
U: "[~@8 e4@14 ~@9 g5@13 ~@5 f5@10 ~@9 c5@15 ~@28 g4@8 ~@2 g4@23 ~@5 b4@10 ~@9 e5@5 [f3,c4,f4]@22 ~ [e3,c4,e4]@13 ~@15 f4@9 ~@23, ~@22 f3@22 ~ [f3,a3,d4]@14 [g3,b3,d4,f4]@24 c4@36 ~@40 [a3,e4]@15 ~@35 d4@10 d4@14 ~@23, ~@97 c5@23 ~@24 g4@15 ~@51 [g3,g4]@24 ~@22, ~@97 g5@19 ~@99 b3@18 ~@23]/8", // F5 C Dm G7 A5 G
V: "[~@14 [e3,e4]@13 [g3,b3,d4]@22 ~@15, ~@13 c4@14 ~@37]/2", // E G
W: "[~@12 c6@23 ~@56 [g3,c6]@41 ~@28, ~@40 g3@49 e3@43 ~@28, ~@51 e4@64 ~@45, ~@55 g4@64 ~@41, ~@45 g5@21 ~@14]/5", // C5
})).s("gm_piano").gain(0.06)
// other · pizzicato strings · "John Hawksley"
const pizzicato_strings = note("<~@23 A B C D E F G H I ~@54 J K L M@2 N O P ~@63>".pickRestart({
A: "~@14 e2 ~", B: "~@13 a2@2 ~@15 f2@2", C: "~@6 g2@2 ~@7 c2@2 ~@15", D: "e2@2 ~@15 a2@2 ~@13",
E: "~@2 f2@2 ~@15 g2@2 d3@2 g3@2 d4@2 g4@2 d5@2 ~", F: "~@4 e2@2 ~@15 a2@2 ~@9", G: "~@6 f2@2 ~@7 g2@2 ~@8 a2@3 ~@4",
H: "~@14 f4 ~", I: "f4@2 ~@15 c6@2 ~@13", J: "~@6 e2 ~@7 a2 ~", K: "~@6 f2 ~@3 g2 ~@3 c2 ~",
L: "~@12 e2@2 ~@15 a2@2 ~", M: "[~@13 f2@2 ~@14 g2@2 d3@2 g3@2 d4@2 g4@2 d5@2 ~@4 e2@2 ~@14 a2@2 ~]/2",
N: "~@13 f2@2 ~@6 g2@2 ~@6 a2@2 ~", O: "~@22 f4@2 ~@3 f4@3 ~@2", P: "~@9 c6@2 ~@5",
})).s("gm_pizzicato_strings").gain(0.72)
// other · pizzicato strings · "John Hawksley" · soft notes
const pizzicato_strings_soft = note("<~@10 A ~@19 B C ~@60 D E ~@63>".pickRestart({
A: "~@25 [g2,g3]@2 ~@5", B: "~@18 f2@2 ~ c3@2 f3@2 c4@2 ~@3 f3@2", C: "~@3 c5@2 c4@2 ~ f4@2 c5@2 f4@2 ~ f5@2 ~@15",
D: "~@13 f2@2 c3@2 f3@2 c4@2 ~@3 f3@2 ~@3 c5@3", E: "c4@3 f4@3 c5@3 ~ f4@4 f5@4 ~@14",
})).s("gm_pizzicato_strings").gain(0.4)
// other · tremolo strings
const tremolo_strings = note("<~@10 A@2 ~@20 B C D E@3 F G@2 H ~@52 I@4 J@2 K L M@2 ~@53>".pickRestart({
A: "[~@25 [g1,g2]@16 ~@23]/2", B: "~@7 g5@2 g5@2 g5@5 c6@5 b5@5 c6@6", C: "~@13 g5@2 g5@2 g5@5 c6@5 b5@5",
D: "c6@5 ~@14 e6@2 f6@2 ~ g6@4 f6@4",
E: "[~ e6@5 a6@9 g6@5 f6@5 e6@9 f6@5 e6@5 d6@9 c6@5 b5@5 g5@2 g5@2 ~ g5@5 c6@4 b5@5 c6@5 ~@9]/3",
F: "~@5 g5@2 g5@2 ~ g5@5 c6@4 b5@5 c6@5 ~@3", G: "[~@11 e5@2 ~ f5@2 g5@5 f5@4 e5@5 a5@10 g5@5 f5@4 e5@10 f5@5]/2",
H: "e5@4 d5@10 c5@5 b4@2 ~@11",
I: "[~@14 g5@2 ~ g5@2 g5@5 c6@5 b5@4 c6@7 ~@12 g5@2 ~ g5@2 g5@5 c6@5 b5@4 c6@5 ~@14 e6@2 ~ f6@2 g6@5 f6@5 e6@4 a6@10 g6@5 f6@4]/4",
J: "[~ e6@9 f6@5 e6@5 d6@9 c6@5 b5@5 g5@2 g5@2 g5@5 c6@5 b5@5 c6@5 ~]/2", K: "~@13 g5@2 g5@2 ~ g5@4 c6@5 b5@5",
L: "c6@5 ~@14 e5@2 f5@2 ~ g5@4 f5@4", M: "[~ e5@5 a5@9 g5@5 f5@5 e5@9 f5@5 e5@5 d5@10 c5@4 b4@2 ~@4]/2",
})).s("gm_tremolo_strings").gain(0.24)
// chords · piano
const piano_2 = note(`<
~@16 A@2 ~@5 B@3 C D@6 ~@8 E@3 F G@8 H I J K H I J K L@2 M@2 N O P Q R S T U V W X Y Z AA AB@6 AC AD@3 AE@6 ~@9 AF@7
AG@4 H I J K H I J K L@2 M@2 N O P Q R S T U V ~@21
>`.pickRestart({
A: "[~@13 [d4,g4,c5]@4 g4@4 [g4,b4]@6 ~@5, ~@13 g1@12 ~@7, ~@13 g2@6 ~@13, ~@17 c5@10 ~@5]/2", // Csus2 G
B: "[~@28 [b3,e4,g4,b4]@8 [b3,e4,g4,b4]@9 [a2,e3,a3,c4,e4]@8 [a2,e3,a3,c4,e4]@9 [f1,f2,a3,c4,f4]@8 [g1,g2,d3,g3,b3,d4]@9 c2@8 ~@4 c3@3 e3@2, ~@28 [e1,e2]@17 a1@17 ~@17 [c1,e3,g3,c4,e4]@17, ~@29 c2@3, ~@89 g2@7]/3", // Em Am F G E C
C: "[e1,e2]@8 [e1,e2,e3,g3,b3]@8 ~ a1@4 ~@4 [a2,a3,c4,e4]@7, ~@17 e3@15, ~@17 [a2,a3,c4]@8 ~@7, ~@21 a1@11", // E Em Am
D: "[~@2 a3@8 ~@7 [c2,f4]@2 [g2,b3,d4]@6 ~@2 [g2,g3,b3,d4]@9 [g3,b3]@8 [g3,b3,e4]@8 ~ [a2,a3,c4,e4]@8 [a2,a3,c4,e4]@8 ~ [f1,f2,c4,f4,a4]@8 ~ [g1,g2,d4,g4,b4]@10 a4@42 ~@2 a4@33 ~@26, ~@2 [f1,f4]@17 [g1,g4]@17 [e1,e2,e3]@16 ~ a1@16 ~@20 a1@73 ~@30, ~@2 c4@13 c4@4 ~@70 c5@63 ~@40, ~@10 f2@9 ~@6 d2@6 ~@58 a2@70 ~@33, ~@12 a3@7 ~@70 f4@39 ~@3 g4@36 ~@25]/6", // F5 G Em Am F G F G …
E: "[~@28 [g3,c4,e4]@9 ~@21 g2@3 ~ [a3,c4,f4]@9 ~@21 f2@4, ~@28 c2@21 c2@12 ~ f2@30 ~@4, ~@28 c3@13 c3@13 [c3,g3,c4,e4]@7 ~@14 f3@21, ~@37 [g3,c4,e4]@8 [g3,c4,e4]@9 ~@17 [a3,c4,f4]@8 [a3,c4,f4]@9 [a2,a3,c4,f4]@8, ~@7 c3]/3", // C F C F
F: "[a3,c4,e4]@9 ~@4 a2@4 [a3,c4,f4]@9 [a3,c4,f4]@4 c3@2, a2@13 ~@4 f2@15, ~@9 [a3,c4,e4]@8 ~@15", // Am F Am
G: "[~@2 [b3,e4,g4]@9 [e3,b3,e4,g4]@6 e2 ~ [c4,f4,a4]@9 ~@4 c3@2 f2 ~ [e4,a4,c5]@9 [a3,e4,a4,c5]@6 a2 ~ [f4,a4,c5]@9 ~@4 c3@3 ~@2 [e4,g4,b4]@8 ~@4 b2@3 ~@2 [f3,c4,f4,a4]@8 ~@4 c3@2 f2 ~@2 [e4,a4,c5]@8 [a3,e4,a4,c5]@8 ~ [e3,e4,g4,b4]@8 [e3,e4,g4,b4]@8 ~ [a3,e4,a4,c5]@8 [a3,e4,a4,c5]@8 ~ [f4,a4,c5]@8 [f3,f4,a4,c5]@7 ~@2 [f4,a4,d5]@8 [f4,a4,d5]@9 ~@8 [f4,a4,d5]@8 ~ [d4,g4]@9 ~@11 g2@10 ~@4 [g3,d4,g4,b4]@12 ~@3, ~@2 e2@15 ~@2 f2@15 ~@2 a2@15 ~@2 f2@16 ~@19 f2@14 ~@3 a2@16 ~ e2@16 ~ a2@15 ~@2 f2@15 ~@2 d2@34 [g2,b4]@17 d3@29 ~@3, ~@28 [f3,c4,f4,a4]@7 ~@27 [f3,f4,a4,c5]@8 ~@9 [e3,e4,g4,b4]@8 ~@9 [f3,c4,f4,a4]@8 ~@77 d3@13 d3@12 ~ g3@14 g3@17 g2@16 ~@2, ~@190 [f4,a4,d5]@8 ~@18 c5@37 ~@3, ~@216 [d4,g4]@11 [d4,g4,b4]@14 ~@15]/8", // Em F Am F Em F Am Em …
H: "[e4,g4]@4 g4@4 [c3,d4,g4,b4]@4 ~@12 [c3,g3,c4,e4]@7 ~, c2@20 c2@11 ~, c4@3 ~@5, c3@2 ~ [c3,e4]@3 ~@2, ~@4 [e4,c5]@8 [g4,c5]@19 ~", // Em G C C5
I: "b2@4 ~@2 [d4,g4]@6 ~@2 a4 b4, b1@31 ~, [b3,d4,g4]@12 b3@19 ~, ~@8 b2@8 ~@8 [b2,d4,g4,b4]@7 ~", // G5 G
J: "[a2,e4,a4]@8 [a2,e4,a4]@3 ~ [f4,a4]@12 [d4,f4,a4]@7 ~, [a1,c5]@11 ~ d5@19 ~, ~@3 d2@2 ~@3, ~@12 d1@3 ~@17", // A5 F Dm Am
K: "~@8 [f2,c4,d4]@3 ~ [d4,g4]@8 [a1,a2,d4,g4,c5]@3 ~ [b1,b2,d4,g4,d5]@7 ~, [f1,f4,a4]@11 ~ [g1,g2,b4]@11 ~@9, [f2,c4] ~@3, ~@4 c2@7 ~@21", // Dm7 G5 Am7 G F G F5
L: "[[a1,a2,g4]@12 ~@12 f4@4 f2@8 ~@8 f2@3 ~ g2@8 ~@6 f4@2, c4@8 ~@4 [d1,d2,d4,a4]@16 [c4,f4]@12 [a3,c4,f4]@7 ~@13 e4@4, e4@4 ~@8 f4@12 ~@4 f1@19 ~ [g1,b3,d4,g4]@16, ~@20 g4@9 ~@7 f2@8 ~@12 g2@8]/2", // A7 D5 F5 F G
M: "[~@8 e4@3 ~@13 [c2,a4]@3 ~ [f4,a4,c5]@8 [d3,f4,a4,c5]@7 ~ [g2,g4]@8 [g2,g4,c5]@4 [g2,g4,b4]@8, [a1,a2,c4,g4]@11 ~ [f1,c4,f4]@15 ~ [d1,d2]@2 ~@14 g1@20, e4@8 ~@4 f2@8 [f2,g4]@7 ~@37, ~@4 f4@7 ~ a4@12 ~@20 [b4,d5]@12 ~@8, ~@2 c2 ~@5]/2", // F Dm7 G C5 G Am7 F5 D …
N: "[e4,a4,c5]@8 ~@8 [a3,e4,a4]@6 [e4,a4]@6 [e4,a4,c5]@3 ~, [a2,a3]@12 a3@4 ~@6 b4@9 ~, ~@2 c5@5 ~, ~@8 [e4,a4]@6 a2@17 ~", // Am A5 Am A A5
O: "[d4,g4,b4]@4 ~@4 [d4,g4]@3 [d4,g4]@3 [d4,g4,d5]@2, [g2,g3]@6 g3@4 ~ c5@5, ~@4 [d4,g4,b4]@3 g2@9, ~ b4", // G G5 G
P: "[f4,a4,c5]@4 ~@4 [f4,a4,c5]@3 ~@4 c5, [c3,c4]@6 c4@5 [a4,c5]@3 a4@2, ~@4 [f4,a4,c5]@3 c3@9, ~@11 f4@2 f4@3, ~@3 c4", // F C Am F
Q: "[e4,g4,b4]@4 ~@4 [e3,b3,e4]@2 ~ g3@2 ~@2 e4, [e2,e3]@3 e3 g4@3 b3, ~ b4@3, ~@4 [e4,g4]@3 e2@3 e2@6, ~@11 [b3,e4]@2 [e3,g3]@3", // Em E5 E Em E5 Em
R: "[e4,a4,c5]@4 ~@4 [e4,a4,c5]@3 [e4,a4]@2 ~@2 b4, [a2,a3]@6 a3@4 ~ c5@5, ~@4 [e4,a4,c5]@3 a2@9, ~@13 e4@3, ~@7 a4", // Am A5 A Am
S: "[d4,g4,b4]@4 ~@4 [d4,g4]@3 [d4,g4]@2 ~@2 b2, b2@6 b3@4 ~ c5@5, ~@4 [d4,g4,b4]@3 b2@7 b3@2, ~ b4, ~@13 [d4,g4,d5]@3", // G G5 G G5
T: "[f4,a4,c5]@8 ~@8 [f4,a4,c5]@8 [f4,a4,c5]@7 ~, c3@31 ~, c4@3 c4@2 ~@3, ~ [f4,a4,c5] ~@2", // F
U: "[d4,f4,a4]@2 ~@2 [d4,d5,f5]@2 ~ b5, d2, d3@3 d3@3 [d4,d5,f5,a5]@2, ~ f4@3, ~ [d4,a4] a4@2", // Dm D5
V: "[f2,f3,c6]@29 ~@3, a5@5 ~@3, f5@3 ~@5, c5 ~@3", // F5
W: "[c4,e4,g4]@3 c3@2 ~ [g3,c4,e4,g4]@2, c2, g3@2 ~ e1@5, ~@3 [g3,c4,e4,g4]@3 ~@2, ~@5 c3@3", // C
X: "[c4,f4,a4]@4 [c4,f4]@4 [c4,f4]@6 d4 e4, f2@5 ~@3, f1@2 ~@2 a4@11 ~", // F F5
Y: "[d3,a3,d4]@2 f4!2 ~ e4 [g3,c4]@2, f4 ~ [a3,d4]@2 f4@4, ~@4 [g3,c4]@2 e4 ~", Z: "e4 d4 d4@2 d4@2 ~@2",
AA: "c4 ~@15",
AB: "[~@30 a4@13 [c4,e4,g4]@8 [g3,c4,e4,g4]@4 ~@12 [g3,c4,e4,g4]@8 [c4,f4,a4]@8 ~@22 e4@2 a3@4 a3@4 a3@4 a3@4 ~@4 e4@4 e4@4 ~ [e3,e4]@4 e4@4 d4@4 ~@16 d4@7 ~ [d3,f3,a3,c4]@8 [d3,f3,c4]@8 ~@4, [a4,c5]@16 a4@2 c5@6 b4@19 ~@16 [g3,c4,e4,g4]@8 ~@16 a4@20 d4@4 [d4,f4]@8 [d4,f4]@8 ~@8 [g3,c4]@9 a3@8 [a3,d4]@8 d4@4 e4@11 ~@21, ~@9 g3@34 [c2,c3]@14 ~@26 [c4,f4]@8 [f3,a3,c4,f4]@8 [f3,a3,c4,f4]@8 ~@16 e3@12 ~@5 f3@16 [f3,a3]@15 ~@21, ~@11 c4@32 ~@12 e1@20 f1@32 ~@45 c4@18 ~@22, ~@14 f4@30 ~@11 e2@8 e2@12 f2@12 f2@8 f2@12 [d2,d3]@16 [e2,a3,f4]@17 f2@32 d2@20]/6", // C F E Dm7 Am C Dm C5 …
AC: "~@2 [d3,f3,a3,c4]@3 d2 [g3,b3,d4]@4 ~@4 [g2,g3,b3,d4]@2, ~@3 [g1,g2]@3 g2 ~, ~@10 [g3,b3,d4]@3 g1@3", // Dm7 G
AD: "[g1@2 ~@6 g2@2 g1@2 [b3,e4,g4,b4]@8 [b3,e4,g4,b4]@8 [a2,e3,a3,c4,e4]@8 [a2,e3,a3,c4,e4]@8 [f1,f2,a3,c4,f4]@8 [g1,g2,d3,g3,b3,d4]@8 c2@8 ~@6 e3@2 [e1,e2]@8 [e1,e2,e3,g3,b3]@7 ~@2 [a1,a2,e3,a3,c4]@3, ~ g1@2 g1@2 ~ [e1,e2]@8 a1@8 ~@8 [c1,e3,g3,c4,e4]@8 ~@10, ~@4 [g3,b3,d4]@7 ~@59 g2@6 ~@20, ~ g2 ~@15 c2@2 ~@5, ~@18 c3 ~@5]/3", // Em Am F G E Em Am E …
AE: "[~@5 [a2,a3,c4,e4]@7 ~@15 [c2,f4]@2 [g2,b3,d4]@6 ~@2 [g2,g3,b3,d4]@8 [g3,b3]@8 [g3,b3,e4]@7 ~ [a2,a3,c4,e4]@8 [a2,a3,c4,e4]@8 [f1,f2,c4,f4,a4]@8 [g1,g2,d4,g4,b4]@8 f4@30 ~@5 a4@46 ~@18, ~ a1@11 ~ [f1,f4]@16 [g1,g4]@16 [e1,e2,e3]@15 ~ a1@16 ~@16 [a1,a2]@76 ~@23, ~@13 [a3,c4]@10 a3@6 ~@64 a4@35 ~@64, ~@21 f2@8 ~@6 d2@6 ~@84 g4@49 ~@18, ~@25 c4@4 ~@64 c5@64 ~@35]/6", // Am F5 G Em Am F G F …
AF: "[~@4 [g3,c4,e4]@8 ~@17 [c3,g3,c4,e4]@5 g2@3 ~ [a3,c4,f4]@8 ~@22 f2@4 [a3,c4,e4]@8 ~@5 a2@4 [a3,c4,f4]@9 ~@4 c3@3 ~ [b3,e4,g4]@9 [e3,b3,e4,g4]@6 e2 ~ [c4,f4,a4]@9 ~@4 c3@2 f2 ~ [e4,a4,c5]@9 [a3,e4,a4,c5]@6 a2 ~ [f4,a4,c5]@9 ~@4 c3@3 ~ [e4,g4,b4]@9 ~@4 b2@3 ~ [f3,c4,f4,a4]@9 ~@4 c3@2 f2 ~ [e4,a4,c5]@9 [a3,e4,a4,c5]@7, ~@4 c2@21 c2@12 ~ f2@30 ~@21 f2@15 ~@2 e2@15 ~@2 f2@15 ~@19 f2@16 ~@18 f2@15 ~@18, ~@4 c3@13 c3@12 ~@22 f3@21 ~@8 [a3,c4,e4]@8 ~@10 [a3,c4,f4]@7 ~@27 [f3,c4,f4,a4]@7 ~@27 [f3,f4,a4,c5]@8 ~@9 [e3,e4,g4,b4]@8 ~@9 [f3,c4,f4,a4]@8 ~@16, ~@12 [g3,c4,e4]@9 [g3,c4,e4]@8 ~@17 [a3,c4,f4]@9 [a3,c4,f4]@8 [a2,a3,c4,f4]@8 ~ a2@13 ~@55 a2@15 ~@53 a2@16, ~@59 c3@13 ~@152]/7", // C F Am F Em F Am F …
AG: "[~ [e3,e4,g4,b4]@9 [e3,e4,g4,b4]@8 [a3,e4,a4,c5]@9 [a3,e4,a4,c5]@8 [f4,a4,c5]@9 [f3,f4,a4,c5]@7 ~ [f4,a4,d5]@9 [f4,a4,d5]@8 ~@9 [f4,a4,d5]@8 [d4,g4]@9 ~@11 g2@8 ~@3 [g3,d4,g4,b4]@8 ~@3, ~ e2@16 ~ a2@15 ~@2 f2@15 ~@2 d2@34 [g2,b4]@17 d3@22 ~@3, ~@61 d3@13 d3@12 g3@14 g3@14 g2@11 ~@3, ~@69 [f4,a4,d5]@9 ~@17 c5@30 ~@3, ~@95 [d4,g4]@10 ~ [d4,g4,b4]@11 ~@11]/4", // Em Am F Dm G5 G Dm G5 …
})).s("gm_piano").gain(0.72).pan(0.3)
// chords · piano · soft notes
const piano_soft_2 = note(`<
~@17 A ~@6 B ~ C@2 D E F@3 ~@11 G H I J K L M N ~@2 O P Q ~ O P Q R S ~ T U V ~ W X Y Z AA AB AC AD AE AF AG@3 AH AI ~
AJ@2 AK AL ~ AM AN AO AP@3 ~@11 AQ@2 AR AS AT AU@2 AV ~@2 O P Q ~ O P Q R S ~ T U V ~ W X Y Z AA AB ~@21
>`.pickRestart({
A: "~@9 g1@4 ~@3, ~ d4@4 d4@6 ~@5, ~@3 g2@8 ~@5, ~@7 d2@4 ~@5", B: "~@10 a2@2 ~@13 e2@4 ~@3, ~@2 [b1,e3] ~@5",
C: "[~@15 e2@2 ~@15]/2", D: "d2@5 ~@12 b1@3 ~@5 e2@7", E: "~ e2@2 ~@2 c2@2 ~@9",
F: "[~@28 c5@7 ~@13, ~@30 c4@41 ~@25, ~@16 f4@19 ~@13]/3", G: "~@17 f3@15", H: "f2 ~@14 b2@4 ~@13",
I: "~@17 e3@3 ~@12", J: "~@7 e2@16 ~@9, ~@7 e3@8 ~@17", K: "~@21 e3@4 ~@7", L: "~@6 b2@4 ~@13 e3@3 a2 ~@5",
M: "~@8 c3@3 f2 ~@20", N: "~@11 a2@4 ~@17", O: "~@20 g2@11 ~, ~ g2@4 ~@3, ~@2 b2 ~",
P: "~@4 e2@7 ~@17 a2@3 ~, ~@20 d2@11 ~, ~@24 d3@7 ~", Q: "~@16 d2@7 ~@5 f2@3 ~", R: "~@2 c4 ~@5, ~ e4@2 ~@5",
S: "c2@15 ~@5 d2@10 e2@2", T: "~@8 a2@3 ~@21", U: "~@28 e3@3 ~, ~@24 a3@7 ~", V: "~@5 g3 g3@2", W: "~@11 e3@2 ~@3",
X: "~@5 a3 a3@2", Y: "b3@3 ~@2 b3!2 ~", Z: "~@28 g3@3 ~, ~@20 c4@11 ~", AA: "~@7 a3, ~@5 a3@2 ~, ~@3 d3",
AB: "~@12 b5@2 c6 ~, ~@8 c5@21 ~@3, ~@12 f5@17 ~@3, ~@16 g5@13 ~@3, ~@20 a5@9 ~@3", AC: "~@4 g3@2 ~@3 g2@5 g2@2",
AD: "~@12 f3@2 c3 ~, ~@3 f3@3 ~@2, ~@8 a3@7 ~, ~@10 f2@5 ~",
AE: "~ f4 ~ a2 ~@3 [c3,e4], d2 e2, ~ d3 e3!2, ~@5 c3@2 ~", // C
AF: "~@12 d4@3 c4, f2, f3!2 f3@2, ~ c3@2 [c3,c4]@5, ~@5 e4@3", // C
AG: "[~@28 a4@2 ~@38 g4@7 g2@14 ~@7, f1@8 f3@2 c4@2 f4@3 g2@22 ~@11, ~@2 a3@29 ~ [c4,f4]@13 ~@51, ~@2 f3@8 c3@21 ~ g3@8 ~@35 g3@8 ~@13, ~@8 f2@23 ~@6 d3@39 ~@20]/3", // F5
AH: "~@7 b1@4 ~@21", AI: "~@23 a2@4 ~@5",
AJ: "[~@4 c3 c4 ~@10 a2@4 a2@2 ~@10, ~@2 a2!2 ~@4, ~@5 a3@2 [d3,f3,a3,c4]@2 ~@7]/2", AK: "~@13 a2 ~@2, ~@6 [b1,e3] ~",
AL: "~@2 e2 ~@5", AM: "~@9 e2@3 ~@20", AN: "~@9 d2@4 ~@12 b1@3 ~@4", AO: "~ e2@8 e2@3 ~@5 c2@3 ~@12",
AP: "[~@32 c5@7 ~@9, ~@4 c4@9 ~@3, ~@27 f4@52 ~@17]/3", AQ: "[~@25 f3@15 f2 ~@14 b2@4 ~@5]/2", AR: "~@25 e3@3 ~@4",
AS: "~@7 e2@8 ~, ~@14 e3@9 ~@9", AT: "~@29 e3@3", AU: "[~@14 b2@4 ~@13 e3@2 a2 ~@14 c3@2 f2 ~@13]/2",
AV: "~@9 a2@2 ~@5",
})).s("gm_piano").gain(0.32).pan(0.3)
// other · string ensemble 1
const string_ensemble_1 = note(`<
~@23 A@3 B C@4 ~@21 D E F G@2 H I J@2 K@2 L@6 ~@17 M@7 N ~@20 D E F G@2 H I J@2 K@2 L@6 ~@26
>`.pickRestart({
A: "[~@28 e4@17 a4@17 f4@8 g4@9 g4@15 ~@2]/3", B: "e4@17 a4@15",
C: "[~@2 f4@17 g4@17 e4@17 ~@17 a5@9 [b4,b5]@10 c6@25 ~@14, ~@53 a4@26 ~@49]/4", D: "~@14 e4 f4",
E: "g4@2 c5@2 b4@2 c5@5 ~@3 e4 f4", F: "g4@2 c5@2 b4@2 c5@4 ~@4 [e4,e5] [f4,f5]",
G: "[[g4,g5]@2 [f4,f5]@2 [e4,e5]@2 [a4,a5]@4 [g4,g5]@2 [f4,f5]@2 [e4,e5]@4 [f4,f5]@2 [e4,e5]@2 [d4,d5]@4 [c4,c5]@2 [b3,b4] ~ e4 f4]/2", // G F E A G F E F …
H: "g4@2 c5@2 b4@2 c5@4 ~@4 e4 f4", I: "g4@2 c5@2 b4@2 c5@3 ~@5 [e4,e5] [f4,f5]",
J: "[[g4,g5]@2 [f4,f5]@2 e5@2 [a4,a5]@4 [g4,g5]@2 [f4,f5]@2 [e4,e5]@4 [f4,f5]@2 [e4,e5]@2 [d4,d5]@4 c5@2 [b3,b4] ~ e5 f5]/2", // G F A G F E F E …
K: "[g5@2 f5@2 e5@2 a5@4 g5@2 f5@2 [e4,e5]@4 [f4,f5]@2 [e4,e5]@2 [d4,d5]@4 [c4,c5]@2 [b3,b4] ~ [e4,e5] [f4,f5]]/2", // E F E D C B E F
L: "[[g4,g5] [f4,f5] [e4,e5] [a4,a5]@2 [g4,g5] [a4,a5] [c5,c6]@2 [b4,b5] [c5,c6] [d5,d6]@2 [c5,c6] [b4,b5] c6@33, ~@30 c5@31 ~@35]/6", // G F E A G A C B …
M: "[~@12 e4@16 a4@16 f4@8 g4@8 g4@14 ~@2 e4@16 ~ a4@16 f4@16 g4@16 e4@16 ~@16 a5@8 [b4,b5]@8 [c5,c6]@16 ~@19, ~@157 a4@24 ~@43]/7", // B C
N: "c5",
})).s("gm_string_ensemble_1").gain(0.72).pan(0.2)
// other · string ensemble 1 · soft notes
const string_ensemble_1_soft = note(`<
~@29 A@2 B ~@5 C D E@2 F ~@2 G H@8 ~@6 I J ~@30 K L ~@6 M N O P Q ~@2 R@5 S@4 ~@6 I J ~@12 T@2 ~@20
>`.pickRestart({
A: "[~@17 a5@2 ~@6 c5@25 ~@10 a4@4]/2", B: "b4@5 c5@19 ~@8", C: "~@4 c3@7 ~@7 c3@6 ~@8", D: "~@10 b2@9 ~@5 b2@5 ~@3",
E: "[~@16 a2@7 ~@7 f3@7 ~@27]/2", F: "d3@4 ~@5 g3@4 ~@6 g2@5 ~@8", G: "[a3,a4,c5,e5]@16 ~ [f3,a4,c5,f5]@15",
H: "[~@2 [e3,b4,g5]@17 [f3,f5,a5]@17 a3@17 [f3,f5]@16 ~@2 [e3,b4,e5,g5]@17 [f3,c5,f5,a5]@15 ~@2 [a3,a4,c5]@17 [e3,g4,b4]@17 a3@17 f3@17 d3@34 [g3,b4,g5]@45 ~@4, ~@2 e5@14 ~@3 c5@50 ~@70 a4@67 ~@50, ~@36 [a5,c6]@33 ~@70 c5@33 ~ d5@77 ~@6, ~@36 e5@14 ~@55 e5@50 ~ f5@51 ~@49]/8", // Em F Em F Am Em G Am
I: "~@2 e4 ~@5", J: "~@5 c4 ~@2", K: "~@23 a5@2 ~@7", L: "~@22 a4@5 b4@5", M: "~@11 c3@7 ~@8 c3@6",
N: "~@18 b2@9 ~@5", O: "b2@5 ~@19 a2@7 ~", P: "~@6 f3@7 ~@19", Q: "~@7 d3@4 ~@6 g3@4 ~@5 g2@5 ~",
R: "[~@8 [a3,a4,c5,e5]@16 ~ [f3,a4,c5,f5]@17 [e3,b4,g5]@17 [f3,f5,a5]@17 a3@17 [f3,f5]@16 ~ [e3,b4,e5,g5]@17 [f3,c5,f5,a5]@15 ~@2 [a3,a4,c5,e5]@16, ~@42 e5@14 ~@3 c5@50 ~@51, ~@76 [a5,c6]@33 ~@51, ~@38 e5@7 ~@35]/5", // Am F Em F Em F Am
S: "[~ [e3,g4,b4]@17 a3@17 f3@17 d3@34 [g3,b4,g5]@37 ~@5, ~@18 a4@67 ~@43, ~@18 c5@33 ~ d5@70 ~@6, ~@35 f5@51 ~@42]/4", // Em G
T: "[f1@61 ~@3]/2",
})).s("gm_string_ensemble_1").gain(0.32).pan(0.2)
// bass · electric bass finger
const bass = note(`<
~@41 A@3 B C D@7 E F G H E F G H I@2 J@2 K L M N O P Q R S T U ~@4 V@7 ~@17 W X@6 Y Z AA AB E F G H E F G H I@2 J@2 K
L M N O P Q R S ~@21
>`.pickRestart({
A: "[~@14 c1@14 ~ c1@2 f1@16 ~]/3", B: "a1@16 ~ f1@15", C: "~@2 e1@14 ~@3 f1@13",
D: "[~@4 a1@15 ~@2 f1@16 ~@2 e1@16 ~ f1@15 ~@2 a1@15 ~@2 e1@14 ~@3 a1@14 ~@3 f1@15 ~@2 d1@11 ~@2 d1@4 d1@11 ~@2 d1@3 ~ g1@13 ~ g1@5 ~ g1@12 ~@2 g1@13 ~@2]/7",
E: "c1@5 ~ c1@7 ~ c1@2", F: "b1@5 ~ b1@7 ~ b1@2", G: "a1@6 d2@9 ~", H: "f2@5 ~ g2@3 ~ a1@2 b1@3 ~",
I: "[a1@6 d1@8 f1@10 g1@2 a1@2 b1@3 ~]/2", J: "[a1@5 ~ f1@7 ~ d1@8 g1@4 a1@2 b1@2 ~@2]/2", K: "a1@7 a1 a1@5 ~ a1@2",
L: "b1@3 b1 b1@3 b1", M: "c2@6 c2 ~ c2@6 c2@2", N: "e1@5 ~ e1 ~ e1@5 ~ e1@2", O: "a1@5 ~ a1@2 a1@5 ~ a1@2",
P: "b1@5 ~ b1@2 b1@5 ~ b1@2", Q: "c2@5 ~ c2 ~ c2@6 c2@2", R: "d2", S: "f1@7 ~", T: "c1@6 e1@9 ~",
U: "~@2 [f3,a3]@2 [e3,g3]@2 [d3,f3]@2 [f3,a3]@7 ~", // F Em Dm F
V: "[~@11 c1@10 ~@2 e1@18 ~@2 f1@30 ~@2 d1@14 ~@2 e1@16 ~ f1@16 g1@16 d1@10 ~@2 f1@20 g1@10 ~@2 g1@4 g1@14 ~@22]/7",
W: "~ c1@7",
X: "[~@2 c1@4 f1@32 ~@2 a1@16 ~ f1@16 ~ e1@14 ~@3 f1@14 ~@3 a1@15 ~@2 f1@16 ~ e1@16 ~ f1@15 ~@2 a1@15 ~]/6",
Y: "~ e1@14 ~@3 a1@14", Z: "~@3 f1@15 ~@2 d1@11 ~", AA: "~ d1@4 d1@11 ~@2 d1@3 ~ g1@10",
AB: "~@4 g1@4 ~@2 g1@10 ~ g1@8 ~@3",
})).s("gm_electric_bass_finger").gain(0.8)
// other · distortion guitar
const distortion_guitar = note(`<
~@53 A B C D A B C D E@2 F@2 G H I J K L M N O ~@41 A B C D A B C D E@2 F@2 G H I J K L M N O ~@21
>`.pickRestart({
A: "c2", B: "b1@15 ~", C: "a1@6 d2@9 ~", D: "f2@3 g2@2 a2 b2@2", E: "[a2@6 d2@7 ~ f2@8 g2@9 ~]/2",
F: "[a2@3 e2@4 f2@4 g2@2 f2 e2 ~]/2", G: "[a2,a3]@7 ~ [a2,a3]@3 [b2,b3]@3 c4@2",
H: "b3@5 ~ [b2,b3]@2 [b2,b3]@3 [c3,c4]@3 d4@2", I: "[c3,c4]@3 c4 [c3,c4]@3 [g2,g3], ~@6 c3 ~@9",
J: "e3@13 [d2,d3] [c2,c3] b2", K: "[a1,a2]@8 [a1,a2]@3 [b1,b2]@3 [c2,c3]@2",
L: "[b1,b2]@7 ~ [b1,b2]@3 [c2,c3]@3 d3@2", M: "[c2,c3]@8 c3@3 [f2,f3]@3 e3@2", N: "d3", O: "[f2,c4]@13 ~@3",
})).s("gm_distortion_guitar").gain(0.64).pan(0.2)
// … 126 more lines
More by Celine Dion
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.