Strudelify

Am I the Same Girl

Swing Out Sister

KeyA♭ majorTempo92 bpm
0:00/0:00
// Am I the Same Girl — Swing Out Sister
// 92 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 99 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(92/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 · "FingrdBas"
const bass = note(`<
  A@2 B@2 C D E F G H C D E F C D E F C D E F C D E I J K C D E F G H C D E F C D E F C D E F C D E F C D E F J K C D E
  F C D E F G L M N O P M N O Q C D E F C D E R C D E F C D E F C D E R C D E F ~
>`.pickRestart({
  A: "[ab1@12 bb1@11 ~ db2@11 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@3 ~ db2@4 db2@3 ~ db2@4]/2",
  B: "[ab1@11 ~ bb1@11 ~ db2@11 ~ db2@4 db2@3 ~ db2@3 ~ db2@3 ~ db2@4 db2@3 ~ db2@4]/2",
  C: "ab1@2 ~@2 ab1@2 ~@8 ab1@2 c2 ~ c2@2 ~@2 db2@2 ~@2 d2 ~@3 eb2 ~",
  D: "eb1@2 ~@2 eb1@2 ~@8 eb1@2 eb1@2 ~@5 eb1 eb1@2 eb1 ~ bb1@2 f1@2",
  E: "ab1@2 ~@2 ab1@2 ~@8 ab1@2 ab1 ~ c2@2 ~@2 db2@2 ~@2 d2 ~@3 eb2 ~",
  F: "eb1@2 ~@2 eb1@2 ~@8 eb1@2 eb1@2 ~@5 eb1 bb1@2 eb1 ~ g1@4", G: "eb1@6 f1@6 ab1@6 bb1@6 c2@3 ~ bb1@2 ~@2",
  H: "eb1@3 f1@3 ab1@3 bb1@3 c2@2 eb2@2", I: "eb1@2 ~@2 eb1@2 ~@8 eb1@2 eb1@2 ~@2 eb1@2 ~ eb1 bb1@2 eb1 ~ g1@4",
  J: "c2@9 ~@3 db2 ~ db2@18", K: "eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@4",
  L: "eb1@3 f1@3 bb1@3 c2@3 d2@2 f2@2", M: "bb1@2 ~@2 bb1@2 ~@8 bb1@2 d2 ~ d2@2 ~@2 eb2@2 ~@2 e2 ~@3 f2 ~",
  N: "f1@2 ~@2 f1@2 ~@8 f1@2 f1@2 ~@5 f1 f1@2 f1 ~ c2@2 g1@2",
  O: "bb1@2 ~@2 bb1@2 ~@8 bb1@2 bb1 ~ d2@2 ~@2 eb2@2 ~@2 e2 ~@3 f2 ~",
  P: "f1@2 ~@2 f1@2 ~@8 f1@2 f1@2 ~@5 f1 c2@2 f1 ~ a1@4",
  Q: "f1@2 ~@2 f1@2 ~@8 f1@2 f1@2 f1@2 ~@2 f1@2 ~@2 gb1 ~@3 g1 ~",
  R: "eb1@2 ~@2 eb1@2 ~@8 eb1@2 eb1@2 eb1 ~@4 eb1 eb1@2 eb1 ~ bb1@2 f1@2",
})).s("gm_electric_bass_finger").gain(0.27)

// chords · brass section · "Brass 1"
const brass_section = note(`<
  ~@3 A B C D E ~@9 F G H I J K L K L M N O P Q J ~ A B C D R ~@7 F G H I J K L K L M N O P Q S B C D R T@3 U V W X U V
  Y Z AA AB AC AD AE AF AG AH AI AJ AC AH AI AK AL AM AI AN AC AH AI AF AO ~
>`.pickRestart({
  A: "~@28 [f4,f5]@2 [gb4,gb5] ~, ~@13 [c4,eb4,eb5] ~@2, ~@27 db4@2 ~ d4@2", // F Gb Cm
  B: "[eb4,g4,g5]@2 [eb4,g4,g5] ~@13 [eb4,g4,g5]@2 eb4 [g4,g5] ~@2 [eb4,g4,g5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, ~@13 c4 ~@2", // Eb G Eb Db Eb
  C: "[f4,ab4,ab5]@2 ~ [f4,ab4,ab5] ~@12 [f4,ab4,ab5]@2 [f4,ab4,ab5] ~@3 [f4,ab4,ab5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [gb4,gb5] ~, ~@13 c4 ~ d4", // Fm Eb Db Gb
  D: "[eb4,g4,g5]@3 [eb4,g4,g5] ~@12 [eb4,g4,g5]@2 eb4 [g4,g5] ~@2 [eb4,g4,g5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, ~@13 c4 ~@2", // Eb G Eb Db Eb
  E: "[f4,ab4,ab5]@2 ab5 [f4,ab4] ~@12 [f4,ab4,ab5]@2 [f4,ab4,ab5] ~@3 [f4,ab4,ab5] ~@9", // Fm
  F: "~@27 f4@3 gb4@2, ~@13 eb4 ~@2", G: "g4@2 [eb4,g4] ~@13 [eb4,g4]@2 g4 eb4 ~@2 [eb4,g4] ~@3 eb4@2 f4@2 g4 ~",
  H: "[f4,ab4]@2 ~ [f4,ab4] ~@12 [f4,ab4]@2 [f4,ab4] ~@3 [f4,ab4] ~@3 eb4@2 f4@2 gb4@2", // Fm
  I: "[eb4,g4]@3 [eb4,g4] ~@12 [eb4,g4]@2 g4 eb4 ~@2 [eb4,g4] ~@3 eb4@2 f4@2 g4 ~", // Eb
  J: "[f4,ab4]@2 ~ [f4,ab4] ~@12 [f4,ab4]@2 [f4,ab4] ~@3 [f4,ab4] ~@9", // Fm
  K: "~@4 [eb4,g4]@2 [eb4,g4]@2 [eb4,g4]@2 [eb4,g4] ~@21", L: "~@4 [f4,ab4]@2 [f4,ab4]@2 [f4,ab4]@2 [f4,ab4] ~@21",
  M: "[c4,eb4]@11 ~ f4@20, ~@11 db4@21", N: "[bb3,eb4]@25 ~@3 f4@2 d4@2, ~@13 [c4,eb4] ~@2, ~@27 db4@2 ~ gb4 ~",
  O: "[eb4,g4]@2 [eb4,g4] ~@13 [eb4,g4]@2 eb4 g4 ~@2 [eb4,g4] ~@3 c4@2 [db4,f4]@2 [eb4,g4] ~, ~@26 eb4 ~@5", // Eb Db Eb
  P: "[f4,ab4]@2 ~ [f4,ab4] ~@12 [f4,ab4]@2 [f4,ab4] ~@3 [f4,ab4] ~@3 c4@2 [db4,f4]@2 d4@2, ~@26 eb4 ~@3 gb4 ~", // Fm Db
  Q: "[eb4,g4]@3 [eb4,g4] ~@12 [eb4,g4]@2 eb4 g4 ~@2 [eb4,g4] ~@3 c4@2 [db4,f4]@2 [eb4,g4] ~, ~@26 eb4 ~@5", // Eb Db Eb
  R: "[f4,ab4,ab5]@2 ab5 [f4,ab4] ~@12 [f4,ab4,c5,ab5]@2 [f4,ab4,c5,ab5] ~@3 [f4,ab4,bb4,ab5] ~@9", // Fm Bb7
  S: "[f4,ab4]@2 ~ [f4,ab4] ~@12 [f4,ab4]@2 [f4,ab4] ~@3 [f4,ab4] ~@5 [f4,f5]@2 [gb4,gb5] ~, ~@13 [c4,eb4,eb5] ~@2, ~@27 db4@2 ~ d4@2", // Fm F Gb Cm
  T: "[~@32 eb4@6 [f3,f4]@6 [bb3,bb4]@6 [d4,d5] ~ [d4,d5]@2 [eb4,eb5]@2 [f4,f5]@2 [f4,f5]@2 f5 ~@3 [f4,a4]@2 [f4,a4,a5] ~@13 [f4,a4,a5]@2 f4 [a4,a5] ~@2 [f4,a4,a5] ~@3 [f4,f5] ~ [eb4,g4,g5]@2 [f4,a4,a5] ~, ~@31 eb3@6 ~@23 f4@2 [ab4,ab5]@2 ~@26 d4@2 ~@4, ~@61 [g4,g5]@2 a5@2 ~@31]/3", // F Bb D Eb F A F Eb …
  U: "[g4,bb4,bb5]@2 ~ [g4,bb4,bb5] ~@12 [g4,bb4,bb5]@2 [g4,bb4,bb5] ~@3 [g4,bb4,bb5] ~@3 [f4,f5] ~ [eb4,g4,g5]@2 [ab4,ab5] ~, ~@13 d4 ~ e4", // Gm F Eb Ab
  V: "[f4,a4,a5]@3 [f4,a4,a5] ~@12 [f4,a4,a5]@2 f4 [a4,a5] ~@2 [f4,a4,a5] ~@3 [f4,f5] ~ [eb4,g4,g5]@2 [f4,a4,a5] ~, ~@13 d4 ~@2", // F A F Eb F
  W: "[g4,bb4,bb5]@2 bb5 [g4,bb4] ~@12 [g4,bb4,bb5]@2 [g4,bb4,bb5] ~@3 [g4,bb4,bb5] ~@5 [g4,g5]@2 [ab4,ab5] ~, ~@13 [d4,f4,f5] ~@2, ~@27 eb4@2 ~ e4@2", // Gm G Ab Dm
  X: "[f4,a4,a5]@2 [f4,a4,a5] ~@13 [f4,a4,a5]@2 f4 [a4,a5] ~@2 [f4,a4,a5] ~@3 [f4,f5] ~ [eb4,g4,g5]@2 [f4,a4,a5] ~, ~@13 d4 ~@2", // F A F Eb F
  Y: "[g4,bb4,bb5]@2 bb5 [g4,bb4] ~@12 [g4,bb4,bb5]@2 [g4,bb4,bb5] ~@3 [g4,bb4,bb5] ~@9", // Gm
  Z: "[eb4,g4,g5]@2 [eb4,g4,g5] ~@13 [eb4,g4,g5]@2 [bb3,c4,eb4] [g4,g5] ~@2 [bb3,c4,eb4,g4,g5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, [bb3,c4]@4 ~@12 [bb3,c4] ~@9 c4@2 ~@4", // Eb Cm7 G Cm7 Eb Db Eb Bbsus2
  AA: "[f4,ab4,ab5]@2 ~ [f4,ab4,ab5] ~@12 [f4,ab4,ab5]@2 [c4,db4,f4,ab4,ab5] ~@3 [c4,db4,f4,ab4,ab5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [gb4,gb5] ~, ~@16 [c4,db4] ~@9 c4@2 ~@2 d4@2", // Fm Dbmaj7 Eb Db Gb Dbmaj7
  AB: "[eb4,g4,g5]@3 [eb4,g4,g5] ~@12 [bb3,eb4,g4,g5]@2 [bb3,c4,eb4] [g4,g5] ~@2 [eb4,g4,g5] [bb3,c4] ~@2 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, ~@16 c4 ~@9 c4@2 ~@4", // Eb Cm7 G Eb Bbsus2 Eb Db Eb
  AC: "[f4,ab4,ab5]@2 ab5 [f4,ab4] ~@12 [f4,ab4,ab5]@2 [c4,db4,f4,ab4,ab5] ~@3 [c4,db4,f4,ab4,ab5] ~@5 [f4,f5]@2 [gb4,gb5] ~, ~@16 [c4,db4] ~@9 [c4,eb4,eb5]@2 ~@4, ~@27 db4@2 ~ d4@2", // Fm Dbmaj7 F Gb Dbmaj7 Cm
  AD: "[eb4,g4,g5]@2 [eb4,g4,g5] ~@13 [eb4,g4,g5]@2 [bb3,c4,eb4] [g4,g5] ~@2 [bb3,c4,eb4,g4,g5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, ~@16 [bb3,c4] ~@9 c4@2 ~@4", // Eb Cm7 G Cm7 Eb Db Eb Bbsus2
  AE: "[f4,ab4,ab5]@2 ~ [f4,ab4,ab5] ~@12 [db4,f4,ab4,ab5]@2 [c4,db4,f4,ab4,ab5] ~@3 [c4,db4,f4,ab4,ab5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [gb4,gb5] ~, ~@16 c4 ~@9 c4@2 ~@2 d4@2", // Fm Db Dbmaj7 Eb Db Gb
  AF: "[eb4,g4,g5]@3 [eb4,g4,g5] ~@12 [bb3,c4,eb4,g4,g5]@2 [bb3,c4,eb4] [g4,g5] ~@2 [bb3,c4,eb4,g4,g5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, ~@13 c4 ~@2", // Eb Cm7 G Cm7 Eb Db Eb
  AG: "[f4,ab4,ab5]@2 ab5 [f4,ab4] ~@12 [c4,f4,ab4,ab5]@2 [c4,db4,f4,ab4,ab5] ~@3 [c4,db4,f4,ab4,ab5] ~@5 [f4,f5]@2 [gb4,gb5] ~, ~@16 db4 ~@9 [c4,eb4,eb5]@2 ~@4, ~@27 db4@2 ~ d4@2", // Fm Dbmaj7 F Gb Cm
  AH: "[eb4,g4,g5]@2 [eb4,g4,g5] ~@13 [bb3,c4,eb4,g4,g5]@2 [bb3,c4,eb4] [g4,g5] ~@2 [bb3,c4,eb4,g4,g5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, ~@13 c4 ~@2", // Eb Cm7 G Cm7 Eb Db Eb
  AI: "[f4,ab4,ab5]@2 ~ [f4,ab4,ab5] ~@12 [c4,db4,f4,ab4,ab5]@2 [c4,db4,f4,ab4,ab5] ~@3 [c4,db4,f4,ab4,ab5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [gb4,gb5] ~, ~@13 c4 ~ d4", // Fm Dbmaj7 Eb Db Gb
  AJ: "[eb4,g4,g5]@3 [eb4,g4,g5] ~@12 [eb4,g4,g5]@2 [bb3,c4,eb4] [g4,g5] ~@2 [bb3,eb4,g4,g5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, ~@16 [bb3,c4] ~@5 c4@2 ~@2 c4@2 ~@4", // Eb Cm7 G Eb Db Eb Bbsus2
  AK: "[eb4,g4,g5]@3 [eb4,g4,g5] ~@12 [c4,eb4,g4,g5]@2 [bb3,c4,eb4] [g4,g5] ~@2 [bb3,c4,eb4,g4,g5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, ~@15 bb3@2 ~@9 c4@2 ~@4", // Eb Cm Cm7 G Cm7 Eb Db Eb
  AL: "[f4,ab4,ab5]@2 ab5 [f4,ab4] ~@12 [c4,db4,f4,ab4,ab5]@2 [c4,db4,f4,ab4,ab5] ~@3 [c4,db4,f4,ab4,ab5] ~@5 [f4,f5]@2 [gb4,gb5] ~, ~@13 [c4,eb4,eb5] ~@2, ~@27 db4@2 ~ d4@2", // Fm Dbmaj7 F Gb Cm
  AM: "[eb4,g4,g5]@2 [eb4,g4,g5] ~@13 [eb4,g4,g5]@2 [bb3,c4,eb4] [g4,g5] ~@2 [bb3,c4,eb4,g4,g5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, ~@15 bb3@2 ~@15, ~@16 c4 ~@9 c4@2 ~@4", // Eb Cm7 G Cm7 Eb Db Eb
  AN: "[eb4,g4,g5]@3 [eb4,g4,g5] ~@12 [eb4,g4,g5]@2 [bb3,c4,eb4] [g4,g5] ~@2 [bb3,c4,eb4,g4,g5] ~@3 [eb4,eb5] ~ [db4,f4,f5]@2 [eb4,g4,g5] ~, ~@15 [bb3,c4]@2 ~@9 c4@2 ~@4", // Eb Cm7 G Cm7 Eb Db Eb Bbsus2
  AO: "[f4,ab4,ab5]@2 ab5 [f4,ab4] ~@12 [f4,ab4,ab5]@2 [c4,db4,f4,ab4,ab5] ~@3 [c4,db4,f4,ab4,ab5] ~@9, ~@16 [c4,db4] ~@15", // Fm Dbmaj7
})).s("gm_brass_section").gain(0.29)

// chords · rock organ · "Organ 3"
const rock_organ = note("<~@73 A@2 B C@3 D E F G H I H I H I J G H I H I J I H ~>".pickRestart({
  A: "[~@23 [f3,g3] gb3 bb3 [db4,eb4] gb4 ab4 bb4 ~ [c6,d6] g6@20 eb6@2 c6 ~ eb6@8, ~@23 [a3,b3]@2 [d4,e4]@2 [a4,b4,c5]@2 [e5,f5]@2 gb6@2 ~@31, ~@24 c4@2 [f4,g4]@2 d5@2 [g5,a5,b5]@2 e6 ~@23 d6 ~@7]/2", // Fsus2 Dbsus2 Csus2 Asus2 Dsus2 Am Fmaj7 Fsus2 …
  B: "c6@2 ~ bb5 c6@8 bb5 ~@3 bb5@11 ~ ab5@3 f5, bb5 ~@31",
  C: "[g5@6 eb5@42 g5@3 ~ eb5@2 bb5@4 g5 ~ c6@12 f6@2 eb6@2 c6@3 ~ eb6@2 ~ c6 f6@2 ~@2 c6@2 f6@2 eb6@2 c6@2, ~@48 f5 ~@5 ab5@2 ~@23 f6@2 ~@3 eb6 ~@2 eb6@2 ~ eb6 ~@5]/3",
  D: "f6@10 eb6@2 c6@2 bb5 ~ c6@8 bb5@2 ab5 ~ bb5@4, eb6 ~@15 b5 ~@15",
  E: "g5@2 f5 ~ g5@3 ~ f5@2 ~ eb5 f5@4 eb5@2 c5 ~ eb5@12", F: "c6@2 bb5 ~ c6@11 ~ ab5@2 ~ eb5@13, ~@15 bb5@2 ~@15",
  G: "~@8 [c5,eb5,g5,bb5]@9 ~@15", H: "~ [db5,f5,ab5,c6] ~@2", I: "~ [c5,eb5,g5,bb5] ~@2",
  J: "~@8 [db5,f5,ab5,c6]@9 ~@15", // Dbmaj7
})).s("gm_rock_organ").gain(0.3)

// other · string ensemble 2 · "SlowStrin"
const string_ensemble_2 = note(`<
  ~@4 A@6 ~@12 B@2 C@2 D@2 E@8 F@2 ~@8 G@4 B@2 C@2 D@2 H@6 I@3 J@7 K L@8 ~ M@6 N@8 O@3
>`.pickRestart({
  A: "[eb6@23 c6@8 eb6@56 c6@8 eb6@26 c6@2 ab5@2 f5@2 eb5@32 eb6@33]/6", B: "[g4@23 c5@4 g4@4 ab4@33]/2",
  C: "[bb4@23 eb5@8 c5@32 ~]/2", D: "[g4@11 ab4@53]/2",
  E: "[eb6@23 c6@8 eb6@56 c6@8 eb6@26 c6@2 ab5@2 f5@2 eb5@32 eb6@56 c6@8 eb6@33]/8", F: "[~@23 c6@8 eb6@33]/2",
  G: "[c5@19 db5@8 eb5@4 bb4@32 c5@22 eb5@4 ~ ab5@5 bb4@33, ~@89 f5@3 ~@36]/4",
  H: "[eb6@23 c6@8 eb6@56 c6@8 eb6@56 c6@8 eb6@33]/6", I: "[~@23 c6@8 eb6@26 c6@2 ab5@2 f5@2 eb5@33]/3",
  J: "[~@11 bb5@6 c6@6 d6@4 d6 ~ eb6 ~ f6@24 d6@8 f6@56 d6@8 f6@56 d6@8 f6@33, ~@15 e6 ~@96]/7", K: "~@23 d6@8 f6",
  L: "[~@31 eb6@225]/8", M: "[~@23 c6@8 eb6@56 c6@8 eb6@56 c6@8 eb6@33]/6",
  N: "[~@23 c6@8 eb6@56 c6@8 eb6@56 c6@8 eb6@56 c6@8 eb6@33]/8", O: "[~@23 c6@8 eb6@57 ~@8]/3",
})).s("gm_string_ensemble_2").gain(0.1).pan(0.7)

// chords · electric guitar clean · "CleanGuit"
const electric_guitar_clean = note(`<
  ~@4 A B A B ~@2 A B A B A B A B A B A B A B A B ~@2 A B A B ~@2 A B A B A B A B A B A B A B A B A B A B ~@2 A B A B A
  B A B ~@2 C D C D C D C D A B A B A B A B A B A B A B A B A B A B A B A B ~
>`.pickRestart({
  A: "~@4 [c4,eb4,g4]@2 [c4,g4] ~ [c4,eb4,g4]@2 [eb4,g4] ~@5 [c4,eb4,g4]@2 [eb4,g4] ~@3 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~ [eb4,g4] ~@3", // Cm C5 Cm Eb Cm Eb Cm Eb
  B: "~@4 [db4,f4,ab4]@2 [db4,ab4] ~ [db4,f4,ab4]@2 [f4,ab4] ~@5 [db4,f4,c5]@2 [f4,c5] ~@3 [db4,f4,bb4] ~@3 [db4,f4,ab4] ~ [db4,f4,bb4] ~@3", // Db Db5 Db Fm Dbmaj7 F5 Bbm Db …
  C: "~@4 [d4,f4,a4]@2 [d4,a4] ~ [d4,f4,a4]@2 [f4,a4] ~@5 [d4,f4,a4]@2 [f4,a4] ~@3 [d4,f4,a4] ~@3 [d4,f4,a4] ~ [f4,a4] ~@3", // Dm D5 Dm F Dm F Dm F
  D: "~@4 [eb4,g4,bb4]@2 [eb4,bb4] ~ [eb4,g4,bb4]@2 [g4,bb4] ~@5 [eb4,g4,d5]@2 [g4,d5] ~@3 [eb4,g4,c5] ~@3 [eb4,g4,bb4] ~ [eb4,g4,c5] ~@3", // Eb Eb5 Eb Gm Ebmaj7 G5 Cm Eb …
})).s("gm_electric_guitar_clean").gain(0.1).pan(0.2)

// chords · electric guitar clean · "CleanGuit" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@4 A B A B ~@2 A B A B A B A B A B A B A B A B ~@2 A B A B ~@2 A B A B A B A B A B A B A B A B A B A B ~@2 A B A B A
  B A B ~@2 C D C D C D C D A B A B A B A B A B A B A B A B A B A B A B A B ~
>`.pickRestart({
  A: "~@6 eb4 ~@3 c4 ~@7 c4 ~@9 c4 ~@3", B: "~@6 f4 ~@3 db4 ~@7 db4 ~@13", C: "~@6 f4 ~@3 d4 ~@7 d4 ~@9 d4 ~@3",
  D: "~@6 g4 ~@3 eb4 ~@7 eb4 ~@13",
})).s("gm_electric_guitar_clean").gain(0.05).pan(0.2)

// chords · piano · "Piano 2"
const piano = note(`<
  A@2 B@2 C D C D E F C D C D C D C D C D C D C D C D ~@2 C D C D E F C D C D C D C D C D C D C D C D C D C D ~@2 C D C
  D C D C D E G H I H I H I H I C D C D C D C D C D C D C D C D C D C D C D C D ~
>`.pickRestart({
  A: "[[ab1,ab2,eb3,ab3,c4]@10 ~@2 [bb1,bb2,f3,ab3,db4]@11 ~ [db2,db3,ab3,db4,f4]@12 [db2,db3,ab3,db4,f4]@4 [db2,db3,ab3,db4,f4]@3 ~ [db2,db3,ab3,db4,f4]@4 [db2,db3,ab3,db4,f4]@3 ~ [db2,db3,ab3,db4,f4]@3 ~ [db2,db3,ab3,db4,f4]@4 [db2,db3,ab3,db4,f4]@4]/2", // Ab Bbm7 Db
  B: "[[ab1,ab2,eb3,ab3,c4]@11 ~ [bb1,bb2,f3,bb3,db4]@10 ~@2 [db2,db3,ab3,db4,f4]@11 ~ [db2,db3,ab3,db4,f4]@4 [db2,db3,ab3,db4,f4]@4 [db2,db3,ab3,db4,f4]@3 ~ [db2,db3,ab3,db4,f4]@3 ~ [db2,db3,ab3,db4,f4]@4 [db2,db3,ab3,db4,f4]@3 ~ [db2,db3,ab3,db4,f4]@4]/2", // Ab Bbm Db
  C: "~@8 [c4,eb4] ~ [c4,eb4] ~@5 [bb3,eb4]@2 [bb3,c4] ~@3 [bb3,c4,eb4]@2 ~@8, [ab1,ab2]@7 ~, ~@8 bb3@2 bb3@2 ~@4 c4 ~@15", // Cm Eb5 Bbsus2 Cm7 Ab
  D: "~@8 [ab3,bb3,db4,f4] ~ [ab3,bb3,db4,f4] ~@5 [ab3,db4,f4]@2 [ab3,bb3,db4,f4] ~@3 [bb3,db4,f4]@2 ~@8, [eb1,eb2], ~@16 bb3 ~@5 ab3 ~@9", // Bbm7 Db Bbm7 Bbm Eb
  E: "[eb4,eb6,eb7]@6 [f4,f6,f7]@5 ~ [ab4,ab6,ab7]@6 [bb4,bb6,bb7]@6 [c5,c7,c8]@4 [bb4,bb6,bb7]@2 ~@2", // Eb F Ab Bb C Bb
  F: "[eb4,eb6,eb7]@5 ~ [f4,f6,f7]@5 ~ [ab4,ab6,ab7]@6 [bb4,bb6,bb7]@6 [c5,c7,c8]@3 ~ [eb5,eb7,eb8]@4", // Eb F Ab Bb C Eb
  G: "[eb4,eb6,eb7]@5 ~ [f4,f6,f7]@5 ~ [bb4,bb6,bb7]@6 [c5,c7,c8]@6 [d5,d7,d8]@3 ~ [f5,f7,f8]@4", // Eb F Bb C D F
  H: "~@8 [d4,f4] ~ [d4,f4] ~@5 [c4,f4]@2 [c4,d4] ~@3 [c4,d4,f4]@2 ~@8, [bb1,bb2]@7 ~, ~@8 c4@2 c4@2 ~@4 d4 ~@15", // Dm F5 Csus2 Dm7 Bb
  I: "~@8 [bb3,c4,eb4,g4] ~ [bb3,c4,eb4,g4] ~@5 [bb3,eb4,g4]@2 [bb3,c4,eb4,g4] ~@3 [c4,eb4,g4]@2 ~@8, [f1,f2], ~@16 c4 ~@5 bb3 ~@9", // Cm7 Eb Cm7 Cm F
})).s("gm_piano").gain(0.1).pan(0.6)

// other · baritone sax · "Barit.Sax"
const baritone_sax = note("<~@26 A B ~@22 C D C E A B ~@17 F ~@25>".pickRestart({
  A: "c2@3 db2@5", B: "eb2", C: "~@4 bb3@2 bb3 ~ bb3@2 bb3 ~@21", D: "~@4 ab3@2 ab3 ~ ab3@2 ~ ab3 ~@20",
  E: "~@4 ab3@2 ab3 ~ ab3@4 ~@20", F: "~@18 f3 ~@3 f3 ~@3 gb3@2 ~@2 g3@2",
})).s("gm_baritone_sax").gain(0.2).pan(0.3)

// other · sitar
const sitar = note("<~@8 A B ~@22 A B ~@30 A C ~@33>".pickRestart({
  A: "eb3 ~@5 f3 ~@5 ab3 ~@5 bb3 ~@5 c4 ~@3 bb3 ~@3", B: "eb3 ~@5 f3 ~@5 ab3 ~@5 bb3 ~@5 c4 ~@3 eb4 ~@3",
  C: "eb3 ~@5 f3 ~@5 bb3 ~@5 c4 ~@5 d4 ~@3 f4 ~@3",
})).s("gm_sitar").gain(0.29).pan(0.4)

// drums · kick
const kick = s("bd").struct(`<
  A ~@2 B C D C D C@3 D C D C D C D C D C D C D C D E F C D C D A ~ C D C G C D C D C D C D C D C D C D C D E F C D C D
  C D C D A@2 C D C D C D C H C D C D C D C I C D C D C D C D C D C I C D C D ~
>`.pickRestart({
  A: "x", B: "~@9 x ~@5 x", C: "x ~@6 x ~@6 x ~", D: "x ~ x ~@4 x ~@8", E: "x ~@5 x!2 ~@6 x ~", F: "x ~ x ~@6 x ~@6",
  G: "x ~ x ~@4 x ~@7 x", H: "x ~ x ~@6 x ~ x ~ x ~ x", I: "x ~ x ~@6 x ~@2 x ~@3",
})).gain(0.28)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A B@5 C B@7 D E B E B@4 F B G E B E H ~ I B@3 J B@3 E B@3 D E B E B@6 G E B E B E B E@2 ~ I B@2 E B@4 K B@2 E B@4
  G B@2 E B@2 E B H B@3 G B@4 ~
>`.pickRestart({
  A: "~@8 x ~@5 x ~ x ~@4 x!2 ~@3 x ~ x ~@3", B: "~ x ~ x", C: "~@4 x ~@4 x ~@2 x ~ x!2", D: "~@4 x ~@4 x ~@2 x ~@3",
  E: "~@4 x ~@7 x ~@2 x", F: "~@4 x ~@4 x ~@2 x ~ x ~", G: "~@4 x ~@2 x!2 ~@2 x ~ x!2 ~", H: "~@4 x ~@7 x!2 ~@2",
  I: "~@9 x ~@2 x ~ x!2", J: "~@8 x ~@5 x ~ x ~@6 x ~@4 x ~@3", K: "~@4 x ~@2 x!2 ~@3 x ~@3",
})).gain(0.39)

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  ~@3 A ~@17 B ~@3 B ~ C ~@5 D ~@3 E ~@3 F ~@7 B ~@5 C ~@9 D ~@7 G ~@7 G ~@11 G ~@5
>`.pickRestart({
  A: "~@12 x!2 ~@6 x ~@11", B: "~@15 x", C: "~@20 x!2 ~@10", D: "~@19 x!4 ~@9", E: "~@11 x!3 ~@6 x!3 ~@3 x ~@5",
  F: "~@13 x ~@2", G: "~@13 x ~@18",
})).gain(0.11)

// drums · hihat
const hihat = s("hh").struct("<~@4 A B@22 C B@4 D@2 A B@20 C B@8 E D B@32 ~>".pickRestart({
  A: "~ x!3", B: "x!4", C: "x!2 ~@3 x!3", D: "x!8", E: "~ x!7",
})).gain(0.17)

// drums · open hat
const open_hat = s("oh").struct("<~@3 A B@23 C B@4 ~@2 B@21 C B@8 ~@2 B@32 ~>".pickRestart({
  A: "~ x ~@2", B: "~ x ~ x ~ x ~ x", C: "~ x!2 ~",
})).gain(0.22)

// drums · crash
const crash = s("cr").struct(`<
  A ~@3 B ~@5 B ~@6 C B ~@3 B ~@3 B ~ B ~@3 B ~@4 D B ~@3 B ~@3 B ~@3 B ~@2 C B ~ B ~@7 B ~ B ~@6 C B ~@7 B ~@2 E B ~@2
  F B ~@8
>`.pickRestart({
  A: "x ~@14 x", B: "x", C: "~@3 x", D: "~ x ~@2", E: "~@15 x", F: "~@2 x!2",
})).gain(0.22)

// drums · tambourine
const tambourine = s("tb").struct(`<
  ~@18 A B A B A B A B ~@2 A B A B ~@2 A B A B ~@8 A B A B A B A B ~@2 A B A B A B A B ~@2 A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B ~
>`.pickRestart({
  A: "~@4 x ~@2 x ~@3 x!2 ~@7 x ~ x ~@4 x!2 ~ x ~", B: "~@4 x ~@2 x ~@3 x!2 ~ x ~@5 x ~ x ~@4 x!2 ~@3",
// … 54 more lines