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, A@4 for four bars: 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 AD AN AO AP AQ AR R AB
AS 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 U BW AF BX ~@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: "~@6 x ~@6 x ~@8 x!2 ~@6 x ~",
AO: "~@7 x!2 ~@6 x ~@12 x ~@3", AP: "~@4 x ~@3 x ~ x ~@6 x ~@11 x ~@2", AQ: "~@6 x ~@3 x!2 ~@7 x ~@7 x!2 ~@3",
AR: "~@3 x ~@9 x ~@6 x ~@8 x!2 ~", AS: "~ x ~@7 x ~@7 x!2 ~@7 x ~@5", AT: "~@2 x!2 ~@6 x ~@9 x ~@6 x ~@4",
AU: "~@4 x!2 ~@6 x ~@8 x ~@3 x ~@6", AV: "~ x ~@3 x ~ x ~@6 x ~@9 x ~@6 x", AW: "~@8 x ~@7 x ~@7 x!2 ~@6",
AX: "~ x ~@7 x!2 ~@6 x ~@9 x ~@4", AY: "~@2 x ~@9 x ~@6 x ~@12", AZ: "~@4 x ~@9 x ~@6 x ~@9 x",
BA: "~@6 x ~@7 x!2 ~@7 x ~@8", BB: "x ~@6 x ~@8 x!2 ~@6 x ~@7", BC: "~@2 x ~@6 x ~@8 x!2 ~@6 x ~@5",
BD: "~@11 x ~@9 x ~@6 x ~@3", BE: "~@4 x ~@8 x ~@11 x ~@6", BF: "~@2 x ~@3 x!2 ~@7 x ~@7 x!2 ~@6 x",
BG: "~@9 x ~@6 x ~@8 x ~@6", BH: "~ x ~@9 x ~@6 x ~@13", BI: "~@3 x ~@9 x ~@6 x ~@8 x ~@2",
BJ: "~@5 x ~@7 x!2 ~@7 x ~@7 x!2", BK: "~@6 x ~@9 x ~@6 x ~@8", BL: "x!2 ~@6 x ~@8 x ~@7 x ~@6",
BM: "~@3 x ~@6 x ~@7 x ~@4 x ~@7 x", BN: "~@3 x ~@8 x ~@8 x ~@7 x ~@2", BO: "~@6 x ~@6 x ~@9 x ~@6 x ~",
BP: "~@7 x ~@7 x ~@9 x ~@6", BQ: "x ~@7 x ~ x ~@6 x ~@9 x ~@4", BR: "~@2 x ~@7 x ~@8 x ~@8 x ~@3",
BS: "~@5 x ~@6 x ~@7 x ~@11", BT: "~@14 x ~@7 x ~@8 x", BU: "~@7 x ~@12 x ~@7 x ~@3",
BV: "x ~ x ~@6 x ~@7 x!2 ~@7 x ~@5", BW: "~@5 x ~@6 x ~@16 x ~@2", BX: "~@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 AC ~ AG V AH ~ AI ~ AJ ~
AK AL AM AN AO AP ~@3 AQ AA AL ~ AL ~@2 AR AS ~ AT AU AV AW AX AY AZ BA BB BC ~@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: "~@12 x!2 ~@2 x!2 ~@14",
AH: "~@3 x ~@16 x ~@11", AI: "~@19 x ~@12", AJ: "~@10 x ~@16 x ~@4", AK: "~@13 x ~ x", AL: "~@15 x ~@16",
AM: "~@29 x ~@2", AN: "~@11 x ~@19 x", AO: "~@3 x ~ x ~@24 x!2", AP: "~ x!3 ~@18 x ~@9", AQ: "~@8 x ~@3 x!2 ~@18",
AR: "~@3 x", AS: "~@11 x ~@4", AT: "~@25 x ~@6", AU: "~@5 x ~@8 x ~", AV: "~@5 x ~@6 x ~@16 x!2 ~",
AW: "~@7 x ~@6 x ~@15 x ~", AX: "~@9 x ~@5 x ~@16", AY: "x ~@10 x ~@5 x ~@14", AZ: "~ x!2 ~@3 x ~ x ~@3 x ~@5 x ~@13",
BA: "~@3 x ~@4 x ~@5 x ~@6 x ~@10", BB: "~@5 x ~@4 x ~@5 x ~@5 x ~@9", BC: "~@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 C ~@7 H ~@16 I ~@10 E ~@4 J ~@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: "~@26 x!2 ~@4", I: "~@22 x!2 ~@8", J: "~@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 B C D E F G H I J K L M N C K E O G P D J K G H B Q K E A B C D E F G H I Q K L A B C D E F
G H I J K L H B C K E O G H D J K G H B Q K E R ~@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 ~@3 x ~@4 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 ~@3 x ~@4 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 ~@3 x ~@4 x ~@3 x", J: "~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3",
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 ~@3 x ~@4 x ~@3",
M: "x!3 ~@5", N: "~@6 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x", O: "x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~",
P: "x ~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@2", Q: "~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@2",
R: "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 A ~@3 B ~@3 C ~@3 J ~ I K E ~@4 F ~@3 G ~@3 H ~ J
~@4 L ~@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: "~@21 x ~@10", K: "~@27 x ~@4", L: "~@15 x",
})).gain(0.27)
// drums · mid tom · soft notes
const mid_tom_soft = s("mt").struct(`<
~@4 A ~@8 B ~@9 C ~@5 D ~@8 E ~@7 F ~@10 G H ~@4 I ~@10 J ~@4 E ~@6
>`.pickRestart({
A: "~@9 x ~@6", B: "x", C: "~@19 x ~@12", D: "~@15 x", E: "~@15 x ~@16", F: "~@3 x", G: "~@5 x ~ x ~@8",
H: "~@12 x!2 ~@18", I: "~@5 x ~@2", J: "~@7 x ~@24",
})).gain(0.16)
// drums · crash
const crash = s("cr").struct(`<
A B C ~ D ~ E ~ F ~@3 G ~@3 H ~@6 D ~ I ~@3 J ~@3 K ~@3 L ~@4 M ~@3 N ~@9 L ~ A B ~@3 O ~@3 P ~@5 Q H R L ~@2 S ~ D K
~@3
// … 77 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.