Strudelify

This Time Around

Hanson

KeyA♭ majorTempo82 bpm
0:00/0:00
// This Time Around — Hanson
// 82 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 87 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(82/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.

// chords · piano
const piano = note(`<
  ~ A B C D@2 A B C D A B C D C E F G H I F G H I J@8 K L@8 M N@6 O@7 P@3 Q@2 R@2 K S@6 T@8 U@4 N@2 V@4
>`.pickRestart({
  A: "[eb4,ab4,c5]@3 ~ bb4 ab4 bb4@3 ~ ab4@2 ~@2 ab4!2", B: "[db4,f4]@2 ab4@2 ab4 bb4 [eb4,c5]@3 ~ c5 eb4 ab4 bb4 ~@2",
  C: "[eb4,ab4,c5]@3 ~ bb4 ab4 bb4@3 ~ ab4@2 ~@2 ab4@2", D: "[db4,f4]@2 ab4@2 ab4 bb4 [c4,ab4]@3 ~@2 eb4 ab4 bb4 ~@2",
  E: "[db4,f4]@2 ab4@2 ab4 bb4 [c4,ab4]@3 ~@7", // Db Fm
  F: "[gb4,bb4,db5]@3 ~@3 [gb4,bb4,db5]@2 ~@3 [gb4,bb4,db5]@2 [gb4,bb4,db5]!2 ~", // Gb
  G: "[eb4,ab4,c5]@3 ~@3 [eb4,ab4,c5]@2 ~@3 [eb4,ab4,c5]@2 [eb4,ab4,c5]!2 ~", // Ab
  H: "[db4,f4,bb4]@3 ~@3 [db4,f4,bb4]@2 ~@3 [db4,f4,bb4]@2 [db4,f4,bb4]!2 ~", // Bbm
  I: "[ab4,c5,eb5]@3 ~@3 [ab4,c5,eb5]@2 ~@3 [ab4,c5,eb5]@2 [ab4,c5,eb5]!2 ~", // Ab
  J: "[[ab4,bb4,db5]@7 ~ [f4,ab4,db5]@5 ~ ab4@18 [eb4,c5]@3 ~ bb4 ~ bb4@3 ~ ab4@4 ab4 ~ [db4,f4]@2 ab4@2 ~ bb4 [eb4,c5]@3 ~ c5 eb4 ~ bb4 ~@2 [eb4,c5]@3 ~ bb4 ~ bb4@3 ~ ab4@4 ~@2 [db4,f4]@2 ab4@2 ~ bb4 ab4@5 eb4 ~ bb4 ~@2 [eb4,c5]@3 ~ bb4 ~ bb4@3 ~ ab4@4 ab4 ~ [db4,f4]@2 ab4@2 ~ bb4 [eb4,c5]@3 ~ c5 eb4 ~ bb4 ~@2, ~@7 db5@57, ~@14 f4@9 ~@9 ab4@4 ~ ab4@5 ~@5 ab4@3 ~@2 ab4@8 ab4@4 ab4@4 ~ ab4@5 ~@4 ab4@4 ~@2 ab4@2 c4@3 ~@3 ab4@4 ab4@4 ~ ab4@5 ~@5 ab4@3 ~@2 ab4@8 ab4@4]/8", // Bbm7 Db Cm Db Cm Db Cm Db …
  K: "[eb4,c5]@3 ~ bb4 ~ bb4@3 ~ ab4@4 ab4@2, ab4@4 ~ ab4@5 ~@6", // Cm
  L: "[[db4,f4]@2 ab4@2 ~ bb4 ab4@5 eb4 ~ bb4 ~@2 [gb4,bb4]@3 ~@3 [gb4,bb4]@2 ~@3 [gb4,bb4,db5]@2 [gb4,bb4,db5] [gb4,bb4] ~ [eb4,c5]@3 ~@3 [eb4,c5]@2 ~@3 [eb4,ab4,c5]@2 [eb4,ab4,c5] [eb4,c5] ~ [db4,f4,bb4]@3 ~@3 [db4,f4,bb4]@2 ~@3 [db4,f4,bb4]@2 [db4,f4,bb4]!2 ~ [c5,eb5]@3 ~@3 [c5,eb5]@2 ~@3 [ab4,c5,eb5]@2 [ab4,c5,eb5] [c5,eb5] ~ [gb4,bb4]@3 ~@3 [gb4,bb4]@2 ~@3 [gb4,bb4,db5]@2 [gb4,bb4,db5] [gb4,bb4] ~ [eb4,c5]@3 ~@3 [eb4,c5]@2 ~@3 [eb4,ab4,c5]@2 [eb4,ab4,c5] [eb4,c5] ~ [db4,f4,bb4]@3 ~@3 [db4,f4,bb4]@2 ~@3 [db4,f4,bb4]@2 [db4,f4,bb4]!2 ~, ~@4 ab4@2 c4@3 ~@3 ab4@20 ab4@6 ab4@5 ~@3 ab4@18 ab4@6 ab4@5 ~@3 ab4@18 ab4@6 ab4@5 ~@3 ab4@18, ~@16 db5@6 db5@5 ~@3 db5@50 db5@6 db5@5 ~@3 db5@34]/8", // Db Gb Cm Ab Cm Bbm Cm Ab …
  M: "[c5,eb5]@3 ~@3 [c5,eb5]@2 ~@3 [ab4,c5,eb5]@2 [ab4,c5,eb5] [c5,eb5] ~, ab4@6 ab4@5 ~@3 ab4@2", // Cm Ab Cm
  N: "[[ab4,bb4,db5]@8 [f4,ab4]@6 [eb4,ab4,c5]@2 [eb4,ab4,c5]!2 [eb4,c5]@2 ~@4 [eb4,ab4,c5]@2 [eb4,ab4,c5] [eb4,c5]@2 ~@2 [eb4,ab4,c5], ~ db5@3, ~@18 ab4@6 ~@3 ab4@4 ~]/2", // Bbm7 Fm Ab Cm Ab Cm Ab
  O: "[[ab4,bb4,db5]@8 [f4,ab4,db5]@6 f4@9 ~@9 [eb4,bb4]@3 ~ bb4 ~ bb4@3 ~@2 eb4 bb4 c5@3 [db4,f4]@7 ~@9 [eb4,c5]@3 ~ bb4 ~ bb4@3 ~ ab4@4 ab4 ~ [db4,f4]@2 ab4@2 ~ bb4 ab4@5 eb4 ~ bb4 ~@2 [eb4,c5]@3 ~ bb4 ~ bb4@3 ~ ab4@4 ab4!2, ~ db5@7, ~@14 ab4@23 ab4@11 ab4@16 ab4@4 ~ ab4@5 ~@5 ab4@3 ~@2 ab4@2 c4@3 ~@3 ab4@4 ab4@4 ~ ab4@5 ~@6]/7", // Bbm7 Db Eb5 Db Cm Db Cm
  P: "[[db4,f4]@2 ab4@2 ~ bb4 ab4@5 eb4 ~ bb4 ~@34, ~@4 ab4@2 c4@3 ~@3 ab4@36]/3", // Db
  Q: "[[eb4,c5]@3 ~ bb4 ~ bb4@3 ~ ab4@4 ~@2 [db4,f4]@2 ab4@2 ~ bb4 ab4@5 eb4 ~ bb4 ~@2, ab4@4 ~ ab4@5 ~@4 ab4@4 ~@2 ab4@2 c4@3 ~@3 ab4@4]/2", // Cm Db
  R: "[[eb4,c5]@3 ~ bb4 ~ bb4@3 ~ ab4@4 ab4 ~ [db4,f4]@2 ab4@2 ~ bb4 [eb4,c5]@3 ~ c5 eb4 ~ bb4 ~@2, ab4@4 ~ ab4@5 ~@5 ab4@3 ~@2 ab4@8 ab4@4]/2", // Cm Db Cm
  S: "[[db4,f4]@2 ab4@2 ~ bb4 c4@3 ~@23 [gb4,bb4]@3 ~@3 [gb4,bb4]@2 ~@3 [gb4,bb4,db5]@2 [gb4,bb4,db5] [gb4,bb4] ~ [eb4,c5]@3 ~@3 [eb4,c5]@2 ~@3 [eb4,ab4,c5]@2 [eb4,ab4,c5] [eb4,c5] ~ [db4,f4,bb4]@3 ~@3 [db4,f4,bb4]@2 ~@3 [db4,f4,bb4]@2 [db4,f4,bb4]!2 ~ [c5,eb5]@3 ~@3 [c5,eb5]@2 ~@3 [ab4,c5,eb5]@2 [ab4,c5,eb5] [c5,eb5] ~, ~@4 ab4@2 ab4@42 ab4@6 ab4@5 ~@3 ab4@18 ab4@6 ab4@5 ~@3 ab4@2, ~@32 db5@6 db5@5 ~@3 db5@50]/6", // Db Gb Cm Ab Cm Bbm Cm Ab …
  T: "[[gb4,bb4]@3 ~@3 [gb4,bb4]@2 ~@3 [gb4,bb4,db5]@2 [gb4,bb4,db5] [gb4,bb4] ~ [eb4,c5]@3 ~@3 [eb4,c5]@2 ~@3 [eb4,ab4,c5]@2 [eb4,ab4,c5] [eb4,c5] ~ [db4,f4,bb4]@3 ~@3 [db4,f4,bb4]@2 ~@3 [db4,f4,bb4]@2 [db4,f4,bb4]!2 ~ [c5,eb5]@3 ~@3 [c5,eb5]@2 ~@3 [ab4,c5,eb5]@2 [ab4,c5,eb5] [c5,eb5] ~ [gb4,bb4]@3 ~@3 [gb4,bb4]@2 ~@3 [gb4,bb4,db5]@2 [gb4,bb4,db5] [gb4,bb4] ~ [eb4,c5]@3 ~@3 [eb4,c5]@2 ~@3 [eb4,ab4,c5]@2 [eb4,ab4,c5] [eb4,c5] ~ [db4,f4,bb4]@3 ~@3 [db4,f4,bb4]@2 ~@3 [db4,f4,bb4]@2 [db4,f4,bb4]!2 ~ [c5,eb5]@3 ~@3 [c5,eb5]@2 ~@3 [ab4,c5,eb5]@2 [ab4,c5,eb5] [c5,eb5] ~, db5@6 db5@5 ~@3 db5@50 db5@6 db5@5 ~@3 db5@50, ~@16 ab4@6 ab4@5 ~@3 ab4@18 ab4@6 ab4@5 ~@3 ab4@18 ab4@6 ab4@5 ~@3 ab4@18 ab4@6 ab4@5 ~@3 ab4@2]/8", // Gb Cm Ab Cm Bbm Cm Ab Cm …
  U: "[[gb4,bb4]@3 ~@3 [gb4,bb4]@2 ~@3 [gb4,bb4,db5]@2 [gb4,bb4,db5] [gb4,bb4] ~ [eb4,c5]@3 ~@3 [eb4,c5]@2 ~@3 [eb4,ab4,c5]@2 [eb4,ab4,c5] [eb4,c5] ~ [db4,f4,bb4]@3 ~@3 [db4,f4,bb4]@2 ~@3 [db4,f4,bb4]@2 [db4,f4,bb4]!2 ~ [c5,eb5]@3 ~@3 [c5,eb5]@2 ~@3 [ab4,c5,eb5]@2 [ab4,c5,eb5] [c5,eb5] ~, db5@6 db5@5 ~@3 db5@50, ~@16 ab4@6 ab4@5 ~@3 ab4@18 ab4@6 ab4@5 ~@3 ab4@2]/4", // Gb Cm Ab Cm Bbm Cm Ab Cm
  V: "[[ab4,bb4,db5]@8 [f4,ab4]@6 [eb4,ab4,c5]@2 [eb4,ab4,c5]!2 [eb4,c5]@2 ~@4 [eb4,ab4,c5]@2 [eb4,ab4,c5] [eb4,c5]@2 ~@2 [eb4,c5] bb4@7 ~ f4@5 ~ f4@9 ~@9, ~@8 db5@37 ~@19, ~@18 ab4@6 ~@3 ab4@4 ab4@14 ~@19]/4", // Bbm7 Fm Ab Cm Ab Cm
})).s("gm_piano").gain(0.48)

// other · piano
const piano_2 = note(`<
  ~ A B A B@2 A B A B A B A B A B C@2 D E C@2 D E F@2 A B A B A B A B C@2 D E C@2 D E G@4 H@6 I@2 J@4 I@4 K B ~ C@2 D E
  C@2 D E C@2 D E C@2 D E L ~ L ~ F@2
>`.pickRestart({
  A: "eb3@3 ~@3 eb3@3 ~@2 eb3@2 ~ eb3@2", B: "[f2,db3]@5 ~ [eb2,c3]@7 ~@3", C: "bb3 c4@2 c4 ~@5 c4!2 bb3 c4 db4@2 ~",
  D: "bb3 c4@2 c4 ~@6 c4@2 c4@2 bb3 c4", E: "c3@3 ~ c3@2 c3@3 ~@5 c3@2", F: "[f3@7 ~ f3@5 ~ f3@9 ~@9]/2",
  G: "[f3@7 ~ f3@5 ~@19 f3@7 ~ f3@5 ~ eb3@18, ~@7 eb3@16 ~@9]/4",
  H: "[f3@7 ~ f3@5 ~@19 f3@7 ~ f3@5 ~ f3@9 ~@9 bb2@3 ~@9 bb2@3 ~ ab2@15 ~, ~@7 eb3@41]/6",
  I: "[eb3@6 eb3@5 eb3@3 ~@2 [f2,db3]@5 ~ [eb2,c3]@7 ~@3, ~@7 eb3@9]/2", // Db Cm
  J: "[eb3@6 eb3@5 eb3@3 ~@2 [f2,db3]@5 ~ [eb2,c3]@7 ~@35, ~@7 eb3@25]/4", K: "eb3", L: "f3@7 ~ f3@5 ~@3",
})).s("gm_piano").gain(0.72)

// other · piano · "Maryn =þ"
const piano_3 = note(`<
  ~ A B C D@2 C B C D C B C D C E F G F H F G F H I ~ C B C D C B C D F G F H F G F H I ~ I ~ I ~ I ~ J K C D C D ~@2 C
  B C D C L ~ F G F H F G F H F G F H F G F H I ~ I ~ I ~
>`.pickRestart({
  A: "eb4@3 ~ eb4@2 eb4@3 ~ eb4@3 ~ eb4!2", B: "db4@2 db4@2 db4@2 eb4@3 ~@3 eb4@3 ~",
  C: "eb4@3 ~ eb4@2 eb4@3 ~ eb4@3 ~ eb4@2", D: "db4@2 db4@2 db4@2 c4@3 ~@3 eb4@3 ~", E: "db4@2 db4@2 db4@2 c4@3 ~@7",
  F: "db4@3 ~ db4@2 db4@3 ~@7", G: "c4@3 ~ c4@2 c4@3 ~@7", H: "eb4@3 ~ eb4@2 eb4@3 ~@5 eb4@2", I: "bb3@7 ~ f3@5 ~@3",
  J: "eb4@3 ~@9 eb4@3 ~", K: "db4@15 ~", L: "db4@2 db4@2 db4@2 eb4@3 ~@7",
})).s("gm_piano").gain(0.48)

// other · pan flute
const pan_flute = note(`<
  ~@10 A ~ A ~ B C D@2 E ~ D@2 E F G H I J K L M N K O D@2 E ~ D@2 E F P Q P Q P Q G R ~@10 A ~@2 S T D@2 E ~ D@2 E ~
  D@2 E ~ D@2 E F P Q P Q G R
>`.pickRestart({
  A: "ab3@3 ~ ab3@2 gb3@7 ~@3", B: "ab3@3 ~ ab3@2 gb3@5 ~@3 c5!2", C: "db4@2 eb4@2 eb4@2 ab3@7 ~@3",
  D: "db4 eb4@2 eb4 ~@5 eb4!2 db4 eb4 gb4@2 ~", E: "db4 eb4@2 eb4 ~@6 eb4@2 eb4@2 db4 eb4", F: "~@13 db4@2 c4",
  G: "db4@7 ~ db4@5 ~ db4@2", H: "db4@7 ~@8 ab4", I: "c5@3 ~ bb4 ab4 bb4@3 ~ ab4@2 ~@2 ab4!2",
  J: "f4@2 ab4@2 bb4@2 c5@3 ~@6 ab4", K: "c5@3 ~ eb5 f5 ab5@3 ~ f5@2 ~@3 f5", L: "c6@2 ab5 ab5@3 ab5@3 ~@7",
  M: "c5!2 ~@2 bb4@2 bb4@3 ~ ab4@2 ~@2 ab4!2", N: "f4!2 ~@2 db5@2 c5@3 ~@6 ab4",
  O: "c6@2 ab5 ab5@3 ab5@3 ~@3 bb4@2 ab4@2", P: "db4@7 ~ db4@5 ~ c4@2", Q: "c4@7 ~@6 db4@2 c4", R: "db4@7 ~@9",
  S: "ab3@2 db4@2 db4@2 c4@5 ~@5", T: "~@6 gb4 eb4",
})).s("gm_pan_flute").gain(0.72)

// other · reed organ · "For Freshmidi's"
const reed_organ = note("<~@3 [eb4@5 eb4 eb4@10] ~@83>").s("gm_reed_organ").gain(0.72)

// chords · acoustic guitar steel · "For Freshmidi's"
const acoustic_guitar_steel = note(`<
  ~@10 A B A B A B C D E F C D E F G@3 H@6 I@6 J@7 K@2 L@3 M@8 ~ A H@2 N@7 O@4 P@5 Q@2 K@2 R@3 ~
>`.pickRestart({
  A: "[eb4,ab4]@3 ~ [eb4,ab4]@2 [eb4,gb4]@7 ~@3", B: "[ab3,db4]@3 ~ [ab3,db4]@2 [ab3,c4]@7 ~@3",
  C: "[gb3,db4]@5 ~ [gb3,db4]@7 ~@3", D: "[ab3,c4]@5 ~ [ab3,c4]@7 ~@3", E: "[bb3,db4]@5 ~ [f3,db4]@7 ~@3",
  F: "[c4,eb4]@5 ~ [c4,eb4]@7 ~@3", // Cm
  G: "[[bb3,db4]@7 ~ [f3,db4]@5 ~@19 [eb4,ab4]@3 ~ [eb4,ab4]@2 [eb4,gb4]@7 ~@3, ~@7 [ab3,db4]@17]/3", // Bbm Db Ab5 Ebm Db5
  H: "[[ab3,db4]@4 ab3@2 c4@7 ~@3 [eb4,ab4]@3 ~ [eb4,ab4]@2 [eb4,gb4]@7 ~@3, ~ db4@7, ~@3 ab3@13]/2", // Db5 Ab5 Ebm
  I: "[[ab3,db4]@4 ab3@2 c4@7 ~@3 [gb3,db4]@6 gb3@7 ~@3 [ab3,c4]@6 c4@7 ~@3 [bb3,db4]@6 f3@7 ~@3 [c4,eb4]@5 ~ [c4,eb4]@7 ~@3 [gb3,db4]@6 db4@10, ~@4 db4@12 ~@6 db4@26 ~@6 db4@26 ~@6 gb3@7 ~@3, ~@3 ab3@13 ~@3 ab3@29]/6", // Db5 Gb5 Ab Bbm Cm Gb5
  J: "[[ab3,c4]@6 c4@7 ~@3 [bb3,db4]@6 f3@7 ~@3 [c4,eb4]@5 ~ [c4,eb4]@7 ~@3 [bb3,db4]@8 f3@5 ~ c4@9 ~@9 [bb3,db4]@8 f3@5 ~ c4@9 ~@9, ~@3 ab3@53, ~@11 db4@13 ~@4 db4@12 ~@4 db4@12]/7", // Ab Bbm Cm Bbm
  K: "[[bb3,db4]@8 f3@5 ~ c4@9 ~@9, ~ db4@3]/2", L: "[[bb3,db4]@8 [f3,db4]@6 ~@18 [bb3,eb4]@15 ~, ~@7 [ab3,db4]@17]/3",
  M: "[f3@15 ~ c4@7 ~@3 c4 ~ c4@3 ~ c4@15 ~ c4@7 ~@3 c4 ~ c4@3 ~ c4@15 ~@49, ab3, db4@25 db4@2 db4@30 db4@2 db4@69]/8",
  N: "[[ab3,db4]@4 ab3@2 c4@7 ~@19 [gb3,db4]@6 gb3@7 ~@3 [ab3,c4]@6 c4@7 ~@3 [bb3,db4]@6 f3@7 ~@3 [c4,eb4]@5 ~ [c4,eb4]@7 ~@3 [gb3,db4]@6 db4@10, ~@4 db4@28 ~@6 db4@26 ~@6 db4@26 ~@6 gb3@7 ~@3, ~@3 ab3@21 ~@3 ab3@29]/7", // Db5 Gb5 Ab Bbm Cm Gb5
  O: "[[ab3,c4]@6 c4@7 ~@3 [bb3,db4]@6 f3@7 ~@3 [c4,eb4]@5 ~ [c4,eb4]@7 ~@3 [gb3,db4]@6 db4@10, ~@3 ab3@29, ~@22 db4@26 ~@6 gb3@7 ~@3]/4", // Ab Bbm Cm Gb5
  P: "[[ab3,c4]@6 c4@7 ~@3 [bb3,db4]@6 f3@7 ~@3 [c4,eb4]@5 ~ [c4,eb4]@7 ~@3 [gb3,db4]@6 gb3@7 ~@3 c4@5 ~ c4@7 ~@3, ~@6 ab3@71 ~@3, ~@11 db4@13 ~@3 db4@13]/5", // Ab Bbm Cm Gb5
  Q: "[[bb3,db4]@6 f3@7 ~@3 [c4,eb4]@5 ~ [c4,eb4]@7 ~@3, ~@3 db4@13]/2", // Bbm Cm
  R: "[[bb3,db4]@8 f3@5 ~ c4@9 ~@9 bb3@7 ~ f3@5 ~@3, ~@8 db4@37 ~@3]/3", // Bbm
})).s("gm_acoustic_guitar_steel").gain(0.72)

// bass · acoustic bass
const bass = note(`<
  ~@10 A B A B A B C D E F C D E F G@2 H@6 I@3 J@4 K@8 ~ L@4 H@10 M@4 J@8 N@5 E F O@4 P ~
>`.pickRestart({
  A: "ab2@3 ~ ab2@2 gb2@7 ~@3", B: "db2@3 ~ db2@2 c2@7 ~@3", C: "gb2@2 gb2@3 bb2 c3 db3@3 db3@3 ~ c3 bb2",
  D: "ab2@2 ab2@3 bb2 c3 eb3@3 eb3@3 ~ db3 c3", E: "db3@2 db3@3 db3!2 db3@3 db3@3 ~ db3!2",
  F: "eb3@2 eb3@3 eb3!2 eb3@3 eb3@3 ~ eb3!2", G: "[bb2@7 ~ db3@5 ~ ab2@18]/2",
  H: "[ab2@4 ~@2 gb2@7 ~@3 db2@3 ~ db2@2 c2@7 ~@3, ~ ab2@7]/2",
  I: "[ab2@4 ~@2 gb2@7 ~@3 db2@3 ~ db2@2 c2@7 ~@3 gb2@2 gb2@3 bb2 c3 db3@3 db3@3 ~ c3 bb2, ~ ab2@11]/3",
  J: "[ab2@2 ~@3 bb2 c3 eb3@3 eb3@3 ~ db3 c3 db3@2 db3@3 db3!2 db3@3 db3@3 ~ db3!2 eb3@2 eb3@3 eb3!2 eb3@3 eb3@3 ~ eb3!2 gb2@2 gb2@3 bb2 c3 db3@3 db3@3 ~ c3 bb2, ~ ab2@31]/4",
  K: "[ab2@2 ~@3 bb2 c3 eb3@3 eb3@3 ~ db3 c3 db3@2 db3@3 db3!2 db3@3 db3@3 ~ db3!2 eb3@2 eb3@3 eb3!2 eb3@3 eb3@3 ~ eb3!2 f3@7 ~ db3@5 ~ c3@9 ~@9 f3@7 ~ db3@5 ~ c3@9 ~@9 f3@7 ~ db3@5 ~ c3@2, ~ ab2@63]/8",
  L: "[bb2@7 ~ db3@5 ~ ab2@50]/4",
  M: "[ab2@4 ~@2 gb2@7 ~@3 db2@3 ~ db2@2 c2@7 ~@19 gb2@2 gb2@3 bb2 c3 db3@3 db3@3 ~ c3 bb2, ~ ab2@15]/4",
  N: "[ab2@2 ~@3 bb2 c3 eb3@3 eb3@3 ~ db3 c3 db3@2 db3@3 db3!2 db3@3 db3@3 ~ db3!2 eb3@2 eb3@3 eb3!2 eb3@3 eb3@3 ~ eb3!2 gb2@2 gb2@3 bb2 c3 db3@3 db3@3 ~ c3 bb2 ~@5 bb2 c3 eb3@3 eb3@3 ~ db3 c3, ~@2 ab2@67 ~@11]/5",
  O: "[f3@7 ~ db3@5 ~ c3@9 ~@9]/2", P: "bb2@7 ~ db3@5 ~@3",
})).s("gm_acoustic_bass").gain(0.72)

// chords · pan flute
const pan_flute_2 = note("<~@73 A B A B A B A B A B A B ~@2>".pickRestart({
  A: "[bb3,db4,ab4]@7 ~ [db4,f4]@5 ~ [c4,eb4]@2", B: "[c4,eb4]@7 ~@6 f4@2 eb4",
})).s("gm_pan_flute").gain(0.72)

// drums · kick
const kick = s("bd").struct("<~@10 A@5 B C@8 D ~ A@7 B C@14 D ~@2 E A@4 F@8 G C@20 D ~>".pickRestart({
  A: "x ~@3 x!2 ~@2", B: "x", C: "x!2 ~@2 x!2 ~@2", D: "x ~@3 x ~@2 x", E: "~@3 x", F: "~ x ~ x", G: "~@4 x ~@7 x!4",
})).gain(0.72)

// drums · rim
const rim = s("rim").struct("<~@9 A B@14 ~@2 B@22 ~@4 B@4 ~@9 B@20 ~@2>".pickRestart({
  A: "~@3 x", B: "~ x ~ x",
})).gain(0.72)

// drums · snare
const snare = s("sd").struct("<~@9 A B@5 C B@8 ~@2 B@7 C B@14 ~@4 B@4 ~@9 B@20 ~@2>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~ x ~@2",
})).gain(0.72)

// drums · low tom
const low_tom = s("lt").struct("<~@16 A@7 B C ~@9 A@7 B A@6 C ~@2 D ~@4 E@8 F A@7 B A@7 B@5 C ~>".pickRestart({
  A: "x ~ x ~ x ~ x!3 ~ x ~ x ~ x!2", B: "x ~ x ~ x ~ x!3 ~ x ~ x ~@3", C: "x ~@3 x ~@2 x", D: "~@3 x", E: "~ x ~ x",
  F: "~@4 x ~@7 x!4",
})).gain(0.72)

// drums · hihat
const hihat = s("hh").struct("<A ~@9 B@5 C ~@9 A B@7 C ~@18 B@4 ~@31>".pickRestart({
  A: "x!4", B: "x ~@3 x ~@3 x ~ x ~ x ~ x!2", C: "x!2 ~ x",
})).gain(0.72)

// drums · mid tom
const mid_tom = s("mt").struct("<~@15 A B@7 C D ~@8 A B@7 C B@6 D ~@2 A ~@13 B@7 C B@7 C@5 D ~>".pickRestart({
  A: "~@3 x", B: "x ~ x ~@4 x!2 ~ x ~@4 x", C: "x ~ x ~@4 x!2 ~ x ~@5", D: "x ~@3 x!5 ~@3 x!3 ~",
})).gain(0.72)

// drums · china
const china = s("cr").struct("<~@16 A@8 B ~@9 A@14 B ~@2 C ~@5 D ~ D ~ D@3 ~ A@20 B ~>".pickRestart({
  A: "~ x ~ x", B: "x ~@3 x ~@2 x", C: "~@3 x", D: "~@7 x",
})).gain(0.72)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@56 [x!4]!8 ~@23>").gain(3.65)

stack(
  piano, piano_2, piano_3, pan_flute, reed_organ, acoustic_guitar_steel, bass, pan_flute_2, kick, rim, snare, low_tom,
  hihat, mid_tom, china, cabasa
)

More by Hanson