0:00/0:00
// I Understand — Nat King Cole
// 89 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 52 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(89/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 · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note(`<
~ A B C D E F G ~ A B C D H I J K L M N O P Q R S T U V W X@2 Y Z ~@8 AA AB AC AD AE AF AG AH@2 ~@2
>`.pickRestart({
A: "~ [f3,b3,d4]@7 ~@5 [f3,b3,d4]@7 ~@4 [f3,b3]@8 ~@5 [f3,b3,d4]@7 ~@4", // Bdim Fdim Bdim
B: "~ [f3,d4]@7 ~@5 [f3,bb3,d4]@7 ~@4 [e3,d4]@7 ~@5 [e3,bb3,d4]@8 ~@4", // Dm Bb E7 Em7b5
C: "e3@8 ~@4 [e3,a3,c4]@8 ~@17 [e3,a3,c4]@8 ~@3", // Am
D: "~ [e3,c4]@8 ~@4 [e3,a3,c4]@6 ~@6 d4@8 ~@3 [ab3,b3,d4]@8 ~@4, ~@3 [ab3,b3] ~@2", // C Am Abdim Abm
E: "f3@6 ~@6 [f3,b3,d4]@8 ~@5 b3@5 ~@6 [f3,b3,d4]@7 ~@5, ~@4 f3 ~@3", // Bdim
F: "[f3,bb3,d4]@7 ~@5 [f3,bb3,d4]@7 ~@5 [e3,bb3,d4]@8 ~@4 [e3,bb3,d4]@8 ~@4", // Bb Em7b5
G: "~ [e3,a3]@7 ~@5 [e3,a3,c4]@8 ~@24 [e3,a3,c4]@3", // A5 Am
H: "~ [b3,d4]@8 ~@4 [f3,b3,d4]@8 ~@4 [f3,b3,d4]@8 ~@3 [f3,b3,d4]@9 ~@3", // Bm Bdim
I: "~ [f3,d4]@7 ~@5 f3@9 ~@3 f3@8 ~@3 [e3,bb3,c4]@9 ~@3, ~@12 [b3,d4]@9 ~@3 [b3,d4]@8 ~@16", // Dm C7 Bm
J: "[e3,a3,c4]@9 ~@4 [e3,c4]@7 ~@4 [e3,a3,c4]@9 ~@4 [e3,a3,c4]@11, ~@3 a3@2 ~@7", // Am C Am
K: "~@8 g3@13 ~@3 [eb3,gb3,a3,db4]@10 ~@3 [eb3,gb3,a3,db4]@7 ~@4, ~@7 [eb3,a3,d4]@14 ~@27", // Ebm7b5 D
L: "[f3,a3,d4]@8 ~@4 [f3,a3,d4]@9 ~@4 [f3,a3,d4]@9 ~@3 [f3,a3,d4]@7 ~@4", // Dm
M: "[g3,b3,db4]@9 ~@3 [g3,b3,db4]@8 ~@4 [g3,b3,db4]@8 ~@5 [g3,b3,db4]@7 ~@4", // Dbm7b5
N: "~ c4@8 ~@3 [d3,gb3,c4]@9 ~@3 [d3,c4]@9 ~@4 [d3,gb3,c4]@9 ~@2, [d3,gb3] ~@5", // D7 D
O: "d3@9 ~@4 [d3,c4]@8 ~@4 c4@7 ~@4 [d3,gb3,c4]@7 ~@5, ~@3 gb3@2 ~ [d3,gb3]@2 ~@4", // D7 D
P: "[f3,b3,d4]@9 ~@4 [f3,b3,d4]@7 ~@5 [f3,b3,d4]@7 ~@5 d4@8 ~@3, ~@9 [e3,bb3]@2 ~", // Bdim Edim
Q: "~ e3@9 ~@3 [e3,a3,c4]@6 ~@6 c4@9 ~@2 [gb3,c4,eb4]@8 ~@4, [a3,c4]@10 ~@14 [gb3,eb4]@9 ~@15", // Am Cdim Am Ebm
R: "[f3,b3]@9 ~@4 [f3,d4]@9 ~@2 [f3,b3,d4]@8 ~@5 [f3,b3,d4]@6 ~@5, ~@4 b3@3 ~@9", S: "[e3,bb3,d4]@7 ~@41",
T: "[f3,b3,d4]@9 ~@3 [f3,b3,d4]@9 ~@4 [f3,b3,d4]@8 ~@4 [f3,b3,d4]@9 ~@2", // Bdim
U: "~ [f3,bb3,d4]@8 ~@3 [f3,bb3,d4]@9 ~@3 [e3,bb3,d4]@8 ~@4 [e3,bb3,d4]@9 ~@3", // Bb Em7b5
V: "~@12 [e3,ab3,b3]@9 ~@4 [e3,ab3,b3]@7 ~@5 [e3,ab3,b3]@6 ~@5", // E
W: "a3@7 ~@5 [e3,a3,c4]@8 ~@4 [e3,a3,c4]@8 ~@4 [e3,a3,c4]@6 ~@6", // Am
X: "[[g3,e4]@7 ~@5 [g3,c4,e4]@7 ~@5 [c4,eb4]@6 ~@6 [gb3,c4,eb4]@8 ~@4 f3@8 ~@4 [f3,bb3,d4]@9 ~@3 [e3,bb3,db4]@9 ~@3 [e3,bb3,db4]@8 ~@4, ~@47 bb3@8 ~@41]/2", // C Cm Cdim Bb Bbdim
Y: "[e3,c4]@8 ~@4 [e3,a3,c4]@8 ~@5 e3@7 ~@4 [e3,a3,c4]@8 ~@4, ~@3 [a3,c4] ~@2", Z: "[e3,a3,c4]@5 ~@43",
AA: "[f3,b3,d4]@8 ~@4 [f3,b3,d4]@8 ~@4 [f3,b3,d4]@8 ~@5 [f3,b3,d4]@8 ~@3", // Bdim
AB: "[bb3,d4]@8 ~@5 d4@8 ~@3 [e3,bb3,d4]@9 ~@3 [e3,bb3,d4]@8 ~@4, ~@4 [f3,bb3]@3 ~@9", // Bb Em7b5 Bb5
AC: "e3@8 ~@4 [e3,a3,c4]@8 ~@5 [e3,a3,c4]@7 ~@5 c4@8 ~@3, ~@9 [e3,a3]@2 ~", // Am A5
AD: "~ [e3,c4]@8 ~@3 [e3,a3,c4]@8 ~@5 [e3,c4]@7 ~@4 [e3,a3,c4]@6 ~@6, ~@24 a3@7 ~@17", // C Am C Am
AE: "~ g3@8 ~@3 [g3,c4,eb4]@9 ~@3 [gb3,c4,eb4]@9 ~@15, c4 ~@5", AF: "~@16 [f3,e4]@7 ~, ~@31 b3@14 ~@3",
AG: "[f3,bb3,d4]@9 ~@4 [f3,bb3,d4]@8 ~@3 [g3,bb3,d4]@8 ~@4 [g3,bb3,d4]@7 ~@5", // Bb Gm
AH: "[[e3,a3,c4]@9 ~@3 [e3,a3,c4]@8 ~@4 [f3,bb3,d4]@9 ~@3 [f3,bb3,d4]@8 ~@3 [g3,c4,e4]@8 ~@4 [g3,c4,e4]@8 ~@5 [ab3,db4,f4]@9 ~@15]/2", // Am Bb C Db
})).s("gm_electric_guitar_jazz").gain(0.14).pan(0.2)
// chords · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note(`<
~ A B C D E ~ F ~ A B C D G H ~@4 I J ~@2 K ~@3 L M N O P ~@10 Q@2 P R ~@6
>`.pickRestart({
A: "~@25 d4@7 ~@16", B: "~ bb3@7 ~@16 bb3@7 ~@17", C: "[a3,c4]@8 ~@17 e3@8 ~@15, ~@8 [a3,c4]@3 ~@5", D: "~ a3@8 ~@39",
E: "[b3,d4]@6 ~@19 d4@5 ~@18", F: "~ c4@7 ~@40", G: "~ f3@8 ~@39", H: "~ b3@7 ~@40", I: "~@8 gb3@3 ~@5",
J: "~ c4@8 ~@39, gb3@3 ~@13", K: "d4@3 ~@13", L: "~ b3@5 ~@42, [e3,ab3] ~@7", M: "~ [e3,c4]@7 ~@40", N: "c4@7 ~@41",
O: "d4 ~@5", P: "a3 ~@5", Q: "[~ f3@8 ~@39 c4@8 ~@40, ~@47 a3@9 ~@40]/2", R: "eb4 ~@5",
})).s("gm_electric_guitar_jazz").gain(0.08).pan(0.2)
// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
~ A B C D E F G@2 H I J K L M N O P Q R S T U V W X Y O Z AA AB AC AD AE AF J AG AH AI AJ ~ L AK AL AM AN AO AP AQ AR
~ AS
>`.pickRestart({
A: "g1@11 ~ b1@12 d2@11 ~ b1@11 ~", B: "g1@10 ~@2 g1@11 ~ c2@10 ~@2 c2@11 ~",
C: "f1@11 ~ f1@10 ~@2 c2@9 ~@3 c2@10 ~@2", D: "f1@12 a2@11 ~ ab2@10 ~@2 ab2@11 ~",
E: "g2@10 ~@2 d2@11 ~ b1@11 ~ d2@11 ~", F: "g2@11 ~ g2@11 ~ c2@11 ~ c2@10 ~@2",
G: "[f2@11 ~ f2@11 ~ g2@11 ~ c2@8 ~ f2@5 ~@46]/2", H: "g2@10 ~@2 d2@10 ~@2 g2@11 ~ d2@11 ~",
I: "g1@11 ~ g2@11 ~ c2@10 ~@2 c2@11 ~", J: "f2@5 ~ f2@5 ~ c2@5 ~ c2@5 ~", K: "f2@10 ~@2 a2@11 ~ ab2@11 ~ ab2@9 ~@3",
L: "g2@5 ~ g2@5 ~ d2@5 ~ d2@5 ~", M: "g2@11 ~ g1@11 ~ g2@11 ~ c2@10 ~@2", N: "f2@10 ~@2 f2@10 ~@2 c2@10 ~@2 c2@11 ~",
O: "f2@5 ~ f2@5 ~ f2@5 ~ f2@5 ~", P: "bb1@10 ~@2 f2@12 bb1@10 ~@2 g1@11 ~", Q: "a1@11 ~ a2@11 ~ a1@10 ~@2 a2@12",
R: "d2@10 ~@2 d2@10 ~@2 d3@12 d2@9 ~@3", S: "d2@10 ~@2 a2@11 ~ d2@10 ~@2 d2@11 ~",
T: "g2@9 ~@3 d2@10 ~@2 g2@10 ~@2 c2@10 ~@2", U: "f2@10 ~@2 f2@10 ~@2 d2@10 ~@2 d2@11 ~",
V: "g1@10 ~@2 g1@11 ~ g2@10 ~@2 g1@8 ~@4", W: "c2 ~@7", X: "g2@11 ~ d2@10 ~@2 g2@11 ~ g1@10 ~@2",
Y: "c2@11 ~ g2@11 ~ c2@11 ~ c2@11 ~", Z: "f2@5 ~ c2@5 ~ f2@5 ~ f2@5 ~", AA: "a1@10 ~@2 a1@11 ~ d2@10 ~@2 d2@11 ~",
AB: "g2@10 ~@2 g2@11 ~ c2@9 ~@3 c2@10 ~@2", AC: "f2@12 f3@11 ~ c3@11 ~ a2@10 ~@2", AD: "f2 ~@7",
AE: "~@8 a1@16 eb2@9 ~@3 d2@10 ~@2", AF: "g2@10 ~@2 g2@10 ~@2 c2@11 ~ e2@10 ~@2",
AG: "e2@9 ~@3 f2@11 ~ c2@10 ~@2 c2@10 ~@2", AH: "g2@10 ~@2 g2@10 ~@2 d2@10 ~@2 d2@11 ~",
AI: "c2@10 ~@2 c2@10 ~@2 g2@11 ~ g2@10 ~@2", AJ: "f2@5 ~ f2@5 ~@13", AK: "g2@10 ~@2 g2@10 ~@2 c2@9 ~@3 c2@10 ~@2",
AL: "f2@10 ~@2 f2@9 ~@3 c2@10 ~@2 c2@9 ~@3", AM: "f2@10 ~@2 a2@11 ~ f2@10 ~@2 f2@11 ~",
AN: "a2@10 ~@2 a2@9 ~@3 d2@10 ~@14", AO: "~@32 g2@13 ~@3", AP: "c2@10 ~@2 c2@10 ~@2 eb2@9 ~@3 eb2@5 ~@3 e2@4",
AQ: "f2@9 ~@3 f2@5 ~@3 gb2@4 g2@9 ~@3 g2@5 ~@3 ab2@3 ~", AR: "a2@11 ~ a2@6 ~@2 bb2@27 ~", AS: "~@32 f2@5 ~@11",
})).s("gm_acoustic_bass").gain(0.38)
// other · piano · "A.PIANO 1"
const piano = note("<~@9 A@2 B C D@2 E@2 ~ F G ~@9 H@3 I J ~@9 K@2 ~@3 L@4>".pickRestart({
A: "[~@44 f5@13 ~@11 d5@10 ~@18]/2", B: "~@7 db5@4 ~@2 d5@7 ~@28", C: "~@12 d5@7 ~@29",
D: "[~@44 d5@14 ~ e5 f5@8 d5@12 ~@16, ~@29 eb5 ~@18]/2",
E: "[~@12 c5@3 ~ d5@2 ~@2 eb5@3 ~@2 g5@6 ~ f5@3 ~@2 e5@6 ~ eb5@17 ~@35]/2", F: "~@42 b5@3 bb5@2 ~",
G: "~ a5@2 ~ g5@2 ~ gb5@2 ~ e5@3 ~ eb5@9 ~@25",
H: "[[g4,c5,e5]@17 ~@3 [gb4,c5,eb5]@20 ~@4 [f4,a4,bb4,d5]@19 ~@4 [e4,a4,bb4,db5]@21 ~@4 [e4,a4]@38 ~@14, ~@91 [f4,c5]@38 ~@15]/3", // C Cdim Bbmaj7 A A5 F5
I: "~@4 b4@3 ~ c5@3 ~ e5@4 f5@3 ~ ab5@3 ~ a5@3 ~ b5@3 ~ c6@2 ~@2 e6@3 ~ f6@3 ~ ab6@3 ~", J: "a6 ~@11",
K: "[c7@8 ~@12 g5@3 ~@3 e5@7 ~@3 e5@6 ~@3 f5@5 ~@46]/2",
L: "[~@12 c5@4 f5@3 ~ g5@3 ~ ab5@7 ~ a5@3 ~ f5@7 c5@15 ~@2 c5@4 d5@3 ~ f5@3 ~ ab5@7 ~ g5@3 ~ f5@7 ~ c5@85 ~@15]/4",
})).s("gm_piano").gain(0.38).pan(0.7)
// chords · alto sax
const alto_sax = note("<~ A@2 B@2 C@2 D ~@12 E@2 F G H I ~@5 J@2 ~@2 K ~ L M N O ~@2 P ~ Q@2 ~@3 R@2>".pickRestart({
A: "[~@8 db4@4 d4@6 ~@2 f4@4 g4@6 ~ ab4@4 ~ a4@8 f4@23 d4@11 ~@18]/2",
B: "[~@8 db4@4 d4@7 ~ f4@4 g4@7 ~ ab4@3 ~ a4@8 ~ f4@23 ab4@9 ~@19]/2",
C: "[~@7 db4@4 ~ d4@7 f4@4 ~ ab4@7 ~ a4@4 f4@7 ~ d4@14 ~@2 [f4,a4]@7 ~ [e4,ab4]@27 ~]/2", // F E
D: "~@12 [c4,d4]@4 [a3,d4,f4]@3 ~ [bb3,eb4]@4 [b3,e4,ab4]@7 ~ [c4,a4]@3 ~ [a3,c4,f4]@7 ~ [f3,a3,c4]@4, ~@12 a3@2 ~@5 g4@4 ~@8 f4@3 ~@14", // Csus2 Dm Eb5 E F
E: "[~@8 [c4,e4,gb4,b4]@8 [c4,e4,gb4,bb4]@6 ~@2 [c4,e4,gb4,a4]@7 ~ [gb3,a3,e4]@7 ~ [gb3,a3,c4,eb4]@7 ~ [a3,b3,d4]@27 ~@3 [a3,b3,d4,f4]@6 [bb3,d4,e4,a4]@6 [g3,bb3,d4,e4]@6, ~@31 c4@7 ~@9 f3@26 ~@23]/2", // Cmaj7 C7 Gbm7b5 Gbm7 Gbdim Bm7 Bm7b5 Bbmaj7 …
F: "~ a3@23 [gb3,bb3,c4,eb4]@20 [e3,ab3,bb3,db4]@4, [c4,e4,g4] ~", // Cm7b5 Bbm7b5 C
G: "~ f3@7 [a3,b3,d4,f4]@4 ~ [b3,d4,f4]@35, [a3,b3,d4]@2 ~ a4@9", // Bm7b5 Bdim Bm7
H: "~@12 [bb3,d4,e4,a4]@6 [a3,db4,eb4,ab4]@6 [ab3,c4,d4,g4]@6 ~ b3@5 [g3,b3,db4,f4]@6 ~ gb3@5, ~@5 [g3,db4,gb4] ~ [bb3,c4,eb4]", // Bbmaj7 Amaj7 Abmaj7 G7 Gb Cm7
I: "[f3,a3,b3,d4] ~@3", J: "[~@9 e3@4 f3@3 ~ g3@3 ab3@3 ~ a3@4 b3@3 ~ c4@3 ~ e4@3 f4@3 ~ ab4@3 ~ a4@4 ~@45]/2",
K: "~@8 [e3,g3,a3,c4]@4 [eb4,gb4,ab4,b4]@6 ~ [e4,g4,a4,c5]@4 ~ [e4,g4,a4,c5]@7 ~ [g3,a3,c4]@4 [eb4,gb4,ab4,b4]@6 ~@2 [e4,f4,a4,c5]@4, ~@31 e3@3 ~@14", // Am7 Abm7 Am7 Abm7 Fmaj7
L: "~@20 c4@4 [db4,e4,ab4,b4]@6 ~ [d4,f4,a4,c5]@12 ~ [b3,eb4,f4,g4]@4", M: "[bb3,d4,e4,g4,a4,c5] ~@5",
N: "~@18 c4@6 [db4,f4,ab4,c5]@6 ~ g4@5 [b3,eb4,gb4,bb4]@6 ~ [b3,d4,a4]@5, ~@5 [db4,e4,b4] ~ f4", // Dbmaj7 Bmaj7 Bm7 Dbm7
O: "~ ab4@11 a4@12 [db4,eb4,gb4]@21 ~@3, a3@43 ~@5, [db4,e4] ~", P: "~@9 [g3,a3,c4,e4]@38 ~",
Q: "[~@9 eb4@2 ~ g4@2 a4@3 c5@3 d5@36 db5@4 d5@4 ~ a4@4 f4@3 g4@23 ~]/2",
R: "[~@12 [c4,e4,gb4,b4]@7 ~ [c4,e4,gb4,b4]@4 [b3,eb4,f4,bb4]@7 ~@2 b3@3 [bb3,db4,e4,a4]@7 ~ [a3,c4,d4,g4]@37 ~@15, ~@8 [eb4,f4,bb4] ~@15]/2", // Cmaj7 Bmaj7 A Am7 Ebsus2
})).s("gm_alto_sax").gain(0.33).pan(0.3)
// bass · baritone sax · "BARITONSAX"
const bass_2 = note("<~@24 A B ~@13 C D ~@9 E@2>".pickRestart({
A: "~@12 gb2@6 b1@6 e2@7 a1@5 eb2@6 ab1@6", B: "g1 ~@3", C: "~@18 c3@6 bb2@6 eb3@6 ab2@5 ~ db3@6",
D: "gb2@20 ~ e2 [c2,d2]@2 b1@21 ~@3", E: "[~@3 d3@3 g2@3 c3@2 f2@9 ~@4]/2",
})).s("gm_baritone_sax").gain(0.33).pan(0.1)
// chords · trumpet
const trumpet = note("<~@27 A B ~@4 C@2 D E F G@2 ~@5 H ~@6>".pickRestart({
A: "~@21 b3 ~ e4 g4@4 f4@2 g4@4 f4@2 ab4@4 f4@2 ab4@4 f4 ~, ~@11 d4 ~@12", B: "a4@4 g4 [e4,f4] d4 [b3,c4] a3 g3 ~@38",
C: "[~@8 [e5,a5]@16 [g5,a5]@8 ~@4 [gb5,a5]@7 ~ [f5,a5]@7 ~@5 [d5,g5]@4 [d5,g5]@6 ~@2 [c5,f5]@4 [d5,f5]@6 ~@2 [c5,e5]@4 [b4,e5]@6 ~@2 [ab4,d5]@4]/2", // A5 Gsus2 Gbm F G5 F5 Dm C …
D: "[e4,f4,a4,e5] ~@5", // Fmaj7
E: "[ab4,b4,db5,e5]@7 ~ [a4,c5,d5,f5]@3 ~ [a4,c5,d5,f5]@6 ~@2 [g4,a4,c5,e5]@3 ~ [g4,a4,c5,e5]@6 ~@2 [f4,a4,c5,d5]@3 ~ [f4,a4,c5,d5]@6 ~@2 [e4,gb4,a4,c5]@3 ~", // Dbm7 Dm7 Am7 Dm7 Gbm7b5
F: "[f4,g4,bb4,d5]@3 ~@5", // Gm7
G: "[~@8 [f4,g4,bb4,d5]@15 ~ [e4,g4,bb4,c5]@10 d5 c5 [e4,gb4,ab4,b4]@7 ~ [e4,f4,a4,c5]@23 ~@29]/2", // Gm7 C7 E Fmaj7
H: "~@24 bb4@23 ~",
})).s("gm_trumpet").gain(0.33).pan(0.6)
// chords · muted trumpet · "MT TRUMPET"
const muted_trumpet = note("<~@9 A@2 B@2 C@2 D@2 ~@10 E F ~@15 G ~@3 H@4>".pickRestart({
A: "[~@8 [ab4,b4]@3 ~ [a4,c5,d5]@7 ~ [c5,d5,f5]@4 [c5,d5,f5,g5]@8 [db5,e5,ab5]@3 ~ [d5,a5]@8 [bb4,d5,f5]@22 ~@2 [g4,bb4]@19 ~@9, ~@7 db5@4 ~@8 bb4@4 ~@12 f5@8 ~@24 d5@18 ~@11]/2", // Abm D7 Dm7 Csus4 Dbm D5 Bb Gm
B: "[~@8 [ab4,b4,db5]@4 [g4,a4,c5,d5]@7 ~ [d5,f5]@4 [bb4,d5,f5,g5]@7 ~ ab5@4 [c5,f5,a5]@8 [a4,c5,d5,f5]@24 [b4,d5,f5,ab5]@28, ~@19 [a4,c5]@4 ~@8 [b4,e5,f5]@5 d5@5 ~@55]/2", // Db7 Gsus4 Dm Gm7 F Dm7 Bdim Am …
C: "[~@8 f4@4 [g4,b4,d5]@7 [bb4,db5,f5]@4 ~ [b4,g5]@7 [db5,e5,ab5]@4 ~ [d5,a5]@8 [a4,b4,d5]@15 [bb4,eb5] [b4,d5,f5]@6 ~@2 [a4,b4,d5]@16 [g4,bb4,c5]@7 ~@5, ~@7 [bb4,db5]@4 ~@12 d5@7 ~@5 f5@8 ~@16 [c5,db5]@2 ~@35, ~@30 e5 ~@17]/2", // G Bbm Em Dbm D5 Bm7 Eb5 Bdim …
D: "[~@12 [f4,a4,c5]@4 ~ c5@3 ~ b4@3 [a4,c5,d5,g5]@7 ~ [g4,b4,d5]@3 ~ [gb4,bb4,db5]@7 ~ [f4,a4,c5,eb5]@13 ~@39, ~@16 bb4@5 ~@10 f5@3 ~ e5@8 ~@53, ~@16 [g4,d5]@3 ~ [ab4,db5,eb5]@3 ~@73]/2", // F Am7 G Gb F7 G5 Absus4
E: "~@21 b4 ~ e5 g5@3 ~ f5@2 g5@3 ~ f5@2 ab5@3 ~ f5@2 ab5@3 ~ f5 ~, ~@11 d5 ~@12",
F: "a5@4 g5 [e5,f5] d5 [b4,c5] a4 g4 ~@38", G: "~@6 c5@17 ~",
H: "[~@12 c5@4 f5@3 ~ g5@3 ~ ab5@7 ~ a5@3 ~ f5@7 c5@15 ~@2 c5@4 d5@3 ~ f5@3 ~ ab5@7 ~ g5@3 ~ f5@7 ~ c5@85 ~@15]/4",
})).s("gm_muted_trumpet").gain(0.33).pan(0.6)
// chords · trombone
const trombone = note("<~@6 A ~@9 B C D@2 ~@5 E@2 F ~@3 G ~ H@2 I J K L@2 ~ E@2 ~@2 M N O@3 ~ P>".pickRestart({
A: "~@12 g3@7 ~ c3@28", B: "~@9 [g3,d4]@15 ~ gb3@23, ~ a3@5, ~@24 db4@23 ~",
C: "~@13 f3@7 [g3,bb3,d4,f4]@28, ~@3 bb3@2 ~@7", // Gm7
D: "[gb4@12 f4@12 e4@8 f4@4 ~ gb4@3 ~ e4@3 ~@2 [gb3,c4]@50, [g3,b3,db4]@44 eb4@47 ~@5, ~@15 bb3@16 ~]/2", // Gbdim Dbm7b5
E: "[~@12 [f3,b3,d4]@8 ~ a3@3 [f3,b3,d4]@7 ~ [a3,d4,f4]@4 [f3,b3,d4]@6 ~@2 [f3,bb3,d4]@24 [g3,bb3,d4]@16 ~@12, ~@5 [d4,f4] ~@18]/2", // Bdim Dm Bdim Bb Gm Dm
F: "~ [f2,ab3,b3,e4]@5", G: "~@3 c4@13, ~ [f2,g3,a3]@5",
H: "[~@8 [g3,db4,e4]@15 ~ [g3,c4,eb4]@8 ~@4 [gb3,c4,d4]@7 ~ [f3,a3,bb3,d4]@8 ~@3 [f3,a3,bb3,d4]@3 ~@2 [f3,a3,bb3,d4]@6 ~ [f3,a3,bb3,c4]@3 ~@2 [e3,a3,bb3,d4]@6 ~@2 [e3,a3,bb3,c4]@3 ~ [e3,a3,bb3,c4]@6 ~@2 [e3,ab3,bb3,c4]@3 ~]/2", // Dbdim Cm D7 Bbmaj7 F Dsus2 Am Eaug
I: "[e3,g3,a3,c4] ~@11", // Am7
J: "[gb3,ab3,b3,e4]@7 ~@2 g3@3 ~ [g3,a3,c4]@7 [g3,a3,c4,e4]@3 ~@2 g3@6 ~ [f3,a3,c4,d4]@3 ~ [f3,a3,c4,d4]@7 ~ [e3,gb3,a3,c4]@4, ~@8 [a3,c4,f4]@4 f4@7 ~@5 [a3,c4,e4]@7 ~@17", // E Am7 Dm7 Gbm7b5 F Am
K: "[f3,g3,bb3,d4]@3 ~@5", // Gm7
L: "[~@8 [f3,a3,bb3,d4]@14 ~@2 [e3,g3,bb3,c4]@10 ~@2 [e3,gb3,ab3,b3]@7 ~ [e3,g3,a3,c4]@22 ~@30]/2", // Bbmaj7 C7 E Am7
M: "~@7 [g3,c4]@17 [gb3,bb3]@13 ~@11, ~@7 eb4@29 ~@12", N: "~@31 [f3,a3,b3,e4]@16 ~",
O: "[[f3,g3,bb3,d4]@42 ~ [ab3,g4]@5 [a3,f4]@19 ~ [bb3,d4,f4]@22 ~@2 [c4,e4,g4]@23 ~ [ab3,db4,f4]@25 ~@3, ~@43 [c4,d4]@23 ~ g3@23 ~ g3@23 ~@30]/3", // Gm7 Abmaj7 Dm Bb C Db Csus2
P: "~@32 [f2,c4]@5 ~@11", // F5
})).s("gm_trombone").gain(0.38).pan(0.6)
// other · tuba
const tuba = note("<~@32 [~@4 d3@3 ~ db3@3 c3@4 bb2@3 ~ a2@4 g2@3 ~ f2@3 ~ e2@4 d2@4 ~ c2@3 ~ bb1@4] [a1 ~@11] ~@18>")
.s("gm_tuba").gain(0.38).pan(0.7)
// other · piccolo
const piccolo = note(`<
~@32
[~@4 b5@3 ~ c6@3 ~ e6@4 f6@3 ~ ab6@3 ~ a6@3 ~ b6@3 ~ c7@2 ~@2 e7@3 ~ f7@3 ~ ab7@3 ~]
[a7 ~@11]
~@18
>`).s("gm_piccolo").gain(0.38).pan(0.2)
// drums · kick
const kick = s("bd").struct("<~@33 [~ x ~ x ~@2] [x!2]!5 x ~@11 [~@2 x]>").gain(0.44)
// drums · snare
const snare = s("sd").struct(`<
~ A@6 B C A D A@9 E F A F C A G A@2 G E H C I J@2 K J@2 L M A@4 N O A@2 P ~ Q
>`.pickRestart({
A: "x!4", B: "x ~@2 x ~@2 x ~@2 x ~ x", C: "x", D: "x ~ x!2 ~@2 x ~ x!2 ~@2", E: "x ~@2 x ~@2 x ~ x!2 ~@2",
F: "x ~ x!2 ~@2 x ~@2 x ~ x", G: "x ~@2 x ~@2 x ~ x!2 ~ x", H: "x ~ x!2 ~@2 x ~@2 x ~@2", I: "~@8 x!2 ~@2",
J: "~ x ~ x", K: "~@2 x ~@2 x ~@2 x!2 ~@2", L: "~ x ~@2", M: "x ~ x!2 ~@8", N: "x!3 ~", O: "~@15 x",
P: "x ~@2 x ~ x ~@6", Q: "~@12 x ~@8 x!4 ~@23",
})).gain(0.27)
// drums · crash
const crash = s("cr").struct("<~@33 [~ x ~@4] x ~@17>").gain(0.49)
// drums · ride
const ride = s("rd").struct("<~@34 [~@3 x ~ x!2 ~@2 x ~ x] [x ~@2 x ~ x!2 ~@2 x ~ x]!4 [~@3 x ~ x!2 ~@5] ~@12>")
.gain(0.33)
stack(
electric_guitar_jazz, electric_guitar_jazz_2, bass, piano, alto_sax, bass_2, trumpet, muted_trumpet, trombone, tuba,
piccolo, kick, snare, crash, ride
)
More by Nat King Cole
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.