Strudelify

When I Fall in Love

Nat King Cole

KeyD♭ majorTempo76 bpm
0:00/0:00
// When I Fall in Love — Nat King Cole
// 76 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 58 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(76/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
const bass = note("<~@15 A B C D E F E G A H A I A J E K A L M N A I O@7 P Q R S T ~@9>".pickRestart({
  A: "db2@11 ~@13 db2@11 ~@13", B: "eb2@11 ~@13 gb2@11 ~@13", C: "f2@11 ~@13 eb2@11 ~@13", D: "bb2@11 ~@13 bb2@11 ~@13",
  E: "eb2@11 ~@13 eb2@11 ~@13", F: "f2@11 ~@13 bb2@11 ~@13", G: "ab2@11 ~@13 ab2@11 ~@13", H: "db2@11 ~@13 gb2@11 ~@13",
  I: "eb2@11 ~@13 ab2@11 ~@13", J: "b1@11 ~@13 bb1@11 ~@13", K: "gb2@11 ~@13 eb2@11 ~@13", L: "gb2@11 ~@13 gb2@11 ~@13",
  M: "f2@11 ~@13 bb1@11 ~@13", N: "eb2@11 ~@9 f2@3 ~ gb2@14 ~@10",
  O: "[db2@11 ~@12 db2@11 ~@13 db2@11 ~@12 db2@11 ~@13 db2@11 ~@12 gb2@11 ~@12 eb2@11 ~@13 ab1@11 ~@12 db2@11 ~@12 db2@11 ~@13 bb1@11 ~@12 bb1@11 ~@13 eb2@11 ~@12 eb2@11 ~@12 gb2@9]/7",
  P: "~@15 gb2@11 ~@12 db2@10", Q: "~@14 db2@11 ~@13 gb2@10", R: "~@14 gb2@11 ~@13 bb1@10",
  S: "~@14 bb1@11 ~@13 eb2@10", T: "~@14 gb2@11 ~@23",
})).s("gm_acoustic_bass").gain(0.35)

// chords · string ensemble 1
const string_ensemble_1 = note("<A@8 B@7 C D@2 E@5 F@2 C G C H I@2 J@3 K C L M@2 N@3 O@6 P@6 Q@4>".pickRestart({
  A: "[~@36 ab3@18 a3@18 ~ a3@6 ab3@49 ab3@24 ~ a3@18 ~ a3@6 bb3@24 c4@24 ~ db4@43 b3@3 bb3@3 [gb2,eb3,a3]@49 ~ [ab3,db4,f4]@58, ~@30 db3@98 db3@49 ~ eb3@49 [a2,e3]@49 ~@108]/8", // Ebdim Db A5
  B: "[~@9 [ab3,db4,f4]@6 ~ [gb3,a3,gb4]@18 [f3,ab3,f4]@6 [f3,ab3,db4]@49 ~ [gb3,bb3,db4]@24 [ab3,c4,eb4]@24 ~ [ab3,db4,f4]@49 [gb3,b3,eb4]@24 ~ [f3,bb3,d4]@24 [gb3,bb3,eb4]@41 f3@4 ~ gb3@4 [db4,gb4]@24 ~@7 ab3@6 gb3@6 eb3@6, ~@287 a3@30 ~@19]/7", // Db Gbm Fm Db Gb Ab Db B …
  C: "[f3,ab3,db4]@47 ~", D: "[[bb3,eb4]@23 ~ a3@23 ~ f3@23 ~ [b3,eb4]@23 ~, gb3@47 ~ ab3@47 ~, ~@24 db4@47 ~@25]/2",
  E: "[b3@23 ~ d4@23 ~ gb3@47 ~ b3@23 ~ [f3,d4]@23 ~ eb4@23 ~ db4@23 ~ [ab3,c4]@47 ~, [f3,ab3]@47 ~ eb4@71 ~ bb3@71 ~@49, ~@24 bb3@71 ~ ab3@47 ~ gb3@95 ~]/5", // Dm Ab Fm
  F: "[[f3,ab3]@71 ~ [gb3,a3]@24, db4@95 ~]/2", G: "[gb3,bb3]@23 ~ [ab3,c4]@23 ~, eb4@47 ~",
  H: "[gb3,b3,eb4]@23 ~@13 f3@11 ~, ~@24 [ab3,d4]@23 ~", I: "[bb3@47 ~ a3@47 ~, [gb3,eb4]@95 ~]/2",
  J: "[[f3,ab3]@47 ~ bb3@47 ~ [f3,bb3,d4]@47 ~, db4@95 ~@49, ~@48 gb3@95 ~]/3", // Fm Bb
  K: "[bb3,eb4]@23 ~ [a3,db4]@23 ~, gb3@47 ~", L: "bb3@23 ~ [ab3,c4]@23 ~, gb3@47 ~, eb4@35 ~@13",
  M: "[[f3,ab3]@23 [gb3,a3]@23 ~ [f3,ab3]@46 ~ [f3,ab3,db4]@2, db4@31 ~]/2", // Fm Gbm Fm Db
  N: "[~@21 a3@23 bb3@23 ~ c4@23 [f3,db4]@46 ~ [gb3,bb3,d4]@6, ~@21 gb3@70 ~@53, ~@22 eb4@23 ~@27, ~@34 ab3@35 ~@3]/3", // Db Gbaug
  O: "[~@29 [f3,b3,d4]@11 ~ [bb3,eb4]@46 [a3,db4]@35 [ab3,c4]@11 ~ [f3,ab3]@47 ~@61 f3@11 ~ gb3@11 ~ f3@11 ~ [gb3,eb4]@10, ~@41 gb3@93 db4@95 ~ d4@47 ~@11, ~@91 bb3@53, ~@182 gb3@59 ~@47]/6", // Bdim Eb5 A Ab Fm Ebm
  P: "[~@14 a3@23 ~ [f3,ab3,db4]@49 [gb3,bb3,db4]@46 ~ [ab3,c4,eb4]@46 ~ db4@12 ~ e4@12 ~ b4@19 ~ a4@6 db4@14 ~ eb4@14 b4@21 ~ a4@4, ~@181 [e3,a3]@52 [gb3,a3]@55]/6", // Db Gb Ab A5 Gbm
  Q: "[~@2 [db4,f4,ab4]@81 ~@13]/4", // Db
})).s("gm_string_ensemble_1").gain(0.35).pan(0.7)

// bass · violin
const bass_2 = note("<~@6 A@2 B@7 ~@43>".pickRestart({
  A: "[~@19 db2@29]/2",
  B: "[~@9 f2@6 ~ gb2@18 f2@6 db2@49 ~ eb2@24 ab2@24 ~ db2@49 b2@24 ~ bb2@24 eb2@41 ~ f2@4 gb2@4 a2@30 ~ ab2@6 gb2@6 eb2@6]/7",
})).s("gm_electric_bass_finger").gain(0.35)

// chords · synth brass 2
const synth_brass_2 = note("<~@37 A@8 ~@6 B@7>".pickRestart({
  A: "[[ab3,db4,f4]@23 [a3,db4,gb4]@23 ~ [ab3,db4,f4]@46 ~ [ab3,db4,f4]@23 [a3,db4,gb4]@23 [bb3,db4,gb4]@23 ~ [ab3,c4,eb4]@23 [ab3,db4,f4]@46 ~ bb3@17 c4@5 ~ d4@11 ~ f4@11 ~ [gb3,bb3,eb4]@46 d4@11 ~ db4@35 ~@10, ~@234 ab3@46 ~@47 [gb3,a3]@46 ~@11, ~@234 gb4@35 ~@115]/8", // Db Gbm Db Gbm Gb Ab Db Ebm …
  B: "[~@37 [a2,a3,db4,e4]@52 [gb2,a3,db4,gb4]@58 ~ [db2,ab3,db4,f4]@162 ~@26]/7", // A Gbm Db
})).s("gm_synth_brass_2").gain(0.25)

// other · orchestral harp
const orchestral_harp = note(`<
  ~ A@2 B@2 C ~@3 D E F G@3 ~ H ~@3 I ~ J@2 K ~ L M N ~ O ~@5 P ~ Q ~@5 R S ~@2 T U V W ~@6
>`.pickRestart({
  A: "[~@37 db3@2 ~@3 eb3@2 ~@3 f3@2 ~ ab3@2 ~@2 f4@2 ~ db5@2 ~@37, ~@53 db4@2 ~ ab4@2 ~@38]/2",
  B: "[~@34 eb4@2 ~ gb4@2 ~ bb4@2 db5@2 ~ eb5@2 gb5@2 ~@9 ab4@2 ~ bb4@2 ~@2 c5@2 eb5@2 gb5@2 ab5@2 ~@10 a4@2 db5@2 e5@2 a5@2 ~@5]/2",
  C: "~@17 gb4 a4 db5 eb5 gb5 ~@2", D: "~@5 db4@2 ~ eb4@2 ~ f4@2 ~ ab4@2 ~ db5@2 f5@2 ab5@2 db6@2 ~@23",
  E: "eb4@2 ~ gb4@2 ~@2 db5@2 ~ gb5@2 ~@12 ab4@2 ~ bb4@2 ~ c5@2 eb5@2 ~ c6@2 ~@11, ~@6 bb4@2 ~ eb5@2 ~@23 ab5@2 ~@12",
  F: "~@7 db4@2 ~ eb4@2 ~ f4@2 ~ ab4@2 ~ db5@2 ~ f5@2 ab5@2 db6@2 ~@20",
  G: "[~@5 b3@2 ~ gb4@2 b4@2 ~@18 bb3@2 ~ f4@2 bb4@2 ~@8 gb4@2 ~ eb5@2 ~@40 a3@2 ~ gb4@2 ~ db5@2 ~ a5@2 ~ gb6@2 ~ db7@2 a6@2 ~ db6@2 ~ gb5@2 ~ a4@2 ~ db4@2 ~ gb3@2 db3@2 ~ gb2@2 ~ a1@2 ~ db1@2 ~@9, ~@7 eb4@2 ~@23 d4@2 ~@10 eb4@2 ~ bb4@2 ~@40 gb3@2 ~ db4@2 ~ a4@2 ~ gb5@2 ~ db6@2 ~ a6@2 ~@3 gb6@2 ~ a5@2 ~ db5@2 ~ gb4@2 ~ a3@2 ~@3 a2@2 ~ db2@2 ~ gb1@2 ~@10]/3",
  H: "~@24 gb3 ~@2 a3@2 ~ db4@2 ~ gb4 ~@2 a4 ~ db5 ~@9", I: "~@24 bb2@2 ~ f3 ~@2 bb3 ~@2 d4 ~@2 f4@2 bb4@2 ~@8",
  J: "[~@30 ab6 ~@2 c6 ~ ab5 eb5@2 c5 ab4@2 eb4 c4 ~@2 eb3 ~ c3@2 ~@47, ~@16 eb6 ~@5 ab3 ~@25]/2",
  K: "~@24 gb2 ~@2 db3 ~ gb3 a3@2 db4 gb4@2 a4 db5 ~@2 a5 ~@2 gb6 ~@5, ~@26 a2@2 ~@10 gb5@2 ~ db6@2 ~@5",
  L: "eb3 ~@2 bb3 ~ gb3 ~@15 eb3 ~ ab3 c4@2 ab3 eb3@2 ~@19, ~ gb3 ~@22", M: "db3 ~@2 ab3 ~ f3@2 ~@41, ~ f3 ~@22",
  N: "b2@2 eb3 gb3@2 ~@18 bb2 d3 ~@2 d3 ~@20, ~@13 f3 ~@10",
  O: "gb2 ~@2 db3 ~@2 a3 ~ db4 gb4@2 a4 db5@2 gb5 db5@2 a4 gb4 ~@29, ~@2 a2@2 ~ gb3@2 ~@41",
  P: "eb3 ~ gb3 ~ bb3 ~ eb4 ~ gb4 ~ bb4@2 eb5@2 ~@10 ab3 ~ c4 ~ eb4@2 ab4@2 c5@2 eb5@2 ~@12",
  Q: "~@22 db3 ~ f3 ab3 ~ bb3 db4 f4 ~ ab4 bb4 ~ db5 f5 ~ ab5 bb5 ~ db6 f6 ~ ab6 bb6 ~@3",
  R: "~@21 ab2 c3 ~ eb3 ab3 c4 ~ eb4 ab4 ~ c5 eb5 ~ c5 ab4 ~ eb4 db4@2 f4 ab4@2 bb4 db5 ~@2 ab5, ~@23 f5",
  S: "~ bb5@2 ~@45",
  T: "~@14 gb3 ~@2 db4 ~@2 a4 ~ db5 gb5@2 a5 gb5@2 db5 a4@2 gb4 db4 ~@2 gb3 ~ db3@2 ~@9, ~@16 a3@2 ~ gb4@2 ~@13 a3@2 ~@12",
  U: "~@39 eb2 ~ gb2 bb2 ~ eb3 gb3 ~ bb3",
  V: "eb4 ~ gb4 bb4 ~ eb5 gb5 ~ bb5 eb6 gb6 ~ bb6 gb6 ~ eb6 bb5 ~ gb5 eb5 ~ bb4 gb4 ~ eb4 bb3 ~ gb3 eb3 bb2 ~ gb2 eb2 ~@15",
  W: "~@2 ab2 c3 ~ eb3 ab3 ~ c4 eb4 ~ ab4 c5 ~ eb5 ab5 ~ c6 eb6 ab6 ~ c7 ~@26",
})).s("gm_orchestral_harp").gain(0.35).pan(0.7)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~@15 A B C D E F E G A H A I A J K L A M N O A P Q@2 R S T U V W X Y Z AA ~@9
>`.pickRestart({
  A: "[f3,ab3,db4] ~@3 [f3,ab3,db4] ~@3 [f3,ab3,db4] ~@3 [f3,ab3,db4] ~@3", // Db
  B: "[gb3,bb3,db4] ~@3 [gb3,bb3,db4] ~@3 [gb3,a3,db4] ~@3 [gb3,a3,db4] ~@3", // Gb Gbm
  C: "[f3,ab3,db4] ~@3 [f3,ab3,db4] ~@3 [eb3,ab3,b3] ~@3 [eb3,ab3,b3] ~@3", // Db Abm
  D: "[f3,ab3,b3] ~@3 [f3,ab3,b3] ~@3 [f3,ab3,bb3] ~@3 [f3,ab3,bb3] ~@3", // Fdim Bb7
  E: "[gb3,bb3,eb4] ~@3 [gb3,bb3,eb4] ~@3 [gb3,bb3,eb4] ~@3 [gb3,bb3,eb4] ~@3", // Ebm
  F: "[ab3,b3,eb4] ~@3 [ab3,b3,eb4] ~@3 [gb3,bb3,d4] ~@3 [gb3,bb3,d4] ~@3", // Abm Gbaug
  G: "[gb3,c4,eb4] ~@3 [gb3,c4,eb4] ~@3 [ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~@3", // Cdim Ab
  H: "[f3,ab3,db4]@3 ~@9 [f3,ab3,db4]@3 ~@9 [gb3,a3,db4]@3 ~@9 [gb3,a3,db4]@3 ~@5 gb3@3 ~", // Db Gbm
  I: "[gb3,bb3,eb4] ~@3 [gb3,bb3,eb4] ~@3 [ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~@3", // Ebm Ab
  J: "[gb3,b3,eb4] ~@3 [gb3,b3,eb4] ~@3 [ab3,bb3,d4] ~@3 [ab3,bb3,d4] ~@3", // B Bb7
  K: "[gb3,bb3,eb4]@3 ~@9 [gb3,bb3,eb4]@3 ~@9 [gb3,bb3,eb4]@3 ~@9 [gb3,bb3,eb4]@3 ~@5 bb3@3 ~", // Ebm
  L: "[gb3,a3,db4] ~@3 [gb3,a3,db4] ~@3 [gb3,a3,db4] ~@3 [gb3,a3,db4] ~@3", // Gbm
  M: "[gb3,bb3,db4] ~@3 [gb3,bb3,db4] ~@3 [gb3,bb3,db4] ~@3 [gb3,bb3,db4] ~@3", // Gb
  N: "[gb3,ab3,d4] ~@3 [gb3,ab3,d4] ~@3 [gb3,ab3,d4] ~@3 [gb3,ab3,d4] ~@3", // Abm7b5
  O: "[gb3,bb3,eb4] ~@3 [gb3,bb3,eb4] ~@3 [gb3,a3,db4] ~@3 [gb3,a3,db4] ~@3", // Ebm Gbm
  P: "[gb3,bb3,eb4]@3 ~@9 [gb3,bb3,eb4]@3 ~@5 gb3@3 ~ [gb3,ab3,c4,eb4]@3 ~@9 [gb3,ab3,c4]@3 ~@9", // Ebm Ab7
  Q: "[[f3,ab3,db4]@3 ~@9 [f3,ab3,db4]@3 ~@8 [gb3,a3,db4]@3 ~@9 [gb3,a3,db4]@3 ~@9 [f3,ab3,db4]@3 ~@8 [f3,ab3,db4]@3 ~@9 [f3,ab3,db4]@3 ~@9 [f3,ab3,db4]@3 ~@9 [f3,ab3,db4]@2]/2", // Db Gbm Db
  R: "~@9 [f3,ab3,db4]@3 ~@9 [gb3,a3,db4]@3 ~@9 [gb3,a3,db4]@3 ~@8 [gb3,bb3,db4]@3 ~", // Db Gbm Gb
  S: "~@8 [gb3,bb3,db4]@3 ~@9 [eb3,ab3,c4]@3 ~@8 [eb3,ab3,c4]@3 ~@9 [f3,ab3,db4]@3 ~@2", // Gb Ab Db
  T: "~@7 [f3,ab3,db4]@3 ~@8 [f3,ab3,db4]@3 ~@9 [f3,ab3,db4]@3 ~@9 [gb3,bb3,db4]@3 ~@3", // Db Gb
  U: "~@6 [gb3,bb3,db4]@3 ~@8 [gb3,bb3,db4]@3 ~@9 [f3,ab3,bb3]@3 ~@9 [gb3,bb3,eb4]@3 ~@4", // Gb Bb7 Ebm
  V: "~@4 [gb3,bb3,eb4]@3 ~@9 [gb3,bb3,eb4]@3 ~@9 [gb3,bb3,eb4]@3 ~@8 [gb3,a3,db4]@3 ~@6", // Ebm Gbm
  W: "~@3 [gb3,a3,db4]@3 ~@9 [gb3,a3,db4]@3 ~@8 [gb3,ab3,c4]@3 ~@9 [f3,ab3,db4]@3 ~@7", // Gbm Ab7 Db
  X: "~@2 [f3,ab3,db4]@3 ~@9 [f3,ab3,db4]@3 ~@9 [f3,ab3,db4]@3 ~@9 [gb3,bb3,db4]@3 ~@7", // Db Gb
  Y: "~@2 [gb3,bb3,db4]@3 ~@9 [gb3,bb3,db4]@3 ~@9 [gb3,bb3,db4]@3 ~@9 [gb3,bb3,d4]@3 ~@7", // Gb Gbaug
  Z: "~@2 [f3,bb3,d4]@3 ~@9 [gb3,bb3,d4]@3 ~@9 [f3,bb3,d4]@3 ~@9 [gb3,bb3,eb4]@3 ~@7", // Bb Gbaug Bb Ebm
  AA: "~@2 [gb3,bb3,eb4]@3 ~@9 [gb3,a3,db4]@3 ~@9 [gb3,a3,db4]@3 ~@10 db4@9, ~@37 f3@11, ~@19 ab3@5", // Ebm Gbm
})).s("gm_acoustic_guitar_nylon").gain(0.3)

// other · alto sax
const alto_sax = note("<~@7 A@4 B@3 C D E F G H I J K L@2 M N O P@2 Q@2 R S T U@3 ~@6 V@2 W X@2 Y@5 ~@4>".pickRestart({
  A: "[~@2 ab3@12 db4@9 ~ gb4@6 f4@6 db4@27 ~@31 ab3@6 ~ db4@6 gb4@21 f4@6 db4@6 ~ eb4@18 ~@33]/4",
  B: "[~@7 ab3@6 db4@12 ~ bb4@9 ab4@9 gb4@36 ~ f4@12 eb4@24 ~@27]/3", C: "~@10 f4 gb4",
  D: "ab4@7 ~ db4@7 ~ db4@23 ~ db4@7 ~", E: "f4@7 ~ eb4@27 ~@9 f4@3 ~",
  F: "gb4@3 ~ ab4@3 ~ f4@7 ~ gb4@7 ~ ab4@7 ~ f4@7 ~ gb4@7 ~", G: "ab4@23 ~@21 gb4@3 ~",
  H: "ab4@3 ~ bb4@7 ~ eb4@15 ~ eb4@7 ~ eb4@11 ~", I: "gb4@7 ~ f4@19 ~@13 gb4@3 ~ ab4@3 ~",
  J: "bb4@11 ~@5 gb4@3 ~ ab4@3 ~ bb4@11 ~@5 gb4@7 ~", K: "ab4@7 ~ ab4@27 ~@13",
  L: "[~@16 ab3@7 ~ db4@7 ~ gb4@11 ~ f4@7 ~ db4@19 ~@25]/2", M: "~@8 ab3@7 ~ db4@7 ~ gb4@15 ~ f4@7 ~",
  N: "db4@7 ~ eb4@25 ~@15", O: "~@8 ab3@11 ~ db4@11 ~ bb4@7 ~ ab4@8", P: "[~@3 gb4@35 ~ f4@16 ~ eb4@35 ~@5]/2",
  Q: "[~@40 f4@3 ~ gb4@7 ~ ab4@7 ~ db4@19 ~ db4@7 ~ db4@8]/2", R: "~@4 c5@7 ~ bb4@27 ~ bb3@7 ~",
  S: "bb4@11 ~ ab4@19 ~ bb4@15 ~", T: "gb4@35 ~@9 f4@3 ~",
  U: "[ab3@15 ~ db4@7 ~ gb4@19 ~ f4@7 ~ db4@31 ~@13 db4@46 ~@2, ~@92 eb4@7 ~@45]/3",
  V: "[~@30 f4@3 ~ gb4@5 ~ ab4@5 ~ db4@23 ~@5 db4@5 ~ db4@7 ~ c5@8]/2", W: "~@2 bb4@27 ~ bb3@9 ~ bb4@8",
  X: "[~@2 ab4@19 ~ bb4@17 ~ gb4@27 ~@15 f4@3 ~ ab3@10]/2",
  Y: "[~@2 db4@12 ~ gb4@10 f4@14 db4@46 ~ eb4@46 ~ db4@80 ~@27]/5",
})).s("gm_alto_sax").gain(0.45)

// drums · kick
const kick = s("bd").struct("<~@15 A@22 B C D E F G H I J@3 K ~@9>".pickRestart({
  A: "x!2", B: "x ~@22 x ~@23 x", C: "~@11 x ~@11 x", D: "~@21 x ~@22 x ~@3", E: "~@20 x ~@22 x ~@4", F: "~@3 x ~@3 x",
  G: "~@17 x ~@23 x ~@6", H: "~@16 x ~@22 x ~@8", I: "~@15 x ~@22 x ~@9", J: "~@7 x ~@11 x ~@4", K: "~@7 x ~@16",
})).gain(0.25)

// drums · snare
const snare = s("sd").struct("<~@15 A B C@5 D B@4 C B@2 C@3 B E B F G H I J K L M N O@3 P ~@9>".pickRestart({
  A: "x ~@2 x ~ x ~@2 x!2 ~@2", B: "x ~@2 x ~@2 x ~ x!2 ~@2", C: "x ~ x!2 ~@2 x ~ x!2 ~@2", D: "x ~@2 x!9",
  E: "x ~@11 x ~@11 x!2 ~ x ~@2 x!2 ~ x ~@2 x ~@3 x ~@3 x ~@3", F: "x ~@11 x ~@11 x!2 ~ x ~@8 x ~@7 x ~@3",
  G: "x ~@11 x ~@10 x ~@11 x ~@11 x", H: "~@5 x ~@5 x ~@3 x ~ x ~@5 x", I: "~@9 x ~@11 x ~@11 x ~@10 x ~@3",
  J: "~@8 x ~@11 x ~@10 x ~@11 x ~@4", K: "~@7 x ~@10 x ~@11 x ~@11 x ~@5", L: "~@6 x ~@10 x ~@11 x ~@11 x ~@6",
  M: "~@4 x ~@11 x ~@11 x ~@10 x ~@7 x", N: "~@3 x ~@11 x ~@10 x ~@11 x ~@9", O: "~ x ~@5 x ~@3 x ~ x ~@5 x ~@4",
  P: "~@2 x ~@11 x ~@5 x!2 ~ x ~@2 x ~@3 x ~@3 x ~@13",
})).gain(0.35)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@15 A@7 ~ A@11 B A B C D E F G H I J K@4 ~@9>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "~@12 x ~@22 x ~@12", D: "~@5 x ~@11 x ~@6", E: "~@3 x ~@7 x ~@4",
  F: "~@8 x ~@22 x ~@16", G: "~@7 x ~@22 x ~@17", H: "~@6 x ~@22 x ~@18", I: "~ x ~@5 x ~@4", J: "~@3 x ~@22 x ~@21",
  K: "~ x ~@11 x ~@10",
})).gain(0.35)

stack(
  bass, string_ensemble_1, bass_2, synth_brass_2, orchestral_harp, acoustic_guitar_nylon, alto_sax, kick, snare,
  pedal_hat
)

More by Nat King Cole