0:00/0:00
// It's Going to Take Sometime — Carpenters
// 113 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 84 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(113/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 · "A.PIANO 1"
const piano = note(`<
A B@2 C D@3 E F@3 G H@8 I@3 ~@7 J@6 K L ~@2 M N@2 O P Q@2 R S T U V W X Y Z ~@8 AA AB AC@2 AD@2 AE AF ~@2 AG AH AI AJ
AK AL AM@3 ~
>`.pickRestart({
A: "~@3 [e3,c4,e4]@3 ~ [e3,c4,e4]@3 ~ [d3,b3,d4]@4 [e3,c4,e4]@3 ~@4 [e3,c4,e4]@4 [d3,b3,d4]@4 [e3,c4,e4]@2", // C G C G C
B: "[~@6 [g3,e4,g4]@4 ~@4 [e3,c4,e4]@7 ~@8 [e4,e5]@4 [c4,c5]@3 ~ [d4,d5]@4 ~@4 [f3,f4]@8 [d4,d5]@4 [a#3,a#4]@3 ~ f4@3, ~@21 [g3,g4]@12 f5@19 ~@12, ~@25 [d4,d5,g5]@9 ~@7 [a#3,a#4]@11 ~@8 f3@4]/2", // C E C D F D A# G …
C: "~ [e3,c4,e4]@3 [e3,c4,e4]@4 [d3,b3,d4]@3 ~ [e3,c4,e4]@4 ~@4 [e3,c4,e4]@4 [d3,b3,d4]@4 [e3,c4,e4]@4", // C G C G C
D: "[~@3 [g3,c4,e4]@6 ~@2 [g3,e4,g4]@8 [f3,d4,f4]@4 c4@7 ~@4 [d4,d5]@4 ~@4 [f3,f4]@8 [d4,d5]@4 ~@4 [f3,f4]@4 [a3,a4,c5]@3 ~@4 [a3,a4,c5]@8 ~@8 [e3,c4]@4 [c3,a3]@4 [e3,c4,e4]@2 ~, ~@23 [e3,e4]@15 ~@43 [g3,e4]@9 ~@6, ~@15 f5@10 ~@23, ~@30 [c4,c5]@7 ~ [a#3,a#4]@7 ~@9 [a#3,a#4]@9 ~@2 [a#3,a#4,d5]@10 ~@2 [a3,f4]@13 ~@6]/3", // C Dm D F D F Am C …
E: "~ [e3,c4,e4]@3 [d3,b3,d4]@4 [e3,c4,e4]@4 ~@4 [d3,b3,d4]@5 ~@3 [e3,c4,e4]@6 ~@2", // C G C G C
F: "[[g3,e4,g4]@6 ~ e3@3 ~@13 [c4,e4]@3 ~@39 a#4@4 f4@8 [d4,a#4]@4 [a#3,f4]@3 ~ d4@3 [e3,c4,e4]@2 ~@2 [e3,c4,e4]@3 ~, ~@7 [c4,e4]@12 d4@7 d4@28 c2@25 ~@5 f3@4 ~@8, ~@11 c3@46 ~@4 d5@9 ~@26, ~@15 g3@42 c5@13 ~@26, ~@9 [a#3,f4]@10 f5@7 ~@6]/3", // C Gm A#5 C A#5
G: "[d3,b3,d4]@4 [e3,c4,e4]@5 ~@3 [d3,c4,d4]@5 ~@2 [e3,c4,e4]@5 ~@3 [g3,e4,g4]@5", // G C D7 C
H: "[~@3 [e3,c4,e4]@4 ~@11 e4@4 ~@27 c2@4 ~@27 d5@3 ~ e4@8 ~@19 f3@4 ~@12 [b3,d4]@11 ~ [g3,b3,d4]@7 ~@8 a3@3 ~ e4@10 ~@2 e4@8 ~@6 g3@5 ~@8 g3@4 ~@4 g3@2 ~@2 e4@8 ~@15 a3@6 ~@10 g3@7 ~, ~@7 c3@46 c2@15 d4@4 f4@4 a#4@7 ~@13 e4@19 d4@11 ~@63 d4@18 ~@14 e4@19 ~@16, ~@11 g3@43 ~@3 d3@27 ~@24 c4@6 ~@33 [c4,e4]@11 ~@20 [b3,d4]@11 ~@67, ~@14 d4@8 [a#3,d4,f4]@32 ~@7 f3@23 f3@26 ~@5 e3@30 ~@2 f3@30 ~ e3@21 ~@2 [e3,b3]@7 ~ [f3,c4]@30 ~ [e3,b3,d4]@16, ~@65 a#3@19 a3@6 ~@2 a3@8 ~@4 a3@10 ~@9 g3@14 ~@21 [a3,c4]@17 ~@42 a3@8 ~@31]/8", // C Bm G C Bm A# E5 F5 …
I: "[~@4 [g3,a3,c4,e4]@11 [d4,f4]@8 e4@4 d4@8 f3 ~@3 [c4,e4]@4 [b3,d4]@7 g3@4 ~@4 g3@2 ~@2 g3@15 ~@19, ~@15 f3@17 ~@64, ~@23 a3@13 ~@18 g4@22 ~@20]/3", // Am7 Dm C Bm
J: "[~@30 e4@4 a4@4 ~@23 b3@5 ~@15 f4@4 ~@4 b3@9 ~@3 c4@2 ~@9 g4@10 ~@2 [g4,b4]@8 ~@8 c4@6 ~@13 g#4@3 ~@12 g4@4 ~@8 d4@6, ~@7 a4@25 ~@6 g4@31 ~@8 d4@21 ~@2 e4@6 ~@2 e4@13 ~@11 e4@35 ~@4 e4@8 ~@13, ~@15 e4@14 ~@21 e4@15 ~@4 f4@9 ~@7 g4@25 ~@22 a4@16 ~@3 c4@12 ~@4 c4@16 ~ c4@7 ~, ~@26 c4@8 ~@8 b3@13 ~@18 c4@11 ~@21 c4@14 ~@28 g#4@9 ~@7 g4@8 ~@7 f#4@14]/6", // G
K: "~@2 c4@7 ~@5 c4@18, ~ [d4,f4]@15", L: "~@13 g3@12 ~@7, ~@5 g4@22 ~@5, ~@9 d4@16 ~@7",
M: "[c4,e4]@2 ~@2 [e3,c4,e4]@3 ~ [d3,b3,d4]@4 [e3,c4,e4]@3 ~@5 [e3,c4,e4]@4 [d3,b3,d4]@4 [e3,c4,e4]@4, e3 ~@31", // C G C G C
N: "[~@4 [g3,e4,g4]@5 ~@3 [e3,c4,e4]@8 ~@8 [c4,e4]@4 [a#3,d4,f4]@32, ~@5 c3@11, ~@3 g3@5, ~@3 d4 ~@4]/2", // C A#
O: "~ d5 ~ f4@2 [a#3,f4] [f3,d4] [d3,a#3], [c2,f5]@21 ~@11, c5@8 a#4@13 ~@11", // A#5 Dm Gm F5
P: "[c4,e4]@2 ~@2 [e3,c4,e4]@3 ~ [d3,b3,d4]@4 [e3,c4,e4]@3 ~@5 [e3,c4,e4]@3 ~ [d3,b3,d4]@4 [e3,c4,e4]@4, e3 ~@31", // C G C G C
Q: "[~@4 [g3,e4,g4]@5 ~@3 [e3,c4,e4]@8 ~@8 [c4,e4]@4 ~@28 c2@4, ~@5 c3@11, ~@3 g3@5, ~@3 d4 [a#3,d4,f4]@4]/2", // C A#
R: "c2@29 ~@3", S: "~@20 a3@9 ~@3, f3@31 ~, a3@15 ~@17, ~@3 e4@5",
T: "~@6 d4@9 ~, e3@15 ~, d4@11 ~@21, ~@2 g3@13 ~, ~@4 b3@11 ~",
U: "~@24 c4@7 ~, ~ f3@7, ~@8 a3@9 ~@3 a3@9 ~@3, ~@6 e4@9 ~", V: "~@4 b3@5 ~@3 b3@17 ~@3, [e3,d4]@15 ~",
W: "~@12 c4@3 ~, f3@9 ~ f3@5 ~, ~@4 a3@25 ~@3, ~@8 e4@21 ~@3", X: "~@8 a3@6 ~@2 [g3,b3,e4]@15 ~, [e3,b3,d4] ~",
Y: "~@6 f3@9 ~, [d3,c4]@31 ~, ~@2 a3@13 ~", Z: "~@4 [f#3,a#3]@3 ~ [d3,c4]@7 ~, d#3@15 ~@17, ~@2 c#4@5 ~@9",
AA: "~@2 f4@3 ~ f4 a#4, a#4@25 ~@7, ~@5 c#4@2 ~", AB: "~@24 c4@5 ~@3, g#4@31 ~, ~@4 c4@13 ~@15, ~@12 f4@15 ~@5",
AC: "[~@12 f#4@4 ~@4 c4@9 ~@3 f4@4 ~@8 g#4@10 ~@2 [g#4,c5]@8, f#4@8 d#4@22 ~@2 c#4@2 ~@2 c#4@15 ~@13, ~@4 c#4@11 ~ g#4@24 f4@13 ~@11]/2", // G#
AD: "[~@8 c#4@6 ~@14 a4@3 ~@13 g#4@4 ~@8 d#4@6 ~@2, f4@36 ~@4 f4@9 ~@15, a#4@16 a4@9 ~@7 g#4@8 ~@8 g4@14 ~@2, ~@20 c#4@13 ~@3 c#4@17 ~ c#4@7 ~@3]/2",
AE: "c#4@7 ~@5 c#4@20, [d#4,f#4]", AF: "~@3 g#3@3 ~@2, ~@2 g#4@11 ~@3, ~@8 d#4@17 ~@7",
AG: "[f3,c#4,f4]@3 ~ [f3,c#4,f4]@3 ~ [d#3,c4,d#4]@3 ~ [f3,c#4,f4]@4 ~@4 [f3,c#4,f4]@4 [c4,d#4]@3 ~ [f3,c#4,f4]@4, ~@6 d#3 ~", // C# Cm C# Cm C#
AH: "~@4 [g#3,f4,g#4]@5 ~@3 [f3,c#4,f4]@7 ~@9 [f4,f5]@4, ~@5 [g#3,g#4]@3, ~@3 [d#4,d#5]", // C# F G# D#
AI: "~ [d#4,d#5] b3 ~@4 [f#3,d#4], f#5, [c#4,c#5]@2 b4@3 b4@3, ~@3 f#3@3 [b3,f#4]@2, ~@3 f#4@2 d#4@2 ~", // D# D#m C# B5
AJ: "[f3,c#4,f4]@3 ~ [f3,c#4,f4]@3 ~ [d#3,c4,d#4]@3 ~ [f3,c#4,f4]@4 ~@4 [f3,c#4,f4]@4 [d#3,c4,d#4]@4 [f3,c#4,f4]@4", // C# Cm C# Cm C#
AK: "~@4 [g#3,c#4,f4]@5 ~@3 [g#3,f4,g#4]@8 [f#3,d#4,f#4]@4 [f3,c#4,f4]@8", // C# D#m C#
AL: "[c#4,c#5] ~ [b3,b4] [f#3,f#4]@2 [d#4,b4] [b3,f#4] [f#3,d#4], f#5@21 ~@11, ~@4 [d#4,d#5]@9 ~@19", // C# B F# G#m B5 D#m D#
AM: "[[g#3,g#4]@4 [a#3,a#4]@3 ~ [f#3,f#4]@4 [c#3,c#4]@19 ~ [f3,c#4,f4,g#4]@64, c#5@31 d#3@2 ~@63]/3", // G# A# F# C#
})).s("gm_piano").gain(0.33).pan(0.3)
// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
~@14 A B@2 C D E F@7 G@6 H I J K L M@2 N O P Q N O P Q R S T U V W X Y Z AA AB AC AA AD AE AC AF AG AH AI AJ AK AL AM
AN@2 AO AP AQ AR AS AT@2 AU@2 ~
>`.pickRestart({
A: "~@20 f2@9 ~@3", B: "[f2 ~@3 f2@15 e2@9 ~@3 e2@2 ~@2 e2@15 ~ f2@10 ~ f2 ~]/2", C: "~@2 f2@15 ~ e2@9 ~@2 e2@2 ~",
D: "~ e2@14 ~@2 f2@10 ~@2 f2 ~@2", E: "~ f2@14 ~ e2@14 ~@2",
F: "[a2@15 d2@9 ~@3 d2 ~@3 d2@15 g2@10 ~@2 g2 ~@3 g2@13 ~@3 c2@9 ~@2 c2@13 ~@3 c2 ~@3 c2@9 ~@3 c2@18 ~ c2@26 ~ c2@4 c3@31 c2@10 ~@2 c2@10]/7",
G: "[~@6 c2 ~@3 c2@9 ~@2 c2@18 ~@2 c2@26 ~ c2@4 c3@18 ~ c3@12 f2@9 ~@3 f2 ~@3 f2@6 ~ f2@7 ~ e2@9 ~@3 e2 ~@3 e2@6 ~@2 e2@6 ~ d2@12 g2@6 ~@2 g2@6 ~]/6",
H: "~ c2@2 ~@2 c2@10 ~ c2@12 b1@4", I: "~@4 a1@10 ~ a1@17", J: "~@3 a1@15 d2@14", K: "~@2 d2@11 ~ d2@10 ~ d2@6 ~",
L: "~ g2@10 ~@2 g2@11 ~ g2@7", M: "[f2@2 ~@2 f2@2 ~@2 e2@2 ~@2 f2@5 ~@3 e2@5 ~@3 d2@19 ~ g2@12 ~@4]/2",
N: "c2@10 ~@2 c2@14 ~@2 c2 ~@3", O: "c2@9 ~@3 c2@19 ~", P: "c2@27 ~ c2@4", Q: "c3", R: "f2@6 c3@5 ~ f2@4",
S: "e2@23 ~ e2@5 ~@3", T: "f2@3 ~ a2@8 c3@18 ~@2", U: "e2@4 e2@3 ~ b2@4 e3@7 ~ b2@8 ~@4", V: "f2@12 f2@11 ~ f2@8",
W: "e2 a2", X: "d2@13 ~ d2@2", Y: "d#2@16 d2@13 ~@3", Z: "c#2@9 ~@3 c#2@19 ~", AA: "c#2@11 ~ c#3@19 ~",
AB: "c#2@25 ~@3 c#2 ~@3", AC: "c#2@31 ~", AD: "c#2@12 c#3@19 ~", AE: "c#2@13 ~ c#2 ~",
AF: "f#2@9 ~@3 f#2 ~@3 f#2@6 ~@2 f#2@7 ~", AG: "f2@9 ~@3 f2 ~@3 f2@6 ~@2 f2@6 ~@2",
AH: "d#2@12 g#2@7 ~ g#2@6 ~@2 c#2@2 ~@2", AI: "c#2@5 ~ c#2@6 c2@3 ~", AJ: "a#1@5 ~ a#1@9 ~", AK: "a#1@16 d#2@15 ~",
AL: "d#2@11 ~ d#2@11 ~ d#2@6 ~@2", AM: "g#2@10 ~@2 g#2@11 ~ g#2@7 ~",
AN: "[f#2@2 ~@2 f#2@2 ~@2 f2@2 ~@2 f#2@5 ~@3 f2@5 ~@3 d#2@19 ~ g#2@12 ~@4]/2", AO: "c#2@5 ~ c#2@7 ~ c#2@2",
AP: "c#3@11 ~ c#3@14 ~@2 c#3@4", AQ: "c#2@26 ~@2 c#2 ~@3", AR: "c#2@11 ~ c#2@14 ~@2 c#2@3 ~", AS: "c#3@11 ~ c#3@19 ~",
AT: "[c#2@55 ~ g#2@8, ~@55 f#2@2 ~@7]/2", AU: "c#2/2",
})).s("gm_acoustic_bass").gain(0.38)
// chords · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
A B C D E@3 F G@3 H I@8 J@3 K@4 L@8 M N O P@2 Q R@2 S T U@2 V W X Y Z W AA AB AC AD AE@2 AF AG AH@3 AI AJ AK AL AM AN
AO AP AQ@2 AR AS AT AU AV AW AX@3 ~
>`.pickRestart({
A: "~@3 [e3,c4,e4]@3 ~ [e3,c4,e4]@3 ~ [d3,b3,d4]@4 [e3,c4,e4]@3 ~@4 [e3,c4,e4]@4 [d3,b3,d4]@4 [e3,c4,e4]@2", // C G C G C
B: "~@6 [g3,e4,g4]@4 ~@4 [e3,c4,e4]@7 [g3,g4]@4 [d4,d5,g5]@4 [e4,e5]@3", // C G G5 E
C: "~ [c4,c5]@3 ~ [d4,d5]@4 a#4@4 [f3,f4]@8 [d4,d5]@4 [a#3,a#4]@3 ~ f4@3, ~ f5@19 ~@12, ~@9 a#3@3 ~@16 f3@4", // C D F D A#
D: "~ [e3,c4,e4]@3 [e3,c4,e4]@4 [d3,b3,d4]@3 ~ [e3,c4,e4]@4 ~@4 [e3,c4,e4]@4 [d3,b3,d4]@4 [e3,c4,e4]@4", // C G C G C
E: "[~@3 [g3,c4,e4]@6 ~@2 [g3,e4,g4]@8 [f3,d4,f4]@4 [c4,e4]@7 ~@4 [d4,d5]@4 ~@4 [f3,f4]@8 [d4,d5]@4 ~@4 [f3,f4]@4 [a3,a4,c5]@3 ~@4 [a3,a4,c5]@8 ~@8 [e3,c4]@4 [c3,a3]@4 [e3,c4,e4]@2 ~, ~@23 e3@15 ~@43 [g3,e4]@9 ~@6, ~@15 f5@10 ~@23, ~@30 [c4,c5]@7 ~ [a#3,a#4]@7 ~@9 [a#3,a#4]@9 ~@2 [a#3,a#4,d5]@10 ~@2 [a3,f4]@13 ~@6]/3", // C Dm C D F D F Am …
F: "~ [e3,c4,e4]@3 [d3,b3,d4]@4 [e3,c4,e4]@4 ~@4 [d3,b3,d4]@5 ~@3 [e3,c4,e4]@6 ~@2", // C G C G C
G: "[[g3,e4,g4]@6 ~ e3@3 ~@13 [c4,e4]@3 ~@39 a#4@4 f4@8 [d4,a#4]@4 [a#3,f4]@3 ~ d4@3 [e3,c4,e4]@2 ~@2 [e3,c4,e4]@3 ~, ~@7 [c4,e4]@12 d4@7 d4@28 c2@25 ~@5 f3@4 ~@8, ~@11 c3@46 ~@4 d5@9 ~@26, ~@15 g3@42 c5@13 ~@26, ~@9 [a#3,f4]@10 f5@7 ~@6]/3", // C Gm A#5 C A#5
H: "[d3,b3,d4]@4 [e3,c4,e4]@5 ~@3 [d3,c4,d4]@5 ~@2 [e3,c4,e4]@5 ~@3 [g3,e4,g4]@5", // G C D7 C
I: "[~@3 [e3,c4,e4]@4 ~@11 e4@4 [a#3,d4,f4]@27 c2@2 ~@2 c2@29 ~@2 [a3,e4]@8 ~@4 a3@8 a3@4 [a3,e4]@8 g3@4 ~@3 g3@4 g3@8 g3@4 ~@4 b2@3 ~ a3@7 ~@16 [c4,e4]@7 ~@8 g3@4 ~@12 [b3,d4]@8 e4@8 ~@11 a3@4 [a3,c4,e4]@7 ~ g3@8 g3@8, ~@7 c3@33 ~@44 f2@32 e2@31 f2@31 e2@31 [f2,c3]@30 ~ [e2,b2,b3,d4]@16, ~@11 g3@29 ~@52 c3@24 b2@19 b2@8 ~@4 c3@19 [c3,a3]@11 ~ b2@19 b2@12 ~@47, ~@14 d4@8 ~@74 e4@12 ~@8 d4@11 d4@12 [g3,d4]@7 ~ e4@11 [c4,e4]@12 ~@8 [b3,d4]@11 [b3,d4]@12 ~@8 c4@12 [c4,e4]@11 ~@24, ~@154 a3@12 ~@23 g3@19 ~@9 a3@11 ~@28]/8", // C A# A5 C Bm Am F5 E7 …
J: "[~@8 e3@7 ~@20 f3@3 ~ [c4,e4]@4 ~@23 g3@4 a3@4 b3@4 [c4,e4]@2 ~ [e3,c4,e4]@3 ~ [d3,b3,d4]@3 ~ [e3,c4,e4]@3 ~@4, [a2,g3,c4,e4]@15 d2@23 ~@12 g2@24 ~@22, ~@15 f3@19 ~@9 b3@11 g3@4 g4@16 ~@22, ~@15 [a3,d4]@12 [a3,d4]@11 ~@5 d4@32 ~@21, ~@23 d3@15 ~@16 d3@19 ~@5 e3 ~@17]/3", // C G C Am7 D5
K: "[~ [d3,b3,d4]@4 ~@4 [e3,c4,e4]@6 ~@2 [g3,e4,g4]@5 ~@18 [c4,e4]@4 [a#3,d4,f4]@31 ~@4 d5@4 ~@4 f4@8 f4@4 [f3,d4]@4 [d3,a#3]@3 [e3,c4,e4]@5 ~@3 [e3,c4,e4]@5 ~@7 [e3,c4,e4]@2, ~@25 [e3,c4,e4]@10 ~ g3@39 ~@20 a#3@3 ~@30, ~@32 c3@43 [c2,f5]@21 ~@32, ~@36 d4@8 ~@31 c5@8 a#4@13 ~@32]/4", // G C A# Dm Gm C F5
L: "[~@2 [d3,b3,d4]@4 [e3,c4,e4]@4 ~@3 [g3,e4,g4]@5 ~@3 [e3,c4,e4]@8 ~@8 [c4,e4]@4 ~@58 f5@4 ~@23 c5@8 [b3,e4]@12 ~@8 d4@11 [d3,f3,a3,c4,d4,f4]@15 ~@9 b3@7 c4@8 ~@4 g3@12 [d4,g4,b4]@8 [g3,a3,c4,e4,a4,c5]@15 [g#3,e4,g#4,c5]@13, ~@29 c3@12 d4@34 ~ c3@26 ~ [f3,a3,e4,a4,e5]@31 [e3,g3,b4]@31 ~@16 [g3,d4,g4]@16 ~@7 c4@16 ~@36, ~@33 g3@38 ~ c2@30 ~@154, ~@33 [a#3,d4]@8 f4@42 d4@4 f4@4 a#4@4 d5@8 ~@43 [b3,e4,g4]@20 ~@30 [c3,e4,g4]@24 ~@36, ~@41 a#3@39 a#3@22 ~@20 c4@11 ~ d4@19 ~@43 g3@12 ~@48]/8", // G C E5 Dm7 G Am7 G#aug Fmaj7 …
M: "~@3 [g3,e4,g4,c5]@15 [d3,f#3,c4,f#4,a4,c5]@14", // C D7
N: "~ d4@6 ~@6 [d4,f4,a4]@3, ~ [d3,f3,a3]@15, ~ [f4,a4]@12 ~@3, ~@7 d4@6 ~@3, ~@11 c4@5", // Dm F
O: "~ g4@4 ~@8 g3@14 ~@5, ~ g3@12 ~@19, ~ d4@8 d4@19 ~@4, ~@5 g4@24 ~@3",
P: "[[f3,a3,e4]@3 ~ [f3,a3,e4]@3 ~ [e3,g3,d4]@3 ~ [f3,a3,e4]@4 ~@4 [e3,g3,d4]@4 ~@4 [d3,f3,c4]@20 [g3,b3,d4]@15 ~]/2", // Fmaj7 Em7 Fmaj7 Em7 Dm7 G
Q: "[c4,e4]@2 ~@2 [e3,c4,e4]@3 ~ [d3,b3,d4]@4 [e3,c4,e4]@3 ~@5 [e3,c4,e4]@3 ~ [d3,b3,d4]@4 [e3,c4,e4]@4, e3 ~@31", // C G C G C
R: "[~@4 [g3,e4,g4]@5 ~@3 [e3,c4,e4]@8 ~@8 [c4,e4]@4 [a#3,d4,f4]@32, ~@5 c3@11, ~@3 g3@5, ~@3 d4 ~@4]/2", // C A#
S: "~@4 d5@4 ~@4 f4@8 [a#3,f4]@4 [f3,d4]@4 [d3,a#3]@3 ~, [c2,f5]@21 ~@11, c5@8 a#4@13 ~@11", // A#5 Dm Gm F5
T: "[c4,e4]@2 ~@2 [e3,c4,e4]@3 ~ [d3,b3,d4]@4 [e3,c4,e4]@3 ~@5 [e3,c4,e4]@4 [d3,b3,d4]@4 [e3,c4,e4]@4, e3 ~@31", // C G C G C
U: "[~@4 [g3,e4,g4]@5 ~@3 [e3,c4,e4]@8 ~@8 [c4,e4]@4 ~@28 c2@4, ~@5 c3@11, ~@3 g3@5, ~@3 d4 [a#3,d4,f4]@4]/2", // C A#
V: "c3@29 ~@3", W: "f3@5 ~ [a3,c4,e4]@2, [a3,c4,e4]@3 ~, ~@5 f3@3",
X: "g3@8 g3@4 g3@8 g3@4 ~@4 e3@3 ~, e3@7 ~, [b3,d4]@12 [b3,d4]@12 [g3,b3,d4]@7 ~", // Bm G
Y: "a3@5 a3@2 [f3,a3,c4,e4], [f3,c4,e4]@7 ~", // Fmaj7
Z: "g3@6 ~@18 e3@7 ~, b3@31 ~, e3@3 ~, d4@12 d4@19 ~, ~@8 g3@12 g3@11 ~",
AA: "[e3,a3,b3,d4,f#4]@15 ~ [g3,b3,c4,e4,g4]@15 ~", AB: "[d3,f3,a3,c4,e4,f4]@31 ~",
AC: "[d#3,f#3,a#3,c#4,f4]@16 [d3,f#3,b3,c4,e4]@15 ~", // D#m7 Bm
AD: "[c#4,f4]@2 ~@2 [f3,c#4,f4]@3 ~ [d#3,c4,d#4]@4 [f3,c#4,f4]@3 ~@5 [d#3,c4,d#4]@4 ~@4 [f3,c#4,f4]@4, f3 ~@31", // C# Cm C# Cm C#
AE: "[~@4 [g#3,f4,g#4]@5 ~@3 [f3,c#4,f4]@8 ~@8 [c#4,f4]@4 [b3,d#4,f#4]@32, ~@5 c#3@11, ~@3 g#3@5, ~@3 d#4 ~@4]/2", // C# B
AF: "~@4 d#5@4 ~@4 f#4@8 [b3,f#4]@4 [f#3,d#4]@4 [d#3,b3]@3 ~, [c#2,f#5]@21 ~@11, c#5@8 b4@13 ~@11", // B5 D#m G#m F#5
AG: "[f3,c#4,f4]@5 ~@3 [f3,c#4,f4]@5 ~@7 [f3,c#4,f4]@4 [d#3,c4,d#4]@4 [f3,c#4,f4]@4", // C# Cm C#
AH: "[~@4 [g#3,f4,g#4]@5 ~@3 [f3,c#4,f4]@8 ~@8 [c#4,f4]@4 ~@60 f#5@4, ~@20 c#3@12 d#4@35 ~ c#3@12 f#4@4 b4@4 d#5@8, ~@24 g#3@39 ~ c#2@31 ~, ~@24 [b3,d#4]@8 f#4@44 d#4@19 ~, ~@32 b3@40 b3@23 ~]/3", // C# B
AI: "~@3 c#5, [f#3,a#3,f4,a#4,f5], ~@5 c#4@3", AJ: "[c4,f4]@3 ~@2 d#4@3, [f3,g#3,c5], d#4@5 ~@3, ~@3 [c4,f4,g#4]@5",
AK: "[d#3,f#3,a#3,c#4,d#4,f#4]@15 ~@9 c4@8, ~ [g#3,d#4,g#4]", // D#m7 G#5
AL: "c#4@2 ~ g#3@3 [d#4,g#4,c5]@2, [c#3,f4,g#4]@3 ~, g#3@3 ~@5, ~ c#4@2 ~", // G# C#
AM: "[g#3,a#3,c#4,f4,a#4,c#5]@16 [a3,f4,a4,c#5]@15 ~", AN: "[g#3,f4,g#4,c#5]@15 ~ [d#3,g3,c#4,g4,a#4,c#5]@16",
AO: "d#4@12 ~@12 [d#4,f#4,a#4]@7 ~, [d#3,f#3,a#3]@31 ~, [f#4,a#4]@3 ~, ~@3 d#4@3 ~@2, ~@20 c#4@11 ~", // D#m F#
AP: "g#4@4 ~@8 g#3@15 ~@5, g#3@3 ~@5, d#4@8 d#4@19 ~@5, ~ g#4@6 ~",
AQ: "[[f#3,a#3,f4]@3 ~ [f#3,a#3,f4]@3 ~ [f3,g#3,d#4]@3 ~ [f#3,a#3,f4]@4 ~@4 [f3,g#3,d#4]@4 ~@4 [d#3,f#3,c#4]@20 [g#3,c4,d#4]@15 ~]/2", // F#maj7 Fm7 F#maj7 Fm7 D#m7 G#
AR: "[f3,c#4,f4]@3 ~ [f3,c#4,f4]@3 ~ [d#3,c4,d#4]@3 ~ [f3,c#4,f4]@4 ~@4 [f3,c#4,f4]@4 [c4,d#4]@3 ~ [f3,c#4,f4]@4, ~@6 d#3 ~", // C# Cm C# Cm C#
AS: "~@4 [g#3,f4,g#4]@5 ~@3 [f3,c#4,f4]@7 ~@9 [f4,f5]@4, ~@5 [g#3,g#4]@3, ~@3 [d#4,d#5]", // C# F G# D#
AT: "~ [d#4,d#5] b3 ~@4 [f#3,d#4], f#5, [c#4,c#5]@2 b4@3 b4@3, ~@3 f#3@3 [b3,f#4]@2, ~@3 f#4@2 d#4@2 ~", // D# D#m C# B5
AU: "[f3,c#4,f4]@3 ~ [f3,c#4,f4]@3 ~ [d#3,c4,d#4]@3 ~ [f3,c#4,f4]@4 ~@4 [f3,c#4,f4]@4 [d#3,c4,d#4]@4 [f3,c#4,f4]@4", // C# Cm C# Cm C#
AV: "~@4 [g#3,c#4,f4]@5 ~@3 [g#3,f4,g#4]@8 [f#3,d#4,f#4]@4 [f3,c#4,f4]@8", // C# D#m C#
AW: "[c#4,c#5] ~ [b3,b4] [f#3,f#4]@2 [d#4,b4] [b3,f#4] [f#3,d#4], f#5@21 ~@11, ~@4 [d#4,d#5]@9 ~@19", // C# B F# G#m B5 D#m D#
AX: "[[g#3,g#4]@4 [a#3,a#4]@3 ~ [f#3,f#4]@4 [c#3,c#4]@19 ~ [f3,c#4,f4,g#4]@64, c#5@31 d#3@2 ~@63]/3", // G# A# F# C#
})).s("gm_epiano1").gain(0.33).pan(0.6)
// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
~@15 A@2 B C ~@3 D E@2 ~ F@3 ~@6 G@3 ~@10 H I J@2 K L M N O@2 ~@2 P@2 ~@7 Q@3 ~@7 R S T@2 ~
>`.pickRestart({
A: "[~@27 g4@8 d4@11 ~@18]/2", B: "~@13 [b3,d4,e4,g4]@3", C: "~ [g3,b3,d4,e4]@12 ~@19",
D: "~@2 [g3,b3]@4 [a3,c4]@4 [e3,c4,e4]@8 [e3,c4,e4]@3 [d3,b3,d4]@4 [e3,c4,e4]@7", // G Am C G C
E: "[~ [d3,b3,d4]@8 [e3,c4,e4]@8 [g3,e4,g4]@8 [e3,c4,e4]@14 ~@25]/2", // G C
F: "[~@10 [e3,c4,e4]@8 [e3,c4,e4]@12 [e3,c4,e4]@4 [d3,b3,d4]@4 [e3,c4,e4]@7 [g3,e4,g4]@8 [e3,c4,e4]@16 ~@27]/3", // C G C
G: "[~@30 [a3,d4,f4]@12 [g3,c4,e4]@4 [f3,a3,d4]@8 [e3,g3,c4]@3 [a3,c4,e4]@4 [g3,b3,d4]@23 ~@12]/3", // Dm C Dm C Am G
H: "[a3,c4]@5 [c4,e4]@3", I: "[b3,d4]@5 [e3,g3]@3", J: "[[f3,a3]@5 [c4,e4]@2 [b3,d4]@9]/2",
K: "[e3,c4,e4]@5 [a3,c4,e4]@3", L: "[d4,f#4]@2 [e4,g4] [g3,c4,e4], a3@3 ~", M: "e4 d4, [f3,a3]",
N: "f4 d#4 b3 a3, [f#3,a#3] [d3,f#3]", // F# D
O: "[[f3,c#4,f4]@2 [f3,c#4,f4]@2 [d#3,c4,d#4]@2 [f3,c#4,f4]@4 [d#3,c4,d#4]@4 [f3,c#4,f4]@4 [g#3,f4,g#4]@4 [f3,c#4,f4]@7 ~@3]/2", // C# Cm C# Cm C#
P: "[[f3,c#4,f4,g#4]@4 [f3,c#4,f4,g#4]@6 [f3,c#4,f4,g#4]@2 [d#3,c4,d#4,g#4]@2 [f3,c#4,f4,g#4]@4 [g#3,f4,g#4,c#5]@4 [f3,c#4,f4,g#4]@9 ~]/2", // C# G# C#
Q: "[~@14 [a#3,d#4,f#4]@6 [g#3,c#4,f4]@2 [f#3,a#3,d#4]@4 [f3,g#3,c#4]@2 [a#3,c#4,f4]@2 [g#3,c4,d#4]@11 ~@7]/3", // D#m C# D#m C# A#m G#
R: "[b3,d#4]", S: "[a#3,c#4]", T: "[g#3,c#4]/2",
})).s("gm_epiano2").gain(0.33).pan(0.6)
// chords · epiano2 · "E.PIANO 2"
const epiano2_2 = note("<~@33 A B@2 ~@20 C@2 ~@9 D@2 E ~@14>".pickRestart({
A: "~@2 g3 a3 c4@2 b3@2", B: "[a3@19 g#3@16 g3@15 [f#3,a3]@14, ~@35 [c4,e4]@29]/2", C: "[[c#3,f3,g#3]@19 ~@13]/2",
D: "[~@4 g#3@4 a#3@4 c#4@8 c4@8 a#3@19 ~ a3@16]/2", E: "g#3@8 [g3,a#3]@7 ~, [c#4,f4]@15 ~",
})).s("gm_epiano2").gain(0.38).pan(0.4)
// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<~@22 A B@3 ~ C D@2 ~@4 E@4 F@4 ~@14 G@2 H@2 ~ I J@2 ~@4 K L M@2 N@4 ~@8>".pickRestart({
A: "~@14 [c4,e4]@3 [c4,e4]@4 [b3,d4]@4 [c4,e4]@7", // C Bm C
B: "[~ [b3,d4]@8 [c4,e4]@7 ~ [e4,g4]@7 [c4,e4]@16 ~@4 [a#3,d4]@50 ~@2]/3", C: "~@29 e4@3",
D: "[~ g4@4 c5@4 [d4,f4,a#4,f5]@54 ~]/2", // A#
E: "[~@4 a4@15 g#4@16 g4@16 f#4@15 f4@31 g4@5 ~@3 b4@4 c5@4 d5@4 b4@4 a4@3 g4@4, ~@66 d4@37 ~@25]/4",
F: "[a4@3 ~ a4@4 g4@4 a4@4 ~@4 g4@4 ~@4 f4@7 ~ e4@4 c4@4 a3@4 g3@56 ~@24]/4",
G: "[[c#4,f4]@3 ~ [c#4,f4]@4 [c4,d#4]@4 [c#4,f4]@7 ~ [c4,d#4]@8 [c#4,f4]@7 ~ [f4,g#4]@7 ~ [c#4,f4]@17 ~@3]/2", // C# Cm C# Cm C# Fm C#
H: "[[b3,d#4]@55 ~@9]/2", I: "~@5 f4 g#4 c#5", J: "[[d#4,f#4,b4,f#5]@55 ~@9]/2", K: "a#4 a4", L: "g#4 g4",
M: "[f#4@32 g#4@5 ~@3 c5@4 c#5@4 d#5@4 c5@4 a#4@4 g#4@4, d#4@19 ~@13]/2",
N: "[a#4@3 ~ a#4@4 g#4@4 a#4@4 ~@4 g#4@4 ~@4 f#4@7 ~ f4@4 c#4@4 a#3@4 g#3@56 ~@24]/4",
})).s("gm_string_ensemble_2").gain(0.33).pan(0.1)
// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2_2 = note("<~@22 A B@3 ~ C D@3 ~@25 E@2 F@2 ~ G H@2 ~@20>".pickRestart({
A: "~@14 [e3,c4]@3 [e3,c4]@4 [d3,b3]@4 [e3,c4]@7", // C G C
B: "[~ [d3,b3]@7 ~ [e3,c4]@8 [g3,e4]@7 ~ c4@12 ~@7 [f3,d4]@51 ~, ~@12 e3@7 ~@29]/3", C: "~@29 g3@3",
D: "[~ a#3@4 e4@4 f3@56 ~@31]/3",
E: "[[f3,c#4]@3 ~ [f3,c#4]@4 [d#3,c4]@4 [f3,c#4]@8 [d#3,c4]@7 ~ [f3,c#4]@7 ~ [g#3,f4]@8 [f3,c#4]@15 ~@5]/2", // C# Cm C# Cm C#
F: "[f#3@25 ~@7]/2", G: "~@5 g#3 b3 f4", H: "[[f#3,b3]@29 ~@3]/2",
})).s("gm_string_ensemble_2").gain(0.33).pan(0.8)
// chords · string ensemble 2 · "SLOWSTRING" · soft notes
const string_ensemble_2_soft = note("<~@24 A@2 ~@2 B@3 ~@27 C@2 ~@2 D@2 ~@20>".pickRestart({
A: "[~@6 a#3@25 ~]/2", B: "[~@9 [a#3,d4]@56 ~@31]/3", C: "[[b3,d#4]@25 ~@7]/2", D: "[d#4@29 ~@3]/2",
})).s("gm_string_ensemble_2").gain(0.16).pan(0.8)
// other · flute
const flute = note("<~@3 A B@2 ~@34 C D ~@2 E F ~ G H I J K L M N O P@2 ~@16 Q R ~ S T ~@5>".pickRestart({
A: "~@4 e4@3 ~ d4@4 e4@3 ~@5 e4@4 d4@3 e4@4 ~", B: "[~@3 e4@5 ~@3 g4@7 ~@5 e4@7 d4@31 ~@3]/2",
C: "~@4 e4@4 d4@3 ~ e4@3 ~@5 e4@4 ~@4 e4@3 ~", D: "~@4 g4@3 ~@5 e4@6 ~ c4 b3 a3 g3 f3 e3 d3 c3 ~@5",
E: "c5@2 ~@2 c5@4 b4@3 ~ c5@3 ~@5 c5@4 ~@4 c5@3 ~", F: "~@4 e5@3 ~@5 c5@6 ~ a4 g4 f4 [d4,e4] c4 b3 [g3,a3] f3 ~@5",
G: "~@4 a5 ~@3 g5@2 e5@2 c5@2 a4@2 g4 ~ a4@2 a#4@2 d5@2 f5@2 a5@2 g5@2 f5@2",
H: "e5@3 ~@5 e5@2 c5@2 a4@2 f4@2 e4@2 f4@2 a4@2 c5@2 e5@2 g5@2 e5@2 f5@2",
I: "g5@2 a5@2 b5@2 c6@2 d6@2 b5@2 a5@2 b5@2 c6@3 ~@13", J: "~@2 c6!7 a5 ~@4 c6 a5",
K: "b5@2 b5 ~@3 b5 ~ b5@2 ~@2 b5@2 c6@2 e5@2 g5@2 b5@2 a5@2 g5@2 e5 ~ c5@2 a4@2",
L: "b4@2 c5@2 e4@2 g4@2 a4@3 ~ g4@2 a4@2 c5@2 e5@2 g5@2 e5@2 g5@2 a5@2 c6@2 e6@2",
M: "d6@3 ~@9 d6 ~ c6 ~ b5@2 a5@2 b5@2 c6@2 e5 ~ g5 ~ b5@2 g5@2",
N: "a5 c6 a5@2 f5 ~ d5 ~ c5@2 ~@2 b4@2 c5@2 e5@2 f5@2 a5@2 f5@2 ~@2 a5@2 ~@4",
O: "~@2 c#5 d#5 f5 f#5 g#5 a#5 b5 f#5 d5 f#5 a5 f#5 d5 a4", P: "[g#4@13 ~@3]/2", Q: "~@2 c4 ~@2 c#4 c4 c#4",
R: "~@4 f4@4 ~@4 c#4@17 ~@3", S: "~ c#4 c4 c#4 ~ c#4 c4 c#4", T: "~ f4 ~ g#4@2 f#4 f4@2",
})).s("gm_flute").gain(0.32).pan(0.6)
// other · flute · soft notes
const flute_soft = note("<~@3 A B C@3 ~@4 D@3 ~@25 E F ~@2 G H ~@28 I ~@2 J ~ K L@3 ~>".pickRestart({
A: "e4@3 ~@29", B: "~@19 f4@3 ~@10", C: "[~@29 e4@62 ~@5]/3", D: "[~@11 d4@29 ~@8]/3", E: "e4 ~@11 d4@2 ~@2",
F: "~@18 d4 ~@13", G: "~@24 b4@3 ~@5", H: "~@18 b4 ~@13", I: "c#4@2 ~@2 c#4@4 ~@4 c#4@5 ~@15", J: "c#4 ~@15",
K: "d#4@31 ~", L: "[c#4@47 ~]/3",
})).s("gm_flute").gain(0.22).pan(0.6)
// … 95 more lines
More by Carpenters
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.