Strudelify

Every Morning

Sugar Ray

KeyA♭ majorTempo110 bpm
0:00/0:00
// Every Morning — Sugar Ray
// 110 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 100 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(110/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 · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@5 A B C D A B A B A B A B ~@8 A B A B E F G H I J K L K L K L A B M N A B O@7 P@6 Q R@8 ~@5 S@7 T@16 U@3
>`.pickRestart({
  A: "[eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~", // Ab Eb Db
  B: "[db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~", // Db Eb Ab
  C: "[eb3,ab3,c4,eb4,ab4]@7 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@7 ~", // Ab Eb
  D: "[db3,ab3,c4,f4]@7 ~ [db3,ab3,c4,f4]@3 ~ [db3,ab3,c4,f4]@3 ~ [db3,ab3,c4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~", // Dbmaj7 Eb Ab
  E: "[eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~@5 [db3,ab3,db4,f4]@3 ~", // Ab Eb Db
  F: "[db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@11 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~@5", // Db Eb
  G: "[eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@11 ~ [eb3,ab3,c4,eb4,ab4]@3 ~@9", // Ab
  H: "~@20 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~@5", // Eb
  I: "~@8 [eb3,ab3,c4,eb4,g4]@5 ~@7 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@2 ~@2 [db3,ab3,db4,f4]@3 ~", // Abmaj7 Eb Db
  J: "[db3,ab3,db4,e4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~", // Db Eb Abmaj7
  K: "[eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~", // Abmaj7 Eb Db
  L: "[db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~", // Db Eb Abmaj7
  M: "[eb3,ab3,c4,eb4,ab4] ~@15", // Ab
  N: "[c4,f4]@7 ~ [db3,ab3,c4,f4]@3 ~ [db3,ab3,c4,f4]@3 ~ [db3,ab3,c4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~, [db3,ab3] ~@15", // F5 Dbmaj7 Eb Ab Db5
  O: "[[eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~@5 [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]]/7", // Ab Eb Db Eb Ab Eb Db Eb …
  P: "[~@3 [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@11 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~@5 [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~@5 [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@11 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~@5 [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~@5 [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@11 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~@5 [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@11 ~ [eb3,ab3,c4,eb4,ab4]@3 ~@10]/6", // Db Eb Ab Eb Db Eb Ab Eb …
  Q: "~@19 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~@6", // Eb
  R: "[~@7 [eb3,ab3,c4,eb4,g4]@5 ~@7 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@2 ~@2 [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,e4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~@9 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,g4]@3 ~@2]/8", // Abmaj7 Eb Db Eb Abmaj7 Eb Db Eb …
  S: "[~@31 [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]]/7", // Ab Eb Db Eb Ab Eb Db Eb …
  T: "[~@3 [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]]/8", // Ab Eb Db Eb Ab Eb Db Eb …
  U: "[~@3 [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@7 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@3 ~ [db3,ab3,db4,f4]@2 ~@2 [eb3,bb3,eb4,g4]@3 ~ [eb3,bb3,eb4,g4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~ [eb3,ab3,c4,eb4,ab4]@3 ~@22]/3", // Ab Eb Db Eb Ab
})).s("gm_acoustic_guitar_steel").gain(0.14)

// bass · electric bass finger
const bass = note(`<
  ~@5 A B C D C B C D C B C D E F G F G F G H C I C D C D J K L M L N L M L N C B O D C D P@8 Q@5 R@8 S@6 T@8 U@8 V@8
  W@2
>`.pickRestart({
  A: "ab1@3 ~ ab1@3 ~ ab1@3 ~ c2@3 ~@5 eb2@3 ~@5 c2@3 ~", B: "db2@11 ~ db2@3 ~ ab2@7 ~ eb2@7 ~",
  C: "ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~", D: "db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@7 ~",
  E: "ab1@11 ~ eb2@7 ~ f2@7 ~ ab2@3 ~", F: "db2@11 ~ f2@3 ~ ab2@7 ~ f2@7 ~",
  G: "ab1@11 ~ c2@7 ~ eb2@3 ~ f2@3 ~ ab2@3 ~", H: "db2@11 ~ f2@3 ~ ab2@3 ~ ab2@3 ~ f2@3 ~ eb2@3 ~",
  I: "db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~", J: "ab1@11 ~ c2@7 ~ eb2@3 ~@9",
  K: "~@16 ab2@3 ~ eb2@3 ~ eb2@7 ~", L: "ab1@11 ~ c2@3 ~ eb2@3 ~ eb2@3 ~ ab2@3 ~ db2@3 ~",
  M: "db2@11 ~ ab1@3 ~ db2@3 ~ eb2@3 ~ eb2@7 ~", N: "db2@11 ~ ab1@3 ~ db2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~",
  O: "ab1@3 ~@9 c2@7 ~ eb2@7 ~ c2@3 ~",
  P: "[ab1@11 ~ c2@7 ~ eb2@7 c2@3 ~ db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@7 ~ ab1]/8",
  Q: "[~@11 c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@3 ~@10]/5",
  R: "[~@15 ab2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ ab1@11 ~ c2@3 ~ eb2@3 ~ eb2@3 ~ ab2@3 ~ db2@3 ~ db2@11 ~ ab1@3 ~ db2@3 ~ eb2@3 ~ eb2@7 ~ ab1@11 ~ c2@3 ~ eb2@3 ~ eb2@3 ~ ab2@3 ~ db2@3 ~ db2@11 ~ ab1@3 ~ db2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ ab1@11 ~ c2@3 ~ eb2@3 ~ eb2@3 ~ ab2@3 ~ db2@3 ~ db2@11 ~ ab1@3 ~ db2@3 ~ eb2@3 ~ eb2@7 ~ ab1@11 ~ c2@3 ~ eb2@3 ~ eb2@3 ~ ab2@3 ~ db2@3 ~ db2]/8",
  S: "[~@11 ab1@3 ~ db2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ ab1@3 ~ ab1@3 ~ ab1@3 ~ ab1@3 ~ ab1@3 ~ ab1@3 ~ ab1@3 ~ ab1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ eb2]/6",
  T: "[~@3 eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@7 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@7 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2]/8",
  U: "[~@11 db2@3 ~ ab2@7 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@7 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@7 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2]/8",
  V: "[~@11 db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@7 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2@11 ~ db2@3 ~ ab2@7 ~ eb2@7 ~ ab1@11 ~ c2@7 ~ eb2@7 ~ c2@3 ~ db2]/8",
  W: "[~@11 db2@3 ~ ab2@3 ~ eb2@3 ~ eb2@7 ~ ab1@3 ~ ab1@3 ~ ab1@3 ~@22]/2",
})).s("gm_electric_bass_finger").gain(0.31)

// other · electric guitar clean
const electric_guitar_clean = note("<~@17 A@5 B@3 ~@25 C@3 ~@25 D@5 ~@17>".pickRestart({
  A: "[bb4@19 ~ bb4@6 a4@5 ab4@18 ~@3 ab4@6 a4@5 bb4@19 ~@2 bb4@5 ~ a4@5 ab4@27 ~@5 bb4@19 ~@2 bb4@5 ~ a4@6]/5",
  B: "[ab4@18 ~@2 ab4@6 a4@5 bb4@19 ~@2 bb4@6 a4@5 ab4@20 ~@13]/3",
  C: "[~@31 bb4@19 ~ bb4@7 a4@5 ab4@18 ~@2 ab4@7 ~@6]/3",
  D: "[~@19 ab4@6 a4@6 bb4@19 ~ bb4@5 ~ a4@6 ab4@27 ~@4 bb4@19 ~@2 bb4@5 ~ a4@6 ab4@18 ~@15]/5",
})).s("gm_electric_guitar_clean").gain(0.36).pan(0)

// chords · electric guitar muted
const electric_guitar_muted = note("<~@68 A@7 ~@25>".pickRestart({
  A: "[~@31 [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [eb2,bb2,eb3]@3 ~ [eb2,bb2,eb3]@3 ~ [eb2,bb2,eb3]@3 ~ [eb2,bb2,eb3]@3 ~ [eb2,bb2,eb3]@3 ~ [eb2,bb2,eb3]@3 ~ [eb2,bb2,eb3]@3 ~ [eb2,bb2,eb3]@3 ~ [ab2,eb3,ab3,c4]@3 ~ [ab2,eb3,ab3,c4]@3 ~ [ab2,eb3,ab3,c4]@3 ~ [ab2,eb3,ab3,c4]@3 ~ [ab2,eb3,ab3,c4]@3 ~ [ab2,eb3,ab3,c4]@3 ~ [ab2,eb3,ab3,c4]@3 ~ [ab2,eb3,ab3,c4]@3 ~ [f2,c3,f3,c4]@3 ~ [f2,c3,f3,c4]@3 ~ [f2,c3,f3,c4]@3 ~ [f2,c3,f3,c4]@3 ~ [f2,c3,f3,c4]@3 ~ [f2,c3,f3,c4]@3 ~ [f2,c3,f3,c4]@3 ~ [f2,c3,f3,c4]@3 ~ ab2@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [db3,ab3,db4]@3 ~ [eb3,bb3,eb4]@3 ~ [eb3,bb3,eb4]@3 ~ [eb3,bb3,eb4]@3 ~ [eb3,bb3,eb4]@3 ~ [eb3,bb3,eb4]@3 ~ [eb3,bb3,eb4]@3 ~ [eb3,bb3,eb4]@3 ~ [eb3,bb3,eb4]@3 ~ [eb3,bb3,eb4]@3 ~@2]/7", // Db5 Eb5 Ab F5 Db5 Eb5
})).s("gm_electric_guitar_muted").gain(0.4)

// other · electric guitar clean
const electric_guitar_clean_2 = note("<~@17 A B C D C E A F ~@25 G@3 ~@24 H@6 ~@17>".pickRestart({
  A: "eb5@9 ~ eb5@3 d5@3", B: "db5@19 ~ db5@6 d5@6", C: "eb5@19 ~ eb5@6 d5@6", D: "db5@7 ~", E: "db5@9 ~ db5@3 d5@3",
  F: "db5@13 ~@3", G: "[~@31 eb5@18 ~@2 eb5@6 d5@6 db5@19 ~ db5@8 ~@5]/3",
  H: "[~@31 db5@19 ~ db5@6 d5@6 eb5@19 ~ eb5@6 d5@6 db5@28 ~@4 eb5@19 ~ eb5@6 d5@6 db5@18 ~@15]/6",
})).s("gm_electric_guitar_clean").gain(0.22).pan(1)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note("<A@2 B C D@2 B C E ~@22 F@2 ~@7 G@3 H@2 ~@14 I@2 ~@39>".pickRestart({
  A: "[~@31 [bb3,eb4]@5 ~ bb3@3 [bb3,f4]@4 [bb3,eb4]@4 f4@4 [bb3,eb4]@4 ~@4 [ab3,db4]@4, ~@36 eb4@4 ~@8 bb3@3 ~@13]/2", // Eb5 Bb5 Eb5 Db5
  B: "eb4@4 [ab3,db4]@4 eb4@4 db4@5 ~@3 [g3,c4]@4 [ab3,db4]@4 [ab3,c4]@4, ab3@3 ~@5 ab3@3 ~ ab3@3 ~@17", // Db5 C5 Db5 Ab
  C: "~@8 [c4,eb4]@4 [c4,eb4]@4 [c4,eb4]@4 [c4,eb4]@5 ~@7", // Cm
  D: "[[c4,f4]@9 ~@3 eb4@2 ~@2 c4@11 ~@4 [bb3,eb4]@5 ~ bb3@3 [bb3,f4]@4 [bb3,eb4]@4 f4@4 [bb3,eb4]@4 ~@4 [ab3,db4]@4, ~@14 db4@5 ~@17 eb4@4 ~@8 bb3@3 ~@13]/2", // F5 Eb5 Bb5 Eb5 Db5
  E: "[c4,f4]@9 ~@3 eb4@2 ~@2 c4@11 ~@5, ~@7 db4@2 ~@7", // F5
  F: "[~@8 [c4,eb4]@4 [c4,eb4]@4 [c4,eb4]@3 ~ eb4@5 ~@7 f4@8 ~@4 eb4@2 ~@2 c4@11 ~@5, ~@19 c4@4 ~@8 c4@9 ~@6 db4@5 ~@13]/2", // Cm
  G: "[~@31 [bb3,eb4]@5 ~ bb3@3 [bb3,f4]@4 [bb3,eb4]@4 bb3@3 ~ bb3@4 ~@4 db4@3 ~@5 db4@3 ~@5 db4@5 ~@3 [g3,c4]@3 ~ db4@3 ~ c4@4, ~@36 eb4@4 ~@8 f4@5 ~@11 eb4@5 ~@3 eb4@5 ~@19, ~@51 eb4@4 ~@4 ab3@3 ~ ab3@3 ~ ab3@3 ~ ab3@3 ~ ab3@3 ~@9 ab3@3 ~ ab3@4 ~]/3", // Eb5 Bb5 Eb5 C5
  H: "[~@8 [c4,eb4]@3 ~ c4@3 ~ [c4,eb4]@3 ~ eb4@5 ~@7 f4@8 ~@4 eb4@2 ~@2 c4@11 ~@5, ~@11 eb4@4 ~@4 c4@4 ~@8 c4@9 ~@6 db4@5 ~@13]/2", // Cm
  I: "[~@8 c4@3 ~ c4@3 [c4,eb4]@4 [c4,eb4]@5 ~@7 [c4,f4]@9 ~@3 eb4@2 ~@2 c4@11 ~@6, ~@7 eb4@4 eb4@4 ~@30 db4@5 ~@14]/2", // Cm F5
})).s("gm_acoustic_guitar_steel").gain(0.31)

// chords · epiano1
const epiano1 = note("<~@17 A B A B A B A C ~@8 D E D E D E D F ~@19 G@8 ~@32>".pickRestart({
  A: "~@4 eb2@3 ~ f2@3 ~ ab2@3 ~@5 eb2@3 ~ f2@3 ~ ab2@3 ~, [c4,g4]@15 ~", // C5
  B: "~@4 eb2@3 ~ f2@3 ~ ab2@3 ~@5 eb2@3 ~ f2@3 ~ ab2@3 ~, [db4,f4]@29 ~@3", // Db
  C: "~@4 eb2@3 ~ f2@3 ~ ab2@3 ~@5 eb2@3 ~ f2@3 ~ ab2@3 ~, [db4,f4]@7 ~", D: "[c4,g4]@15 ~", E: "[db4,f4]@29 ~@3",
  F: "[db4,f4]@7 ~", // Db
  G: "[~@31 [c4,g4]@30 ~@2 [db4,f4]@29 ~@3 [c4,g4]@30 ~@2 [db4,f4]@29 ~@3 [c4,g4]@30 ~@2 [db4,f4]@29 ~@3 [c4,g4]@30 ~@2 [db4,f4]]/8", // C5 Db C5 Db C5 Db C5 Db
})).s("gm_epiano1").gain(0.25)

// other · pad choir
const pad_choir = note("<~@71 A@2 ~@27>".pickRestart({
  A: "[~@27 c5@8 ~@29]/2",
})).s("gm_pad_choir").gain(0.2)

// drums · kick
const kick = s("bd").struct("<~ A@4 B@11 A@8 C B@6 A D E@8 F@2 G F B@2 H I@11 J K L@8 M@6 I@24 ~>".pickRestart({
  A: "x ~@4 x ~@2", B: "x ~@4 x ~ x", C: "x!2 ~@8 x ~@5", D: "~@7 x", E: "x ~@6 x!2 ~ x ~@3 x ~", F: "x ~@2 x!3 ~ x",
  G: "x", H: "x ~@19 x ~@6 x ~@3 x", I: "~@19 x ~@7 x ~@3 x", J: "~@19 x ~@12", K: "~@27 x ~@3 x",
  L: "~@13 x ~ x ~@3 x ~@7 x ~@3 x", M: "~@19 x ~@11 x",
})).gain(0.36)

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

// drums · hihat
const hihat = s("hh").struct("<A B@23 C B@6 D E B@10 F B@3 G H@11 I J H@38 K>".pickRestart({
  A: "x!4", B: "x!8", C: "x!5 ~@3", D: "x!6 ~@2", E: "~@5 x!3", F: "x",
  G: "x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x", H: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x",
  I: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@12", J: "~@19 x ~@3 x ~@3 x ~@3 x", K: "~@3 x ~@3 x ~@24",
})).gain(0.48)

// drums · tambourine
const tambourine = s("tb").struct("<~@83 A B A B A B A B A B A B A B A B C>".pickRestart({
  A: "~@7 x ~@15 x ~@8", B: "~@7 x ~@15 x ~@3 x ~@4", C: "~@7 x ~@24",
})).gain(0.54)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~ A@30 B C A@10 D A@3 E F@11 G H F@38 I>".pickRestart({
  A: "x!8", B: "x!6 ~@2", C: "~@5 x!3", D: "x", E: "x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x",
  F: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x", G: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@12",
  H: "~@19 x ~@3 x ~@3 x ~@3 x", I: "~@3 x ~@3 x ~@24",
})).gain(1.83)

stack(
  acoustic_guitar_steel, bass, electric_guitar_clean, electric_guitar_muted, electric_guitar_clean_2,
  acoustic_guitar_steel_2, epiano1, pad_choir, kick, snare, hihat, tambourine, cabasa
)

More by Sugar Ray