0:00/0:00
// Tell Him — Streisand
// 70 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 7 "warmpad" pad warm (copy of ch 6 "melodie" voice oohs); ch 9 "panfluit" pan flute (copy of ch 8 "melodie" voice oohs)
// note: Full arrangement: all 89 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/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 · acoustic bass · "acbass"
const bass = note(`<
~ A B C D E F G H I J A K L M N O H P Q F R S T G F U V W X Y Z AA T AB AC Z AD AE AF AG AH AI G AJ AK F AL AM J AN AO
AP AQ AR AS AT AB Z D X F Z AU Y AV AW AX AY AZ BA BB BC BD BE R BF BD BG BH BI BE BJ BK BL BM BN BO ~
>`.pickRestart({
A: "g#2@35 ~ g#2@12", B: "g#2", C: "g#1@3 g#2", D: "f#2", E: "f#1@3 f#2", F: "e2@41 ~ e2@5 ~",
G: "c#2@40 ~@2 c#2@3 ~@3", H: "b1@40 ~@2 b1@3 ~@3", I: "~ b1@23 f2@15 ~@3 f2@6", J: "g#2@41 ~ g#2@5 ~",
K: "f#2@39 ~@3 f#2@4 ~@2", L: "f#2@36 f#2@5 ~ f#2@2 ~@4", M: "e1!2", N: "d#2@5 ~ d#2@2 g#2@5 ~ g#2@2",
O: "~ c#2@41 ~ c#2@5", P: "b1@36 b1@5 ~ b1@2 ~@4", Q: "e2@21 e1@2 ~", R: "d#2@40 ~@2 d#2@3 ~@3",
S: "g#2@40 ~@2 g#2@3 ~@3", T: "d2@41 ~ d2@5 ~", U: "e2@36 e2@5 ~ e2@2 ~@4", V: "a1@36 g#2@5 ~ g2@2 ~@4",
W: "f#2@36 e2@5 ~ c#2@2 ~@4", X: "d2@40 ~@2 d2@3 ~@3", Y: "e2@5 ~ e2@2 e2@5 ~ e2@2", Z: "a1@40 ~@2 a1@3 ~@3",
AA: "~ f#2@41 ~ f#2@5", AB: "e2@7 ~ e1@8", AC: "a1@23 ~", AD: "g#2@23 ~", AE: "g#2@36 g#2@5 ~ g#2@2 ~@4",
AF: "f#2@36 c2@5 ~ c#2@2 ~@4", AG: "f#2@23 ~", AH: "~ e2@23 e2@21 ~@3", AI: "d#1@8 g#2@5 ~ g#2@2",
AJ: "b1@41 ~ b1@5 ~", AK: "b1@35 ~ b1@12", AL: "e2@35 ~ e2@12", AM: "d#2", AN: "~ d2@41 ~ d2@5", AO: "c#2@23 ~",
AP: "e2@40 ~@2 e2@3 ~@3", AQ: "e2", AR: "~ a1@41 ~ a1@5", AS: "f#2@40 ~@2 f#2@3 ~@3", AT: "d2@36 d2@5 ~ d2@2 ~@4",
AU: "~ f2@23 a#1@15 ~@3 a#1@6", AV: "d2@21 ~@4 b1@23", AW: "c2@23 ~", AX: "g#2@5 ~ g#2@2 c#2@5 ~ c#2@2",
AY: "c2@7 ~ f2@7 ~", AZ: "a#1@5 ~ a#1@2 c1@8", BA: "c#2@15 ~@3 c#2@6 ~ f2@11 f2@12", BB: "a#1@5 ~ a#1@2 c2@5 ~ c2@2",
BC: "f2@7 ~ f2@7 ~", BD: "a#1@23 ~", BE: "g2@41 ~ g2@5 ~", BF: "f2@5 ~ f2@2 f1@8", BG: "g2@40 ~@2 g2@3 ~@3",
BH: "d#2@23 ~", BI: "f2@41 ~ f2@5 ~", BJ: "~ g2@41 ~ g2@5", BK: "f2@36 f2@5 ~ f2@2 ~@4",
BL: "d#2@15 ~@3 d#2@6 ~ c2@23", BM: "a#1@40 ~@2 a#1@3 ~@3", BN: "a#1@11 ~", BO: "a#1@37 ~@11",
})).s("gm_acoustic_bass").gain(0.4).pan(0.7)
// chords · epiano1 · "elecpiano1"
const epiano1 = note(`<
~@2 A@2 B@2 C D E F A@2 G@2 H I J E K@2 L M N O P@2 Q@3 R@2 S T U@3 V W X Y Z AA AB AC@3 AD@2 M AE AF@2 AG@3 T AH AI
AJ@2 AK AL AM AN AO AP AQ AR AS AT AU AV@2 AW AX AY AZ@2 AX BA BB BC BD@2 BE AW BF@2 ~
>`.pickRestart({
A: "[b3@53 ~@31 b4@12, b4@7 ~, g#4@13 g#4@3, d#4@11 d#4@5, ~@9 b3@7]/2",
B: "[f#3@5 ~@9 f#4@2, f#4@7 ~, d#4@3 d#4, ~@5 f#3@6 f#3@5, ~@7 a#4@9]/2",
C: "b3@5 ~@2 e4, g#4, e4@17 ~ b3@6, g#3@13 ~@2 g#3@9", D: "c#4@11 ~ c#4@4, [g#3,e4,g#4]",
E: "f#3@29 ~@7 f#3@12, [b3,d#4,f#4]", F: "[f#3,d#4]@2 ~ a#3, ~ [g3,d#4,g4]",
G: "[a#3@9 ~@6 f#4, f#2@95 ~, f#4@13 d#4@3, d#4@61 ~@5 a#3@30, f#3@17 ~ f#3@14]/2",
H: "[g#3,d#4]@2 ~ c#4, ~ [a#3,f#4,a#4]", I: "[f#3,c#4]@17 ~@19 d#4@12, ~@3 [b3,f#4,g#4]@5",
J: "c#4@11 ~ c#4@4, [b3,e4,g#4]", K: "[b3@33 ~@3 b3@5 ~ e3@35 ~@7 e3@12, [f#3,d#4,f#4]@41 ~ [g#3,b3,d#4]@54]/2",
L: "b3@11 ~ b3@4, [g#3,d#4,f#4]", M: "a#3@11 ~ a#3@4, [f#3,c#4,d#4]",
N: "b3@5 ~@2 d#4, f#4, d#4@17 ~ b3@6, g#3@13 ~@2 g#3@9", O: "d4@11 ~ d4@4, [a3,f#4,a4]",
P: "[e3@29 ~@7 e3@5 ~ b3@36 ~@12 e4@6, [a3,c#4,e4]@41 ~ g#4@54, ~@21 e4@20 ~ b3@6, ~@21 g#3@16 ~@2 g#3@9]/2", // A
Q: "[b3@30 ~@6 b3@5 ~ a3@39 ~@3 a3@5 ~ f#3@35 ~@7 f#3@12, g#4@41 ~@103, e4@17 ~@4 e4 ~@50, g#3@26 ~@4 g#3@11 ~ [e3,c#4]@47 ~ [a3,c#4,e4]@54]/3", // C#m A
R: "[b3@30 ~@6 b3@5 ~ d4@2 ~@16 b3@12 [g#3,e4]@24, f#4@41 ~@55, d4@17 ~@31, a3@26 ~@4 a3@11 ~ [a3,f#4]@30 ~@24]/2", // C#m D
S: "a3@5 ~@2 c#4, e4, c#4@17 ~ a3@6, e3@13 ~@2 e3@9", T: "f#3@29 ~@7 f#3@12, [a3,c#4,e4]",
U: "[d4@33 ~@3 d4@5 ~@19 b3@12 [g#3,e4]@17 ~ e3@35 ~@7 e3@12, [c#4,f#4,a4]@41 ~ [a3,d4,f#4]@30 ~@18 [a3,c#4,e4]@54]/3", // C#m F#m D A
V: "e3@29 ~@7 e3@12, [a3,c#4,e4]", W: "d#4@11 ~ d#4@4, [b3,g#4,b4]", X: "b3@29 ~@7 b3@12, [d#4,g#4,b4]",
Y: "a#3@5 ~@2 d#4, f#4, d#4@17 ~ a#3@6, f#3@13 ~@2 f#3@9", Z: "a#3@11 ~ a#3@4, [f#3,d#4,f#4]",
AA: "[g#3,d#4] [a#3,f#4]", AB: "f#3@5 ~@4 c#4@3 [b3,f#4]@12, [a#3,d#4] ~, c#4 ~@5 f#3@6 ~@12",
AC: "[g#3@29 ~@7 g#3@5 ~ b3@60 ~@36 f#4@6, [b3,c#4,e4]@41 ~ b2@101 ~, ~@7 f#4@14 d#4@3, ~@42 d#4@67 ~@5 b3@30, ~@14 f#3@19 ~ f#3@14]/3", // C#m7
AD: "[g#3@5 ~@9 f#4@2, f#4@7 ~, d#4@3 d#4, ~@5 g#3@6 g#3@5, ~@7 b4@9]/2", AE: "g#3@29 ~@7 g#3@12, [b3,d#4,f#4]",
AF: "[a3@29 ~@7 a3@5 ~ e3@35 ~@7 e3@12, [d4,f#4,a4]@41 ~ [a3,c#4,e4]@54]/2", // D A
AG: "[g#3@53 ~@31 g#4@6 a3@36 ~@12 c#4@6, g#4@7 ~@5, e4@13 e4@2 e4@9, b3@33 b3@12 c#4@20 ~ a3@6, ~@27 g#3@18 e3@16 ~@2 e3@9]/3",
AH: "b3@5 ~@2 d4, f#4, d4@17 ~ b3@6, a3@13 ~@2 a3@9", AI: "~ b3 [g#3,e4]@2, [a3,d4,f#4] ~",
AJ: "[e3@29 ~@7 e3@5 ~ c#4@39 ~@3 c#4@12, [a3,c#4,e4]@41 ~ [a3,e4,f#4]@54]/2", AK: "d4@11 ~ d4@4, [c#4,f#4,a4]",
AL: "a3@5 ~@2 b3, d4, b3@17 ~ a3@6, f#3@13 ~@2 f#3@9", AM: "a3@11 ~ a3@4, [e3,c#4,e4]",
AN: "~ c4 [a3,d4]@2, [a3,f4,a4] ~", AO: "[g3,d4]@2 ~ c4, ~ [g3,e4,g4]",
AP: "~@6 d4@6 b3@5 ~@4 f4@3, [c4,f4,a4] [d4,g4], ~@12 f4 ~@5 b3@6", AQ: "g3@29 ~@7 g3@12, [c4,e4,g4]",
AR: "[c4,g#4]@2 ~ c#4, ~ [c4,f4,g#4]", AS: "~ c4 ~ c4, [a#3,d#4,g4] [g#3,d#4,f4]",
AT: "g#3@5 ~@4 c#4@3 [c4,g#4]@12, [a#3,f4] ~, c#4 ~@5 g#3@6 ~@12", AU: "[c4,f4]@2 [g3,d#4] [g#3,d#4]",
AV: "[~@12 a#3@12 ~@12 d#4@5 ~ [a#3,f4]@30 [a3,f4]@24, [g#3,c#4,f4]@24 [c4,g#4,c5]@17 ~@55]/2", // A#5 Dm C# Fm
AW: "a#3@5 ~@2 d4, f4, d4@17 ~ a#3@6, f3@13 ~@2 f3@9", AX: "g3@29 ~@7 g3@12, [a#3,d4,f4]",
AY: "a#3@11 ~ a#3@4, [g3,c4,d#4]", // Cm
AZ: "[[a#3,d#4]@24 a3@10 ~@2 a3@5 ~ f3@35 ~@7 f3@12, ~@24 [c4,a4]@17 ~ [a#3,d4]@54, ~@12 f4 ~@8 f4 ~@26]/2", // D#5 F A#
BA: "a#3@11 ~ a#3@4, [g3,d4,f4]", BB: "a#3@5 ~@2 c4, d#4, c4@17 ~ a#3@6, g3@13 ~@2 g3@9",
BC: "d4@5 ~@2 g4, a#4, g4@17 ~ d4@6, a#3@13 ~@2 a#3@9",
BD: "[a#3@29 ~@7 a#3@5 ~ a3@35 ~@7 a3@12, [d4,g4,a#4]@41 ~ [d4,f4,a4]@54]/2", BE: "[g3,d4] [a#3,d#4]",
BF: "[~@8 f4@11 ~@13, [f3,a#3,d4]@19 ~@13]/2", // A#
})).s("gm_epiano1").gain(0.48).pan(0.4)
// chords · acoustic guitar steel · "steelstrgt"
const acoustic_guitar_steel = note(`<
A@2 B@2 C@2 D E F@2 G@2 H@2 I J K L M N O P Q R S T D U V W X S V Y Z AA@2 AB@2 AC AD AE AF AG AH@2 AI@2 AJ AK AL@2
AM@4 AN AO AP AQ@2 AR AS AT AU@2 AV AW@2 AX@2 AY AZ BA BB BC BD BA BE BF BG BH@2 BI BJ BK BL@3
>`.pickRestart({
A: "[[b3,d#4]@11 ~ [b3,d#4]@6 b3@6 b3@6 b3@6 b3@6 ~@18 b3@6 b3@6 ~@6 b3@7 b3@5 [b3,d#4]@6, g#2 g#2, g#3@24 g#3@13 ~@5 [b3,d#4]@18 ~@12 b3@5 ~@19, ~@18 d#4@12 d#4@12 ~@17 d#4@7 d#4@12 d#4@12 ~@6, ~@73 g#3@12 g#3@11]/2", // B
B: "[b3@7 ~@5 [b3,d#4]@6 d#4@12 ~@6 b3@6 b3@6 ~@12 b3@6 ~@18 g#3@12, g#3@2 ~@2 g#3@2 g#3 ~, ~@12 g#4@18 [d#4,g#4]@30 [d#4,g#4]@18 ~ d#4@17, ~@11 b3@2 [b3,g#4]@3]/2", // B G#5 E
C: "[[d#3,f#3,a#3,d#4]@12 [d#3,f#3]@7 d#3@5 [f#3,a#3,d#4]@6 [d#3,f#3,a#3,d#4]@12 f#3@12 f#3@5 ~ a#3@12 [d#3,f#3,a#3,d#4]@6 [d#3,f#3]@6 [d#3,f#3]@6 [d#3,f#3,a#3]@6, ~@12 [a#3,d#4]@12 ~@18 [a#3,d#4]@17 d#4@13 ~@6 d#4@18, ~@10 f#3 ~@2 a#3@2 ~]/2", // D#m D#5
D: "g#3@7 ~@5 [g#3,b3]@6 b3@12 ~@6 g#3@6 g#3@6, e3 ~, ~@2 e4@3 [b3,e4]@3", // G#m E5
E: "[g#3,c#4,e4]@12 ~ e4@5 ~@12 g#3@5 ~@7 g#3@6, e3@24 ~ e3@17 ~@6, ~@12 [g#3,c#4]@6 e4@17 ~@13, ~@18 g#3@6 g#3@6 ~@5 g#3@6 ~@7, ~@19 c#4@17 [c#4,e4]@12", // C#m C#5 C#m
F: "[~ [d#3,f#3,d#4]@12 [b3,d#4]@11 [f#3,b3,d#4]@6 [d#3,f#3,b3,d#4]@12 [f#3,b3,d#4]@18 [b3,d#4]@12 [d#3,g3]@12 [d#3,g3]@6 g3@6, b3@12 ~ [d#3,f#3]@7 ~@22 d#3@13 ~@5 [d#3,f#3]@6 ~@18 [a#3,d#4]@12]/2", // D#m B D# D#m D#5
G: "[[b3,d#4,g#4]@12 ~ g#4@5 ~@12 b3@5 ~@7 b3@5 ~@8 b3@5 b3@6 b3@6 b3@6 b3@6 [b3,d#4,g#4]@12, g#3@24 ~ g#3@17 ~@54, ~@12 [b3,d#4]@6 g#4@17 ~@13 g#4@18 ~@30, ~@18 b3@6 b3@6 ~@5 b3@6 ~@6 b3@7 ~@42, ~@19 d#4@17 [d#4,g#4]@12 d#4@12 ~@6 [d#4,g#4]@18 ~@12]/2", // G#m B G#5
H: "[f#3@7 ~@5 [f#3,a#3]@6 a#3@12 ~@6 f#3@6 f#3@6 ~@12 f#3@6 ~@18 d#3@12, d#3@2 ~@2 d#3@2 d#3 ~, ~@12 d#4@18 [a#3,d#4]@30 [a#3,d#4]@18 ~ a#3@17, ~@11 f#3@2 [f#3,d#4]@3]/2", // F# D#5 D#m
I: "[e3,g#3,b3]@2 [g#3,b3]@2 ~@3 c#4, d#3@7 ~@5 [d#3,e3]@6 ~@6 c#4@18 ~@6, ~@3 [f#3,a#3]", // E G#m Emaj7 F#
J: "~@3 [c#3,d#3] [g#3,b3,d#4]@2 [b3,d#4]@2, d#3@3 ~@5, ~@6 [f#3,a#3]@18 f#3@7 ~@5 [f#3,g#3]@6 ~@6", // C#sus2 G#m B F# F#sus2
K: "~ [e3,g#3,c#4]@12 [b3,c#4]@11 [g#3,b3,c#4]@6 [e3,g#3]@12 ~ e3@5, b3@12 ~ [e3,g#3]@7 ~@10 [b3,c#4]@18, ~@42 g#3@5 ~", // C#m Bsus2 C#7 E Bsus2
L: "b3@2 ~@2 b3 b3@3, f#3@24 f#3@23 ~, d#3@18 ~ d#3@29, ~ b3 ~@2",
M: "[f#3,b3,d#4]@12 ~ d#4@5 ~@12 f#3@5 ~@7 f#3@6, d#3@24 ~ d#3@17 ~@6, ~@12 [f#3,b3]@6 d#4@17 ~@13, ~@18 f#3@6 f#3@6 ~@5 f#3@6 ~@7, ~@19 b3@17 [b3,d#4]@12", // B B5 B
N: "e3@5 ~@16 [d#3,b3]@3, d#3@5 d#3@2 ~, ~@10 e3@25 ~ e3@12, ~@11 g#3@18 g#3@18 ~, ~@12 b3@29 ~@7", // G#m
O: "g#3@2 ~@2 g#3 g#3@3, e3@24 e3@23 ~, d#3@18 ~ d#3@29, ~ g#3 ~@2",
P: "[d#3,f#3,a#3]@12 ~ a#3@5 ~@12 d#3@5 ~@7 d#3@6, c#3@24 ~ c#3@17 ~@6, ~@12 [d#3,f#3]@6 a#3@17 ~@13, ~@18 d#3@6 d#3@6 ~@5 d#3@6 ~@7, ~@19 f#3@17 [f#3,a#3]@12", // D#m F#
Q: "b3@2 ~@2 b3 b3@3, g#3@24 g#3@23 ~, f#3@18 ~ f#3@29, ~ b3 ~@2",
R: "d4@2 ~@2 d4 d4@3, a3@24 a3@23 ~, f#3@18 ~ f#3@29, ~ d4 ~@2",
S: "a3@2 ~@2 a3 a3@3, e3@24 e3@23 ~, c#3@18 ~ c#3@29, ~ a3 ~@2",
T: "~ [e3,g#3,e4]@12 [b3,e4]@11 [g#3,b3,e4]@6 [e3,g#3]@12 ~ e3@5, b3@12 ~ [e3,g#3]@7 ~@10 [b3,e4]@18, ~@42 g#3@5 ~", // E E5 E E5
U: "~ [c#3,e3,c#4]@12 [a3,c#4]@11 [e3,a3,c#4]@6 [c#3,e3]@12 ~ c#3@5, a3@12 ~ [c#3,e3]@7 ~@10 [a3,c#4]@18, ~@42 e3@5 ~", // C#m A C#m A
V: "f#3@5 ~@16 [e3,c#4]@3, e3@5 e3@2 ~, ~@10 f#3@25 ~ f#3@12, ~@11 a3@18 a3@18 ~, ~@12 c#4@29 ~@7", // C#m
W: "~ [f#3,a3,d4]@12 [b3,d4]@11 [a3,b3,d4]@6 [f#3,a3]@12 ~ f#3@5, b3@12 ~ [f#3,a3]@7 ~@10 [b3,d4]@18, ~@42 a3@5 ~", // D Bm Bm7 F#m Bm
X: "[f#3,a3,b3] [a3,b3] [g#3,b3,e4] [e3,g#3,b3,e4], d3@7 ~@5 [d3,f#3]@6 ~@30", // B7 Asus2 E D
Y: "a3@5 ~@16 [f#3,d4]@3, f#3@5 f#3@2 ~, ~@10 a3@25 ~ a3@12, ~@11 c#4@18 c#4@18 ~, ~@12 d4@29 ~@7", // D
Z: "[f#3,a3,b3] [a3,b3] [g#3,b3,e4] [b3,e4], d3@7 ~@5 [d3,f#3]@6 ~@6 e3@7 ~@5 [e3,g#3]@6 ~@6", // B7 Asus2 E E5 D E
AA: "e3@5 ~@16 [c#3,c#4]@3, c#3@5 c#3@2 ~, ~@10 e3@25 ~ e3@12, ~@11 a3@18 a3@18 ~, ~@12 c#4@29 ~@7", // C#
AB: "[b3@7 ~@5 [b3,d#4]@6 d#4@12 ~@6 b3@6 b3@13 ~@5 [b3,d#4]@6 d#4@12 ~@6 b3@6 b3@6, g#3@4 ~@3 g#3@5 ~@4, ~@2 g#4@3 [d#4,g#4]@2 ~@3 g#4@3 [d#4,g#4]@3]/2", // B G#5
AC: "a#3@2 ~@2 a#3 a#3@3, f#3@24 f#3@23 ~, d#3@18 ~ d#3@29, ~ a#3 ~@2",
AD: "~ [d#3,f#3,d#4]@12 [a#3,d#4]@11 [f#3,a#3,d#4]@6 [d#3,f#3]@12 ~ d#3@5, a#3@12 ~ [d#3,f#3]@7 ~@10 [a#3,d#4]@18, ~@42 f#3@5 ~", // D#m D#5 D#m D#5
AE: "[e3,g#3,b3]@2 [g#3,b3]@2 [f#3,a#3]@2 [f#3,a#3] a#3, d#3@7 ~@5 [d#3,e3]@6 ~@18 [c#4,f#4]@12", // E G#m F# Emaj7 F#5
AF: "[d#3,a#3] [c#3,d#3,f#3,a#3] [g#3,b3,d#4] [f#3,g#3,b3,d#4], f#3 ~@47", // D#5 D#m7 G#m G#m7
AG: "[g#3,b3,c#4]@12 ~ c#4@5 ~@12 g#3@5 ~@7 g#3@6, e3@24 ~ e3@17 ~@6, ~@12 [g#3,b3]@6 c#4@17 ~@13, ~@18 g#3@6 g#3@6 ~@5 g#3@6 ~@7, ~@19 b3@17 [b3,c#4]@12", // C#7 G#m Bsus2
AH: "[f#3@7 ~@5 [f#3,b3]@6 b3@12 ~@6 f#3@6 f#3@6 ~@12 f#3@6 ~@18 d#3@12, d#3@2 ~@2 d#3@2 d#3 ~, ~@12 d#4@18 [b3,d#4]@30 [b3,d#4]@18 ~ b3@17, ~@11 f#3@2 [f#3,d#4]@3]/2", // B5 B D#m
AI: "[[e3,g#3]@11 ~ [e3,g#3]@6 e3@6 e3@6 e3@6 e3@6 ~@18 e3@6 e3@6 ~@6 e3@7 e3@5 [e3,g#3]@6, e2 e2, d#3@24 d#3@13 ~@5 [e3,g#3]@18 ~@12 e3@5 ~@19, ~@18 g#3@12 g#3@12 ~@17 g#3@7 g#3@12 g#3@12 ~@6, ~@73 d#3@12 d#3@11]/2", // E
AJ: "d#3@7 ~@5 [d#3,f#3]@6 f#3@12 ~@6 d#3@6 d#3@6, c#3 ~, ~@2 a#3@3 [f#3,a#3]@3", // D#m F#
AK: "g#3@5 ~@16 [f#3,d#4]@3, f#3@5 f#3@2 ~, ~@10 g#3@25 ~ g#3@12, ~@11 b3@18 b3@18 ~, ~@12 d#4@29 ~@7", // D#m
AL: "[[a3,d4,f#4]@12 ~ f#4@5 ~@12 a3@5 ~ [d4,f#4]@6 [e3,a3,c#4]@18 ~ c#4@5 ~@12 e3@5 ~@7 e3@6, f#3@24 ~ f#3@17 c#3@30 ~ c#3@17 ~@6, ~@12 [a3,d4]@6 f#4@17 ~@32 a3@17 [a3,c#4]@12, ~@18 a3@6 a3@6 ~@5 a3@6 ~@19 [e3,a3]@6 e3@6 e3@6 ~@5 e3@6 ~@7, ~@19 d4@17 ~@30 c#4@17 ~@13]/2", // D A D5 A A5
AM: "[g#3@7 ~@5 [g#3,b3]@6 b3@12 ~@6 g#3@6 g#3@6 ~@12 g#3@6 ~@18 e3@6 e3@13 ~@5 [e3,a3]@6 a3@12 ~@6 e3@6 [f#3,a3,c#4]@18 ~ c#4@5 ~@12 f#3@5 ~@7 f#3@6, e3@24 ~@24 e3@24 e3@12 ~@6 c#3@30 ~@18 e3@30 ~ e3@17 ~@6, ~@12 e4@18 [b3,e4]@30 [b3,e4]@18 ~ b3@11 ~@18 c#4@18 ~@36 c#4@17 ~@13, ~@66 g#3@12 [g#3,e4]@12 ~@36 [a3,c#4]@12 ~@18 [f#3,a3]@6 f#3@6 f#3@6 ~@5 f#3@6 ~@7, ~@163 a3@17 [a3,c#4]@12]/4", // G#m A5 F#m E5 C#m A F#m A
AN: "a3@5 ~@16 [f#3,d4]@3, f#3@5 f#3@2 ~, ~@10 a3@25 ~ a3@12, ~@11 b3@18 b3@18 ~, ~@12 d4@29 ~@7", // D
AO: "~@3 [d3,f#3] ~@3 b3, f#3@3 ~@3 [e3,g#3]@2, ~ [a3,b3]@3 b3@3 ~", // D E Asus2
AP: "e3@7 ~@5 [e3,a3]@6 a3@12 ~@6 e3@6 e3@6, c#3 ~, ~@2 c#4@3 [a3,c#4]@3", // A5 A
AQ: "[f#3@5 ~@13 f#3@3 a3@8 ~@16 [f#3,d4]@3, e3@30 e3@12 ~@18 d4@29 ~@7, ~@10 f#3@25 ~@7 f#3@36 f#3@12 ~@6, ~@11 a3@18 a3@12 ~@17 a3@25 ~ a3@12, ~@12 c#4@30 ~@17 c#4@18 c#4@18 ~]/2", // D
AR: "~ [d3,f#3,b3]@12 [a3,b3]@11 [f#3,a3,b3]@6 [d3,f#3]@12 ~ d3@5, a3@12 ~ [d3,f#3]@7 ~@10 [a3,b3]@18, ~@42 f#3@5 ~", // Bm Asus2 B7 D Asus2
AS: "[e3,a3,c#4]@12 ~ c#4@5 ~@12 e3@5 ~@7 e3@6, c#3@24 ~ c#3@17 ~@6, ~@12 [e3,a3]@6 c#4@17 ~@13, ~@18 e3@6 e3@6 ~@5 e3@6 ~@7, ~@19 a3@17 [a3,c#4]@12", // A A5 A
AT: "[f3,a3]@2 [f3,a3] ~ [d3,f3]@2 [d3,f3] f3, ~ [c4,f4] ~@2, ~@3 a3@3 [a3,a#3]@2", // F Dm F5 A#maj7
AU: "[~@3 [d3,e3] [g3,c4,e4]@2 [e3,g3,c4,e4] [a3,c4,d4]@3 [c4,d4]@2 ~@3 [f3,g3], e3@18 ~@6 e3@7 ~@11 f3@13 ~@5 [f3,a3]@6 ~@12 [b3,d4]@18, ~ [g3,b3]@3 ~@8 g3@3 ~]/2", // Dsus2 C D7 Csus2 Fsus2 F Bm G
AV: "~ [e3,g3,e4]@12 [c4,e4]@11 [g3,c4,e4]@6 [e3,g3]@12 ~ e3@5, c4@12 ~ [e3,g3]@7 ~@10 [c4,e4]@18, ~@42 g3@5 ~", // Em C Em C
AW: "[~@3 [g#3,c4] [f3,g#3]@2 [f3,g#3] ~ [d#3,g3]@2 [d#3,g3] g3 [f3,g#3,c4]@2 [d#3,f3,g#3,c4]@2, c4@3 ~@3 [c4,c#4]@2 ~@2 [a#3,c4]@2 ~@4, ~ [d#4,g#4]@3 ~@3 g#3@5 ~@4]/2", // G# Fm D# Fm Fm7 C#maj7 A#sus2 G#5
AX: "[[f3,g#3,a#3]@2 [c#3,f3,g#3,a#3]@2 [c4,d#4,g#4]@2 [g#3,c4,d#4,g#4] [f3,g#3]@3 [f3,g#3,c4,c#4] [g3,a#3,d#4]@3 [f3,g#3,c4]@2, ~@66 d#3@13 ~@5 d#3@7 ~@5]/2", // A#7 A#m7 G# Fm C#maj7 D# Fm
AY: "[f3,g#3,a#3] [c#3,f3,g#3,a#3] [c4,d#4,g#4] [g#3,c4,d#4,g#4]", // A#7 A#m7 G#
AZ: "[a#3,c4,f4] [c4,f4] [a3,c4,f4] [c4,f4], f3@7 ~@5 [f3,a#3]@6 ~@6 f3@7 ~@5 [f3,a3]@6 ~@6", // A#sus2 F5 F F5 A#5 F
BA: "f3@7 ~@5 [f3,a#3]@6 a#3@12 ~@6 f3@6 f3@6, d3 ~, ~@2 d4@3 [a#3,d4]@3", // A#5 A#
BB: "a#3@2 ~@2 a#3 a#3@3, g3@24 g3@23 ~, f3@18 ~ f3@29, ~ a#3 ~@2",
BC: "d#3@7 ~@5 [d#3,g3]@6 g3@12 ~@6 d#3@6 d#3@6, c3 ~, ~@2 a#3@3 [g3,a#3]@3", // D# Gm
BD: "[g3,a#3,c4] [a#3,c4] [a3,c4,f4] [f3,a3,c4,f4], d#3@7 ~@5 [d#3,g3]@6 ~@30", // C7 A#sus2 F D#
BE: "g3@7 ~@5 [g3,a#3]@6 a#3@12 ~@6 g3@6 g3@6, f3 ~, ~@2 d4@3 [a#3,d4]@3", // Gm A#
BF: "[d#3,g3,a#3]@12 ~ a#3@5 ~@12 d#3@5 ~@7 d#3@6, d3@24 ~ d3@17 ~@6, ~@12 [d#3,g3]@6 a#3@17 ~@13, ~@18 d#3@6 d#3@6 ~@5 d#3@6 ~@7, ~@19 g3@17 [g3,a#3]@12", // D# Gm
BG: "~ [d#3,g3,c4]@12 [a#3,c4]@11 [g3,a#3,c4]@6 [d#3,g3]@12 ~ d#3@5, a#3@12 ~ [d#3,g3]@7 ~@10 [a#3,c4]@18, ~@42 g3@5 ~", // Cm A#sus2 C7 D# A#sus2
BH: "[a#3,d4,g4]@12 ~ g4@5 ~@12 a#3@5 ~@7 a#3@6, g3@24 ~ g3@17 ~@6, ~@12 [a#3,d4]@6 g4@17 ~@13, ~@18 a#3@6 a#3@6 ~@5 a#3@6 ~@7, ~@19 d4@17 [d4,g4]@12", // Gm A# G5
BI: "[a3,d4,f4]@12 ~ f4@5 ~@12 a3@5 ~@7 a3@6, f3@24 ~ f3@17 ~@6, ~@12 [a3,d4]@6 f4@17 ~@13, ~@18 a3@6 a3@6 ~@5 a3@6 ~@7, ~@19 d4@17 [d4,f4]@12", // Dm D5 Dm
BJ: "~@3 [d3,d#3] ~@3 a#3, d#3@3 ~@3 [d#3,g3]@2, ~ [g3,a#3]@3 a#3@3 ~", // D#maj7 D# Gm
BK: "f3@5 ~@16 [d3,d4]@3, d3@5 d3@2 ~, ~@10 f3@25 ~ f3@12, ~@11 a#3@18 a#3@18 ~, ~@12 d4@29 ~@7", // D
BL: "[[d3,f3,a#3,d4]@2 f3!2 [f3,a#3,d4] d3@2 d3@16 ~, ~@2 [d3,a#3,d4]@2 ~ [f3,a#3,d4]@16 ~@3]/3", // A# Gm A#
})).s("gm_acoustic_guitar_steel").gain(0.32).pan(0.3)
// chords · acoustic guitar steel · "steelstrgt" · soft notes
const acoustic_guitar_steel_2 = note(`<
A@2 B C D@2 E F G H I@2 J K L M N ~ O ~@2 P ~@3 N E Q ~ R S ~@3 T ~@2 U B ~ G V ~ F J K W@2 X ~@2 P E Y Z F ~ AA AB
~@2 AC P AD AE AF AG AH@2 ~ AI ~ AJ AK ~ AL AM AK AN AO AP AQ@2 AR AA ~ AS ~@2
>`.pickRestart({
A: "[~@37 g#3@36 ~@23]/2", B: "~ g#3, ~@18 b3@17 ~@13", C: "b3!2 ~@6",
D: "[~@20 f#3@4 d#3@6 ~@12 d#3@18 d#3@5 ~@2 f#3@5 ~@24, ~@11 d#3 ~@4]/2", E: "~ e3, ~@18 g#3@17 ~@13", F: "~@7 e3",
G: "~@10 f#3@2 d#3@3 ~@9, ~@19 d#3@5 ~@24", H: "~@7 d#3@5 ~@6 [d#3,f#3]@6 ~@18 d#3@6",
I: "[~@60 d#4@6 ~@7 g#3@12 g#3@11, ~@7 g#3@5 ~@4]/2", J: "~ d#3, ~@18 f#3@17 ~@13", K: "f#3!2 ~@6",
L: "~@7 d#3@5 ~@6 [d#3,e3]@6 ~@24", M: "~ c#3@17 ~@13 f#3@5 ~@6 [f#3,g#3]@6",
N: "~@10 g#3@2 e3@3 ~@9, ~@19 e3@5 ~@24", O: "~@7 d#3", P: "~@7 c#3", Q: "~@10 e3@2 c#3@3 ~@9, ~@19 c#3@5 ~@24",
R: "~@10 a3@2 f#3@3 ~@9, ~@19 f#3@5 ~@24", S: "~@7 d3@5 ~@6 [d3,f#3]@6 ~@24",
T: "~@7 d3@5 ~@6 [d3,f#3]@6 ~@7 e3@5 ~@6 [e3,g#3]@6", U: "~@4 g#3@3 ~, ~@18 b3@17 ~@13",
V: "~@7 d#3@5 ~@6 [d#3,e3]@6 ~@18 f#3@6", W: "[~@37 d#3@36 ~@23]/2", X: "~ c#3, ~@18 d#3@17 ~@13", Y: "g#3!2 ~@6",
Z: "~@4 c#3@3 ~, ~@18 e3@17 ~@13", AA: "~ d3@17 ~@30", AB: "~ c#3, ~@18 e3@17 ~@13",
AC: "~@10 f#3@2 d3@3 ~@9, ~@19 d3@5 ~@24", AD: "~@3 f3 ~@3 d3", AE: "~ d3@17 ~@13 e3@5 ~@12",
AF: "~@7 f3@5 ~@6 [f3,a3]@6 ~ f3@17 ~@6", AG: "~@10 g3@2 e3@3 ~@9, ~@19 e3@5 ~@24",
AH: "[~ g#3@17 ~@48 d#3@6 ~@24, ~@7 f3@5 ~@4]/2", AI: "~@31 d#3@5 ~@7 d#3@5",
AJ: "~@7 f3@5 ~@6 [f3,a#3]@6 ~@7 f3@5 ~@6 [f3,a3]@6", AK: "~ d3, ~@18 f3@17 ~@13", AL: "~ c3, ~@18 d#3@17 ~@13",
AM: "~@7 d#3@5 ~@6 [d#3,g3]@6 ~@24", AN: "~ f3, ~@18 g3@17 ~@13", AO: "~@7 d3",
AP: "~@10 g3@2 d#3@3 ~@9, ~@19 d#3@5 ~@24", AQ: "~@7 g3", AR: "~@7 f3", AS: "~@4 d3 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.16).pan(0.3)
// chords · string ensemble 1 · "strings"
const string_ensemble_1 = note(`<
A@4 B@2 C@2 D E A@2 B@2 F G H D@2 I@2 J K L M C@2 M N K O M N P O M@2 Q@2 D@2 F G H B@2 R@2 J K L M S@2 M N K O M N P
T M U V W X Y Z AA AB AA AC AD AE AF AG AD AE AH AI AJ@2 AK AL AD AM@2 ~
>`.pickRestart({
A: "[b5,g#6]/2", B: "[f#5,d#6]/2", C: "[g#5,e6]", D: "[f#5,d#6]", E: "[f#5,d#6] [g5,d#6]", F: "[g#5,d#6] [a#5,f#6]",
G: "[f#5,c#6] [b5,f#6]", H: "[b5,e6]", I: "[g#5,d#6]", J: "[f#5,c#6]", K: "[b5,f#6]", L: "[a5,f#6]", M: "[e5,c#6]",
N: "[a5,e6]", O: "[a5,d6] [g#5,e6]", P: "[c#6,f#6]", Q: "[b5,g#6]", R: "[g#5,d#6]/2", S: "[g#5,e6]/2", T: "[a5,d6]",
U: "[a5,f6] [a5,d6]", V: "[g5,d6] [g5,e6]", W: "[c6,f6] [b5,f6]", X: "[g5,e6]", Y: "[c6,g#6] [c6,f6]",
Z: "[a#5,d#6] [g#5,d#6]", AA: "[g#5,c#6] [c6,g#6]", AB: "[c6,f6]@2 [g5,d#6] [g#5,d#6]", AC: "[a#5,f6] [a5,f6]",
AD: "[f5,d6]", AE: "[a#5,f6]", AF: "[g5,c6]", AG: "[a#5,d#6] [a5,f6]", AH: "[g5,d6]", AI: "[a#5,d#6]", AJ: "[a#5,g6]",
AK: "[a5,f6]", AL: "[g5,d6] [a#5,d#6]", AM: "[f5,d6]/2",
})).s("gm_string_ensemble_1").gain(0.38).pan(0.4)
// chords · piano · "piano1"
const piano = note(`<
~ A B@2 C D E F G H B@2 C D I J K L G M N O P Q R S E T U V W X U Y W X@2 B@2 C D I Z AA L G N M AB AC Q R S@2 T U V
AD X AE AF AG T AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AR AS AV AW AX@2 AY AZ AR BA@2 ~
>`.pickRestart({
A: "~@8 d#4@4 g#4@4 ~@4 b3@4 ~@8 d#4@4 g#4@4 d#4@3 b3@3 ~@2, g#3@19 ~@5 g#3@17 ~@7, ~@4 b3@10 ~@2 d#4@8 ~@4 b3@9 ~@11",
B: "[~@20 b3@4 ~@40 d#4@4 ~@2 d#2@2 ~@16 d#4@4 b3 ~@3, g#3@22 ~@2 g#3@22 g#2@22 b3@5 ~@3 b3@16 ~@4, ~@4 b3@16 ~@8 b3@16 b3@4 g#3@23 ~ [g#2,g#3]@21 ~@3, ~@8 d#4@8 d#4@8 ~@8 d#4@9 d#4@8 ~@3 b3@16 d#4@12 d#4@8 ~@8, ~@12 g#4@10 ~@14 g#4@11 ~@9 d#4@4 g#4@11 ~@13 g#4@8 ~@4]/2", // G#
C: "~@9 f#4@4 a#4@3 ~@4 d#4@4 ~@8 f#4@5 ~@7 d#4@4, a#3@21 ~@3 a#3@16 f#4@8, ~@5 d#4@8 ~@3 f#4@8 ~@5 d#4@8 a#4@5 ~@6",
D: "~@8 f#4@4 a#4@4 ~@4 d#4@4 ~@8 f#4@4 a#4@4 f#4@3 d#4@3 ~@2, a#3@19 ~@5 a#3@17 ~@7, ~@4 d#4@10 ~@2 f#4@8 ~@4 d#4@9 ~@11",
E: "~@20 g#4@2 e4 ~, [e2,b3]@23 e2@24 ~, ~@4 e4@16 e4@8 ~ e4@15 ~@4, ~@4 g#4@4 g#4@8 g#4@2 b4@5 ~, ~@12 b4@11 ~@2 b3@21 ~@2", // E5
F: "~@20 c#4@4 ~@16 e4@5 c#4@3, g#3@22 ~@2 [c#2,g#3]@23 ~, ~@4 c#4@16 ~@9 c#4@16 ~@3, ~ e4!2 ~ e4 ~, ~@12 g#4@10 ~@14 g#4@11 ~", // C#5
G: "~@20 d#4@4 ~@16 f#4@5 d#4@3, b3@22 ~@2 [b2,b3]@23 ~, ~@4 d#4@16 ~@9 d#4@16 ~@3, ~ f#4!2 ~ f#4 ~, ~@12 b4@10 ~@14 b4@11 ~", // B
H: "~@16 f#4@4 d#4@3 ~@17 g4@4 d#4@3 ~, [b2,b3]@23 ~ [f2,a#3]@23 ~, ~ d#4@4 ~@2 d#4@4 ~, ~ f#4 ~@2 g4 ~, ~@3 b4@2 ~@4 a#4@2 ~", // B A#5
I: "~@16 f#4@4 d#4@3 ~@21 f#3@2 ~@2, [e2,b3]@23 ~ [e2,f#3]@18 e2@4 ~@2, ~@2 d#4@8 ~@4 a#3@9 ~, ~@8 f#4@8 ~@16 c#4@8 c#4@7 ~, ~@6 g#4@4 ~@8 f#4@5 ~", // E5 Esus2
J: "~@20 a#3@2 ~@18 d#4@4 b3@3 ~, [d#2,a#3]@18 d#2@4 ~@2 [g#2,g#3]@23 ~, ~@2 c#4@9 ~@3 b3@8 ~@2, ~@8 d#4@8 d#4@7 ~@9 d#4@8 ~@8, ~@6 f#4@5 ~@7 f#4@4 ~@2", // D#5 G#
K: "~@20 c#4@2 b3 ~, [c#2,g#3]@23 c#2@24 ~, ~@4 b3@16 b3@8 ~ b3@15 ~@4, ~@4 c#4@4 c#4@8 c#4@2 e4@5 ~, ~@12 e4@11 ~@2 g#3@21 ~@2", // C#5
// … 86 more lines
More by
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.