0:00/0:00
// You'd Be So Nice to Come Home To — Tyner Mccoy
// 120 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 86 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · "ACOU BASS"
const bass = note(`<
A B C@8 D@2 E@3 F@5 G@2 H@2 I J@4 K L@2 M@2 N@2 O P@2 Q@2 R S T U@2 V@2 W X@2 Y@2 Z@3 AA@2 AB@3 AC@2 AD@2 AE AF@2 AG@2
AH AI@2 AJ@2 AK@2 AL AM@4 AN ~@3
>`.pickRestart({
A: "~ c2@7 ~ c2@6 g1@10 ~ g1@6", B: "~@2 c2@6 ~@2 c2 ~@5 g1@16",
C: "[~@4 c2@7 ~ c2@2 ~@4 g1@19 ~ c2@7 ~ c2@2 ~@4 g1@19 ~ c2@7 ~ c2 ~@5 g1@19 c2@6 ~@3 c2@2 ~@4 g1@18 ~ c2@7 ~ c2@2 ~@4 g1@19 c2@7 ~@2 c2@2 ~@4 g1@14 ~ b1@4 c2@8 ~ eb2@8 d2@9 g2@9 c2@8 eb2@7]/8",
D: "[~ g2@4 gb2@4 f2@4 b1@4 bb1@4 c2@4 ~ db2@4 d2@4 eb2 ~@3 db2@4 c2@4 bb1@4 ~ ab1@8 c2@5, c2@2 ~@35 eb2@2 ~@25]/2",
E: "[~@2 ab1@2 eb2@3 ~ eb2@4 c2@4 db2@4 ~ d2@7 ~ g1@8 ~ d2@7 ab1@2 g1@4 d2@7 ~ d2@4 g1@4 b1@4 ~ c2@4 eb2@4 g2@4 ab2@4 ~ a2@4 a1@3, ~@14 ab1 ~@33]/3",
F: "[~ eb2@4 db2@4 d2@4 gb2@4 a2@4 g2@4 ~ ab2@4 f2@4 ~ d2@2 ~ db2@4 d2@9 g1@8 ~ c2@7 ~@2 c2@5 ~ d2@11 g1@8 c2@7 ~@2 c2@2 ~@4 c2@10 b1@7 ~ bb1@4 c2@4 db2@4 ~ d2@3 ~ eb2@4 g2@4 ~ bb2@4 a2@3, ~@17 eb2@2 ~@61]/5",
G: "[~ ab2 ~@2 ab2 g2@5 f2@4 e2@4 eb2@4 c2@4 ab1@4 ~ e2@4 f2@4 c2@4 bb1@4 d2@4 ~ eb2@4 eb1@4 bb1@4]/2",
H: "[eb2@3 ~@2 d2@4 ab1@4 g1@4 b1@3 ~ b1 c2 ~ c2@2 eb2@4 g2@4 eb2@5 b1@4 gb2@4 eb2@4 b1@5 bb1@4 f2@4]/2",
I: "d2@4 bb1@4 eb2@3 ~@21",
J: "[~@6 g2@4 c2@3 ~ eb2@4 g2@4 ~ db2@4 d2@3 ~ ab2@4 g2@4 b2@4 ~ c3 ~ c3 ~ g2@4 c2@4 gb2@4 ~ f2@4 f1@4 c2@4 b1@4 bb1@4 ~ f2@4 db2@4 d2@4 eb2@4 gb1@4 ~ bb1@4 g1@4 ab1@2 ~ ab1@2 bb1@4 c2@4 db2@4]/4",
K: "d2@4 eb2@4 ~ f2@4 db2@4 d2@3 ~@2 d2@3 ab1@3 ~ ab1@3",
L: "[~@2 g1@4 b1@4 c2@4 db2@4 ~ d2@3 ~ ab2@4 g2@3 ~ b2@4 ~ c3@4 g2@4 c2@4 bb2@4 a2@4 ~ g2@4 f2@3]/2",
M: "[~ eb2@4 d2@3 ~ gb2@4 ~ a2@4 g2@3 ~ ab2@3 ~@2 d2@4 f2@3 ~ gb2@3 ~ g2@4 g1@4 d2@3 ~ db2@4 ~ c2@4 g2@4]/2",
N: "[eb2@4 db2@4 ~ d2@4 ab1@4 g1@2 ~@2 b1@4 c2@4 ~ eb2@4 g2@4 gb2@4 f2@4 ~ eb2@4 db2@4 b1@4 bb1@4 ~, ~@10 g1 ~@21]/2",
O: "c2@4 db2@4 d2@4 eb2@5 db2@4 c2@4 bb1@4 ab1@3",
P: "[~ c2@4 bb1@4 ~ db2@4 c2@4 eb2@4 db2@4 f2@5 eb2@4 db2@4 bb1@4 ~ d2@4 eb2@3 ~ gb2@4 g2@4 gb2@4]/2",
Q: "[~ f2@4 gb2@4 g2@4 db2@4 ~ c2@4 eb2@4 g2@2 ~@2 gb2@4 f2@4 ~ c2@4 f1@4 bb1@3 ~ a1@4 bb1@4 ~ b1@4, ~@29 g2@2 ~@33]/2",
R: "bb1@4 eb2@4 bb1@4 ~ eb1@4 db2@4 d2@4 ab1@4 g1@3", S: "~@2 b1@4 c2@3 ~ eb2@4 g2@4 ~ gb2@4 g2@3 ~ b2@4 ~",
T: "d3@3 ~ db3@4 c3@4 g2@4 c2@4 g2@4 ~ c3@4 g2@3, ~@3 d3@2 ~@27",
U: "[~ b2@4 gb2@4 bb2 ~@3 ab2@4 ~ f2@4 e2@4 eb2@4 g2@4 bb2@4 ~ a2@4 ab2@4 g2@4 eb2@4 ~ c2@4 bb1@4, ~@6 bb2 ~@25]/2",
V: "[ab1@4 c2@4 ~ eb2@4 f2@4 db2@4 d2@4 ab1@4 ~ g1@4 b1@4 d2@4 db2@4 ~ d2 ~ d2@2 f2@4 g2@4 f2@4 ~]/2",
W: "g2@4 db2@4 c2@4 eb2@4 a2@4 a1@3 ~ c2@4 ~ db2@3",
X: "[~ d2@3 ~ gb2@4 ~ a2@4 g2@3 ~ ab2@4 d2@4 ~ f2@4 gb2@4 g2@3 ~ b2@4 ~ d3 ~@2 db3@4 ~ c3@4 g2@4 c2@4, ~@46 d3@3 ~@15]/2",
Y: "[~ c3@4 ab2@4 gb2@4 g2@4 db2@4 ~ c2@4 eb2@4 d2@4 f2@4 eb2@4 ~ g2@4 gb2@4 f2@4 bb1@4 ~ f2@4]/2",
Z: "[db2@4 d2@4 eb2@4 g2@4 ~ bb2 ~ bb2@2 a2@4 ab2@4 g2@5 f2@4 eb2@4 d2@4 db2@4 ~ d2@4 eb2@4 f2@4 c2@4 bb1@4 d2@4 ~ eb2 ~ eb2@2 d2@4 c2@3 ~ db2@4 d2@4]/3",
AA: "[ab1@4 ~ g1@4 b1@4 ~ c2@3 ~ eb2@4 g2@4 gb2@4 g2@5 g1@4 d2@4 g2@4 gb2@4 b1@4 ~ bb1@4 f2@4]/2",
AB: "[eb2@4 g2@4 ~ bb2@4 g2@4 ab2@4 gb2@4 ~ g2@4 b2@4 c3@4 c2@4 ~ g2@4 gb2@4 ab2@4 gb2@4 g2@4 db2@4 c2 ~@3 d2@5 eb2@4 f2@4 gb2@4 b1@4 ~ eb2@3, ~@35 c2 ~@12]/3",
AC: "[~ gb2@4 f2@5 bb1@4 f2@4 db2@4 d2@4 ~ eb2@4 eb1@4 bb1@4 ab1@3 ~ eb2@4 ~ bb1@4 db2@4 c2@4 eb2@4]/2",
AD: "[~ db2@4 bb1@4 d2@4 ab1@4 f1@4 gb1@3 ~@2 g1@4 b1@4 a1@4 c2@4 ~ b1@4 d2@4 ab1@4 g1@5 b1@4]/2",
AE: "c2@4 eb2@4 g2@3 ~@2 a2@3 a1@4 ~ c2@4 db2@4 d2@3",
AF: "[~ gb2@4 ~ a2@4 db3@4 d3@4 c3@4 ~ bb2@4 ab2@4 g2@4 f2@4 ~ eb2@4 db2@4 c2@4 d2@4 eb2@4 db2@4]/2",
AG: "[~ d2@4 gb2@4 g2@3 ~ b2@4 ~ c3@4 c2@4 g2@4 eb2@4 gb2@4 ~ f2@4 b1@4 f2@5 bb1@4 f2@4 c2@4]/2",
AH: "db2@4 d2@3 ~ eb2@4 ~ db2@4 c2@4 ab1 ~@3 c2@4 bb1@3, ~@12 ab1 ~@3",
AI: "[~ db2@4 ~ c2@4 eb2@4 db2@4 f2@4 ~ c2@4 f1@4 c2@4 bb1@4 ~ eb2@4 bb1@4 eb1@4 bb1@4 ab1@3 ~@2 ab1@3]/2",
AJ: "[~ g1@4 b1@4 c2@4 eb2@5 g2@4 eb2@4 b1@9 eb2@8 bb1@9 d2@8 eb2@4]/2",
AK: "[~@5 eb2@6 db2@10 ~ db2@8 eb2@7 ~@2 eb2@6 db2@10 ~ db2@8]/2", AL: "eb2@7 ~ eb2@5 ~ db2@10 ~ db2@7",
AM: "[~ eb2@6 ~@3 eb2@6 db2@9 ~@2 db2@8 eb2@6 ~@3 eb2@5 ~ db2@10 ~ db2@8 eb2@6 ~@3 eb2@5 ~ db2@10 ~ db2@8 eb2@6 ~@3 eb2@5 ~ db2@10]/4",
AN: "~ db2@7 ~ eb2@2 ~@6 eb2@2 ~@4 eb2@2 ~@7, ~@23 db2 ~@8",
})).s("gm_acoustic_bass").gain(0.4).pan(0.3)
// chords · piano · "A.PIANO 1"
const piano = note(`<
A B@4 C@3 D@6 E F@4 G H@4 I J K L M@3 N O@4 P Q@2 R@2 S T U V@2 W@3 X Y Z@3 AA AB AC AD@2 AE@2 AF@6 AG AH@3 AI@6 AJ AK
AL AM@2 AN@4
>`.pickRestart({
A: "[c2,g2]@8 ~ [bb3,eb4,c6]@2 ~@4 [g3,c4,f4,d5,a5,d6]@17, ~@9 [f3,c5,f5] ~@22", // C5 Cm7 Dm7 F5
B: "[~@2 [c2,g2]@8 ~ [f3,f5]@2 bb5 ~@3 [g3,c4,f4,g5,a5,d6] ~@3 g5@8 ~@2 f5@4 ~@3 [c2,g2] ~@5 [f3,bb3,eb4] ~@12 a4@6 [g4,a4,d5]@6 ~@9 [f3,bb3] ~@9 c5 ~@4 eb5 ~@3 g5@4 db5 ~ e5@2 ~ gb5@2 ab5 ~ a5@2 b5 ~ db6 ~ [ab3,db4,gb4] ~@2 db6 eb6@2 ~ [gb3,b3,e4,db6] ~ b5@2 ab5, ~@10 [bb3,eb4]@3 ~@8 [g3,c4,f4,a5,d6]@14 [d5,g5]@15 [g3,c4,f4]@19 f4@15 ~@44, ~@11 [c6,f6]@4 ~@14 [g5,c6]@6 c5@21 ~ [bb4,f5]@12 [g4,c5]@20 ~@5 f5@7 ~@15 e6@2 ~@10, ~@77 eb4@2 ~@5 [g3,c4,f4]@17 ~@2 [gb3,b3,e4]@8 ~@17]/4", // C5 F Dm7 C5 Ebsus2 Gsus2 Bb5 Dbsus4 …
C: "[~ db6@2 [ab3,b5]@2 ab5@2 gb5 ~ [c2,g2] ~@3 d6@3 ~ [f3,bb3,eb4,c6]@3 bb5@2 g5@2 f5 ~ ab5@2 ~@2 gb5@3 ~@6 db5@3 g2@2 ~@2 c5@2 f5 ~@2 [f3,bb3,eb4] ~@2 d5 ~ g5@2 ~@2 eb5@2 ab5 ~ db6 ~ eb6@2 ~ gb6 ~ ab6 ~ db7 ~ eb7 ~ g7@2 [f3,bb3,eb4,d7] ~ f7@2 eb7 ~ d7@2 c7 ~ ab6@2 c7 ~ g6@3, ~@3 [db4,gb4] ~@5 bb5@7 g5@2 ~@8 [gb3,b3]@16 c2 ~@15 [ab3,db4,gb4]@13 ~@25, ~@26 e4@10 ~ ab5@5 ~@54, ~@29 b5@2 ~@3 b5@7 ~@9 bb5@2 ~@6 c6@5 ~@33]/3", // Abm C5 Fsus4 Ebsus2 Bb Gb5 B5 Dbsus4
D: "[~@10 d5@3 ~ [c2,g2,f4,g4,bb4,eb5]@13 [f3,bb3,eb4]@2 ~@5 [c4,d4] ~@7 c5 ~@3 b4 ~@4 [eb3,a3,d4] ~@13 f4@3 g4 ~@5 ab4 ~@2 bb4@5 [ab3,c4,db4,f4,c5]@7 eb5 ~@3 [ab3,c4,db4] ~@4 [g3,c4,db4]@8 ~ [g3,c4,db4,f4,c5,ab5,c6]@8 [g3,bb3,c4,f4,g4,c5,g5]@7 [g3,bb3,c4,f4,c5,f5]@12 ~ [g3,bb3,c4,g4,c5,g5] ~@5 c5@4 [g4,c5,g5]@3 ~@12 f5@6 ~@3 g2 ~@5 [f3,b3,eb4]@10 ~ [ab3,c4,d4,d5,ab5,d6]@6, [g3,ab3,c4]@14 ~@26 [f3,b3,eb4]@9 ~@8 [eb3,a3,d4]@18 ~@66 [g3,bb3,c4,f4,f5]@7 ~ [ab3,c4,d4,ab4,c5,ab5]@17 ~@26, ~@8 c5@5 ~@17 [g4,ab4,c5,d5]@11 ~@7 [g4,c5]@17 ~@25 [f4,c5]@16 ~@60 [g4,b4,eb5,g5]@19 ~@7]/6", // Cm7 Ebsus2 Csus2 D Dbmaj7 C Dbmaj7 Gm7 …
E: "[ab3,c4,d4,f5,c6,f6]@8 ~@13 [f5,c6,f6]@4 ~@5 g5@2, ~@4 [eb5,bb5,eb6]@8 ~@2 [gb5,gb6] ~, ~@11 [eb3,g3,a3,d4]@14 ~@3 [g3,c4,eb4,db6]@4, ~@29 g6@3", // Dm7b5 F5 Eb5 Gb Ebmaj7 Cm
F: "[~@6 [g3,c4,eb4,eb6]@2 ~@2 [gb3,c4,f4,gb5,db6,gb6]@8 [gb3,c4,f4,eb5,bb5,eb6]@6 ~ [f3,ab3,c4,d4,d5,ab5,d6]@11 ~ [f3,ab3,c4,d4,ab4,eb5,ab5] ~@5 [f3,b3,eb4,g4,b4,eb5,g5]@11 c5@2 d5@2 ~@2 [c2,g2,f4,bb4,eb5]@8 [f3,bb3,eb4]@6 ~ [ab3,c4,d4,g4,ab4,c5,d5]@11 ~@2 c5 ~@4 b4 ~@3 c2@5 ~ [eb4,g4]@8 ~@3 f4 bb4@2 ~ c5@2 ~@2 [gb4,db5,e5]@6, ~@6 eb5 ~@79 [f3,b3,eb4]@4 ~@4 [g4,c5]@9 ~@25, ~@96 g2@6 [f3,bb3,f4]@9 [bb3,c4]@7 ~@4 [a3,db4,d4]@2 ~@4]/4", // Cm Gbmaj7 Cm7b5 Dm7b5 Fm7 Ebaug Cm7 Ebsus2 …
G: "[f4,c5,eb5]@7 ~ c5@2 ~@3 eb5@2 ~@4 [g3,db4] ~@5 [g3,db4]@7, [ab3,c4,db4] f4, ~@7 f4@2 ~@6 c5@17", // F7 Gdim Dbmaj7
H: "[g4 [ab2,eb3] ~@2 g4 ~@14 f4@2 ~ g4 ab4@2 ~ bb4@2 c5@2 d5 eb5@2 ~@5 [gb3,c4] ~@7 [gb3,c4]@4 gb5@2 ~@2 [eb3,a3,d4] ~@4 eb5 ~@3 [eb3,a3,d4]@7 ~ [gb3,c4,c5,ab5] ~@10 b5@3 ~@10 [eb5,bb5]@3 ~ [c6,f6]@2 ~@2 [a3,d4,eb4,g4,g5,db6,g6]@2 d6 ~@6 [gb5,db6,gb6]@6 b5@2 c6@7 ~, ~ bb4@2 ab4@2 ~ bb4@10 ~ ab4@2 ~@16 gb5@8 ~ eb5@7 ~ f5@7 ~@2 c5@9 ~@24 eb6@3 ~@2 f5 ~@28, ~@13 [g3,bb3,c4]@18 ~@46 [f3,b3,eb4,b4,eb5,g5]@8 ~ [eb3,a3,d4,c5,g5,c6]@12 ~@13 [a3,eb4,ab4]@7 [ab3,d4,g4,f5,f6]@10, ~@9 g4 ~@54]/4", // Ab5 Gbdim D Ab7 Eb5 F5 Gb5 C7 …
I: "[ab3,d4,g4,eb5,bb5,eb6]@5 [bb5,d6]@2 ~@2 [g3,bb3,c4,f4,eb5,bb5,eb6]@3 ~@3 bb5 ~@2 d6 ~ bb5 ~ g5 ~ f5 ~ bb5 ~ ab5@2 eb5@2, ~@5 d5 ~@26", // Ebmaj7 Bb Cm7
J: "b4 ~ bb4 ~@3 g4 ~@3 [c2,g2,eb4]@7 ~@2 [c3,f3,bb3,c4]@2 ~@2 bb4@2 ~ [eb3,ab3,db4] eb4@2 ~ ab4 ~, ~@5 ab4@2 ~@2 f4@2 ~@11 f4@2 ~@8", // Cm Fsus4 Dbsus2
K: "db5@2 [gb3,b3,e4] ~ ab4@3 db5 gb5@3 ~ [c2,g2] ~@2 d5 ~ f5@2 [f3,bb3,eb4] ~ d5@2 c5 ~ db5@2 ~ f5 b4 ~@2, ~@12 g5@3 ~@4 eb5@2 ~@11", // Esus2 C5 Ebsus2
L: "[a3,db4,d4,gb4] ~ db5@2 a4@2 gb4 ~ b4@2 ab4@3 e4 ab4@2 ~ [bb2,ab3,c4] ~ f4@2 ab4@2 bb4 ~ [gb3,b3,e4] ~ db5 ~ e5 ~ gb5, e5@2 ~@6 gb3 ~@16 b4@2 ~@5", // Dmaj7 Fm Esus2
M: "[~ [g3,c4,f4] ~ a5@2 b5 ~ db6 ~@2 [ab3,db4,gb4,b5] ~ a5@2 f5 ~ ab5 ~ c6@2 g5 ~ [ab2,eb3] ~ ab5@2 ~@2 eb5@2 ~ [g3,bb3,c4,f4] ~ f5 ~ eb5@2 c5 ~ ab4@2 g4@3 f4 c5 ~@2 [d2,ab2] f4@2 ~ g4@2 ab4@2 ~@2 b4@3 db5 eb5@2 ~ f5@2 g5@2 ab5 ~ bb5@2 b5@2 db6@2 ~ [f3,b3] f6@2 g6 ~@2 f6 ~ d6@2 c6 ~ f6@2 d6 ~ c6 ~, ~ g5@2 ~@19 bb5@2 ~@3 f5@2 ~@2 g5@2 ~@14 c5@2 ~@7 bb4@2 ~@19 eb6@2 ~@17, ~@48 [g4,ab4]@2 ~@7 [f3,b3,eb4]@19 ~@2 eb4@2 ~@2 [ab3,c4,d4]@6 ~@2 [f3,b3,eb4]@6]/3", // Csus4 Abm7 Ab5 Gm7 Ddim Fdim Abmaj7 Fm7b5 …
N: "g5@2 eb6 ~ d6 ~ bb5 ~ f5@2 d6 [a3,d4] bb5@3 ~ a5@2 ~ c6@2 bb5@3 ~ g5@2 ~@2 g5@2 ~, ~@2 [eb3,a3,d4]@8 ~ eb3@2 ~@8 a2 ~@10", // D5 D
O: "[[g3,b3,c4,eb4] ~@5 g5@3 ~ bb5@2 ~ [g3,b3,c4,eb4] ~@3 g5 c5@2 ~ [gb3,c4] ~@2 gb5 eb5 c5 [gb3,c4] ~@2 gb5 ~ c5@2 [gb3,c4] ~ f5@2 ~ bb4 [ab3,c4,d4] ~ eb5@2 [ab4,b4]@2 [f3,b3,f5]@2 ~@3 ab4 eb5@3 [c2,g2] b4@2 ~ d5@3 ~ [eb4,c5,d5]@2 bb4@3 g4 eb4@3 [ab2,c4] d4@3 d2@6 f4@2 g4@2 ab4@2 ~ bb4 ~ b4 ~ [eb3,a3,d4,db5] ~ e5@2 gb5 ~ b5 ~ [ab3,db4,gb4,db6] ~ e6 ~ gb6@2 g6@2 ~ [ab3,c4,d4,d6] ~ gb6 ~ f6@2 e6 ~ [f3,b3,eb4] ~ d6@2 db6@2 c6@2 bb2 f3, ~@9 a5@2 ~@2 b5@2 ~@2 eb5@2 ~@2 c6@3 ~@3 bb5@2 ~@2 eb5@2 ~ ab5@2 ~@2 d5@2 [f3,g5]@2 ~@4 eb4 ~ eb5@2 b4@2 ~@66 eb6@2 ~@6 bb5@2, ~@49 bb4@3 ~@11 [f3,bb3]@6 ab3 ~@12 [f3,b3,eb4]@4 ~@42]/4", // Cm Gbdim Dm7b5 Abm Fdim C5 Cm Ab …
P: "ab5 ~@2 eb6 ~@2 ab5 [bb3,eb4,f5] ~ eb5 ~ d5@2 db5@2 [ab3,db4,gb4]@6 [bb3,eb4,ab4]@3 c5 ~ f5@2 ab5 ~ a5@2, ~@5 bb5@2 ~@25", // Bbsus4 Dbsus4 Ebsus4
Q: "[[g3,b3,db4,gb4]@2 e6@2 a6@2 e6 ~ db6 [g3,bb3,c4,f4] a5 ~@2 bb5 eb6@2 ~ [g3,bb3,c4,f4] ~ bb5@2 f5 ~ eb5@2 ~ [bb3,c4] d5@2 ~@4 [d2,ab2]@6 ~ [ab3,c4,d4,c5]@2 ~@2 ab5@2 ~ bb5@4 [g3,a3,bb3,d4] gb5@2 g5@2 ~ c5@2 bb3 [g3,a3,d4] ~@3, db6 ~@16 c6@2 ~@6 g5@2 ~@3 f5@2 ~@11 f5@2 ~@6 f5@2 ~@11, ~@26 ab3@2 ~@3 c5@8 ~@25]/2", // Gmaj7 Gm7 Bbsus2 Ddim Dm7b5 Gm Gsus2
R: "[~ f5 g5@3 ab5@2 ~ [ab3,d4,g4] ~ f5@3 ~ ab5@2 ~@4 [c2,g2] ~@4 eb5 ~ d5 ~ [f3,bb3,eb4] ~ d5@2 eb5 ~@2 gb5 ~ ab5@2 b5@2 db6 ~ eb6@2 [a3,eb4,ab4] ~ e5@2 ~@2 g5@2 ~@2 db6@2 ~ [ab3,d4,g4] b4@2 ~ db5, ~@2 gb5 ~@5 g5@2 ~@7 g5@5 ~@7 c5@2 ~@20 f5@2 ~@2 bb5@2 ~@7]/2", // G C5 Ebsus2 Ab G
S: "~ eb5@2 gb5 ~ [a5,b5] ~@2 db6 eb6@2 ~ [gb3,b3,e4,gb6] ~ g6 ~ gb6@2 db6@2 b5@2 c6@2 [d2,ab2] ~ d6@2 ~ [f5,g5] bb5@2, ~@2 [ab3,db4,gb4] ~@9 f6 ~@3", // Asus2 Esus2 Ddim Fsus2 Dbsus4
T: "~ [f3,eb6]@2 db6@2 f5 ~ [c2,g2,c6,f6]@8 [f3,bb3,eb4,eb6,g6]@6 ~ [ab3,c4,d4,g5,c6,f6]@9 [f3,b3,eb4,bb5,eb6,bb6], ~ [b3,eb4] ~@30", // F7 Csus4 Eb Dm7b5 Ebsus2 B
U: "~@3 [f3,b3,eb4,a5,eb6,a6]@5 ~ [a5,d6,f6]@8 [f3,bb3,eb4,g5,eb6,g6]@6 ~@3 d6@6, ~@9 [c2,g2]@2 ~@12 [g3,bb3,c4,f4,f5,db6,f6]@9", // F7 Dm Eb C5 Gm7b5
V: "[[ab3,c4,db4,f4,eb5,bb5,eb6] ~@3 [ab3,c4,db4,f4,db5,db6]@6 ~@3 [ab2,eb3]@4 g5 ~@3 [ab3,c4,db4,f4]@4 ab5 ~ g5@2 f5 ~ eb5@2 c5 ~ ab4@3 ~ g4@2 ~ bb4 ~ g4@2 [ab2,eb3] ~@4 eb4@2 ~@2 [ab2,eb3] ~@5 d3@2 d4, ~@10 [c5,ab5,c6]@8 ~ bb5@5 ~@14 f4@2 ~@13 c4@10 ~]/2", // Dbmaj7 Ab5 Dbmaj7 Ab5 Fm
W: "[~ eb4@2 f4@4 ~ g4 ab4@2 ~ [d3,g3,ab3] ~@3 c5@2 d5@2 eb5@4 [gb3,c4] ~ f5@2 ~ c5 ~ gb5@2 [f3,b3,e4] ~ ab4@2 g5@2 d5@2 a4 [gb3,c4] ab5@2 ~ eb5@2 bb4@2 [f3,b3,e4] ~ e5@2 b4 ~ gb5@2 ~ [ab3,db4,gb4] e5 ~@3 gb5@2 ~ [eb3,a3,d4,b4] ~ db5@2 e5 ~ gb5 ~ [ab3,db4,gb4] ~ b5 ~ db6 ~ eb6 ~@2 d6 ~ db6@2 [b3,c6] gb3 b5@2 e6@2 a5 ~, ~@12 [c4,bb4]@2 ~@19 db5@2 ~@15 a5@2 ~@6 b5@2 ~@3 b5@2 ~@10 a5@2 ~@19]/3", // G Gbdim E Gbdim E Dbsus4 B7 Dbsus4 …
X: "[ab3,db4,gb4] ~ b5@2 e5 ~ ab5@2 [gb3,c4,bb5] ~@2 gb5 ~ bb5 ab5@2 ~ [eb3,a3,d4,eb5] ~ db5@2 gb5 ~ eb5@2 ~ [ab2,gb3] ~@3 e5 ~, e6 ~@12 b4@2 ~", // Dbsus4 Cm7b5 D Ab7
Y: "d5@2 [ab2,gb3,a4] ~ bb4@2 ~ db5@2 ab4 ~ db5@2 bb4@2 [ab2,eb3,f4] ~ eb4 ~ [db4,eb4]@2 ~@2 [c2,g2]@6 f4@2 ~, ~@21 c4@8 ~@3", // D Fm7 Dbsus2 C5
Z: "[[c3,f3,bb3] eb4 g4@2 bb4 ~ d5@2 [d3,g3,ab3,c4] ~ f5@2 d5 ~ eb5@2 [f3,eb4,c5]@2 d5@2 ~ eb5 f5@2 ~ [eb3,g3,a3,d4,g5] bb5@3 ~@4 [f3,bb3,eb4]@4 d6 ~ bb5 ~@2 [eb3,a3,d4,g5] ~ f5@2 c6@2 a5 ~ [eb3,a3,d4,g5] ~ f5@2 b5@2 a5 ~ [a3,gb4] [d4,gb5] ~ e5@2 ~ gb5@3 [ab3,db4,f4] ~ gb5@2 ab5@2 eb5@2 [gb3,b3,e4,gb5] ~@5 db5@2 a4@2 gb4 ~@2 b4@2 ab4@2 b4@2 e5@2, d4@2 ~@14 b3 ~@14 c6@8 ~@24 bb5@2 ~@2 c4@2 ~@27]/3", // Fsus4 Csus2 F7 Ebmaj7 Ebsus2 Ebmaj7 D Db …
AA: "~@4 ab3 e3 ~@3 e5 ab4 ab5@2 [e3,ab3] ~ b4@3 ~ ab4@2 [e3,ab3] ~ g4@2 ~ eb5 [ab4,ab5]@3 [f2,c3] ~, ~@2 [ab4,ab5]@7 ~@4 e5@2 ~@10 c5@2 ~@5", // E Ab F5 Ab
AB: "[gb4,gb5]@3 ~ g5@2 ~ [ab3,d4] ~@4 [g3,bb3,c4,bb4,f5]@9 [g3,bb3,c4,f4,f5]@3 ~ d6@2 ~ [gb3,c4,f5,db6] d6 ~@2, ~@4 g4 ~@2 g4@2 ~@15 bb5@2 ~@2 f6@2 ~@2", // Gb Abdim Gm7 Gbmaj7
AC: "[gb3,c4,ab5,eb6,ab6]@4 f3@2 ~ d6 ~@2 [f3,b3,eb4,b5,b6]@3 ~ [c6,g6,c7]@3 ~@7 g6@2 ~ g6@5, ~@6 [b3,eb4,g5,db6,g6]@3 ~@5 [eb3,g3,a3,d4]@9 [eb3,g3,a3,d4]@9, ~@17 c6@2 c6@2 c6@2 c6@3 c6@6, ~@9 [g6,c7]!3 c7@4", // Ab7 Fm7b5 C5 Baug Ebmaj7 C5
AD: "[~@2 [gb3,c4,eb6,bb6,eb7]@9 [gb3,c4,d6,a6,d7]@8 [a3,eb4,c6,gb6,c7]@8 ~ [ab3,d4,g4,bb5,gb6,bb6]@8 [g3,bb3,c4,f4,d6,g6,bb6,d7] ~@5 [g3,bb3,c4,bb5]@6 [f3,ab3,c4,d4,ab5,eb6,ab6]@8 ~ d5 ~@4 [b3,eb4,a5,d6]@2, ~@41 [f4,bb6]@6 ~@9 [f3,b3,eb4,c5,g5,c6]@5 f3@3, ~@62 d5 ~]/2", // Cm7b5 D7 Adim Gm Gm7 C7 Fm7 B7 …
AE: "[~@2 [eb3,g3,bb3,d4,eb5,bb5,eb6]@9 [eb3,g3,bb3,d4,f5,g5,c6]@8 [f3,ab3,c4,d4,d5,ab5,d6]@7 ~@2 [c5,ab5,c6]@2 [f3,b3,eb4,b4,b5]@6 [eb3,g3,a3,d4,c5,f5,g5,c6]@6 ~ [g3,a3]@5 [eb3,g3,a3,d4,g4,c5,f5]@6 ~@3 eb5@4 [bb3,eb4,bb4,eb5,bb5]@3, ~@26 f3@4 ~@12 [eb3,d4,g4,c5]@6 ~@7 [f3,bb3,eb4,bb4,g5]@6 f3 ~@2, ~@27 [b3,eb4]@3 ~@34]/2", // Ebmaj7 Dm7b5 Fm Fm7b5 Dm7 Gsus2 Dm7 Eb5 …
AF: "[~@2 [a4,d5]@4 [ab3,c4,db4,f4,ab4,db5,ab5]@7 ~@2 [bb5,eb6]@2 [ab5,eb6]@5 ~ [b4,gb5]@2 ~ b4@4 ~ b4@3 [b4,db5]@5 [g4,c5,eb5,g5]@9 ~@4 bb4@2 ~ c5 ~ eb5 ~ f5@2 ~@7 [g3,bb3,c4]@4 c6 ~@3 [d2,ab2]@6 [ab3,c4,d4]@7 ~@2 eb6 b5 ~@2 a5@2 ~ db6 ~@6 b5 ~@2 d6 ~@2 c6 b5 ~@2 ab5 g5 ~ gb5 f5 ~@2 db5 ~@4 [c2,g2]@6 ~@2 [f3,bb3,eb4]@4 g4@2 b4@2 ~ d5@2 eb5 ~ g5@2 b5 ~ d6@2 eb6 ~@2 f4@4 ~ db5@2 ~ eb5 f5@2 ~ bb5 ~ db6 ~ [ab3,c4,d4] ~ g4@2 ab4 ~ c5@2 [ab3,c4,d4] ~ f4@2 ~@2 f5@2 ~ [f3,eb4] ~, ~ a5@4 ~@8 [ab3,c4,db4,f4]@9 [g3,db4]@8 g3@9 eb2@2 ~@7 [g3,bb3,c4]@20 ~@21 [f3,b3,eb4]@18 ~@37 [g3,b3,c4]@10 ~@2 [gb3,c4]@14 ~@20 b3@2, ~@25 db5@5 [b3,db4]@2 ~@7 ab1 ~@23 c6@9 ~@22 d6@2 ~@11 c6@2 eb6@2 ~@81, ~@31 e5@8 ~@12 f4@2 ~@8 bb5@12 ~@24 bb5@2 ~@11 d6@2 ~@2 a5@2 ~@4 eb5@2 ~@2 bb4@8 ~ [g4,bb4,d5,f5]@7 ~@46 ab4@2 ~@4, ~@65 [f5,eb6]@8 ~ [g5,c6,f6]@9 ~@30 bb5@2 ~@6 d5@2 c5@2 ~@36 bb4@2 ~@29]/6", // D5 Dbmaj7 Eb5 Ab5 B5 Bsus2 Cm C7 …
AG: "f4@2 ab4@2 f5@2 [f3,b3,eb4]@2 f4@3 ab4 f5@2 ~ [eb3,a3,d4] ~ g4@2 f5 ~ [eb3,a3,d4] ~ g4@2 f5@2 eb4 [f3,bb3] g4@2 ~", // Fm7b5 D Bb5
AH: "[~ [eb3,a3] ~@2 g4@2 eb5@2 [ab3,c4,d4] ~ g4@2 d5@2 [f3,b3,eb4]@2 ~ g4 c5@3 [eb3,a3,d4] g4@2 ~ b4@2 [c2,g2] ~ g4 ~ c5@2 [f3,bb3,eb4] ~ g4@2 ~@3 [c2,g2] ~ g4 c5@3 [ab3,c4,db4,f4] ~ db5@3 ~ [ab3,c4,db4,f4,c5]@4 eb5@2 ~ [ab3,c4,db4]@9 ~ [g3,db4] ~@7 bb4@3 ~ g4@2 ~ f4@2 ~ g4 ~ g4@2 ~@3 bb3 g4, f5@2 ~@35 c5@5 ~@10 b4@2 ~@21 db4@4 ~@9 f4@2 ~ f4@2 f4@2 ~, ~ d4@2 ~@56 [f4,c5]@17 g3@4 [g3,db4]@2 ~@2 [g3,bb3,c4]@8 g4@2 [g3,c4]@2]/3", // Ebdim Dm7b5 Fm7b5 D C5 Ebsus2 C5 Dbmaj7 …
AI: "[f4@2 g4 ~@2 [g3,bb3,c4]@8 [g3,bb3,c4] ~ ab4@3 ~ a4@2 ~@2 [f3,bb3,eb4,ab4]@8 ~ [ab3,d4,g4]@5 ~ [eb3,g3,c4,f4,bb4]@13 ~@2 d5@4 ~@3 [gb3,c4,f4,bb4] ~@5 [f3,b3,f4,bb4,eb5]@6 [eb3,a3,d4,g4,c5]@13 eb5@2 f5@3 ~ [a3,d4,eb4,g4,c5,eb5,g5]@8 [a3,eb4,ab4,b4,db5,gb5]@8 [ab3,d4,g4,c5]@17 ~ [eb2,bb2] ~@8 [gb3,b3,e4] ~@18 [eb5,eb6]@4 bb5 ~ [eb2,bb2] ~@7 [ab3,db4,gb4] ~@20 bb5@2 ab5 ~, ~@3 f4@11 ~@111 bb5@9 ~@6 [gb3,b3,e4]@18 ~@15 [gb3,b3,e4]@17 ~@2, ~@4 g4@2 ~@17 c5@14 ~@15 db5@2 ~@3 f5@15 ~@53 [eb5,eb6]@27 ~@7 eb5@16 ~@2 db6@8 ~ db6@4 ~@2, ~@148 bb5@9 ~@2 eb6@22 eb6@9 ~@2]/6", // C7 Fm7 G Cm7 Gbmaj7 Ebsus2 Am7b5 Abm7 …
AJ: "[eb2,bb2] ~@2 eb6@2 db6@2 ab5 ~ gb5@2 [gb3,b3,e4] ~ ab5@2 ~ eb5 ~ db5@2 [gb3,gb5]@2 eb5 ~ bb4 ~@3 [gb3,b3]@2 ~@2, bb5@2 ~@9 bb5@2 ~@7 [b3,e4] ~@5 d5@6, ~@28 e4 ~@3", // Eb5 Esus2 Gb B5 E5
AK: "g4@2 c5@2 ~ [eb2,bb2] ~ f5 ~ g5@2 c6@2 f6@2 [g3,c4,f4] ~@3 [a3,d4,g4]@7 gb6 ~@2 [d4,g4] gb6@2, ~@5 d5@2 ~@21 a6@2 a6 ~, ~@29 a3@2 ~", // Eb5 Csus4 Dsus4 G5
AL: "e6@2 d6 ~ [eb2,a6] ~@2 b6@2 a6@2 d6 [g3,c4,f4] a6@2 d7@2 a6@2 ~ [ab3,db4,gb4] db7 ~@3 b6@2 ~ [b3,e4,a6] ~ bb6@2, ~@23 db7@2 ~@7, ~@12 c7 ~ gb3 ~", // Ebdim Csus4 Dbsus4 Esus4
AM: "[~ ab6@2 ~@2 [eb2,bb2] a6@2 db7 ~ e7@2 [eb2,bb2] ~ a7@2 ~ eb7 ~ db7@2 a6 [db2,ab2] bb6@2 eb7@2 db7@2 ab6 [gb3,e4] bb6@2 eb7@2 db7@2 ab6 ~@2 f7@2 d7@2 g6 ~ g6 [g3,bb3,c4,f4] g6@2 ~@2 g6 f6 ~ [ab3,db4,gb4] db6 [b5,c6] ~ db6 e6 ~ e6@2, gb6@2 ~@2 bb6@2 b6 ~@7 a6 ~ e7@2 ~@12 b3@2 ~@7 [eb2,bb2,c7]@4 ~@3 c7@3 ~ c7@3 ~@11, ~@51 a6@2 ~@2 eb6@2 ~@4 gb6@3]/2", // Eb5 Db5 Gb7 Gm7 Dbsus4 Cmaj7 Cm7
AN: "[~@6 d5@2 gb5 [eb2,bb2] ~@2 [bb2,gb5,ab5] ~@5 [eb2,bb2,gb5,ab5] ~@5 bb2@10 ~@20 [c7,ab7,bb7]@64 ~@10, [gb3,b3,e4,db6]@5 gb5@3 ~@16 [gb5,ab5,bb5]@14 gb4@5 gb5@5 gb6@64 ~@16, ~ b5@8 ~@26 bb2@5 bb4@5 bb5@6 db7@64 ~@13, ~@2 bb5@6 ~@4 bb5@2 ~@4 bb5@2 ~@4 eb2 ~@9 eb2@5 ab4@5 ab5@5 ab6@64 ~@15, ~@4 ab5@5 ~@15 c5@12 [gb3,c4]@5 c5@5 c6@5 c7 gb7@64 ~@12]/4", // Eb5 Ebm Fm Gbsus4 Gb Gbdim
})).s("gm_piano").gain(0.56).pan(0.6)
// drums · kick
const kick = s("bd").struct(`<
A ~ B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA I AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS R AB
AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW U BX AF BY ~@3
>`.pickRestart({
A: "x ~@8 x ~@6 x ~@15", B: "~@2 x ~@8 x ~@20", C: "~@13 x ~@18", D: "~@7 x ~@6 x ~@8 x ~@7 x", E: "~@9 x ~@6 x ~@15",
F: "~ x ~@9 x ~@6 x ~@8 x ~@4", G: "~@3 x ~@7 x!2 ~@7 x ~@7 x!2 ~@2", H: "~@4 x ~@9 x ~@6 x ~@8 x!2",
I: "~@6 x ~@16 x ~@8", J: "~ x ~@6 x ~@7 x ~@8 x ~@6", K: "~@5 x ~@8 x ~@3 x!2 ~@7 x ~@4",
L: "~@3 x!2 ~@6 x ~@9 x ~@6 x ~@3", M: "~@5 x ~@7 x ~@9 x ~@6 x ~", N: "~@15 x ~@9 x ~@6",
O: "x ~@8 x ~@7 x ~@7 x!2 ~@5", P: "~@9 x ~@4 x ~", Q: "~@3 x ~@8 x!2 ~@6 x ~@8 x ~@2",
R: "~@5 x ~@9 x ~@6 x ~@7 x ~", S: "~@3 x ~@7 x ~@3 x ~@8 x ~@7", T: "~ x ~@7 x ~@8 x ~@6 x ~@6",
U: "~@3 x ~@6 x ~@8 x ~@7 x ~@4", V: "~@5 x ~@6 x ~@7 x ~ x ~@6 x ~@2", W: "~@7 x ~@6 x ~@7 x ~@8 x", X: "~ x ~@2",
Y: "~@10 x ~@16 x ~@4", Z: "~@2 x ~@9 x ~@6 x ~@7 x ~ x ~@2", AA: "~@21 x ~@7 x!2 ~", AB: "x ~@6 x ~@9 x ~@6 x ~@7",
AC: "~ x ~@7 x ~@9 x ~@6 x ~@5", AD: "~@4 x ~@6 x ~@9 x ~@6 x ~@3", AE: "~@5 x ~@7 x ~@7 x ~@8 x ~",
AF: "~@7 x ~@6 x ~@9 x ~@6 x", AG: "~@8 x!2 ~@6 x ~@8 x!2 ~@5", AH: "~ x ~@7 x ~ x ~@6 x ~@13",
AI: "~@3 x ~@8 x ~@7 x ~@7 x ~@3", AJ: "~@5 x ~@8 x ~@6 x ~@9 x", AK: "~@6 x ~@8 x ~@7 x ~@8",
AL: "~@8 x ~@9 x ~@6 x ~@6", AM: "~@10 x ~@8 x ~@7 x ~@4", AN: "~@4 x ~@7 x ~@8 x ~@6 x ~@3",
AO: "~@6 x ~@6 x ~@8 x!2 ~@6 x ~", AP: "~@7 x!2 ~@6 x ~@12 x ~@3", AQ: "~@4 x ~@3 x ~ x ~@6 x ~@11 x ~@2",
AR: "~@6 x ~@3 x!2 ~@7 x ~@7 x!2 ~@3", AS: "~@3 x ~@9 x ~@6 x ~@8 x!2 ~", AT: "~ x ~@7 x ~@7 x!2 ~@7 x ~@5",
AU: "~@2 x!2 ~@6 x ~@9 x ~@6 x ~@4", AV: "~@4 x!2 ~@6 x ~@8 x ~@3 x ~@6", AW: "~ x ~@3 x ~ x ~@6 x ~@9 x ~@6 x",
AX: "~@8 x ~@7 x ~@7 x!2 ~@6", AY: "~ x ~@7 x!2 ~@6 x ~@9 x ~@4", AZ: "~@2 x ~@9 x ~@6 x ~@12",
BA: "~@4 x ~@9 x ~@6 x ~@9 x", BB: "~@6 x ~@7 x!2 ~@7 x ~@8", BC: "x ~@6 x ~@8 x!2 ~@6 x ~@7",
BD: "~@2 x ~@6 x ~@8 x!2 ~@6 x ~@5", BE: "~@11 x ~@9 x ~@6 x ~@3", BF: "~@4 x ~@8 x ~@11 x ~@6",
BG: "~@2 x ~@3 x!2 ~@7 x ~@7 x!2 ~@6 x", BH: "~@9 x ~@6 x ~@8 x ~@6", BI: "~ x ~@9 x ~@6 x ~@13",
BJ: "~@3 x ~@9 x ~@6 x ~@8 x ~@2", BK: "~@5 x ~@7 x!2 ~@7 x ~@7 x!2", BL: "~@6 x ~@9 x ~@6 x ~@8",
BM: "x!2 ~@6 x ~@8 x ~@7 x ~@6", BN: "~@3 x ~@6 x ~@7 x ~@4 x ~@7 x", BO: "~@3 x ~@8 x ~@8 x ~@7 x ~@2",
BP: "~@6 x ~@6 x ~@9 x ~@6 x ~", BQ: "~@7 x ~@7 x ~@9 x ~@6", BR: "x ~@7 x ~ x ~@6 x ~@9 x ~@4",
BS: "~@2 x ~@7 x ~@8 x ~@8 x ~@3", BT: "~@5 x ~@6 x ~@7 x ~@11", BU: "~@14 x ~@7 x ~@8 x",
BV: "~@7 x ~@12 x ~@7 x ~@3", BW: "x ~ x ~@6 x ~@7 x!2 ~@7 x ~@5", BX: "~@5 x ~@6 x ~@16 x ~@2",
BY: "~@7 x ~ x ~@7 x ~@6 x ~@7",
})).gain(0.16)
// drums · snare
const snare = s("sd").struct(`<
A B C D E F G H I J K ~ L M N ~ O ~@3 P Q ~ R S T ~ U V W X Y ~ Z ~ AA ~ AB AC ~ X AD AE AF AG ~ AH V AI ~ AJ ~ AK ~
AL AM AN AO AP AQ ~@3 AR AA AS ~ AM ~@2 AT AU ~ AV AW AX AY AZ BA BB BC BD BE ~@3
>`.pickRestart({
A: "~@9 x ~@6 x ~@7 x ~@3 x ~@3", B: "x ~ x ~@7 x ~@6 x ~@3 x ~@10", C: "~ x!2 ~@3 x ~@2 x ~@6",
D: "x ~@3 x!2 ~@8 x ~@6 x ~@7 x ~ x", E: "~@5 x!2 ~@3 x!2 ~@4 x ~@5 x ~@9",
F: "~@3 x ~@3 x ~ x ~@2 x ~@4 x ~@6 x ~@7", G: "~@9 x ~ x ~@2 x ~@4 x ~@6 x ~@5", H: "~@11 x!2 ~@8 x ~@6 x ~@3",
I: "~@8 x ~ x!2 ~ x!2 ~@3 x ~@8 x ~@4", J: "~@3 x ~@7 x ~@8 x ~@7 x ~@3", K: "~@5 x ~@7 x ~@18",
L: "~@20 x ~@3 x!2 ~@6", M: "~@13 x ~@2", N: "~@7 x", O: "~@2 x ~@3 x ~@3 x ~@16 x ~@4", P: "~@3 x ~@12",
Q: "~ x ~@14", R: "~@5 x ~@16 x ~@9", S: "~ x ~@2", T: "~@7 x ~ x!2 ~@19 x ~", U: "x ~@4 x ~@6 x ~@19", V: "~ x ~@30",
W: "~@16 x!2 ~@14", X: "~ x ~@20 x ~@9", Y: "~@7 x ~@16 x ~@7", Z: "~@23 x ~@3 x!2 ~@3", AA: "~@7 x ~@8",
AB: "~@15 x", AC: "~@3 x ~@4", AD: "~@7 x ~@24", AE: "~@5 x!2 ~@25", AF: "~@11 x ~@20", AG: "~@13 x ~@18",
AH: "~@12 x!2 ~@2 x!2 ~@14", AI: "~@3 x ~@16 x ~@11", AJ: "~@19 x ~@12", AK: "~@10 x ~@16 x ~@4", AL: "~@13 x ~ x",
AM: "~@15 x ~@16", AN: "~@29 x ~@2", AO: "~@11 x ~@19 x", AP: "~@3 x ~ x ~@24 x!2", AQ: "~ x!3 ~@18 x ~@9",
AR: "~@8 x ~@3 x!2 ~@18", AS: "~ x", AT: "~@3 x", AU: "~@11 x ~@4", AV: "~@25 x ~@6", AW: "~@5 x ~@8 x ~",
AX: "~@5 x ~@6 x ~@16 x!2 ~", AY: "~@7 x ~@6 x ~@15 x ~", AZ: "~@9 x ~@5 x ~@16", BA: "x ~@10 x ~@5 x ~@14",
BB: "~ x!2 ~@3 x ~ x ~@3 x ~@5 x ~@13", BC: "~@3 x ~@4 x ~@5 x ~@6 x ~@10", BD: "~@5 x ~@4 x ~@5 x ~@5 x ~@9",
BE: "~@7 x ~@3 x ~@5 x ~@6 x ~@7",
})).gain(0.27)
// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
~@4 A ~@8 B ~@2 C ~@6 D ~ E ~@3 F ~@4 G ~@3 H ~@7 I ~@16 J ~@10 E ~@4 K ~@6
>`.pickRestart({
A: "~@20 x!2 ~@10", B: "~@2 x!2 ~@28", C: "~@11 x ~@20", D: "~@9 x ~@6", E: "~@3 x ~@12", F: "~@7 x",
G: "~@3 x ~ x ~@26", H: "~@5 x ~@10", I: "~@26 x!2 ~@4", J: "~@22 x!2 ~@8", K: "~@16 x!2 ~@14",
})).gain(0.11)
// drums · low tom
const low_tom = s("lt").struct("<~@34 [~@3 x ~@12] ~@23 [~@7 x ~@8] ~@27>").gain(0.16)
// drums · hihat
const hihat = s("hh").struct(`<
A B C D E F G H I J K L A M C N O P G Q R S K T U V W X O Y Z Q AA E AB T H AC AD X AE AF B AG D E F AH H I J K AE A M
C D O P G H R S K L AI M W N O Y Z Q R E AB T AI AC AD X O AJ ~@3
>`.pickRestart({
A: "x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~", B: "~@2 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x",
C: "~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@2", D: "~ x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x",
E: "~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3", F: "x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~",
G: "~@2 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4", H: "x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@2",
I: "~ x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x", J: "~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@2",
K: "~ x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~", L: "~@2 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3",
M: "~@2 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x", N: "~ x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x",
O: "~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3", P: "x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~",
Q: "x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@2", R: "~ x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x",
S: "~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3", T: "~@2 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3", U: "x!3 ~@5",
V: "~@6 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x", W: "~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@2",
X: "~ x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~", Y: "x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~",
Z: "~@2 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4", AA: "~ x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x",
AB: "~ x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~", AC: "~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x",
AD: "~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@2", AE: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3",
AF: "x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~", AG: "~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@2",
AH: "~@2 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3", AI: "x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2",
AJ: "x ~@3 x ~@4 x ~@7 x ~@6 x ~@7",
})).gain(0.38)
// drums · mid tom
const mid_tom = s("mt").struct(`<
~@4 A ~@3 B ~@3 C ~@3 D ~@3 E ~@2 A ~ F ~@3 G ~@3 H ~@3 I ~ E ~@2 J ~@3 K ~@3 L ~@3 M ~ I N O ~@4 P ~@3 Q ~@3 R ~ M
~@4 S ~@7
>`.pickRestart({
A: "~ x ~@30", B: "~ x ~@2", C: "~@15 x ~@16", D: "~@11 x ~@4", E: "~@29 x ~@2", F: "~ x ~@6", G: "~@11 x ~@20",
H: "~@9 x ~@6", I: "~@25 x ~@6", J: "x", K: "~@7 x ~@24", L: "~@7 x ~@8", M: "~@21 x ~@10", N: "~@27 x ~@4",
O: "~@7 x", P: "~@3 x ~@28", Q: "~@5 x ~@10", R: "~@17 x ~@14", S: "~@15 x",
})).gain(0.27)
// … 91 more lines
More by Tyner Mccoy
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.