0:00/0:00
// Spark — Amos, Tori
// 138 bpm, 6/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (9/4 at bar 1, 13/4 at bar 9, 6/4 at bar 28, 9/4 at bar 38, ...) are rendered on a constant 6/4 grid of one bar per cycle
// note: Full arrangement: all 95 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(138/6)
// 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 · electric guitar clean
const electric_guitar_clean = note("<A@8 B@2 C@7 D@6 E@3 F@8 G@7 H@7 I@8 J@8 K@8 ~@2 L@6 M@4 N@2 O@7 P@2>".pickRestart({
A: "[~@80 a3@7 ~@50 f#4@8 ~@8 a3@4 ~@67 a3@7 ~@50 f#4@8 ~@8 a3@4 ~@31 a3@9 ~@27 a3@7 ~@2 d3@7, ~@13 e3@20 e3@9 ~@7 b3@11 d3@29 ~@32 d3@15 ~@21 e3@20 e3@9 ~@15 e3@7 ~ f#3@12 g3@14 ~@6 g3@7 ~@9 g3@7 ~@9 g3@7 ~@9 [f#4,g4]@11 ~@13 a3@14 ~@14 a3@14 ~@2 a3@11 ~@16, ~@21 g#3@7 g#3@14 ~@2 a3@9 a3@14 ~@2 a3@11 ~@21 a3@15 ~ a3@15 ~ a3@15 ~ g3@7 ~@9 g#3@7 g#3@14 ~@7 b3@11 d3@29 ~@32 d3@15 ~@21 e3@20 e3@9 ~@15 e3@7 ~ f#3@12 g3@14 ~@5, ~@25 a3@12 c3@29 ~@7 b3@14 ~@2 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@4 [f#4,g4]@12 ~@5 a4@11 ~@33 c3@29 ~@7 b3@14 ~@2 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@4 [f#4,g4]@12 ~@5 a4@11 ~@33 c3@29 ~@7 b3@14 ~@9, ~@57 e3@7 ~ f#3@12 g3@14 ~@6 g3@7 ~@9 g3@7 ~@9 g3@7 ~@9 [f#4,g4]@11 ~@13 a3@14 ~@5 a3@9 a3@14 ~@2 a3@11 ~@21 a3@15 ~ a3@15 ~ a3@15 ~ g3@7 ~@9 g#3@7 g#3@14 ~@18 d3@29 ~@7]/8", // Gmaj7 F#m Gmaj7 F#m Gmaj7
B: "[~@5 a3@15 ~@68 a3@7 ~, ~@21 e3@20 e3@9 ~@7 b3@11 d3@28, ~@29 g#3@7 g#3@14 ~@2 a3@9 a3@14 ~@2 a3@11 ~@8, ~@33 a3@12 c3@29 ~@7 b3@14 ~, ~@65 e3@7 ~ f#3@12 g3@11]/2",
C: "[~ d3@7 ~@5 a3@15 ~@85 e4@8 e4@3 ~@76 a3@7 ~@2 d3@7 ~@5 a3@15 ~@85 e4@8 e4@3 ~ d4@3, ~@29 e3@20 e3@9 ~@7 b3@11 a4@21 [a4,c#5]@11 a4@5 a4@11 a4@7 ~@2 e3@20 e3@9 ~@15 e3@7 ~ f#3@12 g3@14 ~@34 g#3@7 g#3@14 ~@7 b3@11 a4@21 [a4,c#5]@11 a4@5 a4@11 a4@4, ~@37 g#3@7 g#3@14 ~@2 a3@9 a3@14 ~@2 [f#4,c#5]@14 ~@6 d3@7 ~@17 [c#4,e4]@11 ~ g#3@7 g#3@14 ~@7 b3@11 d3@29 ~@28 e3@20 e3@9 ~@15 e3@7 ~ f#3@12 d5@30 ~@5, ~@41 a3@12 c3@29 ~@10 b4@7 ~@10 c#5@15 ~ d4@14 ~@6 a3@14 ~@5 a3@9 a3@14 ~@2 a3@11 ~@49 a3@14 ~@5 a3@9 a3@14 ~@2 [f#4,c#5]@14 ~@6 d3@7 ~@16, ~@73 e3@7 ~ f#3@12 d5@30 ~@34 c3@29 ~@7 b3@14 ~@54 c3@29 ~@10 b4@7 ~@10 c#5@15 ~@4]/7", // A F#5 C#m F#5
D: "[~ [c#4,e4]@4 ~@67 a3@7 ~@2 d3@7 ~@5 a3@15 ~@16 g#3@5 ~@64 e4@8 e4@3 ~@49 a3@4 ~@23 a3@7 ~, ~@5 e3@20 e3@9 ~@7 b3@11 d3@29 ~@28 e3@20 e3@9 ~@15 e3@7 ~ f#3@12 d5@30 ~@34 c3@29 ~@7 b3@14 ~, ~@13 g#3@7 g#3@14 ~@2 a3@9 a3@14 ~@2 a3@11 ~@45 g#3@7 ~@21 b3@11 a4@21 [a4,c#5]@11 a4@5 a4@11 a4@7 ~@2 e3@20 e3@9 ~@15 e3@7 ~ f#3@12 g3@11, ~@17 a3@12 c3@29 ~@7 b3@14 ~@42 a3@14 ~@5 a3@9 a3@14 ~@2 [f#4,c#5]@14 ~@6 d3@7 ~@17 [c#4,e4]@11 ~ g#3@7 g#3@14 ~@7 b3@14 ~@6 a3@11 ~@8, ~@49 e3@7 ~ f#3@12 g3@14 ~@50 c3@29 ~@10 b4@7 ~@10 c#5@15 ~ d4@14 ~@6 a3@14 ~@5 a3@9 ~@7 d3@28]/6", // C#m A F#5 C#m
E: "[~ d3@7 ~@5 a3@15 ~@93 a4@11 ~@9 c3@3, ~@29 e3@20 e3@9 ~@7 b3@11 a4@21 [a4,c#5]@11 a4@7 ~@6 e4@8 ~@15, ~@37 g#3@7 g#3@14 ~@2 a3@9 a3@14 ~@2 [f#4,c#5]@14 ~@6 d3@7 ~@5 b3@7 ~@9 g2@11, ~@41 a3@12 c3@29 ~@10 b4@7 ~@10 c#5@15 ~@20, ~@73 e3@7 ~ f#3@12 d5@30 ~@21]/3", // A F#5
F: "[~@127 c3, ~@5 g3@11 ~@5 g3@11 ~@13 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 b2@11 ~@5 b3@11 ~@5 b2@11 ~@13 g3@11 ~@5 g3@11 ~@13 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 b2@11 ~@5 b3@11 ~@5 b2@11 ~@8, ~@13 c4@11 ~@5 c3@160 c3@32 c3@160 ~@3, ~@53 a3@11 ~@5 a3@11 ~@5 g2@11 ~@5 g3@11 ~@5 g3@11 ~@5 e2@11 ~@5 e3@11 ~@5 e3@11 ~@5 g2@11 ~@13 c4@11 ~@29 a3@11 ~@5 a3@11 ~@5 g2@11 ~@5 g3@11 ~@5 g3@11 ~@5 e2@11 ~@5 e3@11 ~@5 e3@11 ~@5 g2@11]/8",
G: "[~@37 [d3,a3]@11 ~@108 a3@7 ~@49 f#4@8 ~@8 a3@4 ~@68 a3@7 ~ d3@7 ~@5 a3@15 ~, ~@5 g3@11 ~@5 g3@11 ~@56 e3@20 e3@9 ~@15 e3@7 ~ f#3@8 b3@14 ~@2 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@5 [f#4,g4]@12 a3@15 ~ g3@7 ~ e3@20 e3@9 ~@15 e3@7 ~ f#3@8 b3@14 ~@30, ~@13 c4@11 ~@5 c3@83 c3@144 c3@80, ~@96 g#3@8 g#3@14 ~@6 b3@12 d3@29 ~@11 a3@15 ~ a3@12 g3@7 ~ a4@11 ~@21 a3@14 ~@6 a3@8 a3@14 ~@2 a3@8 g3@14 ~@26, ~@100 a3@14 ~@6 a3@8 a3@14 ~@2 a3@8 g3@14 ~@6 g3@7 ~@9 g3@7 ~ d3@15 ~@9 [f#4,g4]@11 ~@9 g#3@8 g#3@14 ~@6 b3@12 d3@28 ~@28]/7", // D5 Gmaj7 F#m Gmaj7
H: "[~@16 g#3@4 ~@60 a4@4 e4@8 e4@3 ~@25 g#3@4 ~@20 a3@4 ~@24 a3@7 ~ d3@7 ~@5 a3@15 ~@41 a3@4 ~@24 a4@8 ~@4 a4@7 ~@5 a4@11 ~@17 g3@8, e3@20 e3@9 ~@7 b3@12 a4@16 b4@7 ~@5 d3@7 ~ a4@11 ~ d4@14 ~@6 a3@14 ~@6 a3@8 ~@8 d3@28 ~@28 e3@20 e3@9 ~@15 e3@7 ~ f#3@12 d5@28 e4@8 ~@28, ~ g#3 ~ c3@13 c3@13 c3@11 c3@2, ~@12 a3@14 ~@6 a3@8 a3@14 ~@2 [f#4,c#5]@12 [a4,c#5]@11 ~ c#5@15 ~ a4@7 ~ e3@20 e3@9 ~@15 e3@7 ~ f#3@8 b3@14 ~@42 a3@14 ~@6 a3@8 ~@8 a4@16 b4@7 ~@5 d3@7 ~@5 b3@7 ~@9 g2@11 ~@13, ~@44 e3@7 ~ f#3@12 d5@30 ~@6 [c#4,e4]@11 ~ g#3@8 ~@20 b3@14 ~@6 a3@8 g3@14 ~@34 g#3@8 g#3@14 ~@6 b3@14 ~@6 [f#4,c#5]@12 c#5@11 ~ c#5@15 ~@33]/7", // F#5 A C#m F#5
I: "[~@47 g3, c4@11 ~@5 c3@160 c3@32 c3@160 c3@16, ~@8 g3@11 ~@13 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 b2@11 ~@5 b3@11 ~@5 b2@11 ~@13 g3@11 ~@5 g3@11 ~@13 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 b2@11 ~@5 b3@11 ~@5 b2@11 ~@21, ~@40 a3@11 ~@5 a3@11 ~@5 g2@11 ~@5 g3@11 ~@5 g3@11 ~@5 e2@11 ~@5 e3@11 ~@5 e3@11 ~@5 g2@11 ~@13 c4@11 ~@29 a3@11 ~@5 a3@11 ~@5 g2@11 ~@5 g3@11 ~@5 g3@11 ~@5 e2@11 ~@5 e3@11 ~@5 e3@11 ~@5 g2@11 ~@13]/8",
J: "[~@24 [d3,a3]@11 ~@341 c3@8, c4@11 ~@5 c3@360 ~@8, ~@8 g3@11 ~@349 g2@11 ~@5]/8", // D5
K: "[~@9 d3!2 ~@37, g3@11 ~@5 g3@11 ~@13 d3@11 ~@5 d4@11 ~@317, ~@8 c4@11 ~@5 c3@360, ~@48 a3@11 ~@5 a3@11 ~@309]/8",
L: "[~@35 b2, g2@11 ~@5 g3@11 ~@5 g3@11 ~@13 d3@11 ~@5 d4@11 ~@5 d3@11 ~@13 g3@11 ~@5 g3@11 ~@13 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 b2@11 ~@5 b3@11 ~@13, ~ c3@4 c3@8 c3@4 c3@19, ~@24 c4@11 ~@29 a3@11 ~@5 a3@11 ~@5 g2@11 ~@13 c4@11 ~@29 a3@11 ~@5 a3@11 ~@5 g2@11 ~@5 g3@11 ~@5 g3@11 ~@5 e2@11 ~@5 e3@11 ~@5 e3@11 ~@5]/6",
M: "[~@23 b2, g2@11 ~@5 g3@11 ~@5 g3@11 ~@13 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 d3@11 ~@5 d4@11 ~@5 d3@11 ~@5 b2@11 ~@5 b3@11 ~@13, ~ c3@4 c3@19, ~@24 c4@11 ~@29 a3@11 ~@5 a3@11 ~@5 g2@11 ~@5 g3@11 ~@5 g3@11 ~@5 e2@11 ~@5 e3@11 ~@5 e3@11 ~@5]/4",
N: "[~@64 a3@9 d4@12 ~@11, g2@11 ~@5 g3@11 ~@5 g3@11 ~@13 d3@11 ~@29, ~ c3@4 c3@7, ~@24 c4@11 ~@61]/2",
O: "[~@70 a3@5 ~@4 d3@7 ~@105 e4@8 e4@3 ~@24 g#3@5 ~@47 a3@5 ~@4 d3@7 ~@37 g#3@4 e3, ~@3 e3@20 e3@9 ~@7 b3@11 d3@29 [f#4,g4]@11 ~ a3@15 ~ e3@20 e3@9 ~@15 e3@7 ~ f#3@11 b4@5 [a4,c#5]@8 d3@4 c#5@15 ~ d4@14 ~@6 a3@14 ~@5 a3@9 a3@14 ~@2 a3@8 g3@14 ~@6 g3@7 ~ [f#4,a4]@11 ~@13 a3@9, ~@11 g#3@7 g#3@14 ~@2 a3@9 a3@14 ~@2 a3@8 g3@14 ~@6 g3@7 ~ [f#4,a4]@11 ~@13 a3@14 ~@5 a3@9 a3@14 ~@2 [f#4,c#5]@14 ~@2 a2@7 a4@3 g3@2 a4@11 a4@5 g3@4 e3@20 e3@9 ~@15 e3@7 ~ f#3@8 b3@12 a2@7 ~@21 g3@7 ~@5 g#3@8 ~@5, ~@15 a3@12 c3@104 c3@104 c3@101, ~@47 e3@7 ~ f#3@8 b3@12 a2@7 ~@21 g3@7 ~@5 g#3@7 g#3@14 ~@7 b3@11 a4@17 d5@30 ~@6 [c#4,e4]@11 ~ g#3@7 ~@21 b3@11 d3@29 [f#4,g4]@11 ~ a3@15 ~ e3@20 ~]/7", // Gmaj7 A F#m F#5 C#m Gmaj7
P: "[~@20 a3@5 ~@14 [f#4,c#5]@17 ~@40, ~@3 c3@82 ~@11, ~@12 a3@8 ~@5 e3@8 ~ f#3@17 ~@45, ~ b3 ~@4, ~@29 a4@34 ~@33]/2", // F#5
})).s("gm_electric_guitar_clean").gain(0.26)
// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
A@6 B@5 C D@5 E F@6 C G ~@9 H@3 ~ I@3 J K L@3 M ~@38 N O P Q R@3 S@2
>`.pickRestart({
A: "[~@13 e2@14 ~@10 c2@14 ~@10 d2@46 ~@37]/3",
B: "[~@13 e2@14 ~@10 c2@14 ~@46 g3@7 ~@13 e2@14 ~@10 c2@14 ~@46 g3@7 ~@13 e2@14 ~@5, ~@61 d2@46 ~@58 d2@46 ~@29, ~@85 a2@7 ~@21 g3@7 ~@69 a2@7 ~@21 g3@7 ~@16, ~@89 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@77 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@20]/5", // Gmaj7 F#m Gmaj7 F#m
C: "~@5 c2@14 ~@10 d5@16 ~@3",
D: "[~@5 a2@7 ~@3 g3@7 ~@15 e2@14 ~@10 c2@14 ~@46 g3@7 ~@13 e2@14 ~@10 c2@14 ~@10 d5@16 ~@8 a2@7 ~@3 g3@7 ~@10, ~@33 g3@7 ~@45 d2@46 ~@109, ~@109 a2@7 ~@21 g3@7 ~@96, ~@113 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@100]/5", // Gmaj7 F#m
E: "~ g3@4 e2@14 ~@10 c2@14 ~@5, ~@5 g3@3 ~@40",
F: "[~@41 g3@7 ~@13 e2@14 ~@10 c2@14 ~@10 d5@16 ~@8 a2@7 ~@3 g3@7 ~@15 e2@14 ~@10 c2@14 ~@46 g3@7 ~@13 e2@14 ~@5, ~@5 d2@46 ~@162 d2@46 ~@29, ~@29 a2@7 ~@21 g3@7 ~@97 g3@7 ~@69 a2@7 ~@21 g3@7 ~@16, ~@33 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@181 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@20]/6", // Gmaj7 F#m Gmaj7 F#m
G: "~@5 a2@7 ~@21 e4@4 ~@11", H: "[~@20 e2@7 ~@5 c2@7 ~@5 d2@23 ~@5]/3",
I: "[~@16 c2@14 ~@46 g3@7 ~@13 e2@14 ~@10 c2@14 ~@10, ~@20 d2@23 ~@29, ~@64 a2@7 ~@21 g3@7 ~@45, ~@68 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@49]/3", // Gmaj7 F#m
J: "d5@16 ~@8 a2@7 ~@3 g3@7 ~@7", K: "~@4 e2@7 ~@5 c2@7 ~, ~@4 g3@7 ~@37",
L: "[~@44 g3@7 ~@13 e2@14 ~@10 c2@14 ~@10 d5@16 ~@8 a2@7 ~, ~@4 d2@23 ~@45, ~@32 a2@7 ~@21 g3@7 ~@77, ~@36 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@81]/3", // Gmaj7 F#m
M: "~@20 e4@3 ~@25", N: "~@3 e2@14 ~@10 c2@14 ~@7", O: "~ d2@15", P: "~@11 e2@14 ~@10 c2@13", Q: "~@11 d5@16 ~@21",
R: "[~@19 e2@14 ~@10 c2@14 ~@10 d2@46 ~@10 e2@14 ~@7]/3", S: "[~@3 c2@15 ~@12 d5@56 ~@10]/2",
})).s("gm_electric_guitar_clean").gain(0.15)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@17 A@2 B@2 C@5 ~@12 D E F G H I J K L ~@48>".pickRestart({
A: "[~@5 b3@7 ~@5 e4@4 ~@4 e4@4 b3@7 ~@5 e4@4 ~@4 e4@4 b3@7 ~@5 e4@4 ~@4 e4@4 a3@7 ~@12, ~@13 f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~@20]/2",
B: "[~@13 b3@7 ~@5 e4@4 ~@4 e4@4 b3@7 ~@5 e4@4 ~@4 e4@4 b3@7 ~@5 e4@4 ~@4 e4@4 a3@7 ~@4, ~@21 f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~@12]/2",
C: "[~@21 b3@7 ~@5 e4@4 ~@4 e4@4 b3@7 ~@5 e4@4 ~@4 e4@4 b3@7 ~@5 e4@4 ~@4 e4@4 a3@7 ~@25 b3@7 ~@5 e4@4 ~@4 e4@4 b3@7 ~@5 e4@4 ~@4 e4@4 b3@7 ~@5 e4@4 ~@4 e4@4 a3@7 ~@36, ~@29 f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~@41 f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~@44]/5",
D: "~@40 b3@7 ~", E: "~@4 e4@3 ~@5 e4@3 ~ b3@7 ~@5 e4@3 ~@5 e4@3 ~ b3@7 ~, f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~@9",
F: "~@4 e4@3 ~@5 e4@3 ~ a3@7 ~@25, f#4@7 ~ f#4@7 ~@33",
G: "b3@7 ~@5 e4@3 ~@5 e4@3 ~ b3@7 ~@5 e4@3 ~@5 e4@3 ~, ~@8 f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~",
H: "b3@7 ~@5 e4@3 ~@5 e4@3 ~ a3@7 ~@17, ~@8 f#4@7 ~ f#4@7 ~@25",
I: "~@8 b3@7 ~@5 e4@3 ~@5 e4@3 ~ b3@7 ~@5 e4@3 ~, ~@16 f#4@7 ~ f#4@7 ~@9 f#4@7 ~",
J: "~@4 e4@3 ~ b3@7 ~@5 e4@3 ~@5 e4@3 ~ a3@7 ~@9, f#4@7 ~@9 f#4@7 ~ f#4@7 ~@17",
K: "~@16 b3@7 ~@5 e4@3 ~@5 e4@3 ~ b3@7 ~, ~@24 f#4@7 ~ f#4@7 ~@9",
L: "~@4 e4@3 ~@5 e4@3 ~ b3@7 ~@5 e4@3 ~@5 e4@3 ~ a3@7 ~, f#4@7 ~ f#4@7 ~@9 f#4@7 ~ f#4@7 ~@9",
})).s("gm_acoustic_guitar_steel").gain(0.26)
// other · drawbar organ
const drawbar_organ = note("<~@3 A@2 ~@8 B@2 ~@6 C@2 ~@20 D@2 ~@12 E ~ E ~ F ~@3 G ~@29>".pickRestart({
A: "[~@13 e5@69 ~@14]/2", B: "[~@37 b5@43 ~@16]/2", C: "[~@21 b6@59 ~@16]/2", D: "[~@8 b6@59 ~@29]/2",
E: "~@6 e4 ~@5", F: "~@8 e4 ~@3", G: "~@10 e4 ~",
})).s("gm_drawbar_organ").gain(0.31)
// bass · fretless bass
const bass = note(`<
~@3 A@8 B@6 C@4 D@8 E@7 ~@2 F@3 G H I@5 J K L@2 J M L@2 N@2 ~ O P Q@7 R S R S T U V W V W X Y ~@2 Z AA AB AC AD@2 AE@7
>`.pickRestart({
A: "[~@13 e1@24 c2@24 d2@93 ~@3 e1@24 c2@24 d2@45 ~@11 e1@24 c2@24 d2@45 ~@11 e1@19]/8",
B: "[~@5 c2@24 d2@45 ~@11 e1@24 c2@24 d2@45 ~@11 e1@24 c2@24 d2@45 ~@6]/6",
C: "[~@5 e1@24 c2@24 d2@22 ~@2 a1@22 ~@10 e1@24 ~@16 g1@4 a1@4 d2@4 ~@4 f#2@4 ~@4 a2@4 ~@4 a1@11, ~@133 c2@24 ~@35]/4",
D: "[~ a2@11 ~ a1@4 a2@4 e1@24 c2@24 d2@45 ~@3 d2@4 e2@4 e1@24 c2@24 d2@11 ~ d2@11 ~ d2@11 ~@5 d2@7 ~ d2@4 f#2@4 c2@24 c2@12 g1@4 c1@7 ~ d2@24 d2@12 a1@4 d1@7 ~ g1@22 ~@2 g1@12 f#1@11 ~ e1@11]/8",
E: "[~@5 a1@4 ~@4 e2@7 ~ e2@7 ~ e2@7 ~ c2@24 c2@12 g1@4 c1@7 ~ d2@24 ~@8 f#2@4 a1@4 g2@4 a2@4 g1@22 ~@2 g1@12 f#1@11 ~ e1@14 ~@2 a1@4 ~@4 e2@7 ~ e2@7 ~ e2@7 ~ c2@24 c2@12 g1@4 c1@7 ~ d2@48 ~@11, ~@9 b1@7 ~@93 d2@14 ~@78 b1@7 ~@128]/7",
F: "[~@12 a1@2 b1@2 d2@2 e2@2 e1@12 c2@12 d2@11 ~ a1@11 ~@5]/3", G: "e1@24 ~@16 g1@3 ~ a1@3 ~, ~ c2",
H: "d2@3 ~@5 f#2@3 ~@5 a2@3 ~@5 a1@11 ~ a2@11 ~",
I: "[a1@3 ~ a2@3 ~ e1@24 c2@24 d2@45 ~@3 d2@3 ~ e2@3 ~ e1@24 c2@24 d2@11 ~ d2@11 ~ d2@11 ~@5 d2@7 ~ d2@3 ~ f#2@3 ~ c2@24]/5",
J: "c2@12 g1@4 c1@7 ~ d2@24", K: "d2@12 a1@4 d1@7 ~ g1@22 ~@2",
L: "[g1@12 f#1@11 ~ e1@14 ~@2 a1@4 ~@4 e2@7 ~ e2@7 ~ e2@7 ~ c2@24, ~@44 b1@7 ~@45]/2",
M: "~@4 f#2@2 a1@2 g2@2 a2@2 g1@11 ~, d2@7 ~@17", N: "[c2@12 g1@4 c1@7 ~ d2@29 ~@19 e2@2 ~@22]/2", O: "~@12 e2 ~@11",
P: "g1 ~@5 d2 ~@5",
Q: "[a1@7 ~@5 a1@7 ~@5 a1@7 ~ e1@11 ~ e1@7 ~ e1@4 g1@11 ~ g1@7 ~ b1@4 d2@11 ~ d2@11 ~ a1@7 ~@5 a1@7 ~@5 c2@24 c2@12 g1@4 c1@7 ~ d2@24 d2@12 a1@4 d1@7 ~ d1@7 ~ e1@11 ~ e1@7 ~ f#1@4 ~@20 c#2@4 d2@11 ~ d2@4 ~@4 e2@4 a1@7 ~@5 a1@7 ~@13, ~@296 d2@7 ~@33]/7",
R: "e1@2 e1!3 f#1 g1@2 g1!2 b1 c#2", S: "d2@8 d2@4 d2@3 ~ d2@4 d2@4 a1@4 a1@4 a1@4 a1@4 a1@4 a1@4",
T: "e1@11 ~ e1@7 ~ d1@4 c1@11 ~ c2@7 ~ c2@4", U: "d2@11 ~ d2@11 ~ a1@7 ~@5 a1@7 ~@5", V: "c2@24 c2@12 g1@4 c1@7 ~",
W: "d2@24 d2@12 a1@4 d1@7 ~", X: "g2@14 ~@2 d2@7 ~ g2@7 ~ f#2@14 ~@2", Y: "e2@14 ~@2 b1@7 ~ e2@7 ~ e2@7 ~ d2@7 ~",
Z: "g2@11 ~ f#2@11 ~", AA: "e2@43 ~@5", AB: "c2@15 ~", AC: "d3@47 ~", AD: "[~ e1@8 c2@8 d2@15]/2",
AE: "[~@11 e1@24 c2@24 d2@45 ~@11 e1@24 c2@24 d2@45 ~@11 e1@24 c2@26 ~ d2@54 ~@12]/7",
})).s("gm_fretless_bass").gain(0.51)
// chords · piano
const piano = note("<~@24 A@8 B@4 ~@10 C@8 D@4 E F G H@2 I@3 J@2 K L@2 M N M O@7 P@5 ~@9>".pickRestart({
A: "[~@65 e4@8 e4@3 ~@5 [c#4,e4]@4 ~@4 a4@4 ~@12 g4@4 ~@4 a4@4 ~@12 g4@4 ~@4 a4@4 ~@20 a4@4 ~@16 d4@6 ~@14 g4@4 g4@4 ~@16 g4@4 ~@4 f#4@4 ~@8 a4@4 ~@32 a4@4 ~@12 g4@4 ~@4 a4@4 ~@12 g4@4 ~@4 a4@4 ~@20 a4@4 ~@16 d4@6 ~@2 d4@3, ~@45 [a4,c#5]@11 a4@7 ~@2 a4@11 a4@7 ~@2 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 a4@8 ~@16 a4@11 ~@5 g4@8 ~@8 g4@7 ~ g4@8 ~@4 g4@11 ~ g4@8 a4@11 ~@17 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 a4@8 ~@16 a4@11 ~@4, ~@49 a2@7 ~ c#5@15 ~@21 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 d4@11 ~@5 d4@14 ~@10 [e4,b4]@8 [e4,b4]@11 ~@5 e4@8 e4@8 e4@8 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 e4@14 ~@21, ~@53 d3@7 ~ b3@7 ~@9 d4@8 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 [d5,g5]@11 ~@13 d5@11 ~@133 [g4,d5]@11 ~ g4@8 ~@4 [b4,d5,g5]@11, ~@157 [g4,d5]@11 ~ g4@8 ~@4 b4@14 ~@2 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@13 f#4@11 ~ f#4@8 f#4@8 f#4@11 ~ [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@8]/8", // C#m A G5 F#dim E5 G5 G G5 …
B: "[~@9 g4@4 g4@4 ~@16 g4@4 ~@4 f#4@4 ~@8 a4@4 ~@32 a4@4 ~@12 g4@4 ~@4 a4@4 ~@12 g4@4 [g4,d5]@46 ~@13, ~ g4@8 ~@4 d4@14 ~@10 [e4,b4]@8 [e4,b4]@11 ~@5 e4@8 e4@8 e4@8 e4@14 ~@10 e4@14 ~@10 e4@49 ~@10, ~@5 [f#4,c5]@11 ~ g4@7 ~ g4@8 ~@4 g4@11 ~ g4@8 a4@11 ~@17 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@63, ~@13 d5@11 ~@168, ~@21 [f#4,c5]@8 [f#4,c5]@11 ~@13 f#4@11 ~ f#4@8 f#4@8 f#4@11 ~ [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@56]/4", // G5 E5 F#dim G5 F#dim
C: "[~@52 e4@8 e4@3 ~@5 [c#4,e4]@4 ~@4 a4@4 ~@12 g4@4 ~@4 a4@4 ~@12 g4@4 ~@4 a4@4 ~@20 a4@4 ~@16 d4@6 ~@14 g4@4 g4@4 ~@16 g4@4 ~@4 f#4@4 ~@8 a4@4 ~@32 a4@4 ~@12 g4@4 ~@4 a4@4 ~@12 g4@4 ~@4 a4@4 ~@20 a4@4 ~@16 d4@6 ~@14 g4@4, ~@32 [a4,c#5]@11 ~ c#5@15 ~@21 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 d4@11 ~@5 d4@14 ~@10 [e4,b4]@8 [e4,b4]@11 ~@5 e4@8 e4@8 e4@8 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 [d5,g5]@11 ~@13, ~@36 a2@7 ~ a4@7 ~ a4@11 ~@9 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 a4@8 ~@16 a4@11 ~@5 g4@8 ~@8 g4@7 ~ g4@8 ~@4 g4@11 ~ g4@8 a4@11 ~@17 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 a4@8 ~@16 a4@11 ~@5 g4@8 ~@4, ~@40 d3@7 ~ b3@7 ~@9 [d4,a4]@8 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 [d5,g5]@11 ~@13 d5@11 ~@133 [g4,d5]@11 ~ g4@8 ~@4 b4@14 ~@2 [f#4,c5]@8, ~@144 [g4,d5]@11 ~ g4@8 ~@4 b4@14 ~@2 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@13 f#4@11 ~ f#4@8 f#4@8 f#4@11 ~ [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 d4@11 ~@5]/8", // C#m A F#dim E5 G5 D5 G5 F#dim …
D: "[g4@4 ~@16 g4@4 ~@4 f#4@4 ~@8 a4@4 ~@32 a4@4 ~@12 g4@4 ~@4 a4@4 ~@12 g4@4 [g4,d5]@43 ~@5 [g#4,b4,e5]@2 ~@14 b4@4 d5@4, d4@14 ~@10 [e4,b4]@8 [e4,b4]@11 ~@5 e4@8 e4@8 e4@8 e4@14 ~@10 e4@14 ~@10 e4@46 ~@26, d5@11 ~@169 [b5,d6]@7 ~@5, ~@4 g4@7 ~ g4@8 ~@4 g4@11 ~ g4@8 a4@11 ~@17 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@76, ~@8 [f#4,c5]@8 [f#4,c5]@11 ~@13 f#4@11 ~ f#4@8 f#4@8 f#4@11 ~ [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@69]/4", // G5 E E5 Bm G5 F#dim
E: "[g4,f#6]@7 ~@5 d5@2 ~@6 d5@2 ~@2 [b4,d5]@4 [e5,g5]@4 f#5@4 f#4@2 ~@2 [d5,a5]@4 a4@2 ~@2, g5@4 ~@4 [a5,e6]@7 ~ [b5,d6]@7 ~@9 a5@7 ~@9", // Gmaj7 Bm Em D5 A5 Bm
F: "e4 [b4,d5] ~@2 c#5 ~ [e4,g#4] ~ f#4 [b4,d5] ~@2, ~@8 [c#5,e5]@7 ~@9 [b4,e5]@2 ~@22, ~@12 a4@7 ~@29", // Bm E Bm C#m E5
G: "d4@4 g4@4 ~@4 [b4,d5]@7 ~@9 [e4,a4]@4 a4@7 ~ [d4,a4]@4 a3@2 ~@2, f#5@7 ~ [a4,e5]@7 ~@17 f#4@4 ~@12, ~@6 d4 ~@17", // Bm A5 D5 A5
H: "[~@4 [b3,d4]@4 a4@4 [a3,d4,a4]@7 ~ [c#4,a4]@7 ~@13 f#4@4 ~@4 [b4,d5]@4 a4@4 d4@4 g4@4 ~@4 d4@2 ~@2 d4@4 g4@4 d4@4 [e4,a4]@4 a4@7 ~, ~@8 [c#4,e4]@7 ~@17 [e4,g#4,b4,e5]@12 b3@7 ~@17 b4@7 ~@13 f#4@4 ~@4, ~@40 a4@7 ~@9 f#5@7 ~ [a4,e5]@7 ~ d5@7 ~@17]/2", // Bm D5 F#m Bm A5 C#m E A5
I: "[[d4,a4]@4 a3@2 ~@2 c#4@4 [b3,d4]@4 a4@4 [a3,d4,a4]@7 ~@9 a4@4 ~@12 g4@4 ~@4 a4@4 ~@12 g4@4 ~@4 a4@4 ~@20 a4@4 ~@12 a4@4 ~@4 a4@4 ~@8, ~@16 [c#4,e4]@7 ~@5 [c#4,a4]@7 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@8 f#4@8 [f#4,c5]@8 c5@11 ~@37, ~@32 e4@14 ~@10 e4@14 ~@26 f#4@8 [g4,d5]@11 ~ g4@8 ~@20, ~@32 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 a4@8 ~@36, ~@13 f#4 [f#4,c5]!3 ~]/3", // D5 Bm D5 C#m F#m F#dim G5 F#dim
J: "[~@12 e3@7 ~@9 b3@4 a3@4 ~@4 a3@8 ~@8 f#3@14 ~@26, g#3@8 g#3@14 ~@14 e3@7 ~@5 a3@14 ~@34, ~@4 a3@14 ~@6 a3@8 ~@8 d3@29 ~@27, ~@48 g3@11 ~@37]/2",
K: "~@4 f#4@2 ~@2 [b4,d5]@2 a4@2 d4@2 g4@2 ~@2 d4 ~ d4@2 g4@2, [e4,g#4,b4,e5]@12 b3@7 ~@17 b4@7 ~@5, ~@8 a4@7 ~@9 f#5@7 ~ [a4,e5]@7 ~ d5@7 ~", // Bm E A5
L: "[d4@4 [e4,a4]@4 a4@7 ~ [d4,a4]@4 a3@2 ~@2 c#4@4 [b3,d4]@4 a4@4 [a3,d4,a4]@7 ~@13 f#4@4 ~@4 [b4,d5]@4 a4@4 g4@4 a4@4 ~@4 d4@2 ~@2 d4@4 g4@4, ~@8 f#4@4 ~@20 [c#4,e4]@7 ~@5 [c#4,a4]@7 ~@5 a4@7 ~@9 f#5@7 ~@5 b4@7 ~@5, ~@48 [e4,g#4,b4,e5]@12 b3@7 ~@13 [g4,e5]@7 ~ d5@7 ~]/2", // A5 D5 Bm D5 Bm C#m F#m E …
M: "d4@4 [e4,a4]@4 a4@7 ~ [d4,a4]@4 a3@2 ~@2 c#4@4 [b3,d4]@4 a4@4 [a3,d4,a4]@7 ~ [c#4,a4]@4, ~@8 f#4@4 ~@20 [c#4,e4]@7 ~@9", // A5 D5 Bm D5 F#m C#m
N: "~@4 f#4@2 ~@2 [b4,d5]@2 a4@2 e4@2 g4@2 ~@2 d4 ~ d4@2 g4@2, [e4,g#4,b4,e5]@12 b3@7 ~@13 [f#4,e5]@7 ~ d5@7 ~, ~@8 a4@7 ~@9 f#5@7 ~@5 b4@7 ~@5", // Bm E F#7
O: "[[c4,a4,d5]@3 ~ a4@4 ~@12 g4@4 ~@4 a4@4 ~@12 g4@4 ~@4 a4@4 ~@20 a4@4 ~@20 a4@4 ~@12 g4@4 ~@4 a4@4 ~@12 g4@4 ~@4 a4@4 ~@20 a4@4 ~@16 d4@6 ~@14 g4@4 g4@4 ~@16 g4@4 ~@4 f#4@4 ~@8 a4@4 ~@40 d5@4 ~@4 g4@4 ~@4 a4@4 ~@12 g4@4, e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 e4@14 ~@10 [d5,g5]@11 ~@13 d5@11 ~@85 c5@8 ~@16, g4@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 a4@8 ~@16 a4@8 ~@64 a4@8 ~@16 a4@11 ~@5 g4@8 ~@8 g4@7 ~ g4@8 ~@4 g4@11 ~ g4@8 a4@11 ~@17 [g4,d5]@11 ~ g4@8 ~@4 g4@11 ~ g4@8 ~@4, ~@8 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@5 d4@11 ~@5 d4@14 ~@10 [e4,b4]@8 [e4,b4]@11 ~@5 e4@8 e4@8 e4@8 e4@14 ~@10 e4@14 ~@10, ~@72 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@4 [g4,d5]@11 ~ g4@8 ~@4 b4@14 ~@2 [f#4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@13 f#4@11 ~ f#4@8 f#4@8 f#4@11 ~ f#4@8 [f#4,d5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@8]/7", // D7 G5 F#dim E5 G5 F#dim D F#dim
P: "[~@4 a4@4 ~@20 a4@4 ~@16 d4@6 ~@14 g4@4 g4@4 ~@16 g4@4 ~@4 f#4@4 ~@8 a4@4 ~@28 c5@8 ~@12 e4@4 ~@4 a4@4 ~@12 g4@4 [g4,d5]@11 ~@37, [g4,d5]@11 ~ g4@8 a4@8 ~@16 a4@11 ~@5 g4@8 ~@4 g5@7 ~ f#5@19 ~@53 c5@8 ~@8 [g4,d5]@11 ~ g4@8 ~@52, f#4@8 [f#4,c5]@8 c5@11 ~@21 b4@14 ~@2 c5@11 ~ g4@4 c5@8 ~@8 [e4,b4]@8 [e4,b4]@11 ~@5 e4@8 e4@8 e4@8 e4@14 ~@2 [d4,c5]@11 ~@5 [f#4,c5]@8 [f#4,c5]@11 ~@45, ~@16 f#4@8 [g4,d5]@11 ~ g4@8 ~@4 [d5,g5]@11 ~@5 g5@8 d5@11 ~ g4@8 ~@4 g4@11 ~ g4@8 a4@11 ~@17 g4@11 ~ g4@8 ~@4 e4@14 ~@10 e4@15 ~@33, ~@24 f#4@8 [f#4,c5]@8 [f#4,c5]@11 ~@5 d4@11 ~@5 d4@14 ~@2 [f#4,c5]@11 ~@13 f#4@11 ~ f#4@8 f#4@8 f#4@11 ~ c4@11 ~@77]/5", // G5 F#dim E5 D7 F#dim G5 F#dim
})).s("gm_piano").gain(0.36)
// other · piano
const piano_2 = note(`<
~@25 A B C D E B C D E F@2 ~@11 G H I@3 H I@3 J@2 ~ K L M@2 N O P@3 Q R Q R S R T@8 U@4 ~@9
>`.pickRestart({
A: "~@33 g3@4 [c2,c3]@11", B: "~@5 [c2,c3]@8 [c2,c3]@11 ~@13 [d2,d3]@11, ~@29 [c2,c3]@11 ~@8",
C: "~@5 [d2,d3]@8 [d2,d3]@11 ~@13 [g2,g3]@11, ~@29 [d2,d3]@11 ~@8", // D G D
D: "~@13 [g2,g3]@11 ~@13 [e2,e3]@11, ~@5 d3@11 ~@13 [d2,d3]@11 ~@8", // G E D
E: "~@13 [e2,e3]@11 ~@13 [c2,c3]@11, ~@5 b2@11 ~@13 [d2,e3]@11 ~@8", // E C Dsus2
F: "[~@5 [c2,c3]@8 [c2,c3]@11 ~@13 [d2,d3]@46 ~@13, ~@29 [c2,c3]@11 ~@56]/2", G: "~@20 g3@4 [c2,c3]@11 ~@5 [c2,c3]@8",
H: "[c2,c3]@11 ~@13 [d2,d3]@11 ~@5 [d2,d3]@8, ~@16 [c2,c3]@11 ~@21", // C D C
I: "[[d2,d3]@11 ~@13 [g2,g3]@11 ~@13 [g2,g3]@11 ~@13 [e2,e3]@11 ~@13 [e2,e3]@11 ~@13 [c2,c3]@11 ~@5 [c2,c3]@8, ~@16 [d2,d3]@11 ~@13 d3@11 ~@13 [d2,d3]@11 ~@13 b2@11 ~@13 [d2,e3]@11 ~@21]/3", // D G E C D Dsus2
J: "[[c2,c3]@11 ~@13 [d2,d3]@43 ~@5 [e2,e3]@3 ~@21, ~@16 [c2,c3]@11 ~@69]/2", K: "~@4 c#3 e3 ~@6",
L: "g3@7 ~@29 f#3@2 ~@10", M: "[e3@4 ~@28 e2@7 ~@5 e2@7 ~ f#2@4 [g2,g3]@7 ~@5 g2@7 ~@5 d3@7 ~@5 f#3@2 ~@2]/2",
N: "d3@7 ~ e3@4 ~@12 a2@7 ~ [c2,c3]@11 ~@5, ~@16 e2@7 ~@25, ~@20 a1@7 ~@21", // C
O: "[c2,c3]@8 [c2,c3]@11 ~@5 [c2,c3]@8 [d2,d3]@11 ~@5", // C D
P: "[d2@8 d2@11 ~@5 [d2,d3]@8 [d2,d3]@8 ~@52 a2@8 ~@12 a2@4 b2@4 ~@12 e2@4 ~@4 a1@4, d3@11 ~@29 [e1,e2]@12 e2@11 ~ [c1,c2]@12 [e1,e2]@11 ~ [d1,d2]@14 ~@18 [c#2,c#3]@7 ~ [a1,a2]@7 ~@9, ~@44 e3@21 ~@3 e3@21 ~@19 d3@7 ~@29, ~@48 g#2@8 g#2@11 ~@5 a2@8 a2@11 ~@9 [a0,a1,a2]@12 [a0,a1]@11 ~ e1@7 ~@5 [e1,a2]@7 ~]/3", // D E C E D C# A A5
Q: "e2@7 ~@5 e2@7 ~ f#2@4 [g2,g3]@7 ~@5 g2@7 ~@5", // G
R: "d3@7 ~@5 f#3@2 ~@2 d3@7 ~ e3@4 ~@12 a2@7 ~, ~@32 e2@7 ~@9, ~@36 a1@7 ~@5",
S: "e2@7 ~@5 e2@7 ~ d2@4 [c2,c3]@7 ~@5 g2@7 ~@5", // C
T: "[[c2,c3]@11 ~@5 [c2,c3]@8 [c2,c3]@11 ~@13 [d2,d3]@11 ~@5 d2@8 d2@11 ~@13 [c2,c3]@11 ~@5 [c2,c3]@8 [c2,c3]@11 ~@13 [d2,d3]@11 ~@5 d2@8 d2@11 ~@13 [g2,g3]@11 ~@13 [g2,g3]@11 ~@13 [e2,e3]@11 ~@13 [e2,e3]@11 ~@13 [c2,c3]@16 [c2,c3]@8 [c2,c3]@16 ~@8 [d2,d3]@16 [d2,d3]@8 [d2,d3]@16 [d2,d3]@8, ~@40 [c2,c3]@11 ~@13 d3@11 ~@13 [d2,d3]@11 ~@37 [c2,c3]@11 ~@13 d3@11 ~@13 [d2,d3]@11 ~@13 d3@11 ~@13 [d2,d3]@11 ~@13 b2@11 ~@13 [d2,e3]@11 ~@37 [c2,c3]@11 ~@45]/8", // C D C D G E C D …
U: "[[g2,g3]@11 ~@13 [g2,g3]@11 ~@13 [e2,e3]@11 ~@13 [e2,e3]@11 ~@13 [c2,c3]@11 ~@5 [c2,c3]@8 [c2,c3]@11 ~@13 [d2,d3]@11 ~@37, ~@16 d3@11 ~@13 [d2,d3]@11 ~@13 b2@11 ~@13 [d2,e3]@11 ~@37 [c2,c3]@11 ~@45]/4", // G E C D Dsus2 C
})).s("gm_piano").gain(0.41)
// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note("<A@7 ~@28 B@4 ~@18 C ~ D E F G H ~@4 I J I J I J ~ K ~ K ~@8 L@6 M@3>".pickRestart({
A: "[~@84 a3@7 ~@2 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@4 [f#4,g4]@12 ~@5 f#4@8 ~@8 a3@4 ~@67 a3@7 ~@2 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@4 [f#4,g4]@12 ~@5 f#4@8 ~@8 a3@4 ~@31, ~@17 e3@20 e3@9 ~@7 b3@11 d3@29 ~@68 e3@20 e3@9 ~@15 e3@7 ~ f#3@12 g3@14 ~@54 [f#4,g4]@11 ~@32, ~@25 g#3@7 g#3@14 ~@2 a3@9 a3@14 ~@2 a3@11 ~@21 a3@15 ~ a3@15 ~ a3@15 ~@17 g#3@7 g#3@14 ~@7 b3@11 d3@29 ~@99, ~@29 a3@12 c3@29 ~@7 b3@14 ~@50 a4@11 ~@33 c3@29 ~@7 b3@14 ~@50 a4@11 ~@40, ~@61 e3@7 ~ f#3@12 g3@14 ~@54 [f#4,g4]@11 ~@13 a3@14 ~@5 a3@9 a3@14 ~@2 a3@11 ~@21 a3@15 ~ a3@15 ~ a3@15 ~@40]/7", // Gmaj7 F#m Gmaj7 F#m Gmaj7
B: "[~@112 a3@2 ~@6 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@5 [f#4,g4]@12 ~@4 f#4@8 [f#4,g4]@11 ~@5, ~@44 e3@20 e3@9 ~@7 b3@12 d3@29 ~@71, ~@52 g#3@8 g#3@14 ~@2 a3@8 a3@14 ~@2 a3@12 ~@20 a3@15 ~ a3@15 ~ a3@15 ~@13, ~@56 a3@12 c3@29 ~@7 b3@14 ~@50 a4@11 ~@13, ~@88 e3@7 ~ f#3@12 g3@14 ~@70]/4", // Gmaj7 F#m Gmaj7
C: "~@12 e2 ~@11", D: "~@12 e2 ~@7 b2@2 f#3@2", E: "d3@2 ~@6 b2@2 c#3 ~ d3@2 ~@4 f#2@2 ~@2 g2@2",
F: "a1@11 ~@5 e3@4 ~@4 c#2@4 d2@4 e2@2 ~@14, a2@4 ~@8 a1@11 ~@25, ~@12 a2@7 ~@29",
G: "b2@2 f#3@2 d3@2 ~@6 b2@2 c#3 ~ d3@2 ~@4 f#2@2",
H: "~@4 g2@4 a1@11 ~@5 e3@4 ~@20, ~@8 a2@4 ~@8 a1@11 ~@17, ~@20 a2@7 ~@21",
I: "e2 ~@7 b2@2 f#3@2 d3@2 ~@6 b2@2 c#3 ~",
J: "d3@4 ~@8 f#2@4 ~@4 g2@4 a1@11 ~@5 e3@4 ~@4, ~@24 a2@4 ~@8 a1@11 ~, ~@36 a2@7 ~@5", K: "~@34 d3@11 ~@3",
L: "[~@74 a3@7 ~@2 d3@7 ~@5 a3@15 ~@85 e4@8 e4@3 ~@24 g#3@5 ~@47 a3@6, ~@7 e3@20 e3@9 ~@7 b3@11 d3@29 ~@28 e3@20 e3@9 ~@15 e3@7 ~ f#3@12 d5@30 ~@54 e3@7 ~ f#3@12 g3@9, ~@15 g#3@7 g#3@14 ~@2 a3@9 a3@14 ~@2 a3@11 ~@45 g#3@7 g#3@14 ~@7 b3@11 a4@21 [a4,c#5]@11 a4@5 a4@11 a4@7 ~@2 e3@20 e3@9 ~@7 b3@11 d3@26, ~@19 a3@12 c3@29 ~@7 b3@14 ~@42 a3@14 ~@5 a3@9 a3@14 ~@2 [f#4,c#5]@14 ~@6 d3@7 ~@17 [c#4,e4]@11 ~ g#3@7 ~@9 c3@29 ~@7 b3@13, ~@51 e3@7 ~ f#3@12 g3@14 ~@50 c3@29 ~@10 b4@7 ~@10 c#5@15 ~ d4@14 ~@6 a3@14 ~@5 a3@9 a3@14 ~@2 a3@11 ~@6]/6", // A F#5 C#m
M: "[~@3 d3@7 ~@5 a3@15 ~@61 [f#4,c#5]@17 ~@36, ~@31 e3@20 e3@9 ~@17 e3@8 ~@2 f#3@17 ~@40, ~@39 g#3@8 g#3@15 ~@6 b3@16 ~@60, ~@43 a3@15 ~@6 a3@9 a3@7 ~@2 a4@34 ~@28, ~@55 c3@32 ~@57]/3", // F#5
})).s("gm_acoustic_guitar_nylon").gain(0.2)
// chords · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note("<A@3 B@3 C ~@28 D@3 E ~@47 F G@2 H I J@2 K@2>".pickRestart({
A: "[~@17 e2@14 ~@10 c2@14 ~@46 g3@7 ~@9 g3@7 ~@9 g3@7 ~@4, ~@65 d2@46 ~@14 d3@15 ~@4]/3",
B: "[~@9 g3@7 ~ e2@14 ~@10 c2@14 ~@46 g3@7 ~@9 g3@7 ~@9 g3@7 ~@4, ~@65 d2@46 ~@14 d3@15 ~@4]/3", C: "~@9 g3@7 ~@32",
D: "[~@44 e2@14 ~@10 c2@14 ~@46 g3@7 ~@9, ~@46 d2@23 ~@3]/3", E: "g3@7 ~@9 g3@7 ~@13 g3@7 ~@5, ~@8 d3@15 ~@25",
F: "~@7 e2@14 ~@27",
G: "[~@43 g3@7 ~@13 e2@14 ~@19, ~@7 d2@46 ~@43, ~@31 a2@7 ~@21 g3@7 ~@30, ~@35 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@34]/2", // Gmaj7 F#m
H: "~@15 d5@16 ~@8 a2@7 ~@2", I: "~ g3@7 ~@15 e2@14 ~@11, ~@19 g3@7 ~@22",
J: "[~@59 g3@7 ~@13 e2@15 ~@2, ~@23 d2@46 ~@27, ~@47 a2@7 ~@21 g3@7 ~@14, ~@51 [f#4,g4]@11 ~@5 [f#4,a4]@11 ~@18]/2", // Gmaj7 F#m
K: "[~@17 d5@28 ~@3]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.1)
// other · string ensemble 1
const string_ensemble_1 = note("<~@68 A B A B C B D E D E F G ~@15>".pickRestart({
A: "[e1,e2]@11 ~ [g1,g2]@11 ~", B: "[d2,d3]@11 ~ [a1,a2]@11 ~", C: "[e1,e2]@11 ~ [c1,c2]@11 ~", D: "[c2,c3]@43 ~@5",
E: "[d2,d3]@43 ~@5", F: "[g2,g3]@22 ~@2 [g2,g3]@7 ~ [f#2,f#3]@7 ~ [g2,g3]@7 ~", G: "[e2,e3]@43 ~@5",
})).s("gm_string_ensemble_1").gain(0.41)
// drums · kick
const kick = s("bd").struct(`<
A B C D E F D G H I J K L A M N O P Q D G H I J K L R S R S R S R S R T U V@2 U W X Y Z AA AB AC AD AE AF AE AF AE AF
AE AF AG ~@4 AH AI AJ AK AL AM AN Y AO Y AO Y AO Y AO Y AO Y AO Y AO Y AO Y AP ~@9
>`.pickRestart({
A: "~@13 x ~@23 x ~@10", B: "~@12 x ~@19 x ~@4 x ~@10", C: "~@9 x ~@3 x ~@19 x ~@2 x ~@11",
D: "~@9 x ~@3 x ~@23 x ~@10", E: "~@13 x ~@19 x ~@3 x ~@10", F: "~@9 x ~@2 x ~@20 x ~@3 x ~@10",
G: "~@13 x ~@19 x ~@3 x ~@6 x ~@3", H: "~@5 x ~@11 x ~@3 x ~@23 x ~@2", I: "~@21 x ~@19 x ~@3 x ~@2",
J: "~@4 x ~@8 x ~@11 x ~@3 x ~@18", K: "~@5 x ~@23 x ~@18", L: "~ x ~@3 x ~@6 x ~@8 x ~@11 x ~@3 x ~@10",
M: "~@9 x ~@3 x ~@6 x ~@8 x ~@11 x ~@3 x ~@2", N: "~@7 x ~@7 x", O: "~@17 x ~@3 x ~@6 x ~@8 x ~@10",
P: "~ x ~@3 x ~@23 x ~@18", Q: "~@5 x ~@19 x ~@3 x ~@6 x ~@8 x ~@2", R: "~@9 x ~@3 x ~@7 x ~@7 x ~@7 x ~@10",
S: "~@9 x ~@3 x ~@7 x ~@3 x ~@11 x ~@10", T: "~@5 x", U: "~@2 x ~@2 x", V: "~@3 x!2 ~@4 x!2 ~",
W: "~@3 x!2 ~ x ~ x ~@2 x", X: "x!2", Y: "x ~@4 x!2 ~ x ~ x ~", Z: "~ x!2 ~@5 x ~@3", AA: "~@2 x ~@4 x!2 ~ x ~",
AB: "x ~@2 x!2 ~@5 x ~", AC: "~@4 x ~@4 x!2 ~", AD: "x ~ x ~@2 x!2 ~@4 x", AE: "x ~ x ~ x ~ x ~@4 x",
AF: "x ~ x!2 ~@2 x ~@4 x", AG: "x!4 ~@2", AH: "~@2 x", AI: "~ x!2 ~ x ~ x ~ x ~@3",
AJ: "~@4 x ~@3 x ~@7 x ~@3 x ~@10 x!2 ~@5 x ~ x ~@2 x!2 ~@3",
AK: "x ~@3 x ~@2 x!2 ~@5 x ~ x ~@2 x!2 ~@3 x ~@3 x ~@2 x!2 ~@5 x ~ x ~@2 x!2 ~@3",
AL: "x ~@3 x ~@2 x!2 ~@5 x ~ x ~@2 x!2 ~@3 x ~@3 x ~@11 x ~@7", AM: "~@3 x!2 ~ x ~ x ~ x ~",
AN: "~@3 x!2 ~ x!2 ~@3 x", AO: "x ~@4 x!2 ~ x!2 ~@2", AP: "x",
})).gain(0.51).pan(0)
// drums · snare
const snare = s("sd").struct(`<
~ A B C A@2 D A E F G ~ H ~ I ~ J ~ K D A E F G ~ H L M L M L M L M L ~@2 G N ~ O ~ P ~ Q R S T D U D U D U D U D ~@2
V ~@2 E W ~ X G Y V Z V Z V Z V Z V Z V Z V Z V Z V ~@10
>`.pickRestart({
A: "~@37 x ~@10", B: "~@3 x", C: "~ x ~@46", D: "x", E: "~ x ~@4", F: "~@15 x", G: "~ x ~", H: "~@5 x ~@18 x ~@23",
I: "~@13 x ~@18 x ~@15", J: "~@21 x ~@18 x ~@7", K: "~@29 x ~@18", L: "~@13 x ~@34", M: "~@13 x ~@15 x ~@18",
N: "~@4 x ~@2 x ~@4", O: "~@4 x ~@4 x ~@2", P: "~@6 x ~@4 x", Q: "~@2 x", R: "~ x ~@10", S: "~@5 x", T: "~ x ~@2",
U: "x!2 ~", V: "~ x", W: "~ x ~ x ~@2", X: "~@5 x ~@2 x ~@3", Y: "~@2 x ~ x!2", Z: "~@3 x ~ x",
})).gain(0.51).pan(0)
// … 50 more lines
More by Tori Amos
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.