0:00/0:00
// Just The Way You Are — Billy Joel
// 135 bpm, 4/4, key D major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 161 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(135/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.
// bass · fretless bass · "FRETLESS"
const bass = note(`<
~@20 A B C D E F@2 G H I@2 J K L M N@2 O P@2 Q R S@2 T U V W X@2 Y Z AA AB P@2 Q AC S@2 T U V W X@2 AD AE AF AG AH AI
AJ AK AL AM AN AO@2 AP AQ AR AS AT AU@2 AV AW P@2 Q AC S@2 T U V W X@2 AD AE AF AG AF AI P@2 Q R S@2 T U V W X@2 Y Z
AA AB P@2 Q AC S@2 T U AX AY AZ BA BB BC@2 BD BE@2 E BF BG BH BI@2 BJ BK BL@2 BM BN BO@2 BP@2 AA BQ BG BR ~
>`.pickRestart({
A: "d2@8 ~ d2 ~@2 d2@11 ~", B: "b1@8 ~ b1 ~ b1@9 f#1@3 ~", C: "g1@8 ~ g1 ~@2 g1@11 ~", D: "b1@8 ~ d2@5 ~@3 a1@6 ~",
E: "g1@7 ~@2 g1 ~@2 g1@10 ~@2", F: "[g1@7 ~@2 g1 ~@2 g1@5 d2@6 f#1@8 ~@2 f#1 ~@2 f#1@11 ~]/2", G: "a1@9 d2@9 a1@5 ~",
H: "g1@8 ~ g1 ~@2 g1@9 ~@3", I: "[g1 ~@2 g1 ~@3 g1 ~@4 g1@5 d2@6 f#1@8 ~@2 f#1 ~@2 f#1@10 ~@2]/2",
J: "b1@7 ~@2 b1 ~@2 b1@5 ~ f#1@5 ~", K: "e1", L: "a1@23 ~", M: "d2@3 a2@3 d3 ~@2 d3@15",
N: "d2@3 a2@2 ~ d3 ~@2 d3@15", O: "d2@2 ~ a2@2 ~ d3 ~@2 d3@11 a2@2 ~@2",
P: "[d2@7 ~@2 d2 ~@2 d2 ~@2 d2@7 ~ b1@8 ~@2 b1 ~@2 b1@5 ~ f#1@5 ~]/2", Q: "g1@7 ~@2 g1 ~@2 g1@11 ~",
R: "b1@7 ~@2 d2@9 a1@5 ~", S: "[g1@7 ~@2 g1 ~@2 g1@10 ~ g1@8 ~@2 g1 ~@2 g1@5 ~ d2@6]/2",
T: "f#1@7 ~@2 f#1 ~@2 f#1@10 ~@2", U: "a1@8 ~ d2@9 a1@6", V: "g2@7 ~@2 g2 ~@2 g2@10 ~@2",
W: "g2 ~@2 g2@3 ~ g2 ~@3 g2@5 ~ d2@6 ~", X: "[f#2@7 ~@2 f#2 ~ f#2@11 ~ b1@8 ~@2 b1 ~@2 b1@5 ~ b2@6]/2",
Y: "e2@7 ~ e2 ~@2 e2@10 ~@3", Z: "e2 ~@2 e2@3 ~ e2 ~@4 e2@9 b1@3", AA: "a1@8 ~ a1 ~@2 a1@12",
AB: "a2@8 ~ a2 ~@2 a2@5 ~ a1@4 ~@2", AC: "b1@7 ~@2 d2@8 ~ a1@5 ~", AD: "e1@7 ~@2 e1 ~@2 e1@9 ~@3",
AE: "a1@7 ~@2 a1 ~@2 a1@6 a2@6", AF: "d1@3 a1@3 d2 ~@2 d2@14 ~", AG: "d1@3 a1@3 d2 ~@2 d2@15",
AH: "d1@3 a1@3 d2 ~@2 d2@13 ~@2", AI: "d1@3 a1@3 d2@2 ~ d2@12 ~@3", AJ: "g2@7 ~@2 g2 ~@2 g2@11 ~",
AK: "a2@7 ~@2 a2 ~@2 a2@11 ~", AL: "f#2@8 ~ f#2 ~@2 f#2@6 a2@6", AM: "b1@8 ~ b1 ~@2 b1@12",
AN: "e2@8 ~ e2 ~@2 e2@11 ~", AO: "[a1@7 ~@2 a1@2 ~ a1@11 d2@7 ~@3 d2 ~@2 d2@10 ~@2]/2",
AP: "d2@3 d3@2 ~@4 d2@2 ~ c2@3 c3@2 ~@3 c2 ~@3", AQ: "a#1@7 ~@2 a#1 ~@2 a#1@8 ~ c2@2 ~",
AR: "~@3 c2@2 ~@4 c2@6 g1@2 ~ c2@2 ~ g1@2 ~", AS: "a1@7 ~@2 a1 ~@2 a1@11 ~",
AT: "d2@7 ~@2 d2 ~@2 d2@3 c2@3 a#1@2 ~ a1@2 ~", AU: "[g1@47 ~]/2", AV: "a1@15 a2@7 ~@2", AW: "a2@14 ~ e2@5 ~@4",
AX: "g1@23 ~", AY: "g2", AZ: "f#2", BA: "b1", BB: "e2", BC: "[a1@23 a#1@7 ~@3 a#1 ~@2 a#1@11 ~]/2",
BD: "c2@3 c3@2 ~@6 c2@3 ~@4 c2@5 ~", BE: "[a1@7 ~@2 a1 ~@2 a1@11 d2@7 ~@2 d2@3 ~ d2@6 a1@6]/2",
BF: "a1@7 ~ a1 ~@2 a1@6 a2@3 ~@4", BG: "d2@7 ~@2 d2 ~@2 d2@10 ~@2", BH: "b1@8 ~ b1@8 ~ f#1@5 ~",
BI: "[g1@8 ~ g1@2 ~ g1@11 b1@9 ~ d2@8 a1@6 ~]/2", BJ: "g1@8 ~ g1 ~@2 g1@10 ~@2", BK: "g1@7 ~@2 g1 ~@2 g1@6 d2@5 ~",
BL: "[f#1 ~@2 f#1@2 ~@2 f#1 ~@4 f#1@11 a1@9 ~ d2@8 ~ a1@5 ~]/2", BM: "g1@8 g1 ~@2 g1@11 ~@2",
BN: "g1@7 ~@2 g1 ~@2 g1@6 d2@6", BO: "[f#1@7 ~@2 f#1 ~@2 f#1@11 b1@7 ~@3 b1 ~@2 b1@5 ~ b2@6]/2",
BP: "[e2@7 ~@2 e2 ~@2 e2@11 e1@8 ~@2 e1 ~@2 e1@6 e2@6]/2", BQ: "a2@7 ~@2 a2 ~@2 a2@5 ~ e2@4 ~@2",
BR: "b1@8 ~ b1@8 ~@7",
})).s("gm_fretless_bass").gain(0.43)
// chords · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
A@3 B C@8 D E@2 F G@2 H I J K L M N O P Q D R@2 F S@5 T@8 U@2 V@3 W@2 X@2 Y Z@5 AA U@2 V@3 AB AC AD AE AF AG AH AI AJ
AK AL AM AN AO AP@2 AQ@2 AR@2 AS@2 Y Z@5 AA U@2 V@3 AB AC AT AE AU AE Y Z@5 AA U@2 V@3 W@2 X@2 Y Z@5 AA AV AW AX@2
AY@3 AZ@6 BA@2 BB@2 BC@2 BD@6 BE@4 BF@2 ~
>`.pickRestart({
A: "[~@20 a2@3 ~@10 [g4,b4]@6 ~@15 d4@3 ~@12 a2@3, [d2,d3]@9 g4@21 d4@17 ~@10 [a#3,e4,g4]@15, ~ a3@2 a#3@5 [d2,d3]@8 [d2,d3]@8, ~@6 d4@17 ~@4 a3@20 ~@4 a3@21, ~@9 e4@30 [f#4,a4]@17 ~@16]/3", // G D Edim D F#m
B: "~@18 d4@3 ~ e4 ~, [d2,d3], ~ a3@6 ~, ~@6 d4@3 g4@3 d4@3 [g4,a4]@6 f#4@2 ~, ~@3 b4@4 ~", // D Gsus2
C: "[d3@8 ~@10 d3@5 ~ b2@8 ~ b2@2 ~@7 [g#3,d4]@3 b2@3 g2@14 ~@7 g2@3 [b2,b3,d4]@9 b2@3 d3@4 ~@2 d3@5 ~ g2@8 ~ g2 ~@2 g2@11 ~ g2@8 ~@4 a#3@6 g2@5 ~ f#2@8 ~ f#2 ~@2 f#2@11 ~ [a3,e4,g4]@7 ~@2 [d3,f#4]@14 ~, d2, [a3,d4,f#4]@11 ~ [d4,f#4]@10 ~@2 f#4@23 ~@25 f#4@11 ~ f#4@11 ~@37 [d4,f4]@10 ~@50, ~@9 d3@8 ~@19 b2@8 ~@19 g2@5 ~@61 g2@8 ~@31 [a2,c4]@9 ~@15, ~@12 a3@8 ~@4 [g#3,d4]@17 ~@7 [b3,d4,f#4]@17 ~ [b3,d4,f#4]@5 ~@13 [a3,c4]@8 ~@4 [b3,d4,f#4]@20 ~@4 [a#3,d4,f4]@11 ~@13 [a3,d4,f#4]@20 ~@13 [a3,c4]@12 ~@3]/8", // G#dim Bm A7 D Dm Am G#dim Bm …
D: "g2@8 ~@4 [b3,d4,f#4]@7 ~@5, [b3,d4,f#4]@11 ~@13, ~@9 g2@14 ~", // Bm
E: "[[g2,d4]@9 g2 ~@5 a#3@2 ~@2 g2@2 g3@2 ~ [d4,f#4]@11 ~ [a3,d4,f#4]@10 ~@2, f4@17 ~ f4@2 ~@28, a#3@15 ~@3 [a3,a#3,d4]@4 ~ a3@8 ~@17, ~@9 d4@8 ~@31, ~@12 g2@7 ~@5 f#2@24]/2", // G5 D A#maj7
F: "[a3,d4,f#4]@15 f#4 ~@2 [a3,d4,f#4]@2 ~@4, b2@14 ~ b2@5 ~@4, ~@17 a4@5 ~@2", // D
G: "[a4@15 f#4@3 a4 ~@5 e2@8 ~ e2 ~@2 e2@11 ~, [e2,b3,d4]@20 ~ [b3,d4,g#4]@25 ~@2]/2", // E7 G#dim
H: "a2@8 ~ a2@13 ~@2, [b3,d4,g4]@23 ~", I: "[d4,g4]@8 ~ [g4,b4]@5 ~ [g4,b4,d5]@9, a2@23 ~, b3@3 ~, ~@9 d4@8 ~@7",
J: "d3@8 ~@10 d3@5 ~, d2@19 ~@5, [f#4,a4,d5]@11 ~ [d4,f#4]@10 ~@2, ~@9 d3@8 ~@7, ~@3 a3@2 ~", // D
K: "b2@8 ~ b2@2 ~@7 [g#3,d4]@3 b2@3, f#4@23 ~, [g#3,d4]@17 ~@7, ~@3 b2@2 ~", // G#dim
L: "g2@14 ~@7 g2@3, [b3,d4,f#4]@17 ~ [b3,d4,f#4]@5 ~, ~@15 g2@5 ~@4", // Bm
M: "[b2,b3,d4]@9 [a3,c4]@8 ~ a2@5 ~, f#4@7 ~@2 f#4@11 ~@4, ~@9 d3@4 ~@11", // Bm Am
N: "g2@8 ~ g2 ~@2 g2@11 ~, [b3,d4,f#4]@7 ~", // Bm
O: "g2@8 ~@4 a#3@6 g2@5 ~, [a#3,d4,f4]@11 ~ [d4,f4]@10 ~@2, ~@9 g2@8 ~@7", // A# Dm
P: "f#2@8 ~ f#2 ~@2 f#2@11 ~, [a3,d4,f#4]@5 ~", Q: "[a2,c4]@9 [d3,f#4]@14 ~, [a3,g4]@7 ~@2 [a3,c4]@12 ~@3, e4@5 ~@19",
R: "[[g2,d4]@9 g2 ~@5 a#3@2 ~@2 g2@2 g3@2 ~ [d4,f#4]@11 ~ [a3,d4,f#4]@10 ~@2, f4@17 ~ f4@2 ~@28, a#3@15 ~@3 [a3,a#3,d4]@4 ~ a3@11 ~@14, ~@9 d4@8 ~@31, ~@12 g2@7 ~@5 f#2@24]/2", // G5 D A#maj7
S: "[[b3,d4,g4]@20 ~@4 a2@24 ~@20 a2@3 ~@10 [g4,b4]@6 ~@15 d4@3 ~@12 a2@3, e2@21 b3@35 ~ e4@30 [g4,a4]@17 ~@16, ~@21 d4@33 d4@3 g4@21 d4@17 ~@10 [a#3,e4,g4]@15, ~@21 g4@25 ~@2 [d2,d3]@9 a#3@15 ~@3 a3@20 ~@4 a3@21, ~@51 a3@20 ~ [d2,d3]@24 [d2,d3]@24]/5", // G Gsus2 Edim D
T: "[~@9 g4@6 ~@3 d4@6 [a3,d4,f#4]@6 ~@3 [a3,d4,f#4] ~@2 [a3,d4,f#4]@9 ~@3 [g#3,d4,f#4]@7 ~@2 [g#3,d4,f#4] ~@2 [g#3,d4,f#4]@4 ~@2 [g#3,d4,f#4]@4 ~@2 [b3,d4,f#4]@7 ~@2 [b3,d4,f#4] ~@2 [b3,d4,f#4]@11 ~ [a3,b3,d4,f#4]@9 ~@2 d3@11 ~@2 [b3,d4,f#4]@7 ~@2 [b3,d4,f#4] ~@2 [b3,d4,f#4]@10 ~@2 [a#3,d4,f4]@7 ~@2 [a#3,d4,f4] ~@2 [a#3,d4]@9 ~@3 [d4,f#4]@9 a3@2 ~ [a3,d4,f#4]@7 ~@5, d2, d3@15 [g4,a4]@9 ~@81 [a3,f#4]@12 ~@51 a3@7 ~@17, ~@3 a3@21 d3@22 ~@2 b2@22 ~ g2@23 ~ b2@12 ~@12 g2@22 ~@2 g2@22 ~@3 f#2@21 ~@3, ~@6 d4@3 b4@15 ~@81 c4@10 ~@41 f4@6 ~@30]/8", // D G#m7b5 Bm Bm7 Bm A# D Gsus2 …
U: "[[a3,c4,e4,g4]@6 ~ g2 ~ f#4@5 ~ e4@3 f#4@4 ~@2 [b3,d4,f#4]@7 ~@2 [b3,d4,f#4] ~@2 [b3,d4,f#4]@8 ~@4, a2@7 ~@2 d3@13 ~ g2@22 ~@3, ~@9 [a3,c4]@11 ~@28]/2", // Am7 Bm Am
V: "[[a#3,d4,f4]@7 [a#3,d4]@2 ~@3 [a#3,d4,f4]@9 ~@12 [a3,d4,f#4] ~@2 [a3,d4,f#4]@8 ~@4 [a3,b3,d4,f#4]@7 ~@2 [a3,b3,d4,f#4] ~@2 [a3,b3,d4,f#4]@9 ~@3, g2@23 ~ f#2@23 b2@21 ~@4, ~@7 f4 ~@15 [a3,d4,f#4]@8 ~@41]/3", // A# D Bm7 D
W: "[[a3,b3,d4,f#4]@7 ~@2 [a3,b3,d4,f#4] ~@2 [a3,b3,d4,f#4]@2 ~ [a3,b3,d4,f#4]@4 [a3,b3,d4,f#4] ~@4 [a3,b3,e4]@7 [a3,b3,e4] ~@9 e2@5 ~@2, e2@13 ~@3, ~@18 [a3,b3,e4]@5 ~]/2", // Bm7 Asus2
X: "[[b3,d4]@8 ~ d4@2 ~ [b3,d4,g4] ~@2 b3@4 d4 ~@4 [b3,d4,g4] ~@2 [b3,d4,g4]@4 d4 ~@4 [g4,b4,d5]@4 ~@2 [d4,g4,b4]@3 a2 ~@2, a2@15 ~, g4@9 ~@6 g4@7 ~@26, ~@5 d4 ~@10]/2", // Bm G
Y: "[a3,d4,f#4]@6 ~@3 [a3,d4,f#4] ~@2 [a3,d4,f#4]@9 ~@3, d3@11 ~", // D
Z: "[[g#3,d4,f#4]@7 ~@2 [g#3,d4,f#4] ~@2 [g#3,d4,f#4]@4 ~@2 [g#3,d4,f#4]@4 ~@2 [b3,d4,f#4]@7 ~@2 [b3,d4,f#4] ~@2 [b3,d4,f#4]@11 ~ [a3,b3,d4,f#4]@9 ~@2 d3@11 ~@2 [b3,d4,f#4]@7 ~@2 [b3,d4,f#4] ~@2 [b3,d4,f#4]@10 ~@2 [a#3,d4,f4]@7 ~@2 [a#3,d4,f4] ~@2 [a#3,d4]@9 ~@3, b2@22 ~ g2@23 ~ b2@12 ~@12 g2@22 ~@2 g2@22 ~@3, ~@19 [a3,f#4]@4 ~@17, ~@57 c4@10 ~@41 f4@6 ~@6]/5", // G#m7b5 Bm Bm7 Bm A# D
AA: "[d4,f#4]@9 a3@2 ~ [a3,d4,f#4]@7 ~@5, f#2@7 ~, a3@7 ~@17", AB: "[e2,b3,d4,g4]@23 ~",
AC: "[b3,d4,g4]@23 ~, a2@19 ~@5", AD: "~ a2 ~ [a#3,d4,e4,g4]@5, d2@6 d3@17 ~",
AE: "d2 a2 ~ [b3,d4,g4,b4] ~ [b3,d4,g4,a4]@3, ~ d3@3, ~@9 a3 ~@14", // G
AF: "d2@3 a2@3 ~@2 [e4,g4]@13 ~@3, ~ d3@3, ~@8 [a#3,d4]@11 ~@5", // Em A#
AG: "d2@3 a2@3 ~@3 [c4,e4,g4]@4 ~@2 [c4,e4,f#4,a4]@5 ~@4, [a3,c4,f#4]@6 d3@13 ~@5", AH: "[b3,d4,g4]@7 ~, g2",
AI: "[a3,c#4,e4]@3 ~, a2@23 ~", AJ: "[f#3,a3,c#4]@19 ~@5, f#2",
AK: "~@3 f#4@3 f#3 ~, b2@7 ~, d#4@19 ~@5, [b3,c#4]@17 ~@7", AL: "[g3,d4,g4]@7 ~, e2@23 ~",
AM: "[g3,b3,g4]@19 ~@5, a2", AN: "[d3,a3,c#4,e4,f#4]@8 ~ [d3,a3,c#4,e4,f#4] ~@5 [a3,c#4,e4,f#4]@9, ~@15 d3@7 ~@2",
AO: "~@3 [a3,c#4,e4,f#4]@6 d2 ~@5 [c4,e4,g4]@6 c2 ~@2, d2@2 ~ c2@2 ~", // F#m7 C
AP: "[[a#3,d4,f4]@15 ~@3 [d4,f4,a4] ~@2 [c4,e4,g4]@9 f4@3 [g3,e4]@5 ~ [g3,d4]@7 ~@2, a#2@20 ~ c3@26 ~, ~@33 c4@14 ~]/2", // A# Dm C G5
AQ: "[[g3,c4,e4]@14 ~@4 [c4,e4,g4] ~@2 [a3,d4,f#4]@9 ~@3 [d4,f#4,a4]@3 ~@3 [a3,d4,f#4]@9, a2@21 d3@26 ~]/2", // C D
AR: "[[a#3,d4,f4]@13 ~@5 [d4,f4]@2 ~ [c4,e4,g4]@6 ~@3 [d4,f4]@2 ~ [g3,c4,e4]@4 ~@2 [f3,a#3,d4]@6 ~@3, g2@47 ~, ~@18 a4 ~@11 a#3 ~@17]/2", // A# Dm C Dm C A#
AS: "[[g3,b3,d4]@7 ~@2 [b3,d4,g4]@10 ~@2 [d4,g4,a4,b4]@8 ~ g4@2 ~ [g4,a4,b4,d5]@14 ~, a2@41 ~@7]/2", // G
AT: "d2 a2 ~ [a#3,d4,e4,g4]@5, ~@6 d3@17 ~", AU: "d2 a2 ~ [a#3,d4,e4,g4]@5, ~ d3@3",
AV: "[a3,c4,e4,g4]@6 ~ g2 ~ f#4@5 ~ e4@3 f#4@4 ~@2, a2@7 ~@2 d3@13 ~@2, ~@9 [a3,c4]@11 ~@4", // Am7 Am
AW: "~ f#4@10 ~, g2, b3@7 ~, ~ d4@20 ~@3",
AX: "[~@2 f4@9 ~ d4@3 a#3@3 a3@2 ~ g3 ~@8 a3@14 ~@4, g3@19 ~@5 f#2@23 ~, a#3@13 ~@11 e4@20 ~@4, ~ d4@9 ~@13 [d4,f#4,a4]@20 ~@5]/2", // D
AY: "[[d4,e4]@10 ~@2 d4@2 ~ e4@2 f#4@4 ~@3 e3@23 [b3,d4,g4]@14 ~@2 [b3,d4,g4]@8 ~, b2@24 ~@23 a2@23 ~@2, b3@12 ~@11 [g3,b3,d4,g4]@23 ~@26]/3", // Dsus2 G
AZ: "[d4@18 a4@5 ~@7 f4@3 [g3,c4,e4]@8 ~ [g3,c4,d4]@4 ~@2 [c4,e4]@16 ~ [c4,e4,g4]@3 ~@18 d4@8 ~@2 [d4,f4]@8 ~ [a#3,d4,f4]@11 ~ [g3,c#4,e4]@4 ~@2 [g3,d4]@5 ~ [g3,c#4]@5 ~ [g3,b3]@8 ~, [a#2,a#3]@23 [e4,g4]@6 ~@39 [d4,f#4]@18 ~@58, f4@17 ~@6 c4@9 ~@15 g3@16 ~@6 a3@23 ~@4 g2@25 a2@17 ~@6, ~@24 c3@23 ~ a2@23 d3@23 ~ [f3,a#3]@9 ~ f3@9 ~@30]/6", // C Gsus4 C Dm A# C#dim G5 Gdim …
BA: "[~@12 a4@11 ~@3 e4@3 ~@3 b4@15 ~, [d3,a3,d4,f#4]@22 ~ b2@23 ~@2, ~@12 [g#3,d4,f#4]@11 ~]/2", // D G#m7b5
BB: "[a4@2 g4@3 d5@6 b4@6 ~ f#4@5 ~ g4@4 a4@4 f#4@3 ~@7 e4@6, [g2,b3,d4]@23 b2@9 d3@14 ~@2, f#4@18 ~@6 [a3,d4]@11 a3@10 ~@3, ~@24 f#4@8 ~@4 [c4,d4,f#4]@11 ~]/2", // G D5 D7
BC: "[b4@2 a4@3 g4@9 ~ b3@3 ~ b3 ~@4 [a#3,d4,f4]@7 ~@7 a#4@3 d4@7, g2@22 ~ g2@22 ~@3, [d4,f#4]@16 ~@2 [d4,f#4]@2 ~@13 a#3@12 ~@3, b3@14 b4@9 ~ a#4@9 d4@8 ~@7, ~@33 f4@10 ~@5]/2", // A# D
BD: "[[f#4,a4]@2 ~@3 a4 ~@2 a4@6 f#5@3 d5@4 ~@3 [g3,c4]@5 ~@6 e5@6 d5@5 ~@2 d5@7 b4 ~ d5 e5 f5@3 ~ e5@2 ~@2 e5@4 ~ a#5@8 a#5@2 d5 ~@15 a4 ~@5 f#4@2 ~@2 [d4,f#4,b4]@5 ~ a4 ~ f#4@3 ~ f#4@3 ~@11 a4@3 f#4@5 ~@2, f#2@21 ~@2 a2@9 ~ [d3,d4]@14 g2@22 ~@2 g2@23 ~@2 f#2@23 b2@23 ~@2, [a3,d4]@19 ~@4 g5@6 f#5@4 f#3@8 ~@7 [d4,f#4]@23 ~ f4@19 ~@4 d4@5 ~ d4@5 ~@7 d4@3 ~@28, ~@2 f#4@17 ~@4 c5@18 ~@7 c#5 ~@10 e5 ~@6 d5@2 ~@27 f#4 [d5,a5]@6 a4@6 ~@36, ~@24 e4@8 ~ a3@12 ~@2 b3@20 ~@5 [a#3,d4]@22 ~ a3@23 ~@2 [b3,d4]@23 ~]/6", // F#m C5 Bm D D5 D D5 A# …
BE: "[~@9 a4@3 f#4@11 ~@9 b4@3 g#4@8 ~@8 g5@2 ~ g5@2 ~@4 [b3,d4,g4]@5 ~@4 d6@4 ~@2 [g4,b4,d5,g6]@4 ~@2 [b4,d5,g5,b6]@4 ~@2 [d5,g5,b5]@3 ~@6, e3@47 ~ g3@16 ~@32, d4@24 e4@18 ~@17 b5@7 ~@30, [e2,b3]@23 ~ e2@23 a2@42 ~@7, [e4,f#4]@13 ~@10 b3@18 ~@7 [b3,d4]@9 ~@11 [d4,g4,b4]@4 ~@24]/4", // G E5 Esus2 Bm G
BF: "[[d3,a3,d4,f#4]@11 ~ [g#3,d4,f#4]@11 ~, ~@23 b2@23 ~@2]/2", // D G#m7b5
})).s("gm_epiano1").gain(0.35).pan(0.3)
// other · ocarina
const ocarina = note("<~@4 A@2 B@2 C D E@5 F G@3 ~@142>".pickRestart({
A: "[~@11 d5@3 ~ f#5@5 ~ d5@6 b4@21]/2", B: "[~@9 f#4@3 b4@6 d5@3 b4@6 f#4@19 ~@2]/2",
C: "~@8 f#4 ~@2 g4@3 ~ a4@6 ~@3", D: "f4@5 d4 ~@3 d4@7 ~@2 a3@6",
E: "[f#4@16 ~@7 g4@6 a4@3 ~ f#4@8 e4@3 ~ f#4@14 ~ f#4@5 ~ f#4 ~@2 e4@6 d4@25 ~@4 d4@3 f#4@6 a4@6 ~]/5",
F: "c#5@3 ~ d5@19 ~", G: "[~@8 b4@3 ~ b4@6 c#5@3 d5@6 e5@11 ~ c#5@2 ~ b4@3 c#5 b4 a4@25]/3",
})).s("gm_ocarina").gain(0.35)
// other · recorder · "OCARINA"
const recorder = note("<~@130 A@2 B C D@2 ~@25>".pickRestart({
A: "[~@3 d4 f#4!2 ~ e4@2 d4@4 ~@3]/2", B: "~@8 d4@2 ~ f#4@5 ~ a4 ~@2 c#5@4", C: "~ d5@11",
D: "[~@9 b4@2 ~ b4@5 ~ c#5@2 ~ d5@6 ~@2 f#5@2 ~ e5@8 ~@8]/2",
})).s("gm_recorder").gain(0.5)
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
~@20 A@8 B@6 C@4 D E@7 F@4 G H@3 A@8 B@6 I@4 J@8 K@8 A@8 B@6 I@4 D L@7 M@4 G H@3 N O@4 P@7 Q@2 R@2 S@3 T D U@7 V@4 W
X@3 Y@2 ~
>`.pickRestart({
A: "[[a3,d4,f#4]@6 [a3,d4] ~@8 f#4@2 ~@4 [d4,f#4]@6 [f#4,b4]@2 ~@4 f#4@3 [d4,f#4,b4]@6 ~@5 [g3,d4,f#4,b4]@6 ~ [d4,f#4] ~@2 f#4@2 ~ [b4,d5]@3 b4@3 ~@3 [f#3,a3,d4,b4]@5 ~ [f#3,a3,d4,f#4]@3 ~@6 [c4,f#4,a4]@5 [a3,f#4,a4] ~@11 f#4 b4 ~ [f#4,b4]@3 ~ [b4,d5]@2 b4@2 ~@5 d4@6 [d4,g4,a#4,d5]@2 ~@4 [g3,d4,g4,a#4]@2 ~ [g4,a#4,d5]@3 [g4,a#4,d5]@2 g4 ~@6 b4@5 [a3,d4] ~@8 b4 ~@5 [e3,g3,c4,e4,a4]@6 ~ [c4,e4]@3 ~@3 [f#4,a4]@3 a4@3 a4@2 ~ a3 ~@5, d3@18 ~@65 a3@5 ~@8 [g3,d4,d5]@7 ~@4 [g3,d4,f#4]@5 ~@19 g3@6 ~@6 [d3,a3,d4,f#4]@6 ~@6 [d3,a3,d4,f#4]@5 ~@17 [d3,a3]@9 ~@6, ~@11 f#4@3 ~@6 b4@6 ~@48 b4@3 ~@93 a4@3 ~@7 f#4@6 ~@6, ~@12 d4@5 ~@42 f#4@5 ~@31 [f#4,b4]@6 ~@15 [g4,a#4,d5]@6 ~@10 d4@6 ~@39 c4@6 ~@9]/8", // D D5 D B5 Bm Gmaj7 D Bm …
B: "[[g3,d4,f#4,b4,d5]@6 [f#4,b4] ~@2 [f#4,b4]@3 [d4,f#4,b4]@5 ~@4 [e3,d4,g4]@6 [a#3,d4,g4]@2 ~@4 [d4,g4]@3 [d4,g4]@3 [d4,g4]@3 [a#3,d4,g4] ~@4 f#4@6 ~ f#4@2 f#4@3 a3@3 ~ a3@2 [d4,f#4] ~@5 [a3,d4,f#4,b4]@6 ~@3 [f#4,b4]@3 [d4,f#4,b4]@3 ~ [d4,f#4]@3 ~@2 b4@3 [e3,b3,d4,f#4,b4]@6 ~@4 b4@3 [f#4,b4]@2 ~ d4@2 [b3,d4,f#4] ~@2 e4 ~@2 [g3,b3,d4,g4]@9 ~ [b3,d4,g4]@9 [b3,d4,g4]@6, ~@12 d5@3 ~@18 a#3@6 ~@8 d3@20 ~@19 b4@3 ~@21 [f#4,b4]@3 ~@31, ~@47 [a3,d4]@9 ~@3 [d4,f#4]@6 ~@18 a3@6 ~@40 [a2,g3]@15]/6", // Gmaj7 B5 Bm Em7 Gm G5 Gm D …
C: "[~@32 [g4,b4]@15 ~@34 [b4,d5]@14 ~, d3@9 d5@18 ~@5 d5@19 ~@5 [e4,a#4]@16 ~@6 d4@14 ~@4, ~@3 a3@17 ~@3 d3@20 ~@4 d3@10 d5@20 ~@3 g4@13 ~@3, ~@6 d4@14 ~@6 a3@16 ~@8 a3@18 ~@3 d3@20 ~@5, ~@8 [e4,a#4]@16 ~@5 d4@14 ~@10 d4@14 ~@8 a3@17 ~@4]/4", // G Bm Edim
D: "[d4,f#4]@6 [d4,f#4]@2 ~ d4@2 ~ f#4@3 f#4@2 a3 [d4,f#4] ~@5, d3@5 ~, a3@8 f#4@3 ~ d4@6 ~@6", // D
E: "[[g#3,d4,f#4,b4]@6 [d4,f#4,b4] ~@2 [f#4,b4]@3 [f#4,b4]@3 [d4,f#4,b4]@3 [g#3,d4,f#4] ~@5 b4@6 [g3,d4,b4] ~@2 [d4,b4]@2 ~ [d4,f#4,b4]@3 [d4,f#4,b4]@3 [g3,d4,f#4,b4] ~@5 [d4,f#4,b4]@6 [f#3,f#4,b4] ~@5 [c4,f#4,a4]@3 [c4,a4]@3 [a3,f#4]@2 ~@4 [g3,f#4,b4,d5]@6 [f#4,b4] ~@2 [f#4,b4]@3 [b4,d5]@3 d5@2 g3 [d4,f#4] ~@4 [g3,d4,g4,a#4,d5]@6 ~ g4 ~@2 g4@2 [d4,g4,a#4,d5]@3 ~ [g4,a#4]@2 a#4 g4 ~@5 f#4@5 d3 [a3,d4] ~@2 [d4,f#4]@2 [a3,d4,f#4]@3 b4 [a3,d4,f#4]@3 [d3,a3] ~@5 [e4,a4]@6 ~@3 f#4@2 ~ [c4,a4]@3 [c4,a4]@3 [d3,a3,f#4] ~@5, ~@23 [d4,f#4]@6 ~@18 [f#3,a3]@6 ~@7 a3@6 ~@5 d4@6 ~@7 [g3,d4,f#4]@6 ~@14 a#4@3 ~@4 [d4,d5]@4 ~@4 [a3,d4]@6 ~@6 b4 ~@11 [e3,g3,c4]@6 ~@6 a3@6 ~@7, ~@26 [d3,f#4] ~]/7", // G#m7b5 Bm B5 Bm G#m7b5 G Bm Gmaj7 …
F: "[[g3,d4,f#4,b4,d5]@6 [f#4,b4] ~@2 [f#4,b4]@2 ~ [f#4,b4,d5]@3 [d4,f#4,b4,d5]@2 g3 [d4,f#4,b4] ~@5 [d4,a#4,d5]@6 [g3,d4,g4,a#4] ~@2 [d4,g4]@3 [g4,a#4,d5]@3 [g4,a#4,d5]@3 [g3,d4,g4,a#4] ~@5 [f#4,b4]@6 [d4,f#4] ~@2 [d4,f#4]@3 [a3,f#4]@2 b4 [a3,f#4]@3 [a2,d3,a3,d4] ~@5 [d4,f#4,b4]@6 f#3 ~@2 [d4,f#4]@2 ~ [a3,d4,f#4,b4]@3 [a3,d4,f#4,b4]@3 [f#3,a3,b4] ~@5, ~@8 d5@3 d4@3 ~@9 [g3,g4]@6 ~@3 a#4@3 ~ [g3,d4]@6 ~@5 [d3,a3,d4]@6 ~@7 d4@6 ~@5 [f#3,a3]@6 ~@6 f#3@6 ~@7, ~@60 b4 ~@19 b4@3 ~@13]/4", // Gmaj7 B5 Bm Gm G5 Gm B5 D …
G: "[e3,b3,d4,a4,b4]@6 [b3,a4] ~@2 [b3,d4,a4]@3 [b3,d4,a4,b4]@3 [b3,d4,a4,b4]@3 [e3,b3,d4,a4,b4]@4 ~@2, ~@8 b4@3 ~ e3@6 ~@6", // Esus4 B7 Bm7 Esus4
H: "[[g#3,d4,f#4]@5 ~ [d4,f#4,b4] ~@5 [f#4,b4]@6 [d4,b4] ~@5 g4@5 b3 d4 ~@4 g4@3 ~ [g3,b3,d4]@3 [b3,d4] ~@5 [d4,g4]@6 [b3,d4]@3 b3@6 d4@3 d4@2 ~@4, e3@6 g#3@5 [g#3,d4]@6 ~@6 g3@8 ~ g4@3 ~@3 g4@3 ~@13 g4@9 ~@9, ~@23 [b3,d4]@6 ~@3 d4@6 ~@25 [b3,g4]@5 ~@4, ~@8 a2@5 ~@11, ~@33 b3@6 ~@8 [g3,b3]@6 ~@19]/3", // G#m7b5 Bm B5 G Bm G5 Bm G#dim …
I: "[~@32 [g4,b4]@15 ~@34 [b4,d5]@5 ~ [f#4,a4,d5]@6 ~@3, d3@9 d5@18 ~@5 d5@19 ~@5 [e4,a#4]@16 ~@6 d4@8 d4@8 ~@2, ~@3 a3@17 ~@3 d3@20 ~@4 d3@10 d5@20 ~@3 g4@5 ~@11, ~@6 d4@14 ~@6 a3@16 ~@8 a3@18 ~@3 d3@15 ~ d3@8 ~, ~@8 [e4,a#4]@16 ~@5 d4@14 ~@10 d4@14 ~@8 a3@12 ~@9]/4", // G Bm D Edim
J: "[[f#4,b4,d5]@6 [f#4,b4] ~@5 [f#4,b4]@2 d5 [d4,f#4,b4]@2 ~@6 [e4,a4,c#5]@6 ~ [e4,a4] ~@2 [e4,a4]@2 ~ c#5@3 [a3,c#5]@4 ~@5 [c#4,a4,c#5]@6 [c#4,a4] ~@2 [c#4,a4]@2 ~ c#5@2 ~ e4@2 ~@4 [d#4,f#4]@2 ~ [d#4,f#4]@6 [d#4,c#5] ~@2 f#4@2 f#4@3 ~ [d#4,f#4]@3 [d#4,f#4] ~@5 [d4,b4] ~@8 b3@2 ~ b4 ~ b4 ~@5 e4 ~@2 [g3,b3,d4,g4]@5 ~@5 g3@5 ~ b3@3 b3 ~@5 [f#4,a4]@5 a3 [c#4,f#4] ~@2 [a3,c#4]@2 ~ [c#4,a4]@2 [c#4,a4]@3 a3 [c#4,f#4] ~@5 a4@2 ~ [d3,a3,f#4]@5 ~@3 g3@3 [g3,c4,e4]@7 ~@3, [g3,d4]@8 ~@3 d4@3 ~@18 c#5@3 ~ [e4,a4]@7 ~@17 [c#4,a4]@5 ~@6 b3@7 ~@3 d#4@6 ~@8 b3@7 ~@6 [b3,d4,g4]@5 ~@15 [b3,d4,g4]@6 [d4,g4]@3 ~@6 [a3,c#4]@6 ~@6 a3@6 ~@6 c#4@8 ~@4 a#2 ~@12, ~@33 a3@6 ~@8 f#3@6 ~@6 f#3@6 ~@42 e3@6 ~@43 [d3,f#4]@6 ~@5 [d3,a3,f#4]@3 ~@9 c3@10 ~@3, ~@60 e4 ~ c#5@2 ~@5 c#5@9 ~@2 b4@6 b4@3 ~@7 g4@6 ~@2 g4@3 ~@45 [f#4,a4]@3 ~@15 a4@5 ~@7 a4@5 ~@5]/8", // Bm B5 Bm A A5 A F#m D#m …
K: "[[a#3,d4]@6 [a#2,f3,a#3,d4] ~@5 d4@3 d4@2 ~@4 e4@3 e4@2 ~ c4@2 ~@3 e4@3 e4@3 [g3,c4,e4,a4]@3 [c3,g3] c4 ~@5 e3@5 e3 ~@2 [e4,a4]@3 ~ e4@3 [g3,c4,e4]@3 ~@6 [f#4,a4]@3 [f#4,a4] a4 [d3,a3,f#4,a4]@3 ~ [d3,a3,f#4] ~@5 [a3,c4,f#4,a4]@3 [a3,f#4,a4]@2 ~@4 [a#3,d4,g4]@39 ~@9 [d4,g4]@5 g4@3 ~@4 g3@2 ~ [b3,d4]@2 ~ [d4,g4]@5 [b3,d4]@3 ~ d4@5 ~ g4@3 [b3,d4,g4]@4 [b3,d4,g4] ~@4 a2@2 ~, ~@12 [a#2,f3,a#3]@6 ~@3 g3@9 ~@17 [g3,c4,e4,a4]@6 ~@7 a4@6 ~@6 a2@9 ~@14 [d3,f3]@40 ~@8 a2@28 [a2,g3]@13 [a2,g3]@4 ~@4, ~@12 e2 ~@8 c4@5 e4@3 ~@3 c4@6 ~@21 c4@3 ~@9 [d3,a3]@4 ~@5 a4@2 ~@61 g3@9 [d4,g4]@6 g4@3 b3@6 g4@9 d4@3 ~@9 g3@2 ~@2, ~@144 b3@9 b3@6 g3@12 b3@9 ~@5 [b3,d4,g4]@6 ~]/8", // A# Am7 C5 A5 C F#m D F#dim …
L: "[[g#3,d4,f#4,b4]@6 [d4,f#4,b4] ~@2 [f#4,b4]@3 [f#4,b4]@3 [d4,f#4,b4]@3 [g#3,d4,f#4] ~@5 b4@6 [g3,d4,b4] ~@2 [d4,b4]@2 ~ [d4,f#4,b4]@3 [d4,f#4,b4]@3 [g3,d4,f#4,b4] ~@5 [d4,f#4,b4]@6 [f#3,f#4,b4] ~@5 [c4,f#4,a4]@3 [c4,a4]@3 [a3,f#4] ~@5 [g3,f#4,b4,d5]@6 [f#4,b4] ~@2 [f#4,b4]@3 [b4,d5]@3 d5@2 g3 [d4,f#4] ~@4 [g3,d4,g4,a#4,d5]@6 ~ g4 ~@2 g4@2 [d4,g4,a#4,d5]@3 ~ [g4,a#4]@2 a#4 g4 ~@5 f#4@5 d3 [a3,d4] ~@2 [d4,f#4]@2 [a3,d4,f#4]@3 b4 [a3,d4,f#4]@3 [d3,a3] ~@5 [e4,a4]@6 ~@3 f#4@2 ~ [c4,a4]@3 [c4,a4]@3 [d3,a3,f#4] ~@5, ~@23 [d4,f#4]@6 ~@18 [f#3,a3]@6 ~@7 a3@6 ~@5 d4@6 ~@7 [g3,d4,f#4]@6 ~@14 a#4@3 ~@4 [d4,d5]@4 ~@4 [a3,d4]@6 ~@6 b4 ~@11 [e3,g3,c4]@6 ~@6 a3@6 ~@7, ~@26 [d3,f#4] ~]/7", // G#m7b5 Bm B5 Bm G#m7b5 G Bm Gmaj7 …
M: "[[g3,d4,f#4,b4,d5]@6 [f#4,b4] ~@2 [f#4,b4]@2 ~ [f#4,b4,d5]@3 [d4,f#4,b4,d5]@2 g3 [d4,f#4,b4] ~@5 [d4,a#4,d5]@6 [g3,d4,g4,a#4] ~@2 [d4,g4]@3 [g4,a#4,d5]@3 [g4,a#4,d5]@3 [g3,d4,g4,a#4] ~@5 f#4@6 [d4,f#4] ~@2 [d4,f#4]@3 [a3,f#4]@2 b4 [a3,f#4]@3 [a2,d3,a3,d4] ~@5 [d4,f#4,b4]@6 f#3 ~@2 [d4,f#4]@2 ~ [a3,d4,f#4,b4]@3 [a3,d4,f#4,b4]@3 [f#3,a3,b4] ~@5, ~@8 d5@3 d4@3 ~@9 [g3,g4]@6 ~@3 a#4@3 ~ [g3,d4]@6 ~@5 [d3,a3,d4]@6 ~@7 b4 ~@19 b4@3 ~@13, ~@48 b4@4 ~@8 d4@6 ~@5 [f#3,a3]@6 ~@6 f#3@6 ~@7]/4", // Gmaj7 B5 Bm Gm G5 Gm D D5 …
N: "[a3,d4,f#4]@6 [a3,d4] ~@8 f#4@2 ~@4 [d4,f#4]@3, d3@3 ~, ~@11 f#4@3 ~@6 b4@4, ~@12 d4@5 ~@7", // D D5 D
O: "[~@3 [f#4,b4]@2 ~@4 f#4@3 [d4,f#4,b4]@6 ~@5 [g3,d4,f#4,b4]@6 ~ [d4,f#4] ~@2 f#4@2 ~ [b4,d5]@3 b4@2 b2@2 ~ f4 [f#3,a3,d4]@5 ~ [f#3,a3,d4,f#4]@3 ~@6 [c4,f#4,a4]@5 [a3,f#4,a4] ~@11 f#4 b4 ~ [f#4,b4]@3 ~ [b4,d5]@2 b4@2 ~@5 d4@3, ~@35 f#4@5 ~@4 b4@6 b4@3 ~@6 a3@5 ~@7 [f#4,b4]@6 ~@15 [g4,a#4,d5]@4, ~@72 [g3,d4,d5]@7 ~@4 [g3,d4,f#4]@5 ~@8]/4", // B5 Bm Gmaj7 D Bm D F#dim D …
P: "[~@3 [d4,g4,a#4,d5]@2 ~@4 [g3,d4,g4,a#4]@2 ~ [g4,a#4,d5]@3 [g4,a#4,d5]@2 g4 ~@6 b4@5 [a3,d4] ~@5 [d3,a3,d4,f#4]@5 ~@4 [e3,g3,c4,e4,a4]@6 ~ [c4,e4]@3 ~@3 [f#4,a4]@3 a4@3 a4@3 a3 ~@6 f#4@21 ~@4 f4@20 ~@3 d4@20 ~@3 c#4@7 ~@2 d4@15, ~@11 g3@6 ~@6 [d3,a3,d4,f#4]@6 ~@28 [d3,a3]@9 ~@4 g3@23 ~@2 g2@22 ~ f#2@22 ~@3 a3@21 ~@4, ~@12 d4@6 ~@32 a4@3 ~@4 c4@6 ~@8 b3@22 ~@3 d3@21 ~@2 a2@21 ~ b2@23 ~@4, ~@60 f#4@6 ~@6 d4@22 ~@3 a#3@21 ~@2 [d3,a3]@20 ~@2 f#3@22 ~@4]/7", // Gm D5 D Am7 C F#m D D5
Q: "[~@2 [g4,b4]@19 ~@4 g4@23, [e2,e3]@21 ~ [a2,g3]@18 ~@8, b3@19 ~@4 b3@16 ~@9, ~ d4@20 ~@3 d4@15 ~@9]/2", // G E A7
R: "[[a#2,f3,a#3,d4,g4]@6 ~@3 a#3@2 [a#3,d4]@3 ~ [f3,a#3,d4]@3 f3 ~@5 [c3,c4,e4]@6 ~@6 e4@5 g3 [c3,c4] ~@5, ~@23 g3@6 ~@3 c4@9 ~@7, ~@32 e4@3 ~@13, ~@11 [c3,g3]@3 ~@2]/2", // Gm7 A# C C5
S: "[[e3,g3,c4,e4,a4]@5 e3 ~@3 [c4,e4]@6 [c4,e4,a4]@2 ~@7 [c4,a4]@3 [c4,f#4,a4]@4 ~ [f#4,a4]@3 ~ [f#4,a4]@2 f#4 ~ [a3,c4,a4] ~ [a3,c4,a4]@3 ~@3 [a#3,d4]@4 g4 d3 ~@3 [d3,f3,a#3,d4]@3 [d3,f3,a#3,d4]@6 d3@2 ~@4, ~@8 a4@6 ~@9 f#4@4 ~@13 f#4@5 ~@27, ~@9 [e3,g3]@9 ~@5 d3@8 ~@4 [d3,a3]@3 ~@9 [g2,d3,f3,g4]@5 ~@5 [g2,g4]@9 ~@6, ~@24 a3@7 [a3,c4]@4 c4@5 ~@32]/3", // Am7 C Am F F#dim F#m Am A# …
T: "[c#4,e4,a4]@3 [e4,a4]@2 c#4 ~@3 [g3,c#4,e4,a4]@6 [g3,c#4,e4,a4]@5 a4@3 ~, [e3,g3]@6 ~@3 e3@10 ~@5", // A A5 A7 Em
U: "[[g#3,d4,f#4,b4]@6 [d4,f#4,b4] ~@2 [f#4,b4]@3 [f#4,b4]@3 [d4,f#4,b4]@2 g#3 [d4,f#4] ~@5 b4@6 [g3,d4,b4] ~@2 [d4,b4]@2 ~ [d4,f#4,b4]@3 [d4,f#4,b4]@3 [g3,d4,f#4,b4] ~@5 [d4,f#4,b4]@6 [f#3,f#4,b4] ~@5 [c4,f#4,a4]@3 [c4,a4]@3 [a3,f#4] ~@5 [g3,b4,d5]@6 [f#4,b4] ~@2 [f#4,b4]@2 ~ [b4,d5]@3 d5@2 [g3,d4,f#4] ~@5 [g3,d4,g4,a#4,d5]@6 ~ g4 ~@2 g4@2 [d4,g4,a#4,d5]@3 ~ g4@2 [g4,a#4] ~@5 [a3,d4,f#4]@6 d3 [a3,d4] ~@2 [d4,f#4]@2 [a3,d4,f#4]@3 b4 [a3,d4,f#4]@2 [d3,a3] ~@6 e4@6 ~@3 f#4@2 ~ [c4,a4]@2 ~ c4@3 [d3,a3,f#4] ~@5, ~@23 [d4,f#4]@6 ~@18 [f#3,a3]@6 ~@7 a3@6 ~@5 [d4,f#4]@6 ~@6 d4@6 ~@15 a#4@3 ~@3 [a#4,d5]@3 ~@18 b4 ~@24 f#4@6 ~@6, ~@84 [g3,f#4]@5 ~@22 d4@4 ~@28 [e3,g3,c4,a4]@6 ~@6 [d3,a3]@6 ~@7, ~@158 a4@3 ~@7]/7", // G#m7b5 Bm B5 Bm D G Bm Gmaj7 …
V: "[[g3,d4,f#4,b4,d5]@6 [f#4,b4] ~@2 [f#4,b4]@2 ~ [f#4,b4,d5]@3 [d4,f#4,b4,d5]@2 g3 [d4,f#4,b4] ~@5 [d4,a#4,d5]@6 [g3,d4,g4,a#4] ~@2 [d4,g4]@2 ~ [g4,a#4,d5]@3 [g4,a#4,d5]@3 [g3,d4,g4,a#4] ~@5 b4@4 ~@2 [d4,f#4] ~@2 [d4,f#4]@2 ~ f#4@2 b4 [a3,f#4]@3 [a2,d3,a3,d4] ~@5 b4@6 f#3 ~@2 [d4,f#4]@2 ~ [a3,d4,f#4,b4]@2 ~ [a3,d4,f#4]@3 [f#3,a3,b4] ~@5, ~@8 d5@3 d4@3 ~@9 [g3,g4]@6 ~@3 a#4@3 g3@6 ~@6 [d3,a3,d4,f#4]@6 ~@6 a3@3 ~@9 [f#3,a3,d4,f#4]@6 ~@6 f#3@6 ~@7, ~@36 d4@6 ~@17 d4@6 ~@31, ~@60 b4 ~@19 b4@3 ~@3 b4@3 ~@7]/4", // Gmaj7 B5 Bm Gm G5 Gm D D5 …
W: "[e3,b3,d4,a4,b4]@6 [b3,a4] ~@2 [b3,d4,a4]@2 ~ [b3,d4,a4,b4]@3 [b3,d4,a4,b4]@3 [e3,b3,d4,a4,b4]@4 ~@2, ~@8 b4@3 e3@6 ~@7", // Esus4 B7 Bm7 Esus4
X: "[[g#3,d4,f#4]@5 ~ [d4,f#4,b4] ~@5 [f#4,b4]@6 [d4,b4] ~@5 g4@5 b3 d4 ~ g4@3 g4@3 ~ [g3,d4]@3 [b3,d4] ~@5 [d4,g4]@6 [b3,d4]@3 b3@6 d4@3 d4@2 ~@4, e3@6 g#3@5 [g#3,d4]@6 ~@6 a2@15 ~@34, ~@23 g3@8 ~@8 b3@2 ~@6 [g3,b3]@6 ~@10 [b3,g4]@5 ~@4, ~@23 [b3,d4]@6 ~@3 [b3,d4]@6 g4@3 ~@13 g4@9 ~@9]/3", // G#m7b5 Bm B5 G G5 Bm G5 Bm …
Y: "[[a3,d4,f#4]@5 a3 d4 ~@8 f#4@2 ~@4 [d4,f#4]@6 [f#4,b4]@2 ~@3 f#4@3 ~ [d4,f#4,b4]@6 ~@6, d3@3 ~@5, ~@11 f#4@3 ~@6 b4@6 ~@22, ~@12 d4@5 ~@31]/2", // D B5 Bm
})).s("gm_acoustic_guitar_steel").gain(0.06).pan(0.9)
// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
~@20 A@2 B C D E F G H@2 I J K ~@5 L M N O P Q@2 R S T U V W X Y@2 A@2 B C D E F G H@2 I J K ~@5 Z@2 AA AB ~ AC AD
AE@3 AF AG ~@2 AH AI A@2 B C D E F G H@2 I J K ~@5 L M N O P Q@2 R S T U V W X Y@2 AJ@2 AK C D E ~ AL ~@6 AM ~ AN AO ~
AN L M N AP P AQ@2 R S T AR@2 W X Y@2 AS@2 ~
>`.pickRestart({
A: "[~@9 d4@2 ~@16 d4@2 ~@4 d4@3 g#3@6 ~@6, ~@21 g#3@8 ~@19]/2", B: "~@9 b4@2 ~@4 d4@2 b2@2 ~@5",
C: "~@9 [a3,f#4,a4]@2 d3@7 ~@6", D: "d3@5 ~@13 d5@2 ~@4", E: "~@9 d5@2 ~@13", F: "~@12 b4 ~@4 e2@2 ~@5",
G: "~@3 e3@3 ~@9 c4@2 ~@7", H: "[~@9 d4@3 ~@5 a2 ~@4 a#3@5 e3@2 ~@4 e3@2 ~@4 a#3@3 ~@3 c#4 ~@2, ~@35 e3@7 ~@6]/2",
I: "~@9 [a3,d4]@2 ~@13", J: "~@9 d4@2 ~@13", K: "~@9 [d4,f#4]@3 d4@2 ~@6 b3 ~@3", L: "~@9 a3@2 ~ a3@5 ~@7",
M: "~@9 d4@3 d4@3 ~ g#3 ~@7", N: "~@9 f#4@2 ~@13", O: "~@6 a3 ~@8 f#4@3 ~@6, ~@12 [a2,d3]@7 ~@5",
P: "~@3 [d4,d5] ~ b4 ~@2", Q: "[~@9 d4@2 ~@6 g3 ~@5 d3@6 ~@19]/2", R: "~@3 c4 ~@4", S: "~@3 d4 ~@4",
T: "~@9 g3@3 d3@6 d3 ~@5", U: "~@3 a3 d3@2 ~@2", V: "b2@6 ~@3 a3@2 ~@13", W: "b2 ~@3", X: "e2@3 ~@5, b4 ~@23",
Y: "[~@15 a2@12 a4 ~@2 g3@9 g3@5 ~@4]/2", Z: "[~@9 [f#4,b4]@2 g3@6 ~@6 a3@6 ~ a3 ~@17]/2", AA: "~@9 [f#3,c#5]@2 ~@13",
AB: "~@15 b3@2 b3 ~@6", AC: "~@15 g3@4 ~@5", AD: "~@12 a2@4 ~@7 g#2",
AE: "[e4@5 a2@2 ~@5 g2@9 ~@2 a#2@6 ~@4 a#3@2 ~@10 c3@9 ~@2 g3@6 ~@3 g2 ~@6, ~@11 c4@3 ~@58]/3",
AF: "~@9 [g3,c4]@2 ~ g3@3 ~@9", AG: "~@4 f#4 ~@7 [f#4,a4]@3 ~@6 g3 ~@2", AH: "~@5 d4@3 ~@16", AI: "~@15 g3 ~@8",
AJ: "[~@9 d4@2 ~@16 d4@2 ~@4 d4@2 g#3 g#3@6 ~@6, ~@21 g#3@8 ~@19]/2", AK: "~@9 b4@2 ~@4 d4@3 ~@6",
AL: "~ e3 ~@3 c4 ~@2", AM: "~@9 [f3,d4]@2 [a#2,f3]@3 ~@2 a#2 ~@7", AN: "a2@5 ~@19",
AO: "~@7 d3 ~@3 a2@3 ~ [a2,d3]@3 [a2,d3]@3 ~@3, a2@11 ~@13", AP: "~@6 a3 ~@8 f#4@3 ~@6, ~@11 d3@7 ~@6, ~@12 a2@7 ~@5",
AQ: "[~@8 d4@3 ~@6 g3 ~@5 d3@6 ~@19]/2", AR: "[~@9 a3@2 ~ d3@6 ~@5 b2@6 ~@4 a3@2 ~@13]/2",
AS: "[~@9 d4@2 ~@16 d4@2 ~@4 d4@2 ~ g#3@6 ~@6, ~@21 g#3@8 ~@19]/2",
})).s("gm_acoustic_guitar_steel").gain(0.03).pan(0.9)
// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note("<~@50 A@4 B C@2 D@8 ~@23 E C@2 D@8 ~@62>".pickRestart({
A: "[~@23 g#4@24 g4@24 a4@23 ~@2]/4", B: "~@9 a4@3 a4@3 a4@3 a4@3 a4@2 ~",
C: "[a4@3 a4@3 a4@3 a4@2 ~ a4@2 ~ a4@2 ~ a4 ~@2 a4 ~@2 a4 ~@2 a4 ~@2 a4 ~@2 a4 ~@2 a4 ~@2 a4 ~@2 a4 ~@2 a4 ~ a4, ~@11 b4@36 ~]/2",
D: "[a4@3 a4@3 a4 ~@2 a4@3 a4@3 a4@3 a4@3 a4@171]/8", E: "~@15 a4@2 ~ a4@3 a4@3",
})).s("gm_synth_strings_1").gain(0.12).pan(0.3)
// chords · synth strings 1 · "SYN STR 1" · soft notes
const synth_strings_1_soft = note("<~@88 [~@9 a4@3 a4@2 ~@10] ~@72>").s("gm_synth_strings_1").gain(0.08).pan(0.3)
// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@108 A B C D E@2 F@2 G@3 H I@2 ~@39>".pickRestart({
A: "[f#4,f#5]@3 [e4,e5]@3 [f#4,f#5]@3 [e4,e5]@3 [f#4,f#5]@2 [a4,a5]@3 [f#4,f#5]@4 [a4,a5]@3", // F# E F# E F# A F# A
B: "[f#4,f#5]@3 [a4,a5]@3 [f#4,f#5]@3 [a4,a5]@3 [f#4,f#5]@3 [a4,a5]@3 [f#4,f#5]@2 [a4,a5]@3 ~", // F# A F# A F# A F# A
C: "[f#4,f#5]@3 [e4,e5]@3 [f#4,f#5]@2 [a4,a5]@4 [f#4,f#5]@2 [a4,a5]@4 [f#4,f#5]@3 [a4,a5]@3", // F# E F# A F# A F# A
D: "[f4,f5]@3 [a4,a5]@3 [f4,f5]@2 [a4,a5]@3 ~ [f4,f5]@3 [d4,d5]@2 ~ [c4,c5]@3 [a#3,a#4]@3", // F A F A F D C A#
E: "[a4@23 g4@18 a4@6 ~]/2", F: "[d5@23 [f4,d5]@24 ~, f#4@7 ~@9]/2",
G: "[f#3@23 b3@12 a3@12 b3@18 ~ d5@6, d4@20 ~@2 a4 ~]/3", H: "[g#4,e5]", I: "[g4@23 ~ a4@18 ~@6, d5@7 ~]/2",
})).s("gm_string_ensemble_1").gain(0.17).pan(0.3)
// drums · kick
const kick = s("bd").struct(`<
~@20 A@14 ~@4 A@28 B A ~@4 A C A C B C A C A ~ D C E ~@3 A@12 B A ~@4 A@24 ~@6 A@3 B A@20 ~
>`.pickRestart({
A: "~ x", B: "~@11 x ~@12", C: "~@3 x!2 ~@3", D: "x ~@10 x ~@12", E: "x",
})).gain(0.48)
// drums · snare
// … 123 more lines
More by Billy Joel
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.