Strudelify
KeyF majorTempo105 bpm
0:00/0:00
// Sinnoh Lake Theme — Compoesed By Go Ichinose Carlos Eiene
// 105 bpm, 6/8, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (6/8 at bar 1, 5/8 at bar 62, 7/8 at bar 62, 6/8 at bar 64, ...) are rendered on a constant 6/8 grid of one bar per cycle
// note: ch 1 "Flute" named as a pipe, played on flute (its choir aahs patch is not one); ch 2 "Flute" named as a pipe, played on flute (its choir aahs patch is not one); ch 3 "Bass Clarinet" named as a reed, played on clarinet (its violin patch is not one); ch 4 "Vibraphone" named as a mallet, played on vibraphone (its pizzicato strings patch is not one); ch 7 "Piano" named as a piano, played on piano (its pizzicato strings patch is not one); ch 8 "Piano" named as a piano, played on piano (its tremolo strings patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5950393; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 192 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(105/3)

// 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 · flute
const flute = note(`<
  ~@6 A@12 B@3 A ~@10 C D E F G H ~@2 I J@2 ~ K L M@2 N O@2 P Q L@3 N O@2 R S T U V W ~@5 X Y Z@2 AA@2 AB@2 AC@2 AD ~@7
  A AE A AF AG AH AI AJ AK@3 ~@10 AL AM AN@2 AO AP@2 AQ AR AS@7 AT AU AV AW AX ~@15 AY@8 AZ@6 BA@8 ~@2 BB@8 BC@8 BD@7
>`.pickRestart({
  A: "f6 ~ c6 ~ d6@2 ~@6 a5 ~ f5 ~ g5@2 ~@6",
  B: "f6 ~ c6 ~ d6@2 ~@2 [bb3,c4]@4 a5 ~ f5 ~ [bb3,c4]@4 ~@4, [bb3,c4]@2 ~@6 g5 ~@3", C: "~@10 a4 bb4",
  D: "c5 bb4 a4 bb4 c5 d5 g5 f5 e5 f5 g5 a5", E: "~@10 c6 bb5", F: "a5 bb5 a5 g5 a5 f6 e6 d6 c6 bb5 a5 g5",
  G: "f5@11 ~@9 a5@2 bb5@2", H: "c6@2 bb5@2 a5@2 bb5@2 c6@4 e6@2 d6@2 c6@2 d6@2 e6 f6 g6@2",
  I: "~@5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5", J: "[f5 g5 a5@44 ~@2, [bb3,d4]]/2",
  K: "~@10 g5 d5", L: "eb5 e5@20 ~ f5@2", M: "e5@21 ~ f5@2", N: "gb5 g5@16 ~ f5@2 e5@2 d5@2",
  O: "[eb5 e5@2 ~ c5@38 ~@2 a4@2 bb4@2]/2", P: "b4@21 ~ a4@2", Q: "eb5 e5@11 g5@2 f5@2 e5@2 d5@2 c5@2 d5@2",
  R: "b4@3 a4 e5@3 d5 g5@3 f5", S: "b5@3 a5 e6@3 d6 g6@3 f6", T: "~@4 e6@2 d6@2 g6@2 ~@4 b5@2 a5@2 d6 ~@5",
  U: "g5 f5 a5 ~@2 b5 g5 d5 ~@2 d5 e5", V: "f5 e5 g5 f5 a5 g5 b5 c6 d6 e6 g6 ab6", W: "a6@23 ~",
  X: "eb5@2 c5@2 a4@2 gb4@2 a4 c5 ~ eb5 gb5@2 eb5@2 c5@2 a4@2 c5 eb5 ~ gb5",
  Y: "a5@2 gb5@2 eb5@2 c5@2 d5 eb5 [gb5,g5] a5 b5@6 a5@2 g5@2 b5@2", // Gmaj7
  Z: "[a5@8 gb5@4 d5@15 ~ a4@4 d5@4 b4@4 g5@8, [e3,g3]]/2", // Em
  AA: "[e5@4 gb5@2 ~@12 gb5@3 db5@3, [g3,bb3]@6 [bb3,db4]@5 ~, ~@12 g5@23 ~@13]/2", // Gm Bbm
  AB: "[e5@17 ~@3 d5@2 e5@2, [a3,d4]]/2", // D5
  AC: "[f5@23 ~ f6 g6 f6 g6 f6 g6 f6 g6 f6 g6 f6 g6 f6 g6 f6 g6 f5 g5 a5 bb5 [c6,d6] e6 f6 g6, [g3,d4]]/2", // Csus2 G5
  AD: "f6 ~@5", AE: "a5@23 ~", AF: "e5@2 g5@2 c6@2 d6!2 c6 ~ g5 b5", AG: "c6 ~ g5 ~ a5@2 ~@6 e5 ~ c5 ~ d5@2 ~@6",
  AH: "e5@23 ~", AI: "b5 ~ g5 ~ a5@2 ~@6 e5 ~ b4 ~ d5@2 ~@6", AJ: "b4@2 e5@2 a5@2 b5@2 c6@2 b4 d5",
  AK: "[b4@4 e5@4 a5@4 b5@4 c6@4 b4@2 d5@2 b4@4 e5@4 a5@4 b5@4 c6@4 [a5,bb5] [b5,c6,db6] [d6,eb6,e6] [f6,gb6,g6] [ab6,a6] bb6 a6 bb6 a6 bb6 a6 bb6 a6 bb6 a6 bb6 a6 bb6 a6 bb6 a6 bb6 a6 bb6 a6 bb6 a6 bb6, [f3,a3]]/3", // Bbmaj7 Amaj7 F
  AL: "~@10 g6 d6", AM: "e6@11 f6", AN: "e6@21 ~ f6@2", AO: "g6@17 ~ f6@2 e6@2 d6@2",
  AP: "[eb6 e6@2 ~ c6@38 ~@2 a5@2 bb5@2]/2", AQ: "b5@9 ~ a5@2 g6@2 f6@2 eb6@2 ~@6",
  AR: "f6 db6 a5 ~@2 eb5 f5 a5 db5 ~@2 f5",
  AS: "[g5@2 a5@2 b5@2 db6@2 eb6@2 f6@2 e6@22 f6@2 eb6 e6@20 ~ f6@2 eb6 e6@20 ~ f6@2 gb6 g6@16 ~ f6@2 e6@2 d6@2 eb6 e6@2 ~ c6@38 ~@2 a4@2 bb4@2 b4@6 a4@2 e5@4]/7",
  AT: "~ d5 g5@3 f5 b5@3 a5 e6@2", AU: "~ d6 g6@3 f6 ~@2 e6 d6 g6 ~",
  AV: "~@2 b5@2 a5@2 d6 ~@5 g5@2 f5@2 a5@2 ~@4 b5@2", AW: "g5 d5 ~@2 d5 e5 f5 e5 g5 f5 a5 g5", AX: "bb4@11 ~@13",
  AY: "[~ [g3,d4]@4 [f3,bb3]@4 [f3,c4]@4 [g3,e4]@3]/8", AZ: "[~ [eb3,bb3]@4 [db3,ab3]@4 [gb3,b3]@3]/6",
  BA: "[~ [gb3,b3]@8 [db3,gb3]@7]/8", // B5 Gb5
  BB: "[~@8 ab5@2 eb5@2 f5@22 gb5@2 f5@21 ~ gb5@2 f5@21 ~ gb5@2 ab5@18 gb5@2 f5@2 eb5@2 e5 f5@2 ~ db5@38 ~@2 bb4@2 b4@2 c5@21 ~ bb4@2 e5 f5@11]/8",
  BC: "[ab5@2 gb5@2 f5@2 eb5@2 db5@2 eb5@2 f5@22 gb5@2 f5@21 ~ gb5@2 f5@21 ~ gb5@2 ab5@18 gb5@2 f5@2 eb5@2 e5 f5@2 ~ db5@38 ~@6 e5 f5@2 ~ db5@32]/8",
  BD: "[~@12 e5 f5@2 ~@5 db5@34 ~@6 e5 f5@2 ~@5 db5@34 ~@6 db5 eb5 f5 gb5 ab5@53 ~@3, ~@9 gb3@5]/7",
})).s("gm_flute").gain(0.3)

// chords · flute · soft notes
const flute_soft = note(`<
  ~@10 A@2 ~ A@2 ~ A@2 ~@3 B ~ C ~ D ~ D ~ E ~ F ~ D ~ D ~ E ~@2 G ~@40 A@2 ~@2 H@2 ~@2 A@2 ~@2 H@2 ~@34 I J@33 K L@3 M
  ~@5 N@3 ~@5 O@8 ~@3
>`.pickRestart({
  A: "[bb3,c4]/2", // Bbsus2
  B: "[bb3,c4] ~ [bb3,c4] ~ [bb3,c4] ~ [bb3,c4] ~ [bb3,c4] ~ [bb3,c4] ~ [bb3,c4] ~ [bb3,c4] ~ [bb3,c4] ~ [bb3,c4] ~ [bb3,c4] ~ [bb3,c4] ~", // Bbsus2
  C: "[g3,d4]", D: "~ [bb2,f3]", E: "~ [c3,f3]", F: "~ [b2,f3]", G: "f5 g5 f5 g5 f5 ~@19", H: "[g3,c4]/2",
  I: "~@12 b4@11 ~", J: "b4@11 ~ b4@11 ~", K: "b4@11 ~ bb4@11 ~", L: "bb4@11 ~ bb4@11 ~", M: "bb4@11 ~@13",
  N: "[~@4 gb3@11 ~@3]/3", O: "[~@4 gb3@11 ~ gb3@11 ~@2 gb3@10 ~@2 gb3@7]/8",
})).s("gm_flute").gain(0.05)

// other · flute
const flute_2 = note(`<
  ~@8 A@14 ~@10 B C D E F G ~@2 H I@2 ~@17 J K L M N ~@5 O P Q@2 R@2 S@2 T U V ~@7 A W A X Y T Y Z@2 AA AB ~@26 AC AD AE
  AF AG@2 ~@32 AH@5 ~@17 AI@7
>`.pickRestart({
  A: "~@6 a5 ~ c6 ~ g5 ~@7 d5 ~ f5 ~ c5 ~", B: "~@10 a4 bb4", C: "c5 bb4 a4 bb4 c5 d5 g5 f5 e5 f5 g5 a5",
  D: "~@10 c5 bb4", E: "a4 bb4 a4 g4 a4 f5 e5 d5 c5 bb4 a4 g4", F: "f4@11 ~@9 f5@2 g5@2",
  G: "a5@2 g5@2 f5@2 g5@2 a5@4 c6@2 bb5@2 a5@2 bb5@2 c6 d6 e6@2",
  H: "~@5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5 f5 g5", I: "[f5 g5 f5@44 ~@2]/2",
  J: "~@3 a4 e5@3 d5 g5@3 f5", K: "~@4 e5@2 d5@2 g5@2 ~@4 b4@2 a4@2 d5 ~@5", L: "g4 f4 a4 ~@2 b4 g4 d4 ~@2 d4 e4",
  M: "f5 e5 g5 f5 a5 g5 b5 c6 d6 e6 d6 e6", N: "gb6@23 ~",
  O: "c5@2 a4@2 gb4@2 eb4@2 gb4 a4 ~ c5 eb5@2 c5@2 a4@2 gb4@2 a4 c5 ~ eb5",
  P: "gb5@2 eb5@2 c5@2 a4@2 d5 eb5 [gb5,g5] a5 g5@6 e5@2 db5@2 g5@2", Q: "[gb5@8 d5@4 b4@15 ~ gb4@4 b4@4 g4@4 e5@8]/2",
  R: "[db5@8 d5@4 e5@23 ~ d5@6 bb4@6]/2", S: "[db5@17 ~@3 a4@2 d5@2]/2", T: "c5@23 ~",
  U: "c6 d6 c6 d6 c6 d6 c6 d6 c6 d6 c6 d6 c6 d6 c6 d6 c5 d5 e5 f5 [g5,a5] bb5 c6 d6", V: "f6 ~@5", W: "f5@23 ~",
  X: "e4@2 g4@2 c5@2 d5!2 c5 ~@3", Y: "~@6 e5 ~ g5 ~ d5 ~@7 a4 ~ c5 ~ g4 ~", Z: "b4@2 e5@2 a5@2 b5@2 c6@2 b4 d5",
  AA: "b4@4 e5@4 a5@4 b5@4 c6@4 a5 bb5 b5 c6",
  AB: "db6 d6 db6 d6 db6 d6 db6 d6 db6 d6 db6 d6 db6 d6 db6 d6 db6 d6 db6 d6 db6 d6 db6 d6", AC: "~@6 b4@3 a4 e5@2",
  AD: "~ d5 g5@3 f5 ~@2 e5 d5 g5 ~", AE: "~@2 b4@2 a4@2 d5 ~@5 g4@2 f4@2 a4@2 ~@4 b4@2",
  AF: "g4 d4 ~@2 d4 e4 f5 e5 g5 f5 a5 g5", AG: "[b5@2 c6@2 d6@2 e6@2 d6@2 e6@2 gb6@23 ~@13]/2",
  AH: "[~@12 bb4@91 ~@17]/5", AI: "[~@20 f5@34 ~@14 f5@34 ~@6 bb4 b4 db5 eb5 f5@53 ~@3]/7",
})).s("gm_flute").gain(0.3)

// other · flute · soft notes
const flute_soft_2 = note("<~@40 A ~@19 B ~@116 C@8 D ~ D ~@4>".pickRestart({
  A: "f5 g5 f5 g5 f5 ~@19", B: "b4 ~@3",
  C: "[ab4@2 gb4@2 f4@2 eb4@2 db4@2 eb4@2 f4@22 gb4@2 f4@21 ~ gb4@2 f4@21 ~ gb4@2 ab4@18 gb4@2 f4@2 eb4@2 e4 f4@2 ~ db4@38 ~@6 e4 f4@2 ~ db4@32]/8",
  D: "~@12 g5 ab5@2 ~@9",
})).s("gm_flute").gain(0.2)

// chords · clarinet · "Bass Clarinet"
const clarinet = note(`<
  ~@9 A B C B C D E D F G H I J ~@2 K@4 L@4 M@4 N@2 O@3 P@2 ~@16 Q R S T U V ~@3 W X Y Z AA@2 AB@2 AC@2 AD AE AF AG AH
  AG AI AJ AK AL AM AN@2 AO AP AQ AR AS AR AT AU ~@10 AV AW@3 AX AY@2 AZ BA BB@7 BC BD BE BF BG@2 BH@2 BI@4 BJ@2 BK BL@3
  BM@7 BN BO@3 BP BQ BR BS BT BU@4 BV@5 ~@9 BW BX BY BX BZ@8 CA@3
>`.pickRestart({
  A: "~@10 bb2 ~", B: "c3 ~@5 bb3 ~@5", C: "c4 ~@9 bb2@2", D: "[g4,c5] ~@2 [d5,g5] ~@2, c3 ~@5 bb3 ~@5",
  E: "[g5,bb5]@2 c4 ~@3 [g5,c6]@2 bb2 ~@3, ~@6 g3 ~@5", F: "[g5,bb5]@2 c4 ~ c4 ~ [g5,c6]@2 g3@2 bb2 ~",
  G: "[g4,c5]@2 ~@4 [d5,g5]@2 ~@2 g3 ~, c3 ~@5 g3 ~@5", H: "[g5,bb5]@2 bb3 ~@3 [g5,c6]@2 g3 ~ bb2 ~, ~@6 c4 ~@5",
  I: "c3 ~ g2 ~ bb2 ~", J: "c3 ~ c2 ~ g2 ~ c2 ~ g2 ~ bb2 ~", K: "[bb2@7 ~@5]/2", L: "[f2@7 ~@5]/2",
  M: "[d2 c3 a2 bb2 d3 f3 a3 ~ c4@16]/2", N: "[a2 g3 e3 f3 a3 c4 e4 ~ g4@10 ~@6]/2",
  O: "[~@28 f4!20 f4!24, f3@7 c3 f2]/3", P: "[bb1,f4,a4]/2", Q: "~@20 [a4,b4]!4",
  R: "[e5,g5]!8 [a4,b4]!8 [e5,g5]!5 [g2,e5,g5] [f2,e5,g5] [e2,e5,g5]", // Em Asus2 Em C Em
  S: "d2@3 ~ e6@2 d6@2 g6@2 ~@2 a2@2 b5@2 a5@2 d6 ~ f2@3 ~", T: "g5 f5 a5 ~ g2 b5 g5 d5 ~@2 d2 e2",
  U: "f2 e2 g2 f2 a2 g2 b2 c3 d3 c3 b2 a2", V: "g2", W: "~ a3 b3 db4@2 b3", X: "a3@3 e3 gb3 e3", Y: "eb3 c3",
  Z: "gb3@6 [g5,b5]@3 [e5,a5] [db5,g5] [g5,b5], ~ b3", // G A5 Dbdim G
  AA: "[[gb5,a5]@2 [d5,gb5] [b4,d5]@4 [gb4,a4] [b4,d5] [g4,b4] [e5,g5]@2]/2", // Gbm D Bm Gbm Bm G Em
  AB: "[[db5,e5]@4 [d5,gb5]@2 [e5,g5]@12 [d5,gb5]@3 [bb4,db5]@3]/2", AC: "[[db5,e5]@9 ~ [a4,d5] [d5,e5]]/2",
  AD: "g3!2, [c5,f5]", AE: "g2@3 g2@3 g2@2 g2@2 g2@2",
  AF: "[bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~", // Bbsus2
  AG: "[bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~", // Bb
  AH: "[bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~", // Bbdim
  AI: "[e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~", // Em
  AJ: "[e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~", // A5
  AK: "[g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~", // G
  AL: "[g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~", // Gsus2
  AM: "[bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~ [bb4,c5] ~, ~@2 c3@2 d3@2 a3@3 g3@3", // Bbsus2
  AN: "[[bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~ [bb4,e5] ~, e3@3 gb3@3 d4@3 c4@5 e4@2 gb4@2 d4@4 g3@2]/2", // Bb Bbdim
  AO: "[bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~ [bb4,d5] ~, g3@2 f3@2 a3@4 g3 f3 e3 d3", // Bb
  AP: "[e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~, c3!2 c3@2", // Em
  AQ: "[e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~ [e4,a4] ~, ~@4 a2 bb2 c3 d3 ~ f3 ~ g3", // A5
  AR: "[g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ g4@2 [g4,b4] ~ [g4,b4] ~, a3@6 db4@6 b3@6 b4 ~@5", // G
  AS: "[g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~ [g4,a4] ~, e4 db4 b3 g3", // Gsus2
  AT: "[db5,f5] ~ [db5,f5] ~ [db5,f5] ~ [db5,f5] ~ [db5,f5] ~ [db5,f5] ~ [db5,f5] ~ [db5,f5] ~ [db5,f5] ~ [gb3,g3,db5,f5] [e3,f3] [db3,d3,eb3,db5,f5] [b2,c3] [a2,bb2,db5,f5] [gb2,g2,ab2], e4 db4 b3 ~", // Db Gbmaj7 Fmaj7 Cmaj7 Bbm
  AU: "[g5,b5]!2 [f2,g5,b5] [g5,b5] [f2,g5,b5] [g5,b5]!3 [f2,g5,b5] [g5,b5] [f2,g5,b5] [g5,b5]!3 [f2,g5,b5] [g5,b5] [f2,g5,b5] [g5,b5]!3 [f2,g5,b5] [g5,b5] [f2,g5,b5] [g5,b5], f2 ~@2 f2 ~@2 f2 ~@2 f2 ~@2", // G G7 G G7 G G7 G G7 …
  AV: "~@10 g3 d3", AW: "e3@11 f3", AX: "g3@9 f3 e3 d3", AY: "[eb3 e3@2 ~ c3@40 a2@2 bb2@2]/2",
  AZ: "b2@5 a2 b3 a3 g3 ~@3", BA: "a3 f3 db3 ~@2 g2 a2 db3 f2 ~@2 f2",
  BB: "[g2@2 a2@2 b2@2 db3@2 eb3@2 f3@2 e3@22 f3@2 eb3 e3@21 f3@2 eb3 e3@21 f3@2 gb3 g3@17 f3@2 e3@2 d3@2 eb3 e3@2 ~ c3@40 a2@2 bb2@2 b2@6 a2@2 e3@4]/7",
  BC: "~@2 d3@2 g3@4 [a4,b4]!4 [e5,g5]!8 [a4,b4]!4, ~@5 f3 b3@3 a3 e3@2", // Asus2 Em Asus2
  BD: "[a4,b4]!4 [e5,g5]!4 [a2,e5,g5] [g2,e5,g5] [f2,e5,g5] [e2,e5,g5] d2@3 ~ e6@2 d6@2 g6@2 ~@2, ~ d3 g2@2 ~@8", // Asus2 Em A7 C Em
  BE: "a2@2 b5@2 a5@2 d6 ~ f2@3 ~ g5@2 f5@2 a5@2 ~@2 g2@2 b5@2", BF: "g5 d5 ~@2 d2 e2 f2 e2 g2 f2 a2 g2",
  BG: "[b2 c3 d3 c3 b2 a2 [g2,gb4,a4]@12 [d4,gb4]@6]/2", BH: "[[b3,d4] [d4,f4]@2 [a4,c5]]/2",
  BI: "[[g4,bb4] [gb4,a4]@4 [gb4,a4]@3]/4", BJ: "[[g5,b5] [gb5,a5] [e5,g5] [gb5,a5]@6 [d5,gb5]@3]/2",
  BK: "[b4,d5]@3 [db5,e5]@2 [d5,gb5]", BL: "[[e5,g5] [db5,e5]]/3",
  BM: "[~ a4 b4 [a4,c5]@6 [ab4,c5]@6 [g4,b4]@12 [d5,f5]@6 [bb4,d5]@6 [c5,e5]@3]/7", BN: "[a4,c5] [f5,a5]",
  BO: "[[e5,g5] [c5,e5]@2 [a4,c5]@2 ~]/3", BP: "[g4,bb4] [d5,f5]", BQ: "[c5,eb5] ~", BR: "[f4,ab4] [c5,eb5]",
  BS: "[bb4,db5] ~", BT: "[eb4,gb4] [bb4,db5]", BU: "[[ab4,b4] [ab4,b4]@4 [gb4,ab4]@3]/4",
  BV: "[~ [gb2,gb4,bb4]@8 ~]/5", BW: "~ b2", BX: "gb3 bb3", BY: "db4 b2",
  BZ: "[db4@3 ~ gb3@11 ~ gb3@11 ~@2 gb3@10 ~@2 gb3@7]/8", CA: "[~ [gb2,f4,ab4]@5]/3",
})).s("gm_clarinet").gain(0.3)

// chords · clarinet · "Bass Clarinet" · soft notes
const clarinet_soft = note(`<
  ~@14 A B A B A B C D ~@2 E@4 F@4 E@4 G H I J ~@13 K@4 L@2 M N ~@3 O P Q R S@2 T@2 ~@46 U@7 V ~@47 W@3 ~@5 X@8 ~@3
>`.pickRestart({
  A: "~@2 [g4,c5] ~ [g4,c5] ~@3 [d5,g5] ~ [d5,g5] ~", B: "~@2 [g5,bb5] ~ [g5,bb5] ~@3 [g5,c6] ~ [g5,c6] ~",
  C: "c6 ~ g5 ~ bb5 ~", D: "c6 ~ c5 ~ g5 ~ c5 ~ g5 ~ bb5 ~", E: "[~ a4@8 [a4,c5]@3]/2", F: "[~ e4@8 [e4,g4]@3]/2",
  G: "~ e4@2 ~@3", H: "~ [e4,g4]", I: "f4!24", J: "f4!4 ~@20", K: "[a5,c6]/4", L: "[[d5,g5]@5 ~]/2",
  M: "[a4,b4]!8 [e5,g5]!8 [a4,b4]!4 ~@4", N: "~@20 a2 ~@3", O: "[gb4,a4]", P: "[d4,gb4] [b3,d4]", Q: "[d4,f4]",
  R: "[a4,c5] [g4,bb4]", S: "[gb4,a4]/2", T: "[[gb4,a4]@2 ~]/2",
  U: "[~@12 [c6,e6]@48 [c6,gb6]@24 [d6,g6]@24 [c6,e6]@24 [db6,e6]@24 [a4,b4]!8 [e5,g5]!4]/7", // C Cdim G5 C Dbm Asus2 Em
  V: "[e5,g5]!4 [a4,b4]!4 ~@16", W: "[~@4 [db4,f4]@11 ~@3]/3",
  X: "[~@4 [db4,f4]@11 ~ [db4,f4]@11 ~@2 [db4,f4]@10 ~@2 [db4,f4]@7]/8", // Db
})).s("gm_clarinet").gain(0.2)

// other · vibraphone
const vibraphone = note(`<
  ~@10 A B A B A B A B C D E F ~@10 G H I J K L M N O ~@19 P Q R ~@9 S@6 T U V W V X Y Z AA AB V W V AC Y Z AA AB@2 AD
  AE ~@27 AF AG AH ~@59 AI@4
>`.pickRestart({
  A: "c4 g4", B: "bb4 c5", C: "c4 g4 bb4", D: "c5 c4 g4", E: "bb4 c5 c4", F: "g4 bb4 c5", G: "bb3 d4 f4 a4 bb4 d5",
  H: "~ a5@11, d5, ~ f5@23", I: "bb3 d4 e4 a4 bb4 d5", J: "~ a5@11, d5, ~ e5@23", K: "f3 a3 c4 e4 f4 a4",
  L: "~ c5@11, f4, ~ a4@23", M: "f6 c6 d6 a5 c6 g5", N: "a5 f5 g5 d5 f5 c5", O: "d5 a4 c5 g4 a4 f4",
  P: "~@3 a4 e5@3 d5 g5@3 f5", Q: "~@4 e5@2 d5@2 g5@2 ~@4 b4@2 a4@2 d5 ~@5", R: "g4 f4 a4 ~@2 b4 g4 d4 ~@2 d4 e4",
  S: "[~ g5@2 e5@2 d5@2 b4@2 a4@2 g4@2 g5@2 e5@2 db5@2 bb4@2 g4@2 e4@2 e5@2 db5@2 a4@2 gb4@2 e4@2 a3]/6", T: "c4",
  U: "f4", V: "f5 ~ c5 ~ d5 ~ a4 ~ c5 ~ g4 ~ a4 ~ f4 ~ g4 ~ d4 ~ f4 ~ c4 ~", W: "~ a4@11, d4, ~ f4@23",
  X: "e4@2 g4@2 c5@2 d5!2 c5@2 g4 b4", Y: "c6 ~ g5 ~ a5 ~ e5 ~ g5 ~ d5 ~ e5 ~ c5 ~ d5 ~ a4 ~ c5 ~ g4 ~",
  Z: "~ e5@11, a4, ~ c5@23", AA: "b5 ~ g5 ~ a5 ~ e5 ~ g5 ~ d5 ~ e5 ~ b4 ~ d5 ~ a4 ~ c5 ~ g4 ~",
  AB: "b4@2 e5@2 a5@2 b5@2 c6@2 b4 d5", AC: "e4@2 g4@2 c5@2 d5!2 c5@2 g5 b5", AD: "b4 e5 a5 b5 db6 a5",
  AE: "db6 a5 b5 g5 a5 f5 g5 eb5 f5 c5 eb5 b4", AF: "~@8 e5 d5 g5 ~",
  AG: "~@2 b4@2 a4@2 d5 ~@5 g4@2 f4@2 a4@2 ~@4 b4@2", AH: "g4 d4 ~@2 d4 e4 ~@6",
  AI: "[~@4 [ab4,ab5]@8 [bb4,bb5]@8 [db5,db6]@8 [ab5,ab6]@8 ~@3 f5@57, ~@3 gb4@5, ~@37 bb4@59, ~@19 db5@29]/4", // Ab Bb Db Ab
})).s("gm_vibraphone").gain(0.3)

// other · vibraphone · soft notes
const vibraphone_soft = note(`<
  ~@53 A@4 B@2 ~ C ~@40 D@4 E@5 D@4 F@5 G H I J K L M N ~@46 O P Q ~@5 O P R P S@4 ~@3
>`.pickRestart({
  A: "[c5,c6]/2", B: "[g4,g5]/2", C: "b4 ~@3",
  D: "[~@3 [c4,c5]@2 [g4,g5]@4 [bb4,bb5]@2 [c5,c6]@4 [c4,c5]@2 [g4,g5]@2 [bb4,bb5]@2 [c5,c6]@3]/4", // C G Bb C G Bb C
  E: "[~@3 [a3,a4]@2 [e4,e5]@4 [g4,g5]@2 [a4,a5]@4 [a3,a4]@2 [e4,e5]@2 [g4,g5]@2 [a4,a5]@9]/5", // A E G A E G A
  F: "[~@3 [a3,a4]@2 [eb4,eb5]@4 [g4,g5]@2 [a4,a5]@4 [a3,a4]@2 [e4,e5]@2 [g4,g5]@2 [a4,a5]@6 ~@3]/5", // A Eb G A E G A
  G: "[c4,c5] [g4,g5]@2", H: "[bb4,bb5] [c5,c6]@2", I: "[c4,c5] [g4,g5] [bb4,bb5]", J: "[c5,c6] ~",
  K: "[a3,a4] [e4,e5]@2", L: "[g4,g5] [a4,a5] [b3,b4]", M: "[e4,e5] [g4,g5] [a4,a5]", N: "b4 e5 a5 ~@3",
  O: "~@2 [db4,db5]", P: "[ab4,ab5] [bb4,bb5]", Q: "[db5,db6] ~", R: "[db5,db6]@3 ~ [db4,db5]@2",
  S: "[[db5,db6]@3 ~@2 [db4,db5]@2 [ab4,ab5]@2 [bb4,bb5]@2 [db5,db6]@2 [ab5,ab6]@2 ~@2 [db4,db5]@2 ~@5]/4", // Db Ab Bb Db Ab Db
})).s("gm_vibraphone").gain(0.15)

// chords · piano
const piano = note(`<
  ~@2 A@20 ~@2 B@4 C@2 D@2 B@4 C@2 E F G H@2 ~@10 I@2 J@2 K@2 L M N O P Q R S@2 T@3 ~ U@6 V W X@4 Y Z AA@2 X@4 Y Z AA@2
  AB@3 AC@4 AD AC AE AF@2 AG@2 AC@2 AH AC AI AJ AF AG AK AL AM AN AO AP AQ AR AS AT AU AV@2 ~@14 AW AX AY AZ BA BB BC BD
  BE BF BG BH BI BJ BK BL BM BN BO BP@3 BQ ~@5 BR BS BT ~@5 BR BS BU BS BV BS BV BS BW@3
>`.pickRestart({
  A: "[f4,c5,f5,g5,c6,f6] ~ [f4,c5,f5,g5,c6,f6] ~ [f4,c5,f5,g5,c6,f6] ~ [f4,c5,f5,g5,c6,f6] ~ [f4,c5,f5,g5,c6,f6] ~ [f4,c5,f5,g5,c6,f6] ~", // Fsus2
  B: "[[g5,c6,f6]!3 [f4,c5,f5,g5,c6,f6]!3 [f4,c5,f5,g5,c6,f6]!3 [g5,c6,f6]!3, bb1@27 ~@9 [f4,c5,f5]@11 ~]/2", // Csus4 Fsus2 Csus4 F5
  C: "[[d5,g5,c6]!3 [c4,g4,c5,d5,g5,c6]!3 [c4,g4,c5,d5,g5,c6]!3 [d5,g5,c6]!3, f1@27 ~@9 [c4,g4,c5]@11 ~]/2", // Csus2 C5
  D: "[[d5,g5,b5]!3 [c4,g4,b4,d5,g5,b5]!3 [c4,g4,b4,d5,g5,b5]!3 [d5,g5,b5]!3, f1@27 ~@9 [c4,g4,b4]@11 ~]/2", // G Cmaj7
  E: "f7 d7 c7 a6 f6 d6 c6 a5 f5 d5 c5 a4", F: "f6 d6 c6 a5 f5 d5 c5 a4 f4 d4 c4 a3",
  G: "f5@2 d5@2 c5@2 a4@2 f4@2 d4@2 f5 d5 c5 a4 f4 d4 c4 a3 f3 c3 bb2 f2", H: "[[bb0,bb1]@47 ~]/2",
// … 235 more lines