0:00/0:00
// Madman Across the Water — Elton John
// 131 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 22, 4/4 at bar 23, 2/4 at bar 74, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 208 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(131/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 · "tk1"
const piano = note(`<
~@6 A@2 B@2 ~ C ~ D E F G H I J K L M@4 N O P@3 Q R S T U V@2 W X Y@5 Z AA AB AC AD@3 AE AF AG AH AI AJ@2 AK AL AM@2
AN AO AP@2 AQ@2 AR AS AT AU AV AW AX AY AZ AY BA@2 BB@4 BC AY BD@2 BE@2 BF@2 BG@2 BA@2 BF@2 BB@2 BH@2 BI BJ BK BL BM@2
BN@2 BO@2 BF@2 BP@2 BQ@2 BR@2 BS@2 BT@2 BB@2 BU BV BU BW BX BY BU BZ CA CB CA CC BU CD CE CF ~@3 CG CH CI CJ CK CL CM
CN@2 CO CP@2 CQ CR@2 CS@3 CT CU CV@4 CW CX@2 CY CZ@3 DA@2 DB DC DD@2 DE DF DG DH@2 DI DJ DK@2 DL@2 DM DN DO DP AV DQ
DR DS DT DU DV AY DW@2
>`.pickRestart({
A: "[c4@21 ~@7 e4@3 ~]/2", B: "[c4@5 ~@2 g3]/2", C: "~@3 [b3,d4]@5, ~@6 g3@5 ~@5", D: "~@3 d4@5",
E: "[a3,b3,c4,e4]!2", F: "[g3,a3,b3,d4]@7 ~ [g3,a3,b3,d4]@7 ~", G: "[f3,g3,a3,c4]@7 ~ f3@3 ~ f3@4, ~ [g3,a3,c4]",
H: "~@2 [f3,g3,a3,d4]@5 ~ f3@2 ~@2 f3@2 ~@2, ~@4 [g3,a3,c4]@3 ~", I: "[g3,c4,e4]@7 ~@5 c3@4, ~@8 [g3,c4,e4]@7 ~",
J: "[f#3,a3,d4]@7 ~ [a3,d4]@6 d3@2", K: "[f#3,a3,d4]@6 ~@2 [a3,d4]@3 ~ [f#3,a3,d4]@3 ~, ~@3 d3@3 ~@2",
L: "[f3,a3,c4]@2 ~@2 [g3,b3,d4]@2 ~@2 [a3,b3,c4,e4]@7 ~", // F G Am
M: "[[a3,b3,c4,e4]@10 ~@4 [g3,b3,c4,d4]@6 [g3,b3,c4,d4]@3 ~ [a3,b3,c4,e4]@16 ~@6 [g3,b3,c4,d4]@6 [g3,b3,c4,d4]@4 [a3,b3,c4]@7 ~]/4", // Am G Am G Am
N: "[a3,b3,c4,e4]@8 [g3,b3,d4]@7 ~", O: "[g3,b3,d4]@8 [f3,a3,c4]@7 ~",
P: "[f3@3 ~ f3@5 ~@5 [a3,c4]@5 ~ [f3,a3,c4]@4 [e3,g3,c4]@6 ~@2 [g3,c4,e4]@6 c3@2 [f#3,a3,d4]@7 ~, [a3,c4]@12 f3@7 ~@11 c3@6 ~@12]/3", // Am F C D Am
Q: "~@4 d3 ~ d3 ~ [f#3,a3,d4]@6 d3@2, [f#3,a3,d4] ~", // D
R: "f#3@2 ~@2 f#3@3 ~ f3@2 ~@2 f3@3 ~, d4@7 ~@9, ~@2 a3@5 ~ [a3,c4]@7 ~, ~@4 d3 ~@11", // Am
S: "g3@2 ~@2 g3@3 ~ [a3,b3,c4]@8, [b3,d4]@7 ~@9", T: "[a3,b3,c4]@6 ~ [g3,b3,d4,g4]",
U: "~ [a3,b3,d4,f#4]@2 ~ [a3,b3,c4,e4]@4", V: "[[a3,b3,c4,e4]@2 ~@12 [g3,b3,d4,e4]@9 ~ [a3,b3,c4,e4]@7 ~]/2",
W: "a3@3 ~ [a3,b3]@3 ~ [g3,b3,d4]@7 ~, [c4,e4] ~", X: "[g3,b3,d4]@3 ~ [g3,b3,d4]@4 [f3,a3,c4]@6 ~@2",
Y: "[f3@2 ~@2 f3@6 ~@2 f3 ~ [f3,a3,c4]@5 ~ [f3,a3,c4]@3 ~ [e3,g3,c4]@6 ~@2 [e3,g3,c4]@6 c3@2 ~@8 f#3@3 ~@3 d3@2 ~@4 f#3@2 [f#3,a3,d4]@4 d3@2 [f#3,a3,d4]@3 ~ [f3,a3,c4]@5 ~@3, [a3,c4]@12 ~@18 c3@7 ~@3 [f#3,a3,d4]@8 [a3,d4]@12 ~@20, ~@46 d3@6 f#3@6 d3@7 ~@15]/5", // F C D F Am D D5
Z: "[g3,b3,d4]@7 ~ [a3,c4,e4]@7 ~", AA: "a3@3 ~ a3@5 ~ a3@6, [c4,e4]", AB: "~@4 [a3,c4,e4]@4 [f3,a3,c4]@7 ~",
AC: "[g3,b3,d4]@7 ~ [a3,c4,e4]@8", // G Am
AD: "[~@4 a3@7 ~ a3 ~ [a3,c4,e4]@5 ~ [a3,c4,e4]@3 ~@9 g3@3 ~ g3@3 ~ [g3,b3,d4]@7 ~, [c4,e4]@12 ~@12 [g3,c4,e4]@8 [c4,e4]@7 ~@9, ~@30 c3@7 ~@11]/3", // Am G C
AE: "[g3,b3,d4]@7 ~ [e3,a3,b3,d4]@7 ~", AF: "e3@3 ~ e3@3 ~ [e3,g#3,b3,d4]@7 ~, [a3,b3,d4] ~",
AG: "[e3,g#3,b3,d4]@7 ~ [a3,b3,c4,e4]@3 ~@5", AH: "[c3,g3,c4,e4] ~ [d3,f3,a3,d4] ~",
AI: "~@2 [g3,b3,d4]@5 ~ [a3,c#4,e4]@8", // G A
AJ: "[[c#4,e4]@12 a3@2 [a3,c#4,e4]@5 ~ [a3,c#4,e4]@3 ~ [g3,c4,e4]@6 ~@2, a3@9 ~@23]/2", // C#m A C
AK: "[a3,d4]@7 ~ [f3,a3,c4]@7 ~, f#3@5 ~@11", AL: "[g3,b3,d4]@7 ~ [a3,b3,c4,e4]@8",
AM: "[[c4,e4]@12 a3 ~ [a3,b3,c4,e4]@6 [a3,b3,c4,e4]@3 ~ [c4,e4]@5 ~@3, [a3,b3]@10 ~@14 g3@7 ~]/2", // C Am C Asus2
AN: "[f#3,a3,d4]@7 ~ [f3,a3,c4]@7 ~", AO: "[g3,a3,b3,d4]@7 ~ [a3,b3,c4,e4]@8",
AP: "[[a3,b3,c4,e4]@12 a3@2 [a3,b3,c4,e4]@5 ~ [a3,b3,c4,e4]@4 [f3,a3,c4]@7 ~]/2", // Am F
AQ: "[f3@3 ~ f3@5 ~@3 f3 ~ [f3,a3,c4]@5 ~ [f3,a3,c4]@3 ~ [e3,a3,b3,d4]@7 ~, [a3,c4]@13 ~@19]/2", // F Esus4 Am
AR: "e3@3 ~ e3@3 ~ [e3,g#3,b3,d4]@7 ~, [a3,b3,d4]@7 ~@9", AS: "[e3,g#3,b3,d4]@7 ~ [a3,c4,e4]@3 ~@5",
AT: "~@2 [c2,c3,g3,c4,e4] ~", AU: "[a2,d3]@2 [c3,f3]@6 [g3,b3,d4]@7 ~", AV: "[a3,b3,c4,e4]@7 ~ [a3,b3,c4,e4]@8",
AW: "~@6 [b3,c4,d4,g4]@3 ~ [a3,b3,f#4]@5 ~", AX: "[a3,b3,c4,e4]@6 ~@2 [a3,b3,c4,e4]@3 ~@3 [a3,b3,c4,e4] ~",
AY: "~@6 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~", AZ: "[a3,b3,c4,e4]@3 ~ [b3,c4,e4]@2 ~ [b3,c4,e4], ~@4 a3 ~ a3@2",
BA: "[[a3,b3,c4,e4]@7 ~ a3@2 ~@2 a3@7 ~@3 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~, ~@8 [b3,c4,e4]@11 ~@13]/2", // Am G Bm7 Cmaj7
BB: "[[a3,b3,c4,e4]@6 ~@2 a3@2 ~@2 a3@6 ~@4 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~, ~@4 [b3,c4,e4]@5 ~@7]/2", // Am G Bm7 Cmaj7
BC: "[a3,b3,c4,e4]@6 ~@2 [a3,b3,c4,e4]@3 ~ [a3,b3,c4,e4]@4", // Am
BD: "[[a3,b3,c4,e4]@6 ~@2 [a3,b3,c4,e4]@11 ~@3 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~]/2", // Am G Bm7
BE: "[[a3,b3,c4,e4]@6 ~@2 [a3,b3,c4,e4]@10 ~@4 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@6]/2", // Am G Bm7
BF: "[[a3,b3,c4,e4]@6 ~@2 a3@2 ~@2 a3@7 ~@3 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~, ~@8 [b3,c4,e4]@11 ~@13]/2", // Am G Bm7 Cmaj7
BG: "[[a3,b3,c4,e4]@6 ~@2 [a3,b3,c4,e4]@12 ~@2 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~]/2", // Am G Bm7
BH: "[[a3,b3,c4,e4]@7 ~ a3@2 ~@2 a3@6 ~@4 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~, ~@4 [b3,c4,e4]@5 ~@7]/2", // Am G Bm7 Cmaj7
BI: "[a3,b3,c4,e4]@4 [a3,b3,c4,e4]@5 ~ [a3,b3,c4,e4]@6", BJ: "~@6 [b3,c4,d4,g4]@4 [a3,b3,d4,f#4]@5 ~",
BK: "[a3,b3,c4,e4]@6 ~@2 [a3,b3,c4,e4]@5 ~ [a3,b3,c4,e4]@2", // Am
BL: "~@2 [b3,c4,d4,g4]@3 ~ [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~", // G Bm7
BM: "[[a3,b3,c4,e4]@6 ~@2 a3 ~@3 a3@7 ~@3 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~, ~@8 [b3,c4,e4]@11 ~@13]/2", // Am G Bm7 Cmaj7
BN: "[[a3,b3,c4,e4]@6 ~@2 [a3,b3]@3 ~ a3@6 ~@4 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~, ~@4 [c4,e4]@5 ~@7]/2", // Am Asus2 G Bm7 C
BO: "[[a3,b3,c4,e4]@6 ~@2 [a3,b3]@3 ~ a3@6 ~@4 [b3,c4,d4,g4]@4 [a3,b3,d4,f#4]@5 ~, ~@4 [c4,e4]@5 ~@7]/2", // Am Asus2 G Bm7 C
BP: "[[a3,b3,c4,e4]@6 ~@2 [a3,b3,e4]@3 ~ a3@6 ~@4 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~, ~@4 c4@5 ~@7]/2", // Am Asus2 G Bm7
BQ: "[[a3,b3,c4,e4]@6 ~@2 [a3,b3,c4,e4]@3 ~ [a3,b3,c4,e4]@7 ~@3 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~]/2", // Am G Bm7
BR: "[[a3,b3,c4,e4]@6 ~@2 [a3,b3]@3 ~ a3@7 ~@3 [b3,c4,d4,g4]@3 ~ [a3,b3,d4,f#4]@5 ~, ~@8 [c4,e4]@11 ~@13]/2", // Am Asus2 G Bm7 C
BS: "[[a3,b3,c4,e4]@6 ~@2 a3@2 ~@2 a3@6 ~@4 [b3,c4,d4,g4]@4 [a3,b3,d4,f#4]@5 ~, ~@4 [b3,c4,e4]@5 ~@7]/2", // Am G Bm7 Cmaj7
BT: "[[a3,b3,c4,e4]@7 ~ a3@2 ~@2 a3@6 ~@4 [b3,c4,d4,g4]@4 [a3,b3,d4,f#4]@5 ~, ~@4 [b3,c4,e4]@5 ~@7]/2", // Am G Bm7 Cmaj7
BU: "[a3,b3,c4]@7 ~ [a3,b3,c4]@2 ~@6", BV: "~@6 [b3,c4,d4,g4]@6 [a3,b3,f#4]@3 ~",
BW: "~@6 [b3,c4,d4,g4]@6 [b3,d4,f#4]@3 ~", BX: "[a3,c4]@7 ~ [a3,b3,c4]@2 ~@6", BY: "~@6 [b3,c4,d4,g4]@6 [a3,b3]@3 ~",
BZ: "~@6 [b3,c4,d4,g4]@6 [b3,f#4]@3 ~", CA: "c4@7 ~ [a3,b3,c4]@2 ~@6", CB: "~@6 [c4,d4,g4]@5 ~ [b3,d4]@3 ~",
CC: "~@6 [b3,d4]@6 [b3,d4]@3 ~, ~@3 g4@2 ~@3", CD: "~@3 [b3,c4,d4,g4]@3 f#4 ~", CE: "c4@7 ~ [a3,c4]@2 ~@6",
CF: "~@6 [c4,d4]@5 ~ b3@3 ~", CG: "~@6 [b3,c4,d4]@6 b3@3 ~, ~@3 g4@2 ~@3", CH: "a4@7 ~ [e4,a4,b4] ~@7, ~@4 e5 ~@3",
CI: "~@6 [b3,c4,d4,g4]@5 ~ [a3,b3]@3 ~", CJ: "[b3,c4,e4,g4]@7 ~ [b3,c4,e4,g4]@2 ~@6", CK: "~@6 [b3,c4,d4,g4]@9 ~",
CL: "[b3,c4]@8 a3@2 c4@2 [a3,e4]@3 ~, e4@5 ~@3, a3@3 ~@5", // Cmaj7 A5
CM: "~@2 b3 d4 [g3,b3,g4]@2 [g3,b3,d4]@2, d4 ~@3, b3 ~@7, ~ g3@5 ~@10", // G
CN: "[a3@2 ~@4 c4@2 [f3,a3]@3 ~@3 [a3,c4]@4 ~@4 c4@2 [a3,f4]@4 [f3,a3,c4]@3 ~, c4@2 a3@2 f4@3 ~@3 a3@2 ~@4, ~@2 f3@5 ~@5 f3@5 ~ f3@5 ~ f3@2 ~@6]/2", // F Am Dm F
CO: "g3 ~ g3 ~@3 c4 c3, [c4,e4]@8 [g3,e4]@7 ~, ~@6 c3@7 ~@3", // C
CP: "[[a3,d4]@6 ~@8 d3@2 ~@4 f#3 ~@5 f#3@2 a3@2 d4 ~, ~@6 d3@6 a3@7 ~@3 [f#3,a3]@4 ~@6, ~@8 d4@13 ~ d4@6 ~@4, ~@8 f#3@10 d3@5 ~ d3@4 ~@4]/2", // D5 F#m
CQ: "[f3,a3,c4]@3 ~ [g3,b3,d4]@3 ~ [a3,b3,c4,e4]@7 ~", // F G Am
CR: "[[a3,b3,c4,e4]@3 ~@11 [b3,c4,d4,g4]@5 ~ [a3,b3,d4,f#4]@3 ~ a3@4 a3@2 ~@2, ~@24 [b3,c4,e4]@7 ~]/2", // Am G Bm7 Cmaj7
CS: "[[a3,b3,c4,e4]@3 ~@11 [a3,b3,d4,e4]@9 ~ a3@4 ~@2 a3@4 a3@2 b3@2 a3 ~@5 g3@3 ~, ~@24 [b3,c4,e4]@9 ~ [c4,e4]@6 ~@8, ~@34 b3 ~@5 [b3,d4]@7 ~]/3", // Am Asus4 Cmaj7 C Bm
CT: "g3 ~@3 g3@3 ~@5 f3@3 ~, [b3,d4]@7 ~ [a3,c4]@7 ~", CU: "a3@2 f3@3 ~ f3@2 ~@2 f3@5 ~, c4@5 ~ [a3,c4]@9 ~",
CV: "[[f3,a3,c4]@3 ~ [f3,a3,c4]@4 ~@8 e3@2 ~@2 e3@2 c3@2 [f#3,a3,d4]@6 ~@2 f#3@2 ~@4 d3@2 ~@4 f#3 ~@5 d3 ~ [f#3,a3,d4]@3 ~ f3@3 ~ f3@4, ~@8 [e3,g3,c4]@8 [g3,c4]@7 ~@9 [a3,d4]@11 ~@3 [f#3,a3,d4]@6 ~@4 [a3,c4]@7 ~, ~@14 c3@6 ~@10 d3@6 f#3@5 ~ d3@4 ~@18]/4", // F D C C5 D5 D Am
CW: "[g3,b3,d4]@7 ~ a3@3 ~ a3@3 ~, ~ [b3,c4,e4]", // G Cmaj7
CX: "[[a3,b3]@3 ~ a3@5 ~@3 a3 ~ [a3,b3,c4,e4]@5 ~ [a3,c4,e4]@4 f3@3 ~ f3@3 ~, [c4,e4]@6 ~@4 b3 ~ [a3,c4]@4]/2", // Asus2 Am C Am
CY: "g3@2 ~@2 g3@3 ~ a3@3 ~ a3@3 ~, [b3,d4]@7 ~ [b3,c4,e4]@7 ~", // Bm Cmaj7
CZ: "[a3 ~@3 a3@5 ~ [a3,b3,c4,e4]@4 [a3,b3,c4,e4]@5 ~ [a3,b3,c4,e4]@3 ~ [g3,c4,e4]@6 ~@2 g3@2 ~@2 g3@3 ~ g3@3 ~ g3@3 ~, [b3,c4,e4]@3 ~@7 c3@2 ~@4, ~@32 [c4,e4]@8 [b3,d4]@7 ~]/3", // Am C Cmaj7 C Bm
DA: "[g3@2 ~@2 g3@3 ~ [a3,b3,e4]@5 ~@5 [a3,b3,e4]@4 e3 ~ [g#3,b3,e4]@6 e3@2, [b3,d4]@7 ~@7 [a3,b3,e4]@4 ~@14, ~@16 e3@5 ~@11]/2", // Asus2 E Bm Asus2
DB: "[g#3,b3,d4,e4]@4 [e3,g#3,b3,d4,e4]@3 ~ [c3,a3,c4,e4]@3 ~@5", DC: "[g3,b3,e4] ~ [f3,a3,c4,d4] ~",
DD: "[e3@2 [g3,b3,d4]@6 a3@4 ~@2 a3@3 ~ a3@3 ~ a3@3 ~ a3@4 ~@2, ~@4 [b3,c4,e4]@6 ~ [b3,c4,e4]@4 ~]/2", // G Cmaj7
DE: "~@2 [a3,b3,c4,e4]@5 ~@7 c3@2, ~ [g3,c4,e4]", DF: "~@4 d3@2 ~@2 f3@2 ~@2 f3@3 ~, [f#3,a3,d4]@7 ~ [a3,c4]@7 ~",
DG: "g3@2 ~@2 g3@4 [a3,b3,c4,e4]@7 ~, [b3,d4]@7 ~@9", // Am Bm
DH: "[[a3,b3]@3 ~ a3@5 ~@3 a3 ~ [a3,b3,c4,e4]@5 ~ [a3,b3,c4,e4]@3 ~@7 c3@2, [c4,e4]@13 ~@11 [g3,c4,e4]@8]/2", // Asus2 Am C
DI: "~@4 d3 ~@3 f3@3 ~ f3@3 ~, [f#3,a3,d4]@7 ~ [a3,c4]@7 ~", DJ: "g3@2 ~@2 g3@3 ~ [a3,b3,c4,e4]@7 ~, [b3,d4]@7 ~@9",
DK: "[a3@3 ~ a3@6 ~@2 a3 ~ [a3,b3,c4,e4]@5 ~ [a3,b3,c4,e4]@4 [a3,c4]@8, [b3,c4,e4]@6 ~@6 f3@3 ~]/2", // Am Cmaj7
DL: "[f3@2 ~@2 f3@6 ~@2 f3 ~ [f3,a3,c4]@5 ~ [f3,a3,c4]@3 ~ [a3,b3,d4]@7 ~, c4@13 ~@19, a3@5 ~@11]/2", // F Bm7
DM: "[a3,b3,d4]@15 ~", DN: "[e3,g#3,b3,d4]@7 ~ [a3,b3,c4,e4]@5 ~@3", DO: "~@4 [c3,g3,c4,e4]@3 ~",
DP: "~@2 [f3,a3,c4]@5 ~ [g3,a3,b3,d4]@7 ~", DQ: "~@6 [b3,c4,d4,g4]@5 ~ [a3,b3,d4,f#4]@3 ~",
DR: "[a3,b3,c4,e4]@3 ~ [a3,b3,c4,e4]@3 ~", DS: "~@6 [b3,c4,d4]@6 [a3,b3,d4,f#4]@3 ~, ~@3 g4@2 ~@3",
DT: "[a3,b3,c4,e4]@7 ~ b3@2 ~@2 [a3,b3]@4, ~ [c4,e4], ~@8 a3 ~@7", DU: "~@6 [b3,c4,d4,g4]@4 [a3,b3,f#4]@5 ~",
DV: "a3@3 ~ a3@2 ~@2 [b3,c4]@2 ~@2 [a3,b3,c4]@4, [b3,c4,e4]@7 ~ e4@8, ~@8 a3 ~@7", DW: "[[a3,b3,c4,e4]@29 ~@3]/2",
})).s("gm_piano").gain(0.45).pan(0.7)
// chords · piano · "tk1" · soft notes
const piano_soft = note(`<
~@6 A@2 B@2 C@2 D@2 ~@5 E F ~@41 G ~@11 H ~@34 I@2 J@2 ~@2 K@2 ~@2 I@2 ~@7 L ~ M N O ~ P Q R Q S ~ T U V W@2 ~ X Y Z
~@16 AA ~@5 AB ~@10 AC ~@3 AB ~@4 AD ~@11 AE ~@4
>`.pickRestart({
A: "[[a3,b3]@21 ~ [g3,a3,b3]@9 ~, ~@22 d4@5 ~@5]/2", B: "[[a3,b3,e4]@10 ~ [a3,b3,d4]@5, ~@22 g3@5 ~@5]/2",
C: "[[a3,b3,c4,e4]@21 ~@7 g3@4, ~@11 a3@5]/2", D: "[[a3,b3,c4,e4]@10 ~ g3@2 ~ g3@2, ~@11 [a3,b3]@5]/2", E: "~ f#3",
F: "~@8 f#3@3 ~@5", G: "~@14 c4 ~", H: "~@5 d4@2 ~", I: "[~@12 b3@7 ~@13]/2", J: "[~@6 b3@3 ~@7]/2",
K: "[~@12 [b3,e4]@7 ~@13]/2", L: "~@6 d4 ~", M: "~@12 a3@3 ~", N: "b3@7 ~@9", O: "~@6 [d4,f#4] ~",
P: "~@12 [a3,d4]@3 ~", Q: "[a3,b3]@7 ~@9", R: "~@6 b3@5 ~ [a3,f#4]@3 ~", S: "~@6 c4@6 [a3,f#4]@3 ~",
T: "~@12 [a3,b3,d4]@3 ~", U: "[a3,b3]@7 ~ b3@2 ~@6", V: "~@6 [b3,g4]@5 ~ [a3,d4,f#4]@3 ~", W: "[[a3,b3,e4]@25 ~@7]/2",
X: "~@12 [a3,d4,f#4]@3 ~", Y: "[e4,b4,e5]@7 ~@9", Z: "~@12 [d4,f#4]@3 ~", AA: "f3 ~@3 a3@2 ~@10", AB: "~ b3@2 ~",
AC: "~@4 b3 ~@11", AD: "~@15 f3", AE: "~@10 d4@5 ~",
})).s("gm_piano").gain(0.3).pan(0.7)
// bass · fretless bass · "tk2"
const bass = note(`<
~@23 A B C D E@3 F@3 G@3 H I D J K L M N O P@2 Q R@2 S@2 T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ@2 AK AL AM AN AO
AP AQ AR AS AT AU AV AW AX AY AV AY AZ BA BB BC AV BD AR BE AV BF BG BH AR BD AV BI BJ BD AR BK BL@2 BM BN BO BP BQ BR
BS BT BU BT BV BW BX BY BZ CA CB CC CD CE CF CG BV CH CF CI CF CJ CK CL CM ~ CM ~ CM CN CM ~ CM ~ CM ~ CO CP CQ CR CS
CT CU CV@3 CW@3 CX CY@2 CZ DA DB DC DD DE DC DD DF DG@3 DH DI DJ DK Z AA DL@2 Z AA DM DN DO DP DQ DR DS DT DU DV DW DX
DY DX DZ AR EA EB@2
>`.pickRestart({
A: "~ a2", B: "~@3 d2 g1 a1 d2 e2", C: "e1@7 ~ a2@8", D: "~ e3 a2 e2 g2@4",
E: "[~@2 d3@2 g2@2 d2@2 f2@17 ~ c2@2 f2@6 a1@2 a#1@2 ~@2 c2@8]/3",
F: "[~@2 g2@2 c2@3 ~ d2@10 ~@4 a1 ~ d2 ~@3 d2@8 ~@4 f2@4 ~@4]/3",
G: "[g2@4 ~@4 a2@13 ~ d2 ~ g1@2 a1@2 d2@2 e2@4 e2@2 e1@3 ~ a2@8]/3", H: "a2 ~@2 d2 g1 a1 d2 e2", I: "e1 a2",
J: "~ a2 g2 d2 f2@4", K: "f2@2 ~@2 c2@2 ~@4 f2 ~@3 c2@2", L: "~ a1 ~ b1 c2@4", M: "~ g2 c2 c#2 d2@4",
N: "d2@7 ~ f#2@4 f#2@4", O: "a2@2 f2 ~", P: "[g2@2 ~@2 a2@6 ~ d2 e2 g2 a2@2]/2", Q: "g2 e2 d2 ~ f2@4",
R: "[g2@4 a2@7 e2@2 g2 a2@2]/2", S: "[g2 e2 d2 ~ c2@6 g2@2 g2@4]/2", T: "~ c2 d2 d#2 e2@2 e2@2",
U: "e1@2 e1 d2 e2@2 e2@2", V: "e2@2 d2@2 c2@2 b1@2 a1@3 ~@5", W: "c2@3 ~@5 d2@2 ~@6", X: "e2@2 g2@3 ~@3 a2@8",
Y: "a2@4 ~@2 d2@2 e2@2 g2@2 a2@3 ~", Z: "a2@2 g2@2 e2@2 d2@2 c2@3 ~@5", AA: "d2@3 ~@5 f2@3 ~@5", AB: "g2 d2 ~@2 a1@4",
AC: "a1@9 ~ c3@2 a2@2 g2@2", AD: "a2@2 e2@2 d2@2 a1@2 c2@3 ~@5", AE: "d2@3 ~@5 f2@2 ~@6", AF: "g2 d2 ~@2 a2@3 a2",
AG: "a2@3 ~@3 e2@4 a2@2 e2@3 ~", AH: "a2@5 ~@3 f2@6 f2@2", AI: "f2@2 ~ f2 f1 f1@2 f1", AJ: "[f1 d2 e2@3 e2 e2@2]/2",
AK: "e2@4 a1 ~@3", AL: "~@4 c2 ~@3", AM: "d2@2 f2@2 ~@4 [d2,g2]@3 ~@5", AN: "a2@8 a2@5 ~ e2@2",
AO: "g1 a1 d2 e2@3 ~ e2", AP: "[a1,a2]@8 [a1,a2]@3 ~@3 d2@2", AQ: "g1@2 a1@2 d2@2 e2@7 ~@3", AR: "a2@3 a2!2 ~@2 d2",
AS: "g1@2 a1@2 d2@2 e2@3 ~ e1@3 ~ g1@2", AT: "a2@2 a2!3 ~ d2!2", AU: "g1@2 a1@2 d2@2 e2@7 ~ e2@2",
AV: "a2@2 a2!3 ~@2 d2", AW: "g1@2 a1@2 c2@2 d2@4 a1@2 e1@3 ~", AX: "a2!5 ~@2 d2", AY: "g1 a1 d2 e2@2 d2 e2 ~",
AZ: "a2@2 a2 c3 a2 ~@2 d2", BA: "g1 a1 d2 e2@3 e2!2", BB: "a2@3 a2 a2@2 c3@2 a2@2 ~@4 d2@2",
BC: "g1@2 a1@2 d2@2 e2@3 ~ g2@3 ~ g2@2", BD: "g1 a1 d2 e2@2 e2@2 e2", BE: "g1 a1 d2 e2@2 e2!3",
BF: "g1 a1 d2 e2@2 e2@2 g2", BG: "a2@2 a2@2 a2 ~@2 d2", BH: "g1 a1 d2 e2@2 g2@2 g#2", BI: "g1 a1 d2 g2@3 a2 ~",
BJ: "a2@7 ~ a2 ~@5 d2@2", BK: "g1!3 d2 e2 d2 e2 d2",
BL: "[g2@2 a2@2 ~@2 e2@2 a2@2 e2@2 ~@2 g1@4 a1@4 c2@4 d2@3 ~ e2@2]/2", BM: "a2@2 g2@2 e2@2 a1@2 a2@2 e2 ~@3 d2@2",
BN: "~ d2 ~ e2 ~ g2 ~ a1", BO: "~ c2 ~ d2 ~ a1!2 d2", BP: "~@2 d#2@3 ~ e2@2 ~@2 a1@2 a1@2 ~@2",
BQ: "~@2 c2@2 ~@2 a1@3 ~ e2@3 ~ g2@2", BR: "~ a2!2 d2!2 d#2!2 e2", BS: "a2@8 a2 ~@7", BT: "g1 a1 c2 d2 e2!3 g2",
BU: "a2@7 ~ a2@2 ~@6", BV: "a2@3 a2!2 ~@3", BW: "g1 a1 d2 e1@3 e2 g2", BX: "a2!3 e2 a1 ~@3", BY: "g1 a1 d2 e1@4 ~",
BZ: "a2!3 c3 a2 ~@2 d2", CA: "g1@2 a1@2 d2@2 e2@2 e1@7 ~", CB: "a2!5 ~@3", CC: "g1@2 a1@2 d2@2 e1@3 ~ e1@2 g2@3 ~",
CD: "a2@2 a2@2 a2 ~@3", CE: "g1 a1 d2 e1@2 e2 g2 ~", CF: "a2@4 a2 ~@3", CG: "g1@2 a1@2 d2@2 e2@4 g2@5 ~",
CH: "g1 a1 d2 e2@3 g2@2", CI: "g1 a1 d2 e2@2 e1@3", CJ: "g1 a1 d2 e2@4 ~", CK: "a2@15 ~", CL: "g1@2 a1@2 d2@2 e2@9 ~",
CM: "a2", CN: "~@3 a2", CO: "a2!2", CP: "g2!2", CQ: "f2", CR: "~ f2 e2 d2", CS: "c2@5 g2 c2 c#2", CT: "d2@13 ~@3",
CU: "f#2@8 a2@4 a1@3 ~", CV: "[f2@3 ~ g2@2 ~@2 a2@13 ~ d2@2 g1@2 a1@2 d2@2 e2@7 ~@3 a2@2 a2@2 a2@4]/3",
CW: "[a2@3 ~@3 d2@2 g1@2 a1@2 d2@2 e1@7 ~@3 a2@10 e3@2 a2@2 e2 ~ g2@2 g2@4 g2@2]/3",
CX: "~@2 d3@2 ~@2 g2@2 f2@3 ~@3 c2@2", CY: "[~@4 f1@4 ~@2 a1@3 ~ c2@4 f2 ~ c2@2 a1@2 c2@7 ~]/2",
CZ: "e2@3 g2@2 ~ c2@2 d2@8", DA: "f#2 a2", DB: "d3@3 ~ f2@4", DC: "g2 a2", DD: "a2 ~@2 d2 e2 g2 a2 c3",
DE: "a2@2 g2@2 e2@2 c2 ~ f2@8", DF: "a2 g2 e2 a1 c2@4",
DG: "[e1@6 f1@2 g1@4 g2@6 g1@3 ~ g1@2 e1@2 e1@10 d3@2 e3@2 e3@2 d3@2 b2@3 ~]/3", DH: "e2 ~ e2@2 d2@2 c#2@2 c2@2 ~@6",
DI: "~@8 d2@3 ~@5", DJ: "e2@2 g2@5 ~ a2@8", DK: "a2@6 g2@4 e2@2 g2@2 a2 ~",
DL: "[g2@2 a2@2 d2@3 ~ a2@13 ~ d2@2 e2@2 g2@2 a2@2 c3@2, f2 ~@31]/2", DM: "g2 d2 ~@2 a2@2 a2!2",
DN: "a2@9 ~ a2@2 g2@2 e2@2", DO: "d2 e2 d2 c2 f1@3 f1", DP: "f1@2 f2!2 f1 f1@2 f1", DQ: "f1@2 b1 c2 d2@2 d2@2",
DR: "d2 e2 f2@2", DS: "e2@3 ~ e2@3 ~ a1@3 ~@5", DT: "~@8 c2@3 ~@5", DU: "d2@2 f2@2 ~@4 g2@3 ~@5",
DV: "a2@8 a2 ~@5 d2@2", DW: "g1@2 a1@2 d2@2 e2@4 e1@3 ~ g2@2", DX: "a2@6 a2@2 a2 ~@5 d2@2",
DY: "g1 a1 d2 e2 e1@2 e2!2", DZ: "g1 a1 d2 e2@2 e1 e1@2", EA: "g1 a1 d2 e2@2 e1!3", EB: "[a1@27 ~@5]/2",
})).s("gm_fretless_bass").gain(0.3)
// bass · piano · "tk3"
const bass_2 = note(`<
~@6 A B C B A B A B D E F G H I J K@8 L@4 M@2 N O@8 P Q@3 R@7 S T@3 U V@3 W X@7 Y Z AA AB AC AD AE AB AE AD AF AB AF
AG AF AB AF AB AF AD AF AB AF AB AE AB AF AB AF AB AF AH AI AB AJ AK AF AB AF AB AF AB AL AD AF AD AM AG AF AN AF AH
AO AH AA AH AP AQ AR AS AR AQ AR AQ AT AQ AR AS AR AS AT AS AU@2 ~@2 AV AW AV AW AF AX AY@2 AZ I BA BB@2 BC@8 BD@2
BE@3 BF@7 S BG@3 BH BI@3 BJ BK@6 BL BM BN AM AB AF AB AM AB BO AB BP@2
>`.pickRestart({
A: "a1", B: "g1 a1 d2 e2@5", C: "a1@15 ~", D: "~@3 a2, a1@15 ~", E: "~@12 g2@3 ~, g1@15 ~", F: "[f1,f2]@7 f2",
G: "~@2 f2@4 f2@7 ~ f2@2, f1@7 ~", H: "c2@15 ~", I: "d2@7 ~", J: "d2@12 d2 ~@3",
K: "[[f1,f2]@2 ~@2 [g1,g2]@2 ~@8 a2@8 e2 ~ g1@2 a1@2 d2@2 e2@10 ~@8 a2@4 ~@2 a2 ~ g1@2 a1@2 d2@2 e2@9 ~ a1@14 a2 ~ g1@14 g2 ~ f1@14 f2@2 ~@2 f2@6, ~@4 a1@7 ~@9 a1@7 ~@33 f1@4]/8", // F G
L: "[~@2 f2@5 ~ c2@14 ~@2 d2@15 ~ d2@14 ~@2 [f1,f2]@7 ~]/4", // F
M: "[g1@6 g2 ~@13 a2@2 ~@2 g1@2 a1@2 d2@2 e2@2, g2@4 ~@4 a1@15 ~@9]/2", N: "~ e2@2 ~ a1@3 ~",
O: "[a1@3 ~@5 g1@2 a1@2 d2@2 e2@8 ~@8 a2@7 ~ a2@2 ~@6 g2@7 ~ g2 ~@7 f2@7 ~ f2@2 ~@2 f2@7 ~ f2@6 c2@14 ~@2 d2@14 ~@2 d2@8, ~@24 a1@15 ~ g1@14 ~@2 f1@14 ~@2 f1@13 ~@43]/8",
P: "~@2 f1 f2", Q: "[~@4 g2@4 ~@6 a2@6 ~@2 a2@2 ~@6 a2@4 a2@3 ~@7 f2@3 ~, g1@6 ~@2 a1@14 ~@2 a1@13 ~@3 f1@7 ~]/3",
R: "[~@4 g2@3 ~@7 a2@6 ~@2 a2@2 ~@2 a2@7 ~ a2@3 ~ a2@2 c2@14 ~@8 g2@7 ~ g2 ~ e2@13 ~ e2 ~ e2@15 ~ [a1,a2]@3 ~@5, g1@7 ~ a1@14 ~@2 a1@13 ~@19 g1@14 ~@42]/7", // A
S: "c2 ~ d2 ~", T: "[~@2 [g1,g2]@5 ~ a1@14 a2@2 ~@2 a2@7 ~ a2@3 ~ a2@2 c2@6 ~@2, ~@12 a1@7 ~@5]/3",
U: "d2@6 ~@2 f1@7 ~", V: "[g1@6 g2@2 a1@14 a2@2 ~@2 a2@11 ~ a2 ~ c2@8, ~@8 a1@5 ~@3]/3", W: "d2@7 ~ f1@6 f2@2",
X: "[g1@6 g2 ~ a1@14 a2@2 ~@2 a2@10 ~@2 a2 ~ f1@14 f2@2 ~@2 f2@8 f2@3 ~ f2 ~ e2@13 ~ e2 ~ e2@12 ~@2 e2 ~ a1@3 ~@5, ~@12 a1@7 ~ f2@6 ~@2 f1@7 ~@21]/7",
Y: "~@2 [c2,c3,g3,c4,e4] ~", Z: "[a2,d3]@2 [c3,f3]@6 g1@7 ~", AA: "~@6 a2@5 ~@3 a2 ~, a1@7 ~",
AB: "g1@2 a1@2 d2@2 e2@3 ~ e2@3 ~ e2 ~", AC: "~@6 a2@7 ~@2 a2, a1@15 ~", AD: "g1@2 a1 ~ d2@2 e2@3 ~ e2@3 ~ e2 ~",
AE: "~@6 a2@7 ~ a2 ~, a1@7 ~", AF: "~@6 a2@6 ~@2 a2 ~, a1@7 ~", AG: "g1@2 a1 ~ d2 ~ e2@3 ~ e2@3 ~ e2 ~",
AH: "g1@2 a1@2 d2@2 e2@3 ~ e2@3 ~ e2@2", AI: "~@8 a2@3 ~@3 a2 ~, a1@7 ~", AJ: "~@6 a2@5 ~ a2@3 ~, a1@15 ~",
AK: "~@2 a1@2 d2@2 e2@3 ~ e2@3 ~ e2 ~, ~ g1@2 ~@13", AL: "a1@6 a1@8 a2 ~, ~@3 a2@3 ~@2",
AM: "~@6 a2@7 ~ a2 ~, a1@15 ~", AN: "g1@2 a1@2 d2 ~ e2@3 ~ e2@3 ~ e2 ~", AO: "~@6 a2@6 ~@3 a2, a1@7 ~",
AP: "a1@5 ~@3 a2@2 ~@6, ~@5 a1@5 ~@6", AQ: "g1 ~ a1@2 d2@2 e2@10", AR: "a1@5 ~ a1@2 a2@2 ~@6",
AS: "g1 ~ a1 ~ d2@2 e2@10", AT: "a1@5 ~ a1 ~ a2@2 ~@6", AU: "[a1@25 ~@7]/2", AV: "a1@5 ~ e2@2 a2@2 ~@6",
AW: "g1 ~ a1 ~ d2@2 e2@9 ~", AX: "~@10 g2@3 ~ g2 ~, g1@15 ~", AY: "~@10 f2@3 ~ f2@2, f1@7 ~", AZ: "c2@7 ~",
BA: "d2@13 ~@3", BB: "[[f1,f2]@3 ~ [g1,g2]@3 ~@7 a2@6 ~@2 a2 ~ g1@2 a1@2 d2@2 e2@2, ~@4 a1@7 ~@5]/2",
BC: "[~@2 e2@3 ~ e2@2 ~@6 a2@5 ~@3 a2 ~ g1@2 a1@2 d2@2 e2@9 ~@9 a2@5 ~ a2 ~@7 g2@6 ~@2 g2 ~@7 f2@5 ~@3 f2@6 ~@2 f2@3 ~ f2@3 ~ f2@2 c2@15 ~ d2@8, ~@8 a1@14 ~@18 a1@15 ~ g1@14 ~@2 f1@30 ~@26]/8",
BD: "[~@8 d2@13 ~@3 f1@6 f2 ~, ~@6 f2 ~]/2",
BE: "[g1@6 g2@2 ~@6 a2@6 ~@2 a2 ~@3 a2@3 ~ [a1,a2]@4 a1@4 a2 ~ f1@6 f2 ~, g2@4 ~@4 a1@15 ~ a1@5 ~@11 f2@5 ~@3]/3", // A
BF: "[g1@6 g2 ~@7 a2@6 ~@2 a2@2 ~@2 a2@4 ~@4 a2@3 ~ a2 ~ c2@13 ~ c2 ~@7 g2@7 ~ g2 ~@3 e2@12 ~@2 e2@11 ~ e2@2 ~@2 c2@3 ~@5, g2@4 ~@4 a1@14 ~@2 a1@5 ~ a1@8 ~@18 g1@14 ~@42]/7",
// … 370 more lines
More by Elton John
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.