0:00/0:00
// Attitude Dancing — Carly Simon
// 130 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (2/4 at bar 1, 4/4 at bar 1) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 127 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(130/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 · electric bass finger · "Bass"
const bass = note(`<
A@5 B C B C B C B C D E D E B@2 F G H@8 I@8 J@7 K@8 L@8 M@8 N@8 O@8 P@3 Q R S T U@2 V W V W X Y Z AA Z Y Z Y Z Y AB AC
AD AE AD AE AD AE AD AE AD AF@8 AG
>`.pickRestart({
A: "[~@21 [d2,d3]@22 ~@3 [bb1,bb2]@11 ~ [bb1,bb2]@11 ~ [d2,d3]@22 ~@3 [bb1,bb2]@11 ~@2 [bb1,bb2]@11 ~]/5", // D Bb D Bb
B: "g2@8 ~ g2@3 g2@11 ~", C: "c3@8 ~ c3@3 c3@11 ~", D: "f2@8 ~ f2@3 f2@11 ~", E: "bb2@8 ~ bb2@3 bb2@11 ~",
F: "a2@8 ~ a2@13 ~@2", G: "a2@5 ~ a2@16 ~@2",
H: "[d2@8 d2@3 d2@5 ~ d2@5 ~ bb1@8 ~@2 bb1@2 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@11 ~ g2]/8",
I: "[~@8 g2@3 g2@11 ~ c3@8 ~ c3@3 c3@11 ~ g2@8 ~ g2@3 g2@11 ~ c3@8 c3@3 c3@11 ~ g2@8 ~ g2@3 g2@11 ~ c3@8 ~ c3@3 c3@11 ~ g2@8 ~ g2@3 g2@11 ~ c3@8 ~ c3@3 c3@11 ~ f2@2]/8",
J: "[~@7 f2@3 f2@11 ~ bb2@8 ~ bb2@3 bb2@11 ~ f2@8 ~ f2@3 f2@11 ~ bb2@8 ~ bb2@3 bb2@11 ~ g2@8 ~ g2@3 g2@11 ~ g2@8 ~ g2@3 g2@11 ~ a2@8 a2@3 a2@11 ~ a2@3]/7",
K: "[~@4 a2@16 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@3]/8",
L: "[~@6 bb1@3 bb1@11 ~ g2@8 ~ g2@2 g2@11 ~@2 c3@8 ~ c3@2 c3@11 ~ g2@8 ~ g2@3 g2@11 ~ c3@8 ~ c3@3 c3@11 ~ g2@8 ~ g2@3 g2@11 ~ c3@8 ~ c3@3 c3@11 ~ g2@8 ~ g2@3 g2@11 ~ c3@4]/8",
M: "[~@5 c3@3 c3@11 ~ f2@8 ~ f2@3 f2@11 ~ bb2@8 ~ bb2@3 bb2@11 ~ f2@8 ~ f2@3 f2@11 ~ bb2@8 ~ bb2@3 bb2@11 g2@8 ~ g2@3 g2@11 ~ g2@8 ~ g2@3 g2@11 ~ a2@8 ~ a2@13 ~@2 a2@5]/8",
N: "[~ a2@16 ~@2 d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 d2@5 ~ bb1@6]/8",
O: "[~@4 bb1@3 bb1@11 g2@8 ~ g2@3 g2@11 ~ c3@8 ~ c3@3 c3@11 ~ g2@8 ~ g2@3 g2@11 ~ c3@8 ~ c3@3 c3@11 ~ g2@8 ~ g2@3 g2@11 ~ c3@8 ~ c3@3 c3@11 ~ g2@8 ~ g2@3 g2@11 ~ c3@6]/8",
P: "[~@3 c3@3 c3@11 ~ f2@8 ~ f2@3 f2@11 ~ bb2@8 bb2@3 ~ bb2@11 f2@7]/3", Q: "~@2 f2@3 f2@11 ~ bb2@7",
R: "~@2 bb2@3 bb2@11 ~ g2@7", S: "~@2 g2@3 g2@11 ~ g2@7", T: "~@2 g2@3 g2@11 ~ a2@7",
U: "[~@2 a2@3 a2@11 ~ a2@5 ~ a2@16 ~@2 d2@7]/2", V: "~@2 d2@3 d2@5 ~ d2@5 ~ bb1@7",
W: "~@2 bb1@3 bb1@5 ~ c2@5 ~ d2@7", X: "~@2 d2@2 d2@5 ~ d2@5 ~ bb1@8", Y: "~ bb1@3 bb1@5 ~ c2@5 ~ d2@8",
Z: "~ d2@3 d2@5 ~ d2@5 ~ bb1@8", AA: "~ bb1@3 bb1@11 ~ d2@8", AB: "~ d2@2 d2@5 ~@2 d2@5 ~ bb1@8",
AC: "~ bb1@2 bb1@11 ~ d2@8 ~", AD: "d2@3 d2@5 ~ d2@5 ~ bb1@8 ~", AE: "bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~",
AF: "[bb1@3 bb1@5 ~ c2@5 d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1@3 bb1@5 ~ c2@5 ~ d2@8 ~ d2@3 d2@5 ~ d2@5 ~ bb1@8 ~ bb1]/8",
AG: "~@2 bb1@5 ~ c2@5 ~@11",
})).s("gm_electric_bass_finger").gain(0.35).pan(0.3)
// chords · piano
const piano = note(`<
A@4 B C@2 D@4 E F@2 G H@2 I J K L M@7 N@5 O P Q@2 R S@6 T@5 U@4 V@2 W@2 X@2 Y@2 Z@4 AA AB@2 AC@8 AD AE@2 AF AG@3 AH@2
AI@4 AJ@4 ~@15 AK AL@8 AM@5 AN@4 AO
>`.pickRestart({
A: "[~@21 c5@3 a4@3 c4@3 c5@6 a4@3 ~ f4@6 ~@3 [ab3,d4]@6 ~@6 [ab3,d4,f4]@8 ~ [d4,f4,a4]@8 ~@2 [a3,d4,f4]@6 [d4,f4,a4]@8 ~@2, ~@21 d3@22 ~@3 bb2@11 ~ bb2@11 ~@27, ~@55 [ab3,d4,g4]@6 ~@35]/4", // Abdim Ddim Dm G
B: "~@2 [ab3,d4]@6 ~ [ab3,g4]@6 [ab3,d4,f4]@8 ~, ~@4 d4@3 ~@5", // Abdim Abmaj7 Ddim
C: "[[bb2,g3,b3]@5 ~ [g3,b3]@3 [g3,b3]@3 [g3,b3]@3 d4@3 d4@3 [c4,e4]@5 ~@7 a3@3 g3@3 a3@3 ~@3 g4@3, ~@27 [e4,g4]@16 ~@5, ~@27 c4@8 ~@7 g3@5 ~]/2", // Eb G C Em
D: "[[d4,g4,b4]@5 ~ [d4,g4,b4]@3 [d4,g4,b4]@8 ~ d4@3 [g3,c4,e4]@8 ~ [g3,e4]@5 ~@4 g4@3 ~@6 [d4,g4,b4]@5 ~ c5@3 [d4,g4,b4]@8 ~ a4@3 c4@12 a3@3 ~@3 d4@3 g4@3 g4@3, ~@30 c4@8 ~ d3@5 ~ b3@5 ~@19 [e4,g4]@19 ~@8, ~@42 [g3,g4]@5 ~@37 g3@5 ~ g3@5 ~]/4", // G C G Em G
E: "[d4,g4,b4]@5 ~ a4@3 [d4,g4]@3 [d4,g4]@3 ~@3 [d4,g4]@5 ~, ~@9 b4@8 ~@7", // G G5
F: "[[e4,g4]@5 ~@4 a3@3 g3@3 a3@3 ~@3 g4@3 [c4,f4,a4]@5 ~ [c4,f4,a4]@3 [c4,f4,a4]@3 [c4,f4,a4]@3 [c4,e4,g4]@8 ~, c4@13 ~@5 g3@5 ~@25, ~@6 [e4,g4]@5 ~ e4@5 ~@4 a3@5 ~@22]/2", // Em F C Em
G: "g4@5 ~@4 g4@3 f4@3 ~@3 f4@3 f4@3, [bb3,d4]@11 ~ [bb3,d4]@11 ~, ~@6 f4@5 ~@13", // Bb
H: "[[f4,a4]@5 ~@13 [bb3,d4]@11 ~@16 c4@3, c4@8 ~ c4@8 ~ f3@21 ~@9, ~@6 [f4,a4]@5 ~@4 g4@5 ~@10 [bb3,d4]@11 ~@7, ~@33 g4@5 ~ g4@5 ~@4, ~@36 f4@5 ~ f4@5 ~]/2", // F Bb F Bb
I: "[f3,bb3,d4]@5 ~ d4@3 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@8 ~", J: "[bb3,d4,g4]@3 f4@3 [bb3,d4,g4]@8 ~ f4@3 g4@3 f4@3",
K: "[a3,db4,g4]@3 [a3,db4,f4]@5 ~@10 [db4,f4,a4]@6, ~@9 [db4,f4,a4]@8 ~@7, ~@15 a3@8 ~", // A7 Aaug Dbaug
L: "~@6 [db4,f4,a4]@3 g4@3 f4@5 ~ g4@2 f4@3 d4", // Dbaug
M: "[d5@3 d5@2 d5@3 ~ c5@2 d5@3 c5@3 a4@3 f4@3 ab4@3 ~ ab4@2 ab4@3 ~ ab4@13 ~ d5@3 d5@3 d5@3 c5@3 d5@3 c5@3 a4@3 f4@3 ab4@3 ab4@3 ab4@3 ab4@3 [d4,f4,ab4]@11 ~ d5@3 d5@3 d5@3 c5@3 d5@3 c5@3 a4@3 f4@3 ab4@3 ab4@3 ab4@3 ab4@3 [d4,f4,ab4]@11 ~ d5@3 d5@3 c5@3 [f4,a4,d5]@5 ~ c5@3 a4@3 f4@3 [d4,f4,ab4], [f4,a4]@16 ~@7 [d4,f4]@8 ~ [d4,f4]@13 ~@2 [f4,a4]@16 ~@8 [d4,f4]@11 ~@13 [f4,a4]@16 ~@8 [d4,f4]@11 ~@13 [f4,a4]@8 ~@17]/7", // Ddim Dm Ddim F Dm F Dm F …
N: "[~@2 ab4@3 ab4@3 [d4,f4,ab4]@13 ~@2 [d4,f4,b4]@8 ~ [g3,bb3]@3 [g3,b3]@3 d4@3 d4@3 c4@5 ~@7 [e5,a5]@3 [d5,g5]@3 [e5,a5]@3 [d5,g5]@3 ~@3 [d4,g4,b4]@5 ~ [d4,g4,b4]@5 ~ [d4,g4,b4,g5,b5]@3 ~@3 [gb5,a5]@2 ~ e5@3 ~@3 e4@3 ~@2 [e5,a5]@3 [d5,g5]@3 [e5,a5]@3 ~ d5@3 a4@2 [d4,g4,b4,g5,b5]@2, ~@35 b4@8 ~ e4@24 ~@3 [g5,b5]@3 ~@3 [g5,b5]@3 ~@12 g3@19 ~@9, ~@38 a4@8 ~@4 [c4,g4]@19 ~@17 d4@5 [e4,g5]@3 ~@18 g5@3 ~@5, ~@92 c4@8 ~ c4@8 ~@11]/5", // Ddim Bdim Gm G A5 G5 A5 G5 …
O: "~@4 [g5,b5]@3 ~@4 b5@3 ~@2 [a4,gb5,a5]@3 [c4,e4,a4]@5, ~ [d4,g4,b4]@5 ~ [d4,g4,b4]@8 ~@9, ~@10 g5@3 ~@6 [e5,g5]@3 ~@2", // G D Am G Em
P: "~ g4@5 ~ [d4,e5,a5]@3 [e4,d5,g5]@3 [g4,e5,a5]@3 [c4,e4,g4]@5 ~ [d4,g4,b4,g5,b5]@2, ~@16 [d5,g5]@3 ~@5", // Dsus2 Em7 A7 C G G5
Q: "[~ [d4,g4,b4]@3 [d4,g4,b4,g5,b5]@3 [d4,g4,b4]@3 [d4,g5,b5]@3 ~@3 [gb5,a5]@3 [e5,g5]@3 ~@9 [e5,a5]@3 [d5,g5]@3 [e5,a5]@3 [d5,g5]@3 g4@3 [c4,f4,a4]@2, ~@13 [g3,c4,e4]@24 ~@11]/2", // G Gbm Em A5 G5 A5 G5 F …
R: "~ [c4,f4,a4]@5 ~ [c4,f4,a4]@8 ~ g4@3 [bb3,d4,g4]@5", // F Gm
S: "[~ f4@3 f4@3 g4@3 f4@3 g4@3 [bb3,d4,f4]@5 ~ [c4,f4,a4]@5 ~ g4@3 a4@5 ~@4 c4@3 ~@3 f4@5 ~@16 c4@3 [f3,bb3,d4]@5 ~ d4@3 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@8 ~ g4@3 f4@5 ~ f4@3 g4@3 f4@8 ~ g4@2 f4@3 ~@3 a4@11 ~ a4@3 [db4,f4,c5]@3, ~ [bb3,d4]@13 ~@17 [c4,f4]@8 ~@4 [f3,d4]@19 ~@62 a3@16 ~@4, ~@37 a4@5 ~ bb3@8 ~@4 bb3@8 ~@31 [bb3,d4]@11 ~ [bb3,d4]@11 ~ [a3,db4]@5 db4@16 ~@5, ~@43 g4@5 ~@7 g4@5 ~ g4@8 ~@54 g4@3 ~@18, ~@58 f4@5 ~ f4@8 ~@72]/6", // Bb F Bb Dbmaj7 Bb F5 Dm Bb …
T: "[[db4,f4,db5]@3 ~ f4@5 [db4,f4,a4]@3 g4@3 f4@5 ~ d5@3 d5@3 d5@3 c5@3 d5@3 c5@3 a4@3 f4@3 ab4@3 ab4@3 ab4@3 [d4,f4,ab4]@13 ~@2 [f4,a4,d5]@5 ~ c5@3 [f4,a4,d5]@8 ~ a4@3 f4@3 ab4@3 ab4@3 ab4@3 ab4@3 [d4,f4,ab4]@11 ~ [f4,a4,d5]@3, ~@3 [db4,a4]@5 ~@13 [d4,f4,a4]@8 ~ [d4,f4,a4]@8 ~@7 [d4,f4]@8 ~@40 [d4,f4]@11 ~@16]/5", // Db Dbaug Ddim Dm Ddim Dm Gbm Dm
U: "[~@3 c5@3 [f4,a4,d5]@8 ~ a4@3 f4@3 ab4@3 ab4@3 ab4@3 [d4,f4,ab4]@13 ~@2 d5@3 d5@3 c5@3 [f4,a4,d5]@8 ~ a4@3 f4@3 ab4@3 ab4@3 ab4@3 [d4,f4,ab4]@13 ~@5, ~@21 [d4,f4]@8 ~@16 [f4,a4]@8 ~@16 [d4,f4]@8 ~@19]/4", // Dm Ddim Dm Ddim Dm F Dm
V: "[~@3 [g3,b3]@3 [g3,b3]@2 ~ g3@2 d4@3 ~ d4@3 [c4,e4]@5 ~ g4@16 ~ g4@3 [d4,g4,b4]@4, ~@8 b3@3 ~@12 [c4,e4]@16 ~@9]/2", // G C G C
W: "[~@2 [d4,g4,b4]@3 [d4,g4,b4]@8 ~ d4@3 [g3,c4,e4]@13 ~@5 g4@3 g4@5 ~ [d4,g4,b4]@4]/2", // G C G
X: "[~@2 c5@3 [d4,g4,b4]@8 ~ a4@3 [c4,e4,g4]@19 ~@2 g4@3 g4@3 [d4,g4,b4]@4]/2", // G C G
Y: "[~@2 a4@3 [d4,g4,b4]@8 ~ d4@5 ~ [e4,g4]@19 ~@2 g4@3 [c4,f4,a4]@4, ~@5 c4@2 ~@5]/2", // G Em F
Z: "[~@2 [c4,f4,a4]@3 [c4,f4,a4]@3 [c4,f4,a4]@3 [c4,e4,g4]@8 ~ g4@5 ~ f4@11 ~ f4@3 f4@3 [c4,f4,a4]@8 ~ c4@8 ~ [f3,bb3,d4]@21 ~@6 c4@2 [f3,bb3,d4]@5, ~@5 [bb3,d4]@4 ~@15]/4", // F C F Bb
AA: "~ d4@3 ~ f4@5 [bb3,d4,f4]@8 ~@2 bb3@2 f4@2, ~@4 [bb3,d4]@5 ~@10 [d4,g4]@3 ~@2", // Bb G5
AB: "[~ [bb3,d4,g4]@8 ~ f4@3 g4@3 f4@3 [a3,db4,g4]@3 [a3,db4,f4]@5 ~ [db4,f4,a4]@13 ~@7]/2", // Gm A7 Aaug Dbaug
AC: "[~ [db4,f4,a4]@3 g4@3 f4@5 ~ g4@3 f4@3 d5@3 d5@3 d5@3 c5@3 d5@3 c5@3 a4@3 f4@3 ab4@3 ab4@3 ab4@3 [d4,f4,ab4]@13 ~@2 d5@3 d5@3 d5@3 c5@3 d5@3 c5@3 a4@3 f4@3 ab4@3 ab4@3 ab4@3 ab4@3 [d4,f4,ab4]@11 ~ d5@3 d5@3 d5@3 c5@3 d5@3 c5@3 a4@3 f4@3 ab4@3 ab4@3 ab4@3 ab4@3 [d4,f4,ab4]@11 ~ d5@3 d5@3 c5@2 ~ [f4,d5]@5 c5@3 ~ a4@3 f4@2 ~@3 ab4@3, ~@19 [d4,f4,a4]@16 ~@8 [d4,f4]@8 ~@16 [f4,a4]@16 ~@8 [d4,f4]@11 ~@13 [f4,a4]@16 ~@8 [d4,f4]@11 ~@13 [f4,a4]@8 a4@5 ~@10 d4@6, ~@62 ab4 ~, ~@187 f4@5]/8", // Dbaug Ddim Dm F Dm F Dm F
AD: "ab4@3 [d4,f4,ab4]@13 ~@2 [g3,b3]@5 ~", // Ddim G
AE: "[[g3,b3]@3 [g3,bb3,b3]@3 [g3,b3]@3 d4@3 d4@3 [c4,e4]@6 ~@6 a3@3 g3@3 a3@3 ~@3 g4@3 [d4,g4,b4]@5 ~, ~@21 [c4,e4,g4]@19 ~@8, ~@36 g3@5 ~@7]/2", // G C G C
AF: "[d4,g4,b4]!2 d4!3 [g3,c4,e4]@3, ~@6 [g4,b4]@5 ~@13", // G C G
AG: "[~@9 g4@3 ~@3 a4@3 [d4,g4,b4]@3 ~@3 c5@3 [d4,g4,b4]@8 ~ a4@3 [g4,a4]@6 ~@6 [a3,d4]@3 ~@3 [d4,g4]@3 g4@3 g4@3 [d4,g4,b4]@3 [d4,g4,b4]@3, [g3,c4,e4]@11 ~ [g3,g4]@5 ~@22 c4@13 ~@2 [g3,e4]@5 ~ [g3,c4,e4]@5 ~@7, ~@15 b3@5 ~ [d4,g4,b4]@5 ~@13 e4@15 ~@18, ~@15 g4@4 ~@5]/3", // G Gsus2 D5 G5 G C G C …
AH: "[[d4,g4,a4,b4]@3 [d4,g4]@3 [d4,g4]@3 ~@3 [d4,g4]@5 ~ [e4,g4]@6 ~@3 a3@3 ~@3 a3@3 ~@3 g4@3 [c4,f4,a4]@3 [c4,f4,a4]@3, ~@3 b4@8 ~@13 [e4,g4]@6 ~@18, ~@9 g3@21 [g3,e4]@5 ~ g3@5 ~@7, ~@9 [c4,e4]@9 c4@16 ~@5 a3@5 ~@4]/2", // G G5 Em F Em C
AI: "[[c4,f4,a4]@3 [c4,f4,a4]@3 c4@3 g4@3 g4@2 ~ [bb3,g4]@2 ~ bb3@3 f4@3 ~@3 g4@2 [bb3,d4]@6 ~@3 f4@3 a4 a4@5 [f4,g4,a4]@3 ~@9 [f3,bb3,c4,d4]@3 ~ d4@8 ~@15 c4@3 [f3,bb3,d4]@5 ~ d4, ~@6 [f4,a4]@5 ~@3 d4@3 d4@4 [bb3,d4]@8 ~@6 bb3@5 ~ c4@8 ~ [c4,f4,a4]@8 ~@4 f3@19 ~@15, ~@9 [c4,e4]@8 ~ g4@5 ~ f4@5 f4@5 ~ f4@3 ~@3 f4@5 ~@10 g4@5 ~@13 g4@5 ~ g4@5 ~@11, ~@36 d4@5 ~@21 bb3@9 [bb3,d4]@11 ~@14, ~@77 f4@5 ~ f4@5 ~@8]/4", // F Eb Bb F Bb F Bb F …
AJ: "[~@2 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@8 ~ g4@3 ~@6 f4@3 g4@3 ~@3 g4@3 f4@3 [a3,db4,g4]@3 [a3,db4]@3 [db4,g4]@3 ~@9 a4@3 ~@3 [db4,f4,c5]@3 [db4,f4,db5]@3 ~@3 g4@3 [db4,a4]@3 g4@3 [f4,g4]@3 f4@3 [d4,f4,a4]@7, ~@17 [bb3,d4]@6 [bb3,d4,g4]@6 [bb3,d4]@10 ~@8 a3@9 a3@8 ~@32, ~@20 f4@5 ~@7 f4@6 ~@6 f4@5 ~ [db4,f4,a4]@9 [db4,f4]@6 ~@6 [db4,f4,a4]@5 ~ f4@5 ~@14, ~@62 a4@5 ~@22 d5@3 ~@4]/4", // Bb A7 A Dbdim Dbmaj7 Db Gbm Fsus2 …
AK: "~@18 f4@5 ~, ~@15 d4@8 ~, ~@5 g4 ~@2, ~@2 a3",
AL: "[f3@3 f3@11 ~ [f3,ab3,d4]@11 ~ [ab3,d4,g4]@3 f4@3 [ab3,d4,g4]@5 ~ g4@3 f4@5 ~, [a3,d4]@13 ~@26 [a3,d4]@8 ~]/2", // Ddim G D5
AM: "[f3@3 f3@11 ~ [f3,ab3,d4]@11 ~ [d4,g4]@3 f4@3 [ab3,d4,g4]@5 ~ g4@3 f4@5 ~ f3@3 f3@11 ~ d4@11 ~ [ab3,g4]@2 f4@3 [ab3,d4,g4]@5 ~ g4@3 f4@5 ~ f3@3 f3@11 ~ [f3,ab3,d4]@10, [a3,d4]@13 ~@13 ab3@3 ~@10 [a3,d4]@8 d4@13 ~@14 d4@3 ~@43, ~@48 a3@13 ~ [f3,ab3]@11 ~@13 [a3,d4]@8 ~ [a3,d4]@13 ~@12]/5", // Ddim G5 G Abmaj7 G Ddim D5 Fm …
AN: "[~@2 [ab3,d4,g4]@3 f4@3 [ab3,d4,g4]@5 ~ g4@3 f4@5 ~ f3@3 f3@11 ~ [f3,ab3,d4]@10, ~@14 [a3,d4]@8 ~ [a3,d4]@13 ~@12]/2", // G Ddim D5
AO: "~@2 [ab3,d4,g4]@3 f4@3 [ab3,d4,g4]@5 ~@11", // G
})).s("gm_piano").gain(0.48).pan(0.6)
// chords · brass section · "Horns"
const brass_section = note(`<
~@19 A B ~@15 C ~@16 D@2 E@2 F@2 G@2 ~@7 H ~@15 I ~@11 J@2 K L@2 M N O@2 ~ P@4 ~@17
>`.pickRestart({
A: "~@18 f5@5 ~", B: "[f5,a5]@3 ~@3 [f5,a5]@16 ~@2", C: "~@5 [c3,d4,g4]@7",
D: "[~ g4 [g4,b4]!3 ~ [e4,c5]@3 ~ g4@3 ~@3, ~@2 b4@3 ~@24 [e4,c5]@9 ~@10]/2", // G C
E: "[~@2 [d4,g4,b4]@8 ~ [d4,g4,b4]@8 ~ [c4,e4,g4]@8 ~ [c4,e4,g4]@7 ~@2 [c4,e4,g4]@5 ~@5]/2", // G C
F: "[~@2 [d4,g4,b4]@8 ~ [d4,g4,b4]@8 ~ [c4,e4,g4]@8 ~ [c4,e4,g4]@8 ~ [c4,e4,g4]@5 ~@5]/2", // G C
G: "[~@2 [d4,g4,b4]@8 ~ [d4,g4,b4]@8 ~ [c4,e4,g4]@8 ~ [c4,e4,g4]@5 ~ [c4,e4,g4]@3 [c4,e4,g4]@3 [c4,e4,g4]@3 ~@4]/2", // G C
H: "~@7 [f4,c5,f5]@3 ~@3 [f4,c5,f5]@11", I: "g4@2 ~ g4@12 ~@9",
J: "[~@17 [a4,d5]@4 ~@2 [a4,f5]@2 ~ [f4,a4]@5 ~ [a4,c5,f5]@3 ~@3 ab4@5 [f4,ab4,d5]@3 ~@2, ~@16 f4@4 ~@2 c5@3 d5@5 ~@7 [f4,c5,e5]@5 ~@6]/2", // D5 Dm F Ddim Fmaj7
K: "~@2 [ab4,c5]@3 ~@2 [f4,ab4,c5,d5]@3 [f4,ab4,c5] ~ [f4,ab4,c5] [f4,ab4]@3 [f4,a4]@2 d5 [d4,a4,f5]@5, ~ f4@3 ~@9 c5 ~@2 db5 ~@7", // Ab Dm7b5 Fm F Dm
L: "[~ [d4,a4,d5]@3 [f4,a4,d5]@3 [f4,bb4,f5]@3 [f4,a4,f5]@5 ~ [d4,f4,a4,e5]@4 ~@2 ab4@3 ab4@13 ~@2 [f4,a4,d5]@4 ~@2 [a4,c5,f5]@2, ~@22 [d4,d5]@13 ~@13]/2", // D5 Dm Bb5 F Dm F D
M: "~ [f4,a4,d5]@5 ~ [a4,c5,f5]@3 ~@3 [f4,ab4,c5,e5]@5 ~ [f4,ab4,d5]@3 ~@2", // Dm F Fm Ddim
N: "~ [f4,ab4,c5]@3 ~@3 [a4,d5] ~ [a4,d5]!2 d5 a4 [f4,a4,d5,f5]@5 ~ [a4,d5]!2 ~ [a4,d5]!2", // Fm D5 Dm D5
O: "[~ [f4,a4,d5,f5]@5 ~@4 [f4,a4,c5]@5 ~ c5 f5 ~ d5 c5 ~ [ab4,d5]@16 ~@10, ~@8 [d4,f4]@11 ~@5, ~@16 ab4@3 ab4@3 ~@26]/2", // Dm F Abdim Dm
P: "[~@16 f5 d5 ~@2 c5 ~ d5@11 ~@7 f6 d6 ~@2 c6 ~ d6@27 ~@23]/4",
})).s("gm_brass_section").gain(0.35).pan(0.2)
// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
~@2 A@2 B ~@12 C D E F ~@15 G H I@6 J@8 K ~@7 L M@5 N@2 O@8 P ~@7 Q@3 R@2 S@7 T@2 U V W X Y@3 Z AA AB AC AD@8 AE@7
AF@3
>`.pickRestart({
A: "[~@23 f4@6 [a3,d4,f4,c5]@3 [d4,f4,a4]@6 [a3,d4,f4,c5]@8 ~ [f4,a4,d5], ~@11 [d4,a4,d5]@3 ~@2 d5@2 ~@6]/2", // Dm7 Dm Dm7 Dm D5
B: "[f4,a4,d5]!6 [f4,a4] [f4,a4,d5] f4 [a4,d5] [f4,a4,d5]!14", // Dm F Dm D5 Dm
C: "d4@5 ~ d4@3 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@8 ~, [f3,bb3] ~@2", // Bb Bb5
D: "g4@3 f4@3 g4@8 ~ f4@3 g4@3 f4@3, [bb3,d4]@5 ~ [bb3,d4]@16 ~@2", E: "[a3,db4,g4]@3 [a3,db4,f4]@5 ~ [db4,f4,a4]@15",
F: "~@6 [db4,f4,a4]@11 ~@7", G: "~@11 [c4,f4,a4]",
H: "~ [c4,f4,a4]@5 ~ a4@8 ~ g4@3 [bb3,d4,g4]@5, ~@7 [c4,f4]@11 ~@6", // F Gm F5
I: "[~ f4@3 f4@11 ~ [bb3,d4,f4]@5 ~ a4@5 ~ g4@3 c4@8 ~ c4@3 [f3,bb3,d4]@19 ~@2 d5 c5 ~ bb4 a4 ~ d4@5 ~ d4@3 [bb3,d4,f4]@5 ~ bb4@3 c5@3 bb4@3 ~@3 f4@5 ~ f4@3 g4@3 f5@3 g5@2 f5@3 ~ g4@2 f4@3 ~ g4@2 ~@6 ab5@3 a5@3 ~ a4@2 ~ f4@2, ~ [bb3,d4]@13 ~@8 [c4,f4]@8 ~ [f4,a4]@11 ~@25 c4@3 [f3,bb3,g4]@8 ~@7 [bb3,d4,f4]@8 ~ [bb3,d4,g4]@11 ~ [bb3,d4]@11 db4@5 ~@4 a4@11 ~@7, ~@109 f4@8 ~ a5@13 ~@7 ab5@3 ~@3, ~@118 a3@5 [a3,db4]@16 ~@2 [db4,c5,db6]@3]/6", // Bb F5 F Gm7 Bb Gm Bb A …
J: "[~@3 [db4,f4,a4]@5 ~ [f4,a4]@3 g4@3 f4@5 ~ d5@3 d5@3 d5@3 c5@3 d5@3 c5@3 a4@3 f4@3 [ab4,g6]@3 [ab4,f6]@3 ab4@3 e6@3 ~@12 [f4,a4,d5]@5 ~ c5@3 [f4,a4,d5]@8 ~ a4@3 f4@3 [ab4,g6]@3 [ab4,f6]@3 ab4@3 [ab4,e6]@3 ~@12 [f4,a4,d5]@5 ~ c5@3 [f4,a4,d5]@8 ~ a4@3 f4@3 [ab4,g6]@3 [ab4,f6]@3 ab4@3 e6@3 ~@12 d5@3 d5@3 c5@3 [f4,a4,d5]@8 ~ a4@3 f4@3 [d4,f4,ab4,g6]@3, [db4,f4,db5]@3 ~@6 db4@11 ~ [d4,f4,a4]@8 ~ [d4,f4,a4]@8 ~@7 [d4,f4]@8 ~ [d4,f4,ab4]@13 ~@26 [d4,f4]@11 ~ [d4,f4,ab4]@11 ~@25 [d4,f4]@8 ~ [d4,f4,ab4]@13 ~@2 [f4,a4]@8 ~@19, ~ a5@16 ~@4 d6@22 ~@17 d6@30 ~@18 d6@30 ~@18 d6@30 ~@6]/8", // Dbaug F Abmaj7 Db Dm Abmaj7 Db Dbm …
K: "[ab4,f6]@3 ab4@3 e6@3 ~@3 d6@8 ~@4, ~@6 [d4,f4,ab4]@13 ~@5", L: "~@5 [c4,f4,a4]",
M: "[~@2 [c4,f4,a4]@3 [c4,f4,a4]@3 [c4,f4,a4]@3 [c4,e4,g4]@8 ~ g4@5 ~@7 a5@3 g5@3 f4@3 f4@3 [c4,f4,a4]@8 ~ c4@8 ~ c5@3 d5@8 ~@12 d5 ~ c5 ~ bb4 a4 ~ [bb3,d4]@5 d4@3 ~ d4@5 [bb3,d4,f4]@8 ~ [bb3,d4,g4]@3 f4@2, ~@20 [bb3,d4]@16 ~@26 [f3,bb3,d4]@21 ~@6 c4@2 f3@5 ~@4 [bb3,f4]@5 ~@15, ~@26 f4@11 ~ f5@5 ~ f5@5 ~@4 a5@4 ~@34 g4@11 ~@18]/5", // F C F Bb Gm Bb Bb5
N: "[~ [bb3,d4,g4]@8 ~ f4@3 g4@3 f4@3 [a3,db4,g4]@3 [a3,db4,f4]@5 ~ [db4,f4,a4]@13 ~@7]/2", // Gm A7 Aaug Dbaug
O: "[~ [db4,f4,a4]@3 g4@3 f4@5 ~ g4@3 f4@3 d5@3 d5@3 d5@3 c5@3 d5@3 c5@3 a4@3 f4@3 [ab4,g6]@3 [ab4,f6]@3 ab4@3 e6@3 ~@3 d6@8 ~ d5@3 d5@3 d5@3 c5@3 d5@3 c5@3 a4@3 f4@3 [ab4,g6]@3 [ab4,f6]@3 ab4@3 [ab4,e6]@3 ~@3 d6@8 ~ d5@3 d5@3 d5@3 c5@3 d5@3 c5@3 a4@3 f4@3 [ab4,g6]@3 [ab4,f6]@3 ab4@3 [ab4,e6]@3 ~@2 d6@8 ~@2 d5@3 d5@2 c5@3 ~ [f4,a4,d5]@5 ~ c5@3 a4@3 f4@2 ~@4 f6@2, ~@19 [d4,f4,a4]@16 ~@8 [d4,f4]@8 ~ [d4,f4,ab4]@13 ~@2 [f4,a4]@16 ~@8 [d4,f4]@11 ~ [d4,f4,ab4]@11 ~ [f4,a4]@16 ~@8 [d4,f4]@11 ~ [d4,f4,ab4]@11 ~ [f4,a4]@8 ~@15 d4@6, ~@62 [ab4,g6] ab4, ~@187 f4@5]/8", // Dbaug Abmaj7 Db Abmaj7 Db Dbm Abmaj7 Db …
P: "ab4@3 e6@3 ~@3 d6@8 ~@7, ~@3 [d4,f4,ab4]@13 ~@8", // Ddim
Q: "[~@18 [c4,f4,a4]@3 ~@6 [c4,f4,a4]@8 ~ g4@2 ~@13 f5@3 a5@2 g5@3 ~ f5@2 c5@3 ~ c4@5 ~, ~@21 [c4,f4,a4]@5 ~@12 g4@4 f5@8 ~@15 f5@7, ~@24 [c5,g5]@15 [bb3,d4]@5 f4@3 ~ f4@11 d4@5 ~ [f4,a4]@5 ~@2, ~@41 c5@16 ~@15, ~@45 [bb3,d4]@13 ~@2 [bb3,f4]@5 ~@7]/3", // F C5 Bb F Bb Bb5
R: "[g4@2 ~@3 a5@3 ~@3 [c4,c5]@3 [f3,bb3,d4]@19 ~@2 d5 ~ c5 c4@2 a4 [f3,bb3,d4]@5 ~ d4, ~@2 [c4,f4,a4]@8 ~@4 d5@13 ~@11 bb4 ~@2 g4@6 ~]/2", // C Bb F
S: "[~@2 [bb3,d4,f4]@5 ~ a4@3 bb4@3 a4@3 g4@3 f4@5 ~ f4@3 g4@3 f5@3 g5@3 f5@3 g4@3 f4@3 g4@3 f5@2 a5@2 f5@3 ~ a5@3 ~ [a4,f5]@3 [db4,f4,c5]@3 [db4,f4,db5]@3 [db4,f4,a4]@5 ~ [db4,f4,a4]@3 g4@3 f4@4 a5 ~ d6@79, ~@8 [bb3,d4,f4]@8 ~ [bb3,d4]@11 ~ [bb3,d4]@11 ~ [a3,db4]@5 ~ [a3,db4]@16 ~@105, ~@32 f4@8 ~ a5@7 ~@2 a4@11 ~@4 db6 ~@2 a5@13 ~@87]/7", // Bb Dm Dbmaj7 Db Dbaug Bb A
T: "[~@17 f4@22 ~ ab4@3 ~ ab4@2 ab4@2, ~@8 [a4,d5]@11 ~ [d4,f4]@4]/2", U: "~@2 ab4@13 ~ [f4,a4]@8, ~ [d4,f4]@13 ~@10",
V: "~ a4@8 ~ a4@5 ~ ab4@3 ab4@3 ab4@2, ~ f4@13 ~@2 [d4,f4]@8", W: "~ [d4,f4,ab4]@13 ~@2 [d4,f4,a4]@8",
X: "~ a4@8 ~ a4@5 ~ ab4@3 ab4@3 ab4@2, ~ f4@15 ~@8, ~ d4@13 ~@2 [d4,f4]@8", // Dm
Y: "[~ [d4,f4,ab4]@13 ~@2 [f4,a4,d5]@22 ~@2 ab4@3 ab4@3 ab4@3 ab4@3 [f4,ab4]@10 [d3,d4,d5] ~ [d3,d4,d5] ~@3 [d3,d4,d5] ~ [d3,d4,d5] ~, ~@40 [d4,f4]@11 ~ d4@8 ~@12]/3", // Ddim Dm Fm D Dm
Z: "~ [d3,d4,d5]!2 ~ [d3,d4,d5]!2 ~@2 [d3,d4,d5] ~ [d3,d4,d5] ~@5 [f3,f4,f5] [d3,d4,d5] ~@2 [c3,c4,c5] ~ [d3,d4,d5] [c3,c4,c5]", // D F D C D C
AA: "~ [d3,d4,d5] ~@2 [f3,f4,f5] [d3,d4,d5] ~@2 [c3,c4,c5] ~ [d3,d4,d5]@3 ~@3 d5@3 d5@3 c5@2, ~@2 [f4,a4]", // D F D C D F
AB: "~ [f4,a4]@8 ~ a4@3 f4@2 ~@4 ab4@3 ab4@2, d5@8 ~@7 ab4@3 ~@6, ~@2 [d4,f4]", // F Dm
AC: "~ [d4,ab4]@13 ~@4 f4@5 ~, f4@13 ~@2 d4@8 ~, ~@5 g4 ~@2, ~@2 a3", // Ddim
AD: "[f3@3 f3@11 ~ g6@3 f6@3 ~@3 e6@3 [ab3,d4,g4]@3 f4@3 [ab3,d4,g4]@5 ~ g4@3 f4@5 ~, [a3,d4]@13 ~@2 [f3,ab3,d4]@11 ~@4 d6@8 ~ [a3,d4]@8 ~]/2", // G D5 Ddim D5
AE: "[f3@3 f3@11 ~ g6@3 f6@3 ~@3 e6@3 [ab3,d4,g4]@2 ~@4 [ab3,d4,g4]@5 ~ g4@2 f4@5 ~ f3@3 f3@11 ~@4 f6@3 ~@3 e6@3 [ab3,d4,g4]@3 f4@3 [ab3,d4,g4]@5 ~ g4@3 f4@5 ~ f3@3 f3@11 ~ g6@3 f6@3 ~@3 e6@3 [ab3,d4,g4]@3 f4@3 [ab3,d4,g4]@5 ~ g4@3 f4@5 ~ f3@3 f3@11 ~ g6@3 f6@3 ~@3 e6, [a3,d4]@13 ~@2 [f3,ab3,d4]@11 ~@3 f4@3 ~@7 [a3,d4]@8 [a3,d4]@13 ~@2 [ab3,d4]@11 ~@13 [a3,d4]@8 ~ [a3,d4]@13 ~@26 [a3,d4]@8 ~ [a3,d4]@13 ~@12, ~@30 d6@8 ~@24 g6@3 ~@12 d6@8 ~@40 d6@8 ~@35, ~@63 f3@11 ~@36 [f3,ab3,d4]@11 ~@37 [f3,ab3,d4]@10]/7", // G D5 Ddim D5 Abdim D5 Ddim
AF: "[~@2 [ab3,d4,g4]@3 f4@3 [ab3,d4,g4]@5 ~ g4@3 f4@5 ~ f3@3 f3@11 ~ g6@3 f6@3 ~@3 e6@3 [ab3,d4,g4]@3 f4@3 [ab3,d4,g4]@5 ~@11, ~@5 d6@8 ~ [a3,d4]@8 ~ [a3,d4]@13 ~@2 [f3,ab3,d4]@11 ~@4 d6@8 ~@11]/3", // G D5 Ddim
})).s("gm_string_ensemble_1").gain(0.31).pan(0.6)
// other · electric guitar clean · "Guitar 2"
const electric_guitar_clean = note(`<
~@22 A ~ A ~ A ~ A ~@17 B ~ B ~ B ~ C D@3 E F G@2 H ~@9 I ~ I ~ I ~ I ~@31 J@10 K@8 ~
>`.pickRestart({
A: "~@5 d4@11 ~@8", B: "~@3 d4@11 ~@10", C: "~@3 d4@5 ~ bb3!2 ~ g3@3 c4@3 g3@3 bb3@3",
D: "[~@3 b3@5 ~ g4@3 g4@5 ~ d4@3 c4@5 g4@3 g4@8 ~ b4@5 ~@4 e4@3 d4@5 ~ g4@3 g4@5 ~ d4@3 c4@4]/3",
E: "~@2 g4@3 d4@3 bb3@3 a3@3 g3@5 ~@5", F: "~@2 c4@5 ~ g4@3 g4@3 ~@3 d4@3 c4@4",
G: "[~@2 g4@3 d4@3 bb4@3 d4@3 a4@3 b3@3 d4@3 g4@3 d4@3 ~@3 g4@3 g4@3 ~@3 d4@3 b3@4]/2", H: "~@2 g4@3 g4@13 ~@6",
I: "~ d4@11 ~@12", J: "[~@21 d4@11 ~@16]/2", K: "[~@20 d4@11 ~@17]/2",
})).s("gm_electric_guitar_clean").gain(0.54).pan(0.1)
// bass · baritone sax · "Saxophone"
const bass_2 = note(`<
~@5 A B A B A B A C D A D E F ~@10 G@8 H@6 ~@10 I@3 J K J K J L K M K N ~@11 O P O P O P O P Q O R S T ~@38
>`.pickRestart({
A: "d2@5 ~@19", B: "c2@5 ~@19", C: "c2@5 ~@4 f2@3 c3@3 bb2@3 a2@3 g2@3", D: "f2@5 ~@19", E: "d2@5 ~@7 bb2@5 ~ a2@5 ~",
F: "g2@5 ~@19", G: "[~@23 d2@5 ~@19 c2@5 ~@19 d2@5 ~@18 c2@5 ~@19 d2@5 ~@19 c2@5 ~@19 d2@5 ~@19 c2@2]/8",
H: "[~@7 f2@3 c3@3 bb2@3 a2@3 g2@3 f2@5 ~@19 d2@5 ~@19 f2@5 ~@19 d2@5 ~@7 bb2@5 ~ a2@5 ~ g2@5 ~@21]/6",
I: "[~@21 d2@5 ~@19 c2@5 ~@18 d2@4]/3", J: "~@5 c2", K: "~@5 d2", L: "~@5 f2@3 c3@3 bb2@3 a2@3 g2@3 f2@4",
M: "~@5 f2", N: "~@8 bb2@5 ~ a2@5 ~ g2@4", O: "~@18 d2@5 ~", P: "~@18 c2@5 ~",
Q: "~@3 f2@3 c3@3 bb2@3 a2@3 g2@3 f2@5 ~", R: "~@17 f2@5 ~@2", S: "~@17 d2@5 ~@2", T: "~@5 bb2@5 ~ a2@5 ~ g2@5 ~@2",
})).s("gm_baritone_sax").gain(0.36)
// drums · kick
const kick = s("bd").struct(`<
~@2 A B C D@15 E F G@9 H I J I@9 K L M@9 N O@9 P Q R@2 S R@6 T@11 U V@4 W X V@4 Y@11 Z@10 AA AB AC@6 AD
>`.pickRestart({
A: "~@23 x", B: "~@5 x ~@5 x ~@5 x ~@5 x", C: "~@5 x ~@6 x ~@5 x ~@5", D: "x ~@2 x!2 ~@3", E: "x ~@5 x ~@16 x",
F: "~@9 x ~@2 x ~@10 x", G: "~@8 x ~@2 x ~@11 x", H: "~@8 x ~@2 x ~@10 x ~", I: "~@7 x ~@2 x ~@11 x ~",
J: "~@4 x!2 ~@5 x", K: "~@7 x ~ x ~@12 x ~", L: "~ x ~@5 x", M: "~@2 x!2 ~@3 x", N: "~@6 x ~@2 x ~@10 x ~@3",
O: "~@5 x ~@2 x ~@11 x ~@3", P: "~@5 x ~@2 x ~@10 x ~@4", Q: "~@4 x ~@3 x ~@10 x ~@4", R: "~@4 x ~@2 x ~@11 x ~@4",
S: "~ x ~@17 x ~@4", T: "~ x!2 ~@3 x ~", U: "~@3 x ~@2 x ~@10 x ~@6", V: "~@2 x ~@2 x ~@11 x ~@6",
W: "~@2 x ~@2 x ~@11 x ~@5 x", X: "~@17 x ~@6", Y: "~ x ~@2 x ~@11 x ~@7", Z: "x!2 ~@3 x ~@2",
AA: "x ~@2 x ~@10 x ~@9", AB: "x ~@2 x ~@10 x ~@8 x", AC: "~@2 x ~@11 x ~@8 x", AD: "~ x ~@10",
})).gain(0.4)
// drums · rim
const rim = s("rim").struct(`<
~@5 A@15 ~ B@11 C@11 D ~ D@9 E@10 F E F@2 ~ F@8 G@10 H@5 ~ H@5 I@11 J@10 K@7 L
>`.pickRestart({
A: "~ x", B: "~@11 x ~@12", C: "~@5 x ~@6", D: "~@3 x ~@4", E: "~ x ~", F: "~@7 x ~@16", G: "~ x ~@2",
H: "~@5 x ~@18", I: "~ x ~@4", J: "~ x ~@6", K: "~ x ~@10", L: "~ x ~@2 x ~@7",
})).gain(0.3)
// drums · snare
const snare = s("sd").struct(`<
~@4 A ~@7 B ~@7 C D@7 E D@3 F@4 G F@6 H I@8 J I K@2 L K@8 M N@9 O P Q@7 R Q S T@4 U V T@3 W X W X@5 Y X@2 Z AA AB@10
AC AD AC@5 ~
>`.pickRestart({
A: "~@5 x ~@6 x ~@11", B: "~@6 x!4 ~@2 x ~@2 x ~@2 x ~@2 x ~@2", C: "~@3 x", D: "~@5 x ~@11 x ~@6", E: "~@5 x ~@18",
F: "~ x ~@2 x ~", G: "~@4 x ~@3 x!3 ~@2 x ~@2 x ~@2 x ~@4", H: "~@3 x ~@8 x ~@3 x ~ x ~@5", I: "~ x ~@3 x ~@2",
J: "~ x ~@2 x!3 ~", K: "~ x ~@5 x ~@4", L: "~@2 x ~@8 x ~@2 x ~@2 x ~@6", M: "~@2 x ~@10 x ~@10",
N: "~ x ~@11 x ~@10", O: "~ x ~@10 x ~@11", P: "x ~@8 x ~@2 x ~@3 x ~@7", Q: "x!2", R: "x ~@2 x!3 ~@2",
S: "x ~@10 x ~@11 x", T: "~@11 x ~@11 x", U: "~@11 x ~@8 x ~@2 x", V: "~@14 x ~@8 x", W: "~@11 x ~@10 x ~",
X: "~@5 x ~@5 x", Y: "~@10 x ~@2 x ~@10", Z: "~@10 x ~@10 x ~@2", AA: "x ~@3 x ~ x ~@3 x ~ x ~@8 x ~@2",
AB: "~@3 x ~@3 x", AC: "~@2 x ~@2 x", AD: "~@5 x",
})).gain(0.4)
// drums · hihat
const hihat = s("hh").struct(`<
~@5 A@15 B C D E@9 F G@10 H I H@9 J@10 K L@3 M L@6 N O A@9 P Q E@4 R E@3 S T G@10 U H@9 V W J@6 X
>`.pickRestart({
// … 65 more lines
More by Carly Simon
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.