0:00/0:00
// On My Feet — Fluid
// 74 bpm, 4/4, key D# 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 74 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(74/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(`<
~@2 A@2 B@2 C@2 ~@2 D@2 ~ E F@2 G@2 H I J@5 K L@2 M@2 N@2 O@2 P@4 Q@2 R@2 S T U V W@2 X@2 Y Z AA AB AC@2 AD K AE AF@2
AG@2 AH@2 AI@3 AJ@4 ~@2
>`.pickRestart({
A: "[eb2@34 ~ bb2@12 eb2@48 ~]/2", B: "[~ eb2@83 bb2@12]/2", C: "[eb2@72 ~@11 g2@13]/2", D: "[eb2@73 ~@23]/2",
E: "~@24 bb2@23 ~", F: "[eb2@72 f2@12 g2@11 ~]/2", G: "[ab2@71 bb2@25]/2", H: "eb2@14 ab2 a2", I: "~ bb2@23 ~ bb2@23",
J: "[eb2@41 bb2@6 eb2@24 bb2@11 eb2@13 db2@41 ab2@30 ~ db2@24 ab2@42 ~ eb2@6]/5", K: "~ ab2@47", L: "[bb2@73 ~@23]/2",
M: "[~ eb2@35 bb2@12]/2", N: "[eb2@71 f2@11 g2@14]/2", O: "[ab2@35 ~ ab2@12]/2", P: "[eb2@71 bb2@24 ~]/2",
Q: "[eb2@71 ~ f2@12 g2@12]/2", R: "[~ ab2@70 ~ ab2@11 bb2@13]/2", S: "eb2@24 eb3@11 bb2@11 ~@2", T: "bb2@23 ~ bb2@24",
U: "~@43 bb2@5, ~ eb2@23", V: "~ eb3@23 eb2@24", W: "[db2@5 ~@4 db2@3, ~@21 ab2@26 ~]/2",
X: "[~ ab2@43 eb2@6 ab2@46]/2", Y: "~ bb2@42 f2@5", Z: "~ bb2@23", AA: "eb2@43 bb2@5", AB: "~ eb2@46 ~",
AC: "[db2@43 ab2@41 db2@12]/2", AD: "~ ab2@41 ~ eb2@5", AE: "~ bb2@47", AF: "[~ b2@27 ~@20]/2",
AG: "[~@30 b2@23 ~@43]/2", AH: "[~@6 e2@24 gb2@13 ab2@12 a2@40 ~]/2", AI: "[e2@6 a2@47 e2@49 b2@40 ~@2]/3",
AJ: "[b2@6 e2@47 a2@28 b2@26 e2@54 ~@31]/4",
})).s("gm_acoustic_bass").gain(0.57)
// bass · acoustic bass · "ACOU BASS" · soft notes
const bass_soft = note("<~@7 A B@2 ~ C D@2 ~@46 E@2 F@2 ~@7 G@3>".pickRestart({
A: "~@23 f2@12 ~@13", B: "[ab2@71 bb2@25]/2", C: "~@2 ab2 bb2", D: "[eb2@73 ~@23]/2", E: "[~@8 e2@71 ~@17]/2",
F: "[~@5 e2@47 ~@44]/2", G: "[~@12 e3@9 e2@76 ~@47]/3",
})).s("gm_acoustic_bass").gain(0.36)
// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
A@2 B C D@4 E@2 F@2 G@4 H@2 I J@5 K@3 L M@2 N@2 O@2 P@2 Q@2 R@4 S T U@2 V@2 W@2 X Y Z@6 AA@2 AB@3 AC@6 AD@4 ~
>`.pickRestart({
A: "eb6 bb5 eb6 bb5 eb6 bb5 d6 bb5",
B: "eb6 bb5 eb6 bb5 ~ bb5 ~ bb5, [eb3,g3,bb3,eb4]@35 ~ [f3,bb3,d4,d6]@12, ~@24 eb6@11 ~@13", // Eb Bb
C: "eb6@5 ~ bb5@6 eb6@6 bb5@6 eb6@24, [eb3,g3,bb3,eb4]", // Eb
D: "[~@6 eb3@6 [f3,g3]@6 eb3@6 ~@18 eb3@6 [f3,g3]@6 eb3@6 [f3,g3]@6 eb3@6 [f3,g3]@6 eb3@5 ~@6 eb3@6 [f3,g3]@8 ~@23 eb3@5 ~@7 eb3@6 [f3,g3]@6 ~@11 eb3@6 ~@7 eb3@5 ~@7 eb3@6, eb2@161 ~@7 [f2,f3,bb3]@11 ~ [g2,f3,bb3]@12, bb3@95 bb3@36 bb3@12 ~ bb3@11 ~@37, f3@6 ~@18 [f3,g3]@12 g3@11 ~@36 f3@12 ~@12 [f3,g3]@11 ~ [f3,g3]@12 ~ [f3,g3]@11 ~@12 [f3,g3,bb3]@12 g3@12 g3@12 ~, ~ g3@8 ~@21 eb3@12 ~@42 g3@11 ~@18 eb3@12 ~@25 eb3@11 ~@31]/4", // Fsus2 Bb5 Gm7 Fsus2 Gm7
E: "[[bb3,c4]@6 ab3@6 ~@6 ab3@6 bb3@6 ab3@6 ~@6 ab3@6 ~@6 ab3@6 ~@5 ab3@7 [bb3,c4,eb4]@11 ~@7 ab3@6, ab2, eb4@47 ~ eb4@24 ~@12 eb4@12, ~@12 [bb3,c4]@10 ~@2 c4@11 ~ [bb3,c4]@12 [bb3,c4]@12 [bb3,c4]@12 ~@11 [bb3,c4]@13]/2", // Bbsus2 Cm7 Bbsus2
F: "[[f3,g3,bb3]@11 ~@7 eb3@6 ~@18 eb3@6 ~@6 eb3@6 ~@6 eb3@6 bb3@5 eb3@6 ~@7 eb3@6, eb2, ~@12 [f3,g3,bb3]@12 [f3,g3,bb3]@12 [f3,g3,bb3]@12 [f3,g3,bb3]@12 [f3,g3]@12 [f3,g3]@11 eb3@4 ~@9, ~@30 eb3@12 ~@41 f3@13, ~@7 [g3,bb3]]/2", // Gm7 Fsus2 Gm
G: "[~@18 eb3@6 ~@5 eb3@6 ~ eb3@3 ~@3 eb3@6 eb3@4 ~ eb3@6 ~@18 eb3@6 ~@6 eb3@6 [f3,g3]@6 ~@12 eb3@7 ~@17 eb3@6 ~@18 eb3@6 ~ eb3 ~@5 eb3@6 ~@6 eb3@6, [f3,g3,bb3]@11 f3@12 ~ [f3,g3,bb3]@12 [f3,g3,bb3]@12 [f3,g3,bb3]@11 [f3,g3,bb3]@12 [f3,g3,bb3]@12 [f3,g3,bb3]@12 ~@12 [f3,g3,bb3]@12 ~ [f3,g3,bb3]@12 [g3,bb3]@12 [f3,bb3]@12 [f3,g3,bb3]@11 ~@25, eb3@4 ~@2 eb3@12 ~@47 eb3@10 ~@20 eb3@4 ~@2 eb3@10 ~@15 eb3@11 ~@13 eb3@11 ~@31, ~ eb2@94 eb2@72 ~ [f2,f3,g3,bb3]@12 [g2,f3,g3,bb3]@12, ~@12 [g3,bb3]@12 ~@71 bb3@12 ~@24 f3@12 g3@12 ~@37]/4", // Fsus2 Gm7 Gm Bb5 Gm7 Gm
H: "[~@18 ab3@6 ~@29 ab3@6 ~@6 ab3@6 ~@19 ab3@6, ab2@95 ~, [bb3,c4,eb4]@12 [bb3,c4,eb4]@12 [bb3,c4,eb4]@11 ~ [bb3,c4,eb4]@11 [bb3,c4]@12 [bb3,c4,eb4]@12 [bb3,c4,eb4]@12 [bb3,c4,eb4]@12 ~, ~@6 ab3@10 ~@14 ab3@11 ~ ab3@11 ~@24 ab3@12 ~@7, ~@48 eb4@11 ~@37]/2", // Cm7 Bbsus2 Cm7
I: "~@6 eb3@6 ~@6 eb3@6 ~@17 eb3@7, eb2, [f3,g3,bb3]@12 [f3,g3,bb3]@11 ~ bb3@24, ~@24 [f3,g3]@11 ~ [f3,g3]@12, ~@30 eb3@11 ~@7", // Gm7 Fsus2
J: "[~@43 f5@4 ~ eb4@11 ~@7 c5@6 eb5@12 [bb4,eb5]@6 bb4@3 ~ eb5@2 ~ bb4@5 ~@18 [bb3,eb4]@8 ~@6 g5@8 ~@12 [ab3,db4]@9 ~@2 g5@2 ~@43 ab4@6 ab4@6 ab4@6 ~@6 ab4@6, [bb2,f3,bb3,d4]@48 [eb3,bb3]@24 bb4@4 ~@17 [bb4,bb5]@3 eb5@6 bb4@6 [bb3,eb4]@12 eb5@11 [bb3,eb4]@11 db3@74 [ab3,db4]@12 [ab3,db4,db5]@12, ~@23 bb4@25 ~@11 [eb4,ab5]@14 ~@24 [g3,bb3,eb4]@10 eb5@7 bb4@29 bb5@24 [ab3,ab5]@6 ab4@6 db5@6 ab4@6 eb5 f5@48, ~@32 d5@16 ~@24 [bb3,eb4]@24 [eb3,bb5]@49 ~@3 f3@92, ~@39 eb5@8 [eb5,ab5]@12 ~ eb5@12 g5@56 f5@17 ~@18 ab5@4 db4@25 ab3@5 db5@7 ab5@12 eb5@24]/5", // Eb5 Db5 Bb Eb5 Bb Eb5 Db5 Ab5 …
K: "[~@18 ab4@6 ab4@2 ~@4 ab4@6 ~ ab4 ~@4 ab4@6 ~@7 [ab3,ab4]@5 [bb3,eb5]@11 ~@19 ab4@5 ~@24 d5@23 ~@2, [eb4,eb5]@12 eb4@36 bb4@23 ~, [bb3,c4]@6 c4@6 [bb3,c4,eb5]@6 [bb3,c4]@6 bb3@6 ~@6 [bb3,eb5]@3 ab4@3 [bb3,eb5]@6 f3@20 ~@4, ab4@4 ~@3 ab4@11 ~@19 eb5@12 eb5@11 ~@18 ab3@17 d4@49, ~ ab3@24 ~@24 c4@47 ~@48]/3", // Ab Eb5 Eb Bbsus2 Cm7 Bbsus2 Eb5
L: "bb5",
M: "[~ [f3,g3]@5 ~@12 eb3@6 ~@6 eb3@6 ~@6 eb3@6 ~@6 eb3@6 ~@6 eb3@6 ~@6 eb3@6 bb3@6 [eb3,bb3]@6, ~ eb2@83 ~@12, ~ bb3@47 ~@48, ~@7 eb3@8 ~@69 [bb2,f3,g3]@12, ~@12 [f3,g3]@12 [f3,g3]@11 ~ [f3,g3]@12 [f3,g3,bb3]@12 [f3,g3,bb3]@11 ~ [f3,g3,bb3]@12 ~@12]/2", // Fsus2 Eb5 Gm7 Fsus2 Gm7
N: "[[f3,g3]@6 ~@5 [f3,g3]@7 ~@5 [f3,g3]@6 ~@12 eb3@6 [f3,g3]@6 ~@12 eb3@6 ~@19 eb3@6, eb2@71 [f2,f3,g3,bb3]@12 ~ [g2,bb3]@12, bb3@35 [f3,g3,bb3]@12 bb3@12 [f3,g3,bb3]@12 ~@12 [f3,g3]@12 ~, ~@6 eb3@9 ~@3 eb3@9 ~@2 eb3@12 ~@6 eb3@3 ~@3 eb3@12 ~@13 eb3@8 ~@10]/2", // Fsus2 Gm7 Gm Gm7 Fsus2
O: "[~ ab3 ~ ab3 ~@7 ab3 ~ ab3 ~ ab3, ab2, eb4@35 ~@24 eb4@12 ~@25, [bb3,c4]@11 ~ [bb3,c4]@12 [bb3,c4]@12 [bb3,c4,eb4]@12 [bb3,c4,eb4]@12 [bb3,c4]@12 [bb3,c4,eb4]@12 [bb3,c4,eb4]@12, ~@15 ab3@5 ~ ab3@5 ~ ab3@5 ~@16]/2", // Bbsus2 Cm7 Bbsus2 Cm7
P: "[[f3,g3,bb3]@11 ~ eb3 ~@5 eb3@6 ~@6 eb3@6 [f3,g3]@6 ~@5 [f3,g3]@10 ~@8 eb3@6 ~@7 eb3@5 ~@7 eb3@6, eb2@7 [bb2,g3,bb3], ~@12 [f3,g3,bb3]@12 bb3@34 ~@25 f3@12 ~, ~@24 [f3,g3]@12 ~@6 eb3@10 ~@7 [f3,g3,bb3]@12 [f3,g3,bb3]@13 ~@12]/2", // Gm7 Fsus2 Eb Gm7 Fsus2 Gm7
Q: "[~@3 eb3@3 ~@3 eb3@3 ~@3 eb3@3 ~@3 eb3@3 eb3 ~@2 eb3@3 ~@3 eb3@3 ~@3 eb3@3 ~@3 eb3@3, eb2, bb3 ~@3, [f3,g3]!2 [f3,g3,bb3]!2 [f3,g3,bb3]!3 [f3,g3]]/2", // Fsus2 Gm7 Fsus2
R: "[eb3@2 ~@4 eb3@6 ~@6 eb3@6 ~@6 eb3@6 ~@6 eb3@6 [f3,g3]@6 eb3@5 ~@6 eb3@6 bb3@7 eb3@6 ~@6 eb3@5 ~@6 ab3@6 ~@6 ab3@6 ~@7 ab3@5 ~@7 ab3@6 ~@6 ab3@5 ~@7 ab3@5 ~ bb3@6 ~@12 ab3@5 ~, eb2@71 [f2,f3,g3]@13 [g2,f3,g3,bb3]@11 bb3@7 ~@6 bb3@11 ~ [bb3,c4]@11 ~ [bb3,c4]@11 ~ [bb3,c4,eb4]@12 bb3@12 ~@6 ab3@12 ~@6, [f3,g3,bb3]@11 ~ [f3,g3,bb3]@12 [f3,g3,bb3]@12 [f3,g3,bb3]@12 bb3@23 ~@24 eb4@23 ~ eb4@12 eb4@12 ~@24 eb4@24 ~, ~@48 eb3@2 ~@9 [f3,g3]@12 ~@24 c4@11 ~ c4@11 ~@37 [c4,eb4]@12 c4@11 ~@2 [bb3,c4]@11 ~, ~ ab2]/4", // Fsus2 Gm7 Bbsus2 Cm7 Gm7 Fsus2 Cm Bbsus2
S: "f3@6 eb3@6 [f3,g3]@6 ~@5 [f3,g3]@5 ~ eb3@6 ~@6 eb3@7, eb2, bb3@34 ~ bb3@12 ~, g3@10 ~@8 eb3@8 ~@9 f3@5 ~@8, ~@3 g3", // Fsus2
T: "[bb2,f3,bb3,d4]@24 ~@8 c5@4 d5@3 ~ eb5 ~@4 f5 ~@2, ~ bb3, ~@6 f3@5 ~, ~@24 d4@11 ~ d4@9 ~@3, ~@28 bb4@9 ~@11", // Bb
U: "[~@14 eb4@12 bb3@11 ~@7 eb3@11 ~@6 eb4@5 ~ eb4@5 ~ [bb3,eb4]@5 ~@12 bb4@6, ~ [eb3,ab5]@25 eb3@11 f3 bb3@11 ~@6 eb3@6 bb3@12 bb4@8 g5@3 eb4@12, ~ c5@4 ~@3 c5@18 g5@52 eb4 bb3@17, ~@2 [bb3,eb5]@24 eb4@35 g3@35, ~ eb4@6 ~@6 [bb4,eb5]@23 eb5@12]/2", // Eb5 Ab5 Eb5
V: "[~@12 db5@6 ~@4 g5@2 ~@18 ab4@6 ab4@6 ~@37 ab4@5, [ab3,db4,bb5]@21 db5@15 ~@19 db4@5 ab4 eb4@12 eb4@12 eb4@11, ~@6 f4@11 ~ f4@7 [db4,f4]@11 [db4,f4,db5]@12 [eb4,db5]@12 db5@7 db4@29, ~@21 ab4@7 ~@2 ab4@12 ~@13 ab3@24 ab4@12 ~@5, ~@21 ab5@3 ab5@48 ~ [db5,ab5]@23]/2", // Bbm7 Db Eb7 Db5
W: "[~ [ab3,ab4,c5,eb5,ab5]@12 ~@24 ab3@6 ~@36 ab3@6 ~@6 ab4@5, ~ [c4,eb4]@24 bb3@6 ab4@18 [bb3,c4]@6 ab3@6 bb3@6 ab3@6 [bb3,eb5]@23, ~@13 ab5@71 ~@12, ~@13 ab3@12 eb5@24 eb4@36 [ab3,ab5]@11, ~@13 [ab4,eb5] c5@82]/2", // Ab Cm Bbsus2 Eb5 Ab Ab5
X: "~@25 d4@12 ~@11, ~ [bb4,d5,f5]@47, ~ bb3@18 bb3@12 ~@17, ~ f4@12 c4@35, ~@2 d4@23 ~@23", // Bb
Y: "~@13 bb3@11 ~@9 c5@15, d4@11 ~@5, ~ bb2@32 ~@15, ~ bb4@24 [bb3,bb4]@23", // Bb
Z: "[~ ab5@12 ~@24 [eb5,g5]@11 ~@42 bb4@6 ~@43 ab4@6 [eb4,db5,f5]@12 ~@18 db4@6 ~@7 ab4@5 ~@6 ab3@6 ~@6 ab3@6 ~@18 ab3@6 ~@42 ab4@5, ~ [eb4,eb5]@24 eb5@6 bb4@17 ~ eb4@12 eb5@12 eb5@12 eb4@11 db3@21 g5@3 db5@6 ab4@6 db5@12 ~@13 [eb4,ab4,db5]@6 db4@6 eb4@24 ~ eb4@46 ~@7 ab3@12 ab3@10 ~@2 ab3@17, ~ [bb3,bb4]@19 bb3@6 g4@70 db5@18 ab5@5 ~ ab5@37 f5@18 ab3@18 bb3@6 ~@7 bb3@11 eb5@60 ~@11, ~@13 ab5@9 bb4@4 g5@11 ~@11 eb5 g5@5 bb4@13 eb4@6 bb4@6 eb4@3 g5@17 ~@9 ab4@12 ab3@24 ~ ab3@24 [ab4,db5,ab5]@12 [db4,db5,f5]@12 ~ [c4,ab4,ab5]@23 [bb3,c4]@6 ab3@6 bb3@11 ~ [bb3,c4]@12 [bb3,c4]@12 bb3@23, ~@26 [bb3,eb4]@23 bb3@50 ~@3 f3@18 [db3,f3]@73 ~@24 [ab4,c5]@24 ab4@24 [c4,eb4,ab4]@12 [c4,eb4,eb5]@11]/6", // Eb Db Eb Dbsus2 Bb Db5 Db Fm …
AA: "[~@13 f4@24 f4@13 e5@6 eb5@7 b4@33, ~ bb4@50 ~@45, ~ [f3,bb3]@25 ~@22, ~@2 d4@17 ~@31 b3@46]/2", // Bb5
AB: "[~@6 [gb3,ab3]@5 e3@6 [gb3,ab3]@6 e3@6 ~@6 e3@7 [gb3,ab3]@6 e3@6 ~@12 gb3@6 e3@5 ~@7 e3@6 b3@6 e3@6 ~@6 e3@6 ~@6 e3@6 ~@12 [gb3,ab3]@6, ~@3 b3@41 ~@22 e3@5 ~, ~@29 [gb3,ab3]@10 ~@15 [gb3,ab3]@10 ~ ab3@10 ~@2 ab3@11 ~@14 [gb3,ab3]@10 ~@2 [gb3,ab3]@10 ~@2 [gb3,ab3]@10 ~@8, ~@30 e3@4 ~@5 gb3@5 ~ [b2,gb3,ab3]@6 [e2,b3]@21]/3", // Gbsus2 Abm7 E5
AC: "[~@6 [gb3,ab3]@6 ~@18 [gb2,ab3]@12 [ab2,ab3]@12 ab3@4 ~@14 ab3@6 a3@4 ~@14 a3@5 ~ a3@2 ~@10 b3@12 ~@6 a3@6 a3@5 ~ a3@5 ~ b3@8 ~@3 b3@7 ab3@6 b3@6 ~@12 ab3@6 db4@7 ~@5 b3@12 [b3,e4]@12 [a3,b3,e4]@11 [b3,e4]@12 ~@6 ab3@6 ab3@6 ab3@6 [ab3,b3,e4]@7, e3@10 ~@2 e3@12 e3@10 ~@74 a3@12 ~@30 ab3@3 ~@27 ab3@12 ~@6 a3@4 ~@20 a3@2 ~@21 e2@42 ~, ~@6 b3@48 b3@24 ~@6 a3@12 ~@6 [b3,e4]@12 ~@12 b3@12 [b3,e4]@11 ~@37 b3@12 ~@24 db4@23 ab3@4 ~@8 [b3,e4]@11 ~ [b3,e4]@12 ~@7, ~@6 e2@25 ~@23 a2@95 e2@49 a2@48 ~@42, ~@18 [gb3,ab3]@13 ~@35 db4@12 db4@12 db4@12 db4@24 db4@23 e4@72 ~@67]/6", // Gbsus2 Ab E5 Asus2 E5 E E5 Gbsus2
AD: "[~@3 gb2@2 ~ [a2,a3,db4,e4]@51 [b3,e4]@14 [gb3,ab3]@7 ~@7 [gb3,ab3]@7 ~@8 [gb3,ab3]@19 e5@69 ~@4, e2@5 ab3@52 e2@131 ~@4, ~@57 ab3@5 ~@9 b3@48 ~@73, ~@78 e3@11 ~@3 e3@25 ~@75]/4", // A E5 Gbsus2
})).s("gm_epiano2").gain(0.48)
// chords · epiano2 · "E.PIANO 2" · soft notes
const epiano2_soft = note(`<
~@4 A ~ B ~@2 C D E ~ F ~@2 G H ~@2 I J ~ K L M N@2 ~@5 O P Q R S T U ~@4 V W X Y Z@2 AA@2 AB AC AD AE AF AG AH@2 ~@2
AI AJ AK AL AM AN AO ~ AP AQ@2 ~
>`.pickRestart({
A: "~@37 f3@10 ~", B: "~@5 eb3@9 ~@34", C: "~@5 ab3@2 ~", D: "~@6 eb3@7 ~@35", E: "~@12 bb3@12 ~@6 bb3@5 ~@13",
F: "~@35 eb3@5 ~@8", G: "~@4 ab3 ~@3", H: "~@11 ab3@6 ~@31", I: "~@5 bb4 ~@2, ~@25 eb3@23", J: "~ g3 g3@2",
K: "~@24 ab5@12 ~ ab4@5 ~@6, ~@3 ab5", L: "~@13 bb3@11 ~@24", M: "~ ab4@6 ~@5 ab4@6 ~ ab4@9 ~@20, ~@18 ab3@5 ~@25",
N: "[~@48 f5@43 ~@5, ~@6 f4@40 bb4@45 ~@5, ~@40 f3@51 ~@5, ~@47 d5@44 ~@5]/2", O: "~@8 ab3 ~@7", P: "~@6 eb3@5 ~@37",
Q: "~@5 eb3@8 ~@35", R: "~@8 eb3 ~@7", S: "~@3 bb3", T: "~@6 eb3 ~", U: "~@30 bb3@5 ~@13", V: "~@23 g5@2 ~@13 g3@10",
W: "~@2 g3@11 ~@6 eb3@29, ~ f3@47, ~ bb3@11 ~@36", X: "~@13 f5@12 ~@11 f5@12, ~@9 ab3@7",
Y: "~@7 ab4@5 ~@7 ab4@5 ~ ab4@6 ab3@17",
Z: "[~@20 ab4@11 ~@13 ab3@11 ~@30 eb4@11, ~@7 bb3@18 ~@36 c4@35, ~@73 ab4@17 ~@6]/2",
AA: "[~@38 d4@9 ~@2 f4@32 ~@13 g5@2, ~@14 f4@35 ~@42 eb5@5, ~@31 bb3@15 ~ bb3@14 ~@35]/2", AB: "~@4 g4@9 ~@11",
AC: "~ bb4@5 ~@7 g5@20 ~@15, ~ [eb3,g3]@47", AD: "~@19 db5@5 ~@24", AE: "~ ab4@12 ab5@12 ~@12 ab5@11, ~@37 ab4@6 ~@5",
AF: "~@37 c4@11", AG: "eb4@25 ~@13 ab4@5 ~@5", AH: "[~@19 d4@33 ~@44]/2", AI: "b3@5 ~@43", AJ: "~@9 e3@2 ~",
AK: "e3@7 ~@5 ab3@11 ~@7 e4@18", AL: "e4@5 ~@19 a3@5 ~ e4@11 ~@7, ~@3 e4@2 a3 ~@2", AM: "~@4 ab3@3 ~@9",
AN: "~@12 a3@8 ~@4 a3@5 ~@9 a3@4 ~@6", AO: "~@12 ab3@5 ab3@6 ~@25", AP: "~@16 ab3@7 ~@25",
AQ: "[~@23 ab4@12 ~@61, ~@11 e3@35 ~@2]/2",
})).s("gm_epiano2").gain(0.24)
// chords · piano · "A.PIANO 2"
const piano = note(`<
~@2 A B C@2 D@2 E@2 F@2 G@4 H@3 I@5 J@2 K@2 L@4 M N@5 O P Q@2 R S@5 T@4 U@2 V@2 W@2 X Y@4 Z@4 AA@6 ~
>`.pickRestart({
A: "[eb2,bb2,eb3,g3,bb3,eb4]@35 [bb2,f3,bb3]@13", B: "[eb2,bb2,eb3,g3,bb3,eb4]",
C: "[~ eb3@2 ~@9 f3@9 ~@3 f3@10 ~@2 [f3,g3]@10 ~@8 eb3@6 ~@6 eb3@6 ~@6 eb3@5 ~ eb3@3 ~@3 eb3@6, eb2@83 ~ [bb2,f3,g3,bb3]@12, ~@24 [f3,g3]@5 ~ [f3,g3]@5 ~ [f3,g3]@6 ~@6]/2", // Fsus2 Gm7 Fsus2
D: "[[f3,g3]@9 ~@3 [f3,g3]@6 eb3@8 ~@4 eb3@5 eb3@6 eb3@6 ~ g3@8 ~@16 g3@11 ~@13, eb2@4 eb2@3 ~, bb3@35 g3@12 bb3@48 ~, ~@11 eb3@2 ~@3]/2", // Fsus2
E: "[bb3@12 bb3@23 bb3@11 ~@44 eb4@6, c4, ab3@42 ~@5 eb4@24 eb5 eb4@12 ab4@12, ~ ab5, ~@3 bb3]/2",
F: "[eb3@30 ~@5 eb4@12 ~ eb4@36 [eb4,eb5]@12, [bb3,bb4]]/2", // Eb Bb
G: "[eb4@11 ~@49 eb4@11 eb4@12 [bb3,eb4]@12 ~ [bb3,bb4]@47 ~ eb4@12 ~@12 eb4@11 ~@7 bb4@6, ~@11 eb4@48 ~@36 g5@48 bb5@49, ~@36 bb3@18 bb3@12 ~@29 eb4@23 ~@25 [bb3,eb5,g5]@24 ~ [bb3,eb5,g5]@24, ~@48 eb3@48 ~@47 bb4@12 ~@13 bb4@18 ~@6, ~@179 eb4@13]/4", // Eb5 Bb Eb
H: "[[ab3,bb3,c4,c5,eb5,ab5]@95 ~@25 [eb4,bb4,eb5,g5]@12 [bb3,eb4,bb4,eb5]@12, eb4@70 ~@25 g3@48 ~, ab4@17 ~@78 [eb4,bb4,eb5]@24 ~ bb5@23 ~, ~@8 bb3@3 ~]/3", // Ab Eb Eb5
I: "[bb4@12 ~@19 d4@4 ~@8 [f5,f6]@4 ~ bb3@12 eb4@5 ~@3 [g5,g6]@3 ~@18 eb4@6 eb4@11 ~@7 bb4@5 ~@10 f5@9 [bb4,f5,g5]@6 ab3@2 ~@19 g5@2 ~@19 ab4@5 ~ db4@12 ~@15 ab4@5 ab4@4 eb5@8 [ab4,eb5]@5, bb3@39 [eb5,eb6]@8 ~@18 eb4@5 ~ eb4@17 ~@7 [eb3,bb3,eb5]@23 [bb4,eb5]@9 ~ eb5@15 [db5,f5,ab5]@20 ab4@3 ab5@43 db3@5 ab3 db4@8 bb4@4 [db3,ab3,db4,ab4]@13, f5@35 [d4,d5,d6]@12 eb4@12 ~ bb3@11 bb3@24 [g3,bb5]@48 ab4@12 ab3@12 [db4,db5]@6 ab4@6 [db5,f5]@12 [db5,f5]@49, d5@31 [c5,c6]@16 ~ [g3,ab5,ab6]@23 ~ [g5,g6]@23 bb4@12 eb4@12 [bb3,eb4]@25 ~@5 f3@42 ab3@15 db4@3 eb4@31, [f3,d4]@12 bb4@11 d4@4 [bb4,bb5]@20 eb3@6 ~@30 [bb4,eb5]@12 g5@42 ~@6 db3@48 ab4@7 ~@5 f3@37]/5", // F G Gm7 Ab5 Eb Eb5 Db Db5 …
J: "[[c4,eb4]@13 c4@5 ~@6 [bb3,c4,eb4]@12 [c4,eb4]@11 ~ [c4,eb4]@12 ~@12 [ab3,bb3,c4,eb4]@12 [ab3,bb3,c4,eb4]@12, eb5@47 ~ bb3@24 [ab5,eb6,ab6]@24, [ab3,bb3]@22 c5@23 ~@2 [c5,eb5]@49, bb4@18 [c4,eb4]@6 ab3@23 [ab3,ab5]@24 ~@25, ~@5 bb4 ab4@18]/2", // Cm Cm7 Cm Ab Ab5 Absus2 Cm Ab
K: "[d4@12 d4@11 [d4,d5]@24 ~@2 bb5@47, [f3,bb3,f4,bb4]@47 f5@38 ~@11, ~@48 [f3,d4]@25 ~@23]/2", // D Bb5 Dm
L: "[bb4@72 ~@18 g4@5 ~ eb5@41 ~@4 f5@2 f5@2 ~@16 eb4@6 eb4@13 ~@6 [eb5,g5]@6, [g3,eb5]@96 [g3,bb3]@47 eb5@13 eb5@11 eb5@19 ~@6, bb3@65 ~@19 eb4@11 g4@49 ~ g5@41 ~@6, eb4@35 ~@37 [f4,bb4]@24 eb4@36 ~@5 eb4@6 [bb3,bb5]@23 ~ [bb3,bb5]@25, ~@139 eb5@4 eb4@17 ~@20 eb4@12]/4", // Eb Cm Gm Bb5 Bb
M: "~@17 bb3@6 ~@19 ab4@6, [c4,eb4,eb5,ab5]", // Ab
N: "[ab4@18 ~@24 [ab4,eb5]@5 ~@13 eb4@24 ~@56 ab4@3 ~ bb3@11 ~@25 bb3@11 ~@24 eb5@7 ~@12 ab4@6, bb4@2 ~@21 bb3@24 eb4@12 ~@55 bb4@24 bb4@6 ~@11 bb3@6 eb3@30 ~@12 [eb3,bb3,eb4]@12 [eb3,bb4]@25, ~@24 c5@24 bb3@36 ~@11 bb3@12 ~@12 eb4@6 eb5@15 eb5@75 ~@25, ~@24 eb5@18 ~@5 eb5@73 bb3@12 [bb3,eb4]@12 eb4@59 ~@12 [bb3,eb4]@12 ~ [bb3,eb4]@12, ~@36 eb4@11 g4@18 ~@36 g4@42 g4@31 ~@35 g4@12 ~ g4@18]/5", // Ab5 Eb5
O: "[bb3,eb4]@2 ~ g4 [bb3,g4] ~@2 g4, bb4!2, g4 ~ [eb3,eb4]@2 ~ g4@2 ~, ~@13 [g3,bb3]@11 [g3,eb4]@12 [eb3,g3,bb3,eb4]@12", // Eb5 Eb Gm Cm Eb
P: "[eb3,bb3]@6 [eb3,bb3]@5 ~ [eb3,bb3,eb4]@6 [bb3,eb4]@6 [g3,bb3,eb4,bb4,eb5]@11 ~ [eb4,bb4]@6 bb4@6, g4@25 ~@11 [bb3,eb5]@12, [eb4,bb4,eb5]@11 eb5@12 ~ b5 ~@23, ~ bb4 [eb3,g5,bb5]@2", // Eb5 Eb Eb5 Eb
Q: "[ab4@5 ~@30 ab3@6 eb4@6 ~@25 ab4@6 ~@5 eb5@13, ab5@17 c5@7, [bb3,c5,eb5]@23 [bb3,c5]@7 ab4@17 [bb3,c5]@6 ab4@6 bb3@10 eb5@3 eb4@6 ab4@12 ~@6, [ab3,eb4]@12 [c4,eb4]@11 eb4 eb5@42 ab4@6 [bb3,ab5]@24, ~@7 ab4@11 ab4@6 c4@72]/2", // Cm7 Bbsus2 Ab5 Cm Bb7
R: "eb4@11 ~@7 bb3@6 ~@14 c5@2 ~@4 eb5@2 f5@2, [g3,g5]@30 g4@2 ab4@2 bb4@6 c5@2 d5@5 ~, eb5@28 f4@19 ~, bb3@17 ~@7 bb3@23 ~, bb4@6 ~@6 eb4@14 eb4@21 ~", // G
S: "[[f3,d4]@6 ~@21 bb4@4 [d4,bb4]@4 ~@10 f5@4 c5 ~@19 eb5@4 ~@21 [bb4,eb5,g5] [bb4,eb5,g5]@2 [bb4,eb5,g5]@6 ~@3 [bb4,eb5,g5] [bb4,eb5,g5]@2 [bb4,eb5]@6 ~@2 [bb4,eb5] [bb4,eb5]@2 ~@9 bb4@3 [eb5,g5]@5 ~@3 bb4@5 db4@4 ~@2 db4@6 db4@8 ab5@2 ~@61 [ab4,db5]@6 [f4,ab4,db5]@6, bb3@35 [f3,d4]@5 [d4,eb5]@9 [eb4,ab5]@12 eb4@12 [eb5,g5]@12 eb4@18 eb4@6 g5@6 eb4@5 [bb4,eb5]@6 eb4@6 bb4@5 eb5@8 [eb5,bb5]@23 ~@12 db5@6 ab4@18 f3@10 ab4@2 db4@2 ab3@3 f3 f4@12 ~@6, d5@12 d5@23 [bb4,d5]@14 ~@7 g3@17 bb4 eb4@5 bb4@15 bb5@3 bb5@48 ~@22 g5@2 ab5@37 db4 ab4 db5 f5 ab5@30, ~@6 d4@17 d4@8 ~@5 bb3@13 [eb3,bb3]@24 eb3@72 [db3,f3,ab3]@47 f3@6 db3@15 db5@6 db3@21, ~@12 bb4@15 ~@4 c5@18 eb5@18 c5@7 bb3@71 ~@23 db4@23 ~ [ab3,db4,db5]@13 ab3@7 f5@28]/5", // Dm Gm Eb Eb5 Eb Db5 Db Dm …
T: "[~ ab3@5 ~@14 c4@5 ~@13 [bb3,c4]@11 [ab3,bb3,c4,eb4]@12 c4@12 [c4,eb4]@6 c4@6 ab4@6 ab4@6 d4 [f3,d4]@12 d4@5 ~@6 [d4,d5] d4@11 d4@11 ~ bb4@13 bb4@11 ~@7 c5@2 ~@12 g5@2, ~ bb4@96 [f4,bb4]@24 f4@49 ~@3 bb4@5 ~@6 eb5@8, ~ eb5@25 c5@47 eb5@24 ~@25 d5@23 ~@24 bb3@23, ~ [bb3,c4]@12 ab4@6 bb3@6 [bb3,c4,eb4] [eb5,ab5]@5 ab3@17 ~ ab6@48 ~@72 d4@11 [d4,d5]@12, ~ eb4@6 ab3@18 ab3 ab4@41 ~@6 [ab3,bb3,ab4,c5]@12 [ab3,bb3,c4,eb4,c5]@12 ~ [bb3,d5]@23 [bb3,bb4]@23 ~ [bb3,d4,d5,f5,bb5]@25 ~@18 f5@4]/4", // Bbsus2 Ab Cm Dm D Bb5 Bbsus2 Cm7 …
U: "[~@19 bb4@2 g5@2 f5 ~@19 eb4@6 ~@3 bb5@6 eb5@2 ~@13 eb4@5 ~@6 [bb4,eb5,bb5]@6 [bb4,eb5,bb5]@6, eb3@67 bb3@29, eb4@12 ~ eb4@8 bb4@5 g5@29 ~@6 bb5@9 eb3@26, ~ [bb3,ab5]@23 eb4@14 bb4@14 bb4@3 ~@5 [bb4,eb5]@12 [bb4,eb5]@12 ~@12, ~@24 f5 bb3@24 [bb3,eb4]@15 eb4@9 ~@5 eb4@18]/2", // Eb5 Bb7 Eb5
V: "[ab5@18 ~@4 [g5,g6]@2 ab5@21 ~@2 f5@2 ~@8 [ab4,db5] ~ ab4 ~@9 ab4 ab4@2 [db4,f4]@13 f4@3 ~@6 db5@2, [ab4,db5]@24 ~@21 db5@4 ab5@39 f4@3 ab4@5, ~@18 db4@6 db4@30 db4@7 f5@35, ~@5 [ab5,ab6] ab6@18, ~@49 [ab4,db5,f5]@10 [db5,f5] ab4 db5@5 db4@3 f4@3 [ab4,db5]@13 db4@11]/2", // G Db5 Db Db5 Ab Db Db5
W: "[~@2 [eb4,bb4]@20 bb4@2 ~ ab4@20 ~@4 ab4@11 ~@25 ab4@6 ab4@5, ~@2 bb3@64 ab3@7 [c5,eb5]@12 ~@11, ~@2 ab3@46 c5@19 eb4@18 [eb4,c5,eb5,ab5]@11, ~@2 c4@18 ~@4 c5@21 ab5@2 eb5@26 bb3@23, ~@2 ab4@2 ~@18 eb5@3 eb4@35 ab4@19 c4@17]/2", // Eb5 Cm Ab
X: "~ bb4@18 ~@13 f5@16, ~ [f3,bb3]@47, ~ f5@31 ~@16, ~ d4@13 ~@5 bb5@29", // Bb5
Y: "[~ e5@7 eb5@6 ~@14 gb3@26 ~@72 b4@6 ~@11 [a3,db4,a4]@6 ~ ab4@23 ab4@19, ~ b3@52 ~ [gb3,ab3]@95 ab3@43, ~@14 b4@39 ~ b3@83 ~@13 b3@42, ~@21 ab4@4 ~@7]/4", // A Gbsus2
Z: "[~@42 e5@12 b4@20 ~@4 a4@47 ~ db4@11 [b3,db4]@13 ~@36 ab4@6, ~@5 e3@25 ~@45 db5@75 ~@42, ~@6 [ab3,b3,e4]@24 [ab3,b3,e4,b4]@24 [a3,b3,db4,e5]@71 b3@12 ~@37 e4@18, ~@18 ab4@36 ~@20 b4@4 ~@47 [a4,e5]@25 ab4@36 ~@6, ~@21 a3@4 [e3,b3,e5]@7]/4", // Bsus2 E A A5 E5
AA: "[~@6 e4@12 a4@12 a4@12 a4@11 ~ [b4,e5]@35 b4@6 ~ b4@5 ~ [a3,db4,a4,db5]@26 ~ gb5@25 ~@59 e5@72 ~@3, ~@5 e3@48 ~@42 gb5@6 b3@53 e3@34 gb4@7 ab4@9 b4@81 ~@3, ~@5 [a3,db4]@25 [a3,b3,db4,e5]@23 ~ [ab3,b3]@49 ~@25 [eb4,eb5]@26 b4@13 ab3@119 ~@2, ~@5 a4@12 ~ [e4,db5]@36 ~@35 [e5,ab5]@13 ~@52 e5@20 b3@112 ~@2, ~@154 ab4@6 gb3@21 e4@105 ~@2]/6", // E5 A Abm Eb Dbm E
})).s("gm_piano").gain(0.48)
// chords · piano · "A.PIANO 2" · soft notes
const piano_soft = note(`<
~@4 A@2 B C D@2 E@2 F@2 G H I@3 J K L ~ M N O P@2 Q@4 R S@3 T@2 U V W@2 X Y Z AA ~ AB AC@2 AD AE ~ AF AG@4 AH ~ AI@5 ~
AJ@2 AK@3 ~@3
>`.pickRestart({
A: "[[f3,g3]@6 eb3@6 g3@6 eb3@6 g3@5 ~ eb3@9 ~@3 eb3@10 ~@44, bb3@83 ~@13]/2", // Fsus2
B: "~@6 eb3@9 ~@9 g3@11 [f3,bb3]@12 ~, ~@23 f3@12 ~@13", // Bb5
C: "f3@6 ~@6 [f3,g3]@12 ~@11 [f3,g3]@12 ~, ~@6 eb3@12 ~@6 f3@11 ~@13, ~@5 eb3@3", // Fsus2
D: "[~@53 ab4@13 ~@5 ab3@25, eb4@45 ab4@7 ~@14 ab4@18 ~@12, ~@42 ab3@29 ~@25, ~@23 c5@25, ~@47 [bb3,eb5]@25 ~@24]/2", // Eb5
E: "[~@5 eb3@11, eb5@7 ~, ~@12 eb4@23 ~@61]/2",
F: "[~@12 bb3@12 bb3@12 ~@53 eb5@6 ~, eb5@89 ~@7, ~ g4@60 g4@10 bb4@24 ~, ~@2 bb4@64 bb3@11 g4@19, ~@3 bb3 eb3@44 f4@48]/2",
G: "~@22 eb4@13 eb4@12 ~, [eb3,eb5]", H: "~ [eb4,bb4] ~@2, eb3",
I: "[~@18 ab4@12 ab4@12 ~@29 eb4@12 eb4@12 ~@37 g5@12, ~@42 ab4@53 eb3@48 ~]/3", J: "~@2 f3!2",
K: "~@41 eb3@5 ~@2, ~@5 eb3@36 ~@7, ~@23 g3@23 ~@2", L: "~@32 bb4@9 ~@7, ~@23 eb3@25", M: "~@6 ab4@20 ~@13 ab4@4 ~@5",
N: "~@12 eb4@5 ~@19 bb3@9 c5@2 ~", O: "~ [c4,eb4] ~@2", P: "[~@46 bb4@39 ~@11]/2",
Q: "[~@19 g4@11 ~@17 eb4@12 ~@7 bb3@12 bb3@17 ~@37 eb4@5 ~@55, eb3@95 eb3@96 ~, ~@30 g4@11 ~ g4@48 ~@102, ~@36 eb4@11 ~@12 eb4@25 ~@108]/4",
R: "~@23 bb3@13 ~@8 bb4@4, ab3, ~@37 bb3@11",
S: "[~@4 c4@8 ~@18 ab4@12 ~@24 g4@11 ~@13 g4@11 ~@7 eb4@11 ~@25, eb4@36 ~@11 eb3@96 ~, [ab3,bb3,eb5]@18 ab4@12 ~@47 g4@7 bb3@11 ~@12 bb3@12 ~@25, ~ c5@11 ab3@12 ~ g3@47, ~@13 c4@35 ~@36 eb4@23 ~@37]/3", // Absus2
T: "[eb3@17 ~@37 g4@11 ~@13 eb5@11 ~ eb5@6, ~@24 [g3,bb3]@12 g3@35 g3@24 ~, ~@30 g4@11 ~ g4@12 ~@42, ~@47 [eb3,bb3]@12 ~@37]/2", // Gm Eb5
U: "eb3@6 g4@11 ~@13 bb3@5 ~@13, eb5, g3 ~@3, ~@6 eb3@6 ~@12 eb3@11 ~@13", V: "g3!2 ~ eb3 ~@3 eb4, ~ g3 ~ g3",
W: "[~@12 ab3@23 ~@12 eb4@12 ~ eb4@12 ~@18 [eb4,ab4]@6, ~@41 ab3@31 ab3@24]/2", X: "~@2 bb4@9 ~@5, eb3@47 ~",
Y: "~@6 f3@11 f3@18 ~@5 f3@8", Z: "~@14 ab5@5 ab5@7 ~@22", AA: "~@41 g5@7", AB: "db3 ~@5 db4@2",
AC: "[~@13 eb4@6 eb4@6 ~@13 eb4@8 ~@21 ab4@6 ~@6 eb4@6 ~@11, ~@37 ab5@9 ab5@15 ab5@35, ~ eb6, ~@61 [bb3,eb4,eb5]@12 ~@23, ~@62 ab3@11 ~@23]/2", // Eb5
AD: "~@19 d4@6 ~@12 f5@11, ~@7 f3@17", AE: "~ f3@24 f3@23", AF: "~@7 [bb4,g5]@5 ~@13 g3@23, ~ g5@3, ~@2 bb5 ~",
AG: "[~@44 ab4@2 ~ ab4@2 ~@21 db5@2 ~@10 ab3@15 ~@60 ab5@6 ~@11 ab3@18, ~ db3@96 ~@95, ~@6 f3@91 ~@66 ab5@17 ~@12, ~@12 ab3@69 ~@35 c4@58 ~@18]/4",
AH: "~@5 bb4@7, ~@7 d4@17",
AI: "[~@62 e4@10 e4@12 ~@48 e4@6 ~ e4@11 b4@24 e3@24 ~@42, ~@36 e4@25 ~@23 [e4,b4]@11 b4@54 ~@91, ~@54 b4@24 ~@11 b3@12 e3@48 ~@91, ~@95 e4@24 ~ e4@12 ~@108, ~@125 gb3@24 ~@91]/5", // E5
AJ: "[~@5 ab3@48 ~@43]/2", AK: "[~@6 [e3,ab4]@49 ~@25 a3@26 ~@38, ~@79 a4@27 ~@38]/3",
})).s("gm_piano").gain(0.24)
// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note("<~@2 A@3 ~@10 B C@3 D E@8 ~@4 F@2 G@6 H@2 I@4 J@8 K@4 L M@7 N@8>".pickRestart({
A: "[[eb4,g5]@35 [f4,f5]@13 eb4@82 ~@14, bb5@97 ~@47, ~ g5 ~]/3", B: "~@3 bb5, ~@12 g5@11 ~",
C: "[~ ab4@94 ~@25 bb4@24, ab5@95 [g4,g5]@48 ~]/3", D: "[bb4,f5,bb5]",
E: "[ab5@23 ~@24 bb5@48 [db5,f5]@96 ~@61 g5@13 f5@11 eb5@12 f5@96, ~@24 g5@71 ab5@157 ~@132, ~@36 eb5@154 ~ bb4@193, ~@191 eb5@64 ~@129, ~@192 c5@97 ~@95]/8", // Db
F: "[eb4@71 c4@25]/2",
G: "[~@89 ab4@7 g4@71 bb4@25 ~@35 g4@13 bb4@13 bb4@11 [bb4,eb5,g5,bb5]@24, bb3@281 ~@7, ~@192 g4@31 ~@65, ~@9 bb4 [eb5,g5] ~]/6", // Eb
H: "[~ bb5@23 ab5@22 ~ g5@11 ~ f5@11 ~@20 bb4@6, ~ c4@95, ~ c5@79 ~@4 c5@12, ~@71 eb5@25]/2",
I: "[~ eb4@22 ~ eb4@11 [eb4,eb5]@12 [d4,f4,f5]@49 ~ [eb5,ab5]@22 ~ f5@2 g5@34 ~@32 bb4@3 ~, ~ [bb3,g4]@46 ~@50 eb4@83 bb4@7 ~@5, ~@23 bb4@24 bb4@125 g5@18 ~@2, ~@119 g5@2 ~@35 bb5@28 eb4@8, ~@176 eb5@11 ~@5]/4", // Eb Dm Ab5 Eb
J: "[~ ab5@12 g5@11 f5@12 eb5@12 ~@12 bb4@11 ~@25 c5@49 ~@24 c4@25 d5@49 ~@26 c5@4 d5@3 eb5@4 f5@4 g5@4 ab5@20 g5@2 f5@2 g5@31 ~@2 bb5@2 ~@13 bb4@22 ~@2, ~ [ab3,db4]@95 eb4@73 ~@25 bb3@190, ~ bb5@6 ~@41 db5@48 bb4@168 ~@2 bb4@5 ~@79 eb5@11 ~@23, ~@71 ab4@120 ~@97 eb4@64 ~@2 eb4@30, ~@146 eb5@48 ~@149 eb6@4 g5@6 ~@31]/8", // Db5
K: "[ab4@8 ~@17 db5@23 ~@25 eb4@24 ~ bb4@46 ~ ab5@11 ~ g5@23 eb5@12, db4@37 ~@12 ab4@47, db5@23 ~@25 eb5@110 ~@34, ~ f5@11 ~@12, ~@13 bb4@34 ~ ab4@48 ~ c5@85 ~@10]/4",
L: "~@25 f4@23, ~ [bb3,bb4]@23", // Bb
M: "[~@55 ab4@80 ~@2 [a3,a4]@13 ab4@23 e4@24 ab4@25 b4@26 a3@22 b3@17 db4@7 ~ a3@41, ~@2 e5@7 ~@6 b4@123 ~@12 ab3@98 db4@38 ~@8 b3@2 ~@40, ~@3 b3@243 ~@2 [a4,db5]@88, ~@55 e3@96 ~@185]/7", // A
N: "[~@29 e5@25 [a3,b3,db5]@49 ~@35 ab4@12 ~@27 eb4@29 ~ e3@22 gb3@33 ab3@84 ~@38, ~@5 [ab3,ab4,b4]@48 ~@50 ab3@48 ~@25 a3@31 ~@177, ~@103 b4@35 bb4@2 ~@244, ~@113 b3@64 ~@29 e4@138 ~@40, ~@125 e4@24 ~ gb4@57 ~@177]/8", // A Abm
})).s("gm_synth_strings_1").gain(0.48)
// chords · synth strings 1 · "SYN STR 1" · soft notes
const synth_strings_1_soft = note("<~@13 A@6 ~@7 B@4 C@2 ~@6 D ~ E@2 F G@4 ~@12 H ~@11 I@3>".pickRestart({
A: "[~@47 eb5@240 ~, ~@47 bb4@97 ~@144]/6", B: "[~@49 eb5@47, ~@23 bb5@68 ~@5]/4", C: "[~@47 g3@24 bb3@25]/2",
D: "~ eb5@20 ~@2 eb5@24 ~", E: "[~ bb4@86 ~@9, ~ eb5@48 ~@47]/2", F: "~@3 eb5@31 ~@14, ~ bb4@22 ~@25",
G: "[~@74 eb5@40 ~@29 db5@26 ~@8 db5@4 ~@11, bb3@3 ~]/4", H: "~@2 e4@7 eb5@7 ~@32", I: "[~@22 ab4@83 ~@39]/3",
})).s("gm_synth_strings_1").gain(0.16)
stack(bass, bass_soft, epiano2, epiano2_soft, piano, piano_soft, synth_strings_1, synth_strings_1_soft)
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.