Strudelify

Battle! (Team Galactic Boss)

Junichi Masuda

KeyF majorTempo120 bpm
0:00/0:00
// Battle! (Team Galactic Boss) — Junichi Masuda
// 120 bpm, 12/8, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 4 "Trombone" named as a brass, played on trombone (its string ensemble 1 patch is not one); ch 7 "Tubular Bells" named as a mallet, played on tubular bells (its string ensemble 1 patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5824907; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 93 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/6)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// bass · slap bass 1 · "Cor en Fa"
const bass = note(`<
  ~@3 A@2 B C D E F A F A B C D G H I H J K@3 L M N O P M N Q R S T U V W ~ X Y Z AA AB AC AD AE B C D E F A F A B C D G
  H I H J K@3 L M N O P M N Q R S T U V W ~ X Y Z AA AB AC AD AE B C D E
>`.pickRestart({
  A: "c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2 c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2",
  B: "c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2 c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2, g3@6 c4@5 g4",
  C: "f4@2 c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2 c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2, c2 ~ e4@22",
  D: "bb1 ~ bb1 ~ bb1 c2 g1 ~ g1 ~ g1 c2 bb1 ~ bb1 ~ bb1 c2 g1 ~ g1 ~ g1 bb1, bb3@6 bb4@5 ab4",
  E: "g4@2 c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2 c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2, c2 ~ e4@22",
  F: "bb1 ~ bb1 ~ bb1 c2 g1 ~ g1 ~ g1 c2 bb1 ~ bb1 ~ bb1 c2 g1 ~ g1 ~ g1 bb1",
  G: "g4@2 c2 ~ c2 db2 bb1 ~ bb1 ~ [bb1,bb4] [db2,b4] c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2, c2 ~ e4@8 ~@2 c5@12", // Bb Db7
  H: "c4@2 db4@2 c2 db2 e4@2 f4@2 bb1 db2 g4@2 f4@2 c2 db2 ab4@2 bb4@2 bb1 db2, c2 ~ c2 ~ f4@2 bb1 ~ bb1 ~ e4@2 c2 ~ c2 ~ g4@2 bb1 ~ bb1 ~ ab4@2",
  I: "bb4@2 c5@2 c2 db2 ab4@2 bb4@2 bb1 db2 c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2, c2 ~ c2 ~ bb4@2 bb1 ~ bb1 ~ ab4@2 g4@12",
  J: "bb4@2 c5@2 c2 db2 db5@2 eb5@2 bb1 db2 c2 ~ c2 ~ c2 db2 bb1 bb4 [bb1,ab4] g4 [bb1,f4] [db2,e4], c2 ~ c2 ~ bb4@2 bb1 ~ bb1 ~ db5@2 c5@7 ~@5", // Bb7 Bb5 Dbm
  K: "eb4@2 c2 db4 c2 db2 gb1 ~ gb1 ~ gb1 db2 c2 ~ c2 ~ c2 db2 gb1 ~ gb1 ~ gb1 db2, c2 ~@23",
  L: "c2 ~ c2 ~ c2 db2 gb1 ~ gb1 ~ gb1 db2 c2 ~ c2 ~ c2 db2 gb1 ~ gb1 ~ gb1 db2",
  M: "c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2 c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2, f4@7 c5",
  N: "b4@2 c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2 ab4@2 c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2, c2 ~ g4@10 c2 ~ f4@10",
  O: "b1 ~ b1 ~ b1 c2 a1 ~ a1 ~ a1 c2 b1 ~ b1 ~ b1 c2 a1 ~ a1 ~ a1 [b1,e4], e3@12 b3@11 ~", // E5
  P: "[c2,f4] ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2 c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2", // F5
  Q: "b1 ~ b1 ~ b1 c2 a1 ~ a1 ~ a1 c2 b1 ~ b1 ~ b1 c2 a1 ~ a1 ~ a1 b1, ab4 b4",
  R: "c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2 c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2, c5",
  S: "c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2 c2 ~ c2 ~ c2 db2 bb1 ~ bb1 ~ bb1 db2, a3",
  T: "[c2,c4] ~ [c2,c4] ~ [c2,c4]!3 ~ [c2,c4] ~ [c2,c4]!2 [c2,b3] ~ [c2,b3] ~ [c2,b3]!3 ~ [c2,b3] ~ [c2,b3]!2", // C Cmaj7
  U: "[c2,bb3] ~ [c2,bb3] ~ [c2,bb3]!3 ~ [c2,bb3] ~ [c2,bb3]!2 [c2,ab3] ~ [c2,ab3] ~ [c2,ab3]!3 ~ [c2,ab3] ~ [c2,ab3]!2", // C7 Fm
  V: "[c2,f4] ~ [c2,f4] ~ [c2,f4]!3 ~ [c2,f4] ~ [c2,f4]!2 [db2,gb4] ~ [db2,gb4] ~ [db2,gb4]!3 ~ [db2,gb4] ~ [db2,gb4]!2", // F5 Gb5
  W: "[d2,g4] ~ [d2,g4] ~ [d2,g4]!3 ~ [d2,g4] ~ [d2,g4]!2 [ab2,db5] ~ [ab2,db5] ~ [ab2,db5]!3 ~ [ab2,db5] ~ [ab2,db5]!2", // G5 Db5
  X: "gb2 ~ gb2 ~ gb2 g2 e2 ~ e2 ~ e2 g2 gb2 ~ gb2 ~ gb2 g2 e2 ~ e2 ~ e2 g2, db4@6 gb4@5 db5",
  Y: "b4@2 gb2 ~ gb2 g2 e2 ~ e2 ~ e2 g2 gb2 ~ gb2 ~ gb2 g2 e2 ~ e2 ~ e2 g2, gb2 ~ bb4@22",
  Z: "e2 ~ e2 ~ e2 gb2 db2 ~ db2 ~ db2 gb2 e2 ~ e2 ~ e2 gb2 db2 ~ db2 ~ db2 e2, e4@6 e5@5 d5",
  AA: "db5@2 gb2 ~ gb2 g2 e2 ~ e2 ~ e2 g2 gb2 ~ gb2 ~ gb2 g2 a2 b2 a2 g2 gb2 g2, gb2 ~ bb4@22",
  AB: "ab4@2 e4@2 e2 gb2 db2 ~ db2 ~ db2 gb2 e2 ~ ab4@2 e2 gb2 ab4@2 eb4@2 db2 e2, e2 ~ e2 ~ b3@2 b4@8 e2 ~ b4@2 db2 ~ db2 ~ e4@2",
  AC: "f4@2 gb2 ~ gb2 g2 e2 ~ e2 ~ e2 g2 e4@2 gb2 ~ gb2 g2 e2 ~ e2 ~ e2 g2, gb2 ~ gb4@10 gb2 ~ gb4@10",
  AD: "ab4@2 e4@2 e2 gb2 db2 ~ db2 ~ db2 gb2 a4@2 ab4@2 e2 gb2 gb4@2 f4@2 db2 e2, e2 ~ e2 ~ b3@2 b4@6 e2 ~ e2 ~ g4@2 db2 ~ db2 ~ ab4@2",
  AE: "bb4@2 b4@2 gb2 g2 b4@2 bb4@2 e2 g2 gb2 ~ gb2 ~ gb2 g2 e2 gb2 g2 b2 g2 e2, gb2 ~ gb2 ~ bb4@2 e2 ~ e2 ~ b4@2 db5@12",
})).s("gm_slap_bass_1").gain(0.52)

// chords · trombone
const trombone = note(`<
  A B C D ~ E F G H I J K L M N O P Q R S T U@3 ~ V W X Y V W Z AA AB AC AD AE AF ~ AG AH AI AJ ~@2 AK AL E F G H I J K
  L M N O P Q R S T U@3 ~ V W X Y V W Z AA AB AC AD AE AF ~ AG AH AI AJ ~@2 AK AL E F G H
>`.pickRestart({
  A: "[g2,d4]", B: "[ab2,eb4]", C: "[f2,c4]", D: "[e2,c4]", E: "[g2,g4]@6 [g2,c3,c5]@5 [c3,g3,g5]",
  F: "[bb2,f3,f5] [c3,e3,e5]@11", G: "[bb2,bb4]@6 [f3,bb3,bb5]@5 [f3,ab3,ab5]", H: "[e3,g3,g5] [c3,e3,e5]@11",
  I: "f5 d5 bb4 bb5@8 ab5", J: "g5 e5@5 d5 e5@5", K: "f5 d5 bb4 bb5@5 ab5 bb5 ab5 b5", L: "c6 d6 c6 d6 c6 d6 e6@6",
  M: "g4!3 ab4 ~ g4 ~ g4!2 ab4 ~ g4!4 ab4 ~ g4 ~ g4!2 ab4 ~ g4, g2@6 [g2,c3]@5 [c3,g3]", // C5
  N: "g4!3 ab4 ~ g4 ~ g4!2 ab4 ~ g4!4 ab4 ~ g4 ~ g4!2 ab4 ~ g4, [bb2,f3] [c3,e3]@11", // Bb5 C
  O: "f4!3 gb4 ~ f4 ~ f4!2 gb4 ~ f4!4 gb4 ~ f4 ~ f4!2 gb4 ~ f4, bb2@6 [f3,bb3]@5 [f3,ab3]", // Bb5 Fm
  P: "g4!3 ab4 ~ g4 ~ g4!2 ab4 [d3,bb3] [eb3,b3,g4] g4!3 ab4 ~ g4 ~ g4!2 ab4 ~ g4, [e3,g3] [c3,e3]@4 ~ [e3,c4]@6", // Gm Ebaug Em C
  Q: "c3 db3 f3 e3 f3 e3 g3 f3 g3 ab3 bb3 ab3", R: "bb3 c4 bb3 ab3 bb3 ab3 g3@6", S: "~@3 c3 db3 f3 e3 f3 e3 g3 f3 g3",
  T: "ab3@2 bb3@2 c4@2 db4@2 eb4@2 f4@2 g4@7 g4 f4 e4 db4 c4", U: "[eb3,eb5]@3 [db3,db5] ~@20", V: "[c3,f5]@7 [g3,c6]",
  W: "[gb3,b5] [d3,g5]@5 [eb3,ab5] [c3,f5]@5", X: "[b2,e5]@12 [ab2,b5]@11 [b2,e6]", Y: "[c3,f6] ~@23",
  Z: "[b2,ab4] [e3,b4]", AA: "[f3,c5]", AB: "f2",
  AC: "[c4,c5] ~ [c4,c5] ~ [c4,c5]!3 ~ [c4,c5] ~ [c4,c5]!2 [b3,db5] ~ [b3,db5] ~ [b3,db5]!3 ~ [b3,db5] ~ [b3,db5]!2", // C Bsus2
  AD: "[bb3,d5] ~ [bb3,d5] ~ [bb3,d5]!3 ~ [bb3,d5] ~ [bb3,d5]!2 [ab3,eb5] ~ [ab3,eb5] ~ [ab3,eb5]!3 ~ [ab3,eb5] ~ [ab3,eb5]!2", // Bb Ab5
  AE: "[f3,c5] ~ [f3,c5] ~ [f3,c5]!3 ~ [f3,c5] ~ [f3,c5]!2 [gb3,db5] ~ [gb3,db5] ~ [gb3,db5]!3 ~ [gb3,db5] ~ [gb3,db5]!2", // F5 Gb5
  AF: "[g3,d5] ~ [g3,d5] ~ [g3,d5]!3 ~ [g3,d5] ~ [g3,d5]!2 [db4,ab5] ~ [db4,ab5] ~ [db4,ab5]!3 ~ [db4,ab5] ~ [db4,ab5]!2", // G5 Db5
  AG: "db5!3 d5 ~ db5 ~ db5!2 d5 ~ db5!4 d5 ~ db5 ~ db5!2 d5 ~ db5, db3@6 [db3,gb3]@5 [gb3,db4]", // Gb5
  AH: "db5!3 d5 ~ db5 ~ db5!2 d5 ~ db5!4 d5 ~ db5 ~ db5!2 d5 ~ db5, [e3,b3] [gb3,bb3]@11", // E5 Gb
  AI: "b4!3 c5 ~ b4 ~ b4!2 c5 ~ b4!4 c5 ~ b4 ~ b4!2 c5 ~ b4, e3@6 [b3,e4]@5 [b3,d4]", // E5 Bm
  AJ: "db5!3 d5 ~ db5 ~ db5!2 d5 ~ db5!4 d5 ~ db5 ~ db5!2 d5 ~ db5, [bb3,db4] [gb3,bb3]@11", AK: "~@8 d3 db3 c3 b2",
  AL: "bb2 b2 db3 b2 db3 f3 gb3@6",
})).s("gm_trombone").gain(0.4)

// other · tremolo strings · "Timbales"
const tremolo_strings = note("<~@21 A B C D ~@38 A B C D ~@26>".pickRestart({
  A: "~@6 gb2@6 db3@3 c3 e3 c3 gb2@6", B: "~@6 gb2@2 gb2 db3@3 gb2 db3 gb2 c3@2 c3 gb2@3 [gb2,c3]@3",
  C: "~@6 [gb2,db3]@2 gb2 c3 gb2!2 [gb2,db3]@2 gb2 c3 gb2!2 [gb2,db3]@2 c3 gb2@3", // Gb5
  D: "[gb2,db3] c3@2 c3@3 [gb2,db3] gb2 c3 gb2@3 [gb2,db3] c3!2 gb2@2 gb2 [gb2,db3]@2 gb2 c3 gb2!2", // Gb5
})).s("gm_tremolo_strings").gain(0.5)

// other · tubular bells
const tubular_bells = note(`<
  A B C@2 ~ D E F G H I J K L@2 M N ~@4 O@3 ~ P Q R S P Q T U ~ V W X Y ~ Z AA AB AC AD AE AD AE D E F G H I J K L@2 M N
  ~@4 O@3 ~ P Q R S P Q T U ~ V W X Y ~ Z AA AB AC AD AE AD AE D E F G
>`.pickRestart({
  A: "d4", B: "eb4", C: "c4", D: "g3@6 c4@5 g4", E: "f4 e4@11", F: "bb3@6 bb4@5 ab4", G: "g4 e4@11",
  H: "f4 d4 bb3 bb4@8 ab4", I: "g4 e4@5 d4 e4@5", J: "f4 d4 bb3 bb4@5 ab4 bb4 ab4 b4", K: "c5 d5 c5 d5 c5 d5 e5@6",
  L: "c4!3 db4 ~ c4 ~ c4!2 db4 ~ c4!4 db4 ~ c4 ~ c4!2 db4 ~ c4",
  M: "bb3!3 b3 ~ bb3 ~ bb3!2 b3 ~ bb3!4 b3 ~ bb3 ~ bb3!2 b3 ~ bb3",
  N: "c4!3 db4 ~ c4 ~ c4!2 db4 ~ c4!4 db4 ~ c4 ~ c4!2 db4 ~ c4, ~ c5", O: "eb5 db5 ~@6", P: "f4@7 c5",
  Q: "b4 g4@5 ab4 f4@5", R: "[b3,e4] e4 g4 a4 b4 ~@4 b3 e4 g4 [a4,b4] b4 ~@9 e5", S: "f5 ~@23",
  T: "b3 e4 g4 a4 b4 e5 ~@3 b3 e4 g4 [a4,b4] b4 e5 ~@9, ab4 ~", U: "c5",
  V: "c5 ~ c5 ~ c5!3 ~ c5 ~ c5!2 db5 ~ db5 ~ db5!3 ~ db5 ~ db5!2",
  W: "d5 ~ d5 ~ d5!3 ~ d5 ~ d5!2 eb5 ~ eb5 ~ eb5!3 ~ eb5 ~ eb5!2",
  X: "c5@2 c5 ~ c5!3 ~ c5 ~ c5!2 db5@2 db5 ~ db5!3 ~ db5 ~ db5!2, f4 gb4",
  Y: "d5@2 d5 ~ d5!3 ~ d5 ~ d5!2 ab5 ~ ab5 ~ ab5!3 ~ ab5 ~ ab5!2, g4 [ab4,db5]", // Db5
  Z: "gb4!3 db5@2 gb4 ~ gb4!2 db5@2 gb4!4 db5@2 gb4 ~ gb4!2 db5@2 gb4, gb5@3 g4 ~@2 bb4@3 g4 ~@2 gb5@3 g4 ~@2 bb4@3 g4 ~@2",
  AA: "gb4!3 db5@2 gb4 ~ gb4!2 db5@2 gb4!4 db5@2 gb4 ~ gb4!2 db5@2 gb4, bb4@3 g4 ~@2 gb5@3 g4 ~@2 gb5@3 g4 ~@2 bb4@3 g4 ~@2",
  AB: "e4!3 b4@2 e4 ~ e4!2 b4@2 e4!4 b4@2 e4 ~ e4!2 b4@2 e4, e5@3 f4 ~@2 ab4@3 f4 ~@2 ab4@3 f4 ~@2 e5@3 f4 ~@2",
  AC: "gb4!3 db5@2 gb4 ~ gb4!2 db5@2 gb4!4 db5@2 gb4 ~ gb4!2 db5@2 gb4, gb5@3 g4 ~@2 bb4@3 g4 ~@2 bb4@3 g4 ~@2 gb5@3 g4 ~@2",
  AD: "e5 b4 ab4 b4 ab4 b4 e5 b4", AE: "gb5 db5 bb4 db5 bb4 db5 gb5 db5",
})).s("gm_tubular_bells").gain(0.4)

// chords · tremolo strings · "Orgue 1"
const tremolo_strings_2 = note(`<
  ~@2 A@5 B A ~@4 C D E D A@4 ~@4 F@2 G H F@2 I J@2 K@4 ~ L M N M ~@4 A@2 B A ~@4 C D E D A@4 ~@4 F@2 G H F@2 I J@2 K@4
  ~ L M N M ~@4 O P ~@2
>`.pickRestart({
  A: "[c3,g4]!3 [db3,ab4] ~@13 [c3,g4] ~ [c3,g4]!2 [db3,ab4] ~ [c3,g4]", // C5 Db5 C5 Db5 C5
  B: "[bb2,f4]!3 [b2,gb4] ~@13 [bb2,f4] ~ [bb2,f4]!2 [b2,gb4] ~ [bb2,f4]", // Bb5 B5 Bb5 B5 Bb5
  C: "c3!3 db3 ~@2 g5 c6 g5 e5 c5 g5 e5 g4 c5 e5 c5 [c3,g4] ~ c3!2 db3 ~ c3", // C5
  D: "c3!3 db3 ~@2 g5 c6 e6 g6 e6 g6 e4 g4 c5 e5 g4 [c3,c5] ~ c3!2 db3 ~ c3", // C
  E: "bb2!3 b2 ~@2 f5 bb5 f5 d5 bb4 f5 d5 f4 bb4 d5 bb4 [bb2,f4] ~ bb2!2 b2 ~ bb2", // Bb5
  F: "c3!3 db3 ~@13 c3 ~ c3!2 db3 ~ c3", G: "b2!3 c3 ~@13 b2 ~ b2!2 c3 ~ b2",
  H: "c3!3 db3 ~@8 f6 db6 c6 db6 c6 [c3,a5] ~ c3!2 db3 ~ c3", // F
  I: "b2!3 c3 ~@5 b4 e5 g5 a5 b5 e6!2 ~ [b2,e6] ~ [b2,e6] b2 [c3,e6] e6 b2", // E5 C
  J: "[c3,f6] c3 [c3,f6] db3 ~ f6 ~ f6!2 ~ f6 ~ f6 ~ f6 ~@2 [c3,f6] ~ [c3,f6]!2 db3 f6 c3", // F5
  K: "f6 ~ f6 ~@2 f6 ~ f6!2 ~ f6 ~ f6 ~ f6 ~@2 f6 ~ f6!2 ~ f6 ~",
  L: "gb3!3 g3 ~@2 db6 gb6 db6 bb5 gb5 db6 bb5 db5 gb5 bb5 gb5 [gb3,db5] ~ gb3!2 g3 ~ gb3", // Gb5
  M: "gb3!3 g3 ~@2 db6 gb6 bb6 db7 bb6 db7 bb4 db5 gb5 bb5 db5 [gb3,gb5] ~ gb3!2 g3 ~ gb3", // Gb
  N: "e3!3 f3 ~@2 b5 e6 b5 ab5 e5 b5 ab5 b4 e5 ab5 e5 [e3,b4] ~ e3!2 f3 ~ e3", // E5
  O: "[c3,g4]!3 [db3,ab4] ~ [c3,g4] ~ [c3,g4]!2 [db3,ab4] ~ [c3,g4]!4 [db3,ab4] ~ [c3,g4] ~ [c3,g4]!2 [db3,ab4] ~ [c3,g4]", // C5 Db5 C5 Db5 C5 Db5 C5 Db5 …
  P: "[c3,g4]!3 [db3,ab4] ~ [c3,g4] ~ [c3,g4]!2 [db3,ab4] ~ [c3,g4]!4 [db3,ab4] ~ [c3,g4] ~ [c3,g4] ~@4", // C5 Db5 C5 Db5 C5 Db5 C5
})).s("gm_tremolo_strings").gain(0.3)

// chords · tremolo strings · "Orgue 1" · soft notes · C5 Db5 C5 Bb5 B5 Bb5 B5 Bb5 …
const tremolo_strings_soft = note(`<
  ~@90
  [~@20 [c3,g4] [db3,ab4] ~ [c3,g4]]
  [[bb2,f4]!3 [b2,gb4] ~ [bb2,f4] ~ [bb2,f4]!2 [b2,gb4] ~ [bb2,f4]!4 [b2,gb4] ~ [bb2,f4] ~ [bb2,f4]!2 [b2,gb4] ~ [bb2,f4]]
  [[c3,g4]!3 [db3,ab4] ~ [c3,g4] ~ [c3,g4]!2 [db3,ab4] ~ [c3,g4]!4 [db3,ab4] ~ [c3,g4] ~ [c3,g4]!2 [db3,ab4] ~ [c3,g4]]
>`).s("gm_tremolo_strings").gain(0.1)

// other · pizzicato strings · "Orgue 2"
const pizzicato_strings = note(`<
  ~@2 A@5 B A ~@4 C D E D A@4 ~@4 F@2 G H F@2 I J@2 K@4 ~ L M N M ~@4 A@2 B A ~@4 C D E D A@4 ~@4 F@2 G H F@2 I J@2 K@4
  ~ L M N M ~@8
>`.pickRestart({
  A: "~@5 [c3,g4] ~ [c3,g4]!2 [db3,ab4] ~ [c3,g4]!4 [db3,ab4] ~@8", // C5 Db5 C5 Db5
  B: "~@5 [bb2,f4] ~ [bb2,f4]!2 [b2,gb4] ~ [bb2,f4]!4 [b2,gb4] ~@8", // Bb5 B5 Bb5 B5
  C: "c5 g4 c5 e5 c5 [c3,e5] ~ c3!2 db3 ~ c3!4 db3 ~@2 c5 e5 g5 e5 g5 c6", // C
  D: "c5 g4 c5 e5 c5 [c3,e5] ~ c3!2 db3 ~ c3!4 db3 ~@2 e5 g5 c6 e6 g6 c7", // C
  E: "bb4 f4 bb4 d5 bb4 [bb2,d5] ~ bb2!2 b2 ~ bb2!4 b2 ~@2 bb4 d5 f5 d5 f5 bb5", F: "~@5 c3 ~ c3!2 db3 ~ c3!4 db3 ~@8",
  G: "~@5 b2 ~ b2!2 c3 ~ b2!4 c3 ~@8", H: "~@5 c3 ~ c3!2 db3 ~ c3!4 db3 ~@2 c6 a5 f5 gb5 f5 eb5",
  I: "b4 e5 g5 a5 b5 [b2,e6] ~ b2!2 c3 ~ b2!4 c3 b5 ~ b5 ~ b5 ~@2 b5", // E5
  J: "~ c6 ~ c6!2 c3 c6 c3!2 [db3,c6] ~ [c3,c6] c3 [c3,c6] c3 [db3,c6] c6 ~ c6 ~@2 c6 ~ c6", // Dbmaj7 C Dbmaj7
  K: "~ c6 ~ c6!2 ~ c6 ~@2 c6 ~ c6 ~ c6 ~ c6!2 ~ c6 ~@2 c6 ~ c6",
  L: "gb5 db5 gb5 bb5 gb5 [gb3,bb5] ~ gb3!2 g3 ~ gb3!4 g3 ~@2 gb5 bb5 db6 bb5 db6 gb6", // Gb
  M: "gb5 db5 gb5 bb5 gb5 [gb3,bb5] ~ gb3!2 g3 ~ gb3!4 g3 ~@2 bb5 db6 gb6 bb6 db7 gb7", // Gb
  N: "e5 b4 e5 ab5 e5 [e3,ab5] ~ e3!2 f3 ~ e3!4 f3 ~@2 e5 ab5 b5 ab5 b5 e6", // E
})).s("gm_pizzicato_strings").gain(0.3)

// other · string ensemble 1 · "Harpe 1"
const string_ensemble_1 = note(`<
  A B C D E F G H G ~@2 I J F G H G ~@4 K@3 ~ L M N O P M Q R C S T U V ~ W X Y X ~@4 F G H G ~@2 I J F G H G ~@4 K@3 ~
  L M N O P M Q R C S T U V ~ W X Y X ~@4 Z AA ~@2
>`.pickRestart({
  A: "g2", B: "ab2", C: "f2", D: "c3 ~ c3 ~ c3 db3 bb2 ~ bb2 ~ bb2 db3 c3 ~ c3 ~ c3 db3 bb2 ~ bb2 ~ bb2 db3",
  E: "c3 ~ c3 ~ c3 db3 bb2 ~ bb2 ~ bb2 db3 c3 ~ c3 ~ c3 db3 [bb2,g5] e5 [bb2,c5] db5 [bb2,c5] [db3,bb4]", // Eb Bbsus2 Gb
  F: "[c3,c5] g4 [c3,c5] e5 [c3,c5] [db3,e5] bb2 ~ bb2 ~ bb2 db3 c3 ~ c3 ~ c3 db3 [bb2,c5] e5 [bb2,g5] e5 [bb2,g5] [db3,c6]", // C Dbm Bbsus2 Eb Dbmaj7
  G: "[c3,c5] g4 [c3,c5] e5 [c3,c5] [db3,e5] bb2 ~ bb2 ~ bb2 db3 c3 ~ c3 ~ c3 db3 [bb2,e5] g5 [bb2,c6] e6 [bb2,g6] [db3,c7]", // C Dbm Bbdim Bbsus2 Eb Dbmaj7
  H: "[bb2,bb4] f4 [bb2,bb4] d5 [bb2,bb4] [c3,d5] g2 ~ g2 ~ g2 c3 bb2 ~ bb2 ~ bb2 c3 [g2,bb4] d5 [g2,f5] d5 [g2,f5] [bb2,bb5]", // Bb Csus2 Gm G7 Bb
  I: "~@8 ab3 g3 gb3 f3", J: "e3 f3 g3 f3 g3 b3 c4@6", K: "eb3@3 db3 ~@20", L: "c3@7 g3", M: "gb3 d3@5 eb3 c3@5",
  N: "b4 e5 g5 a5 b5 ~@7 ab2@11 b2, b2 ~", O: "c3 ~@17 c6 a5 f5 gb5 f5 eb5", P: "c3@7 g3, f5 ~@11",
  Q: "b4 e5 g5 a5 b5 e6 ~@6 e3@12, b2 ~", R: "f3", S: "c4 ~ c4 ~ c4!3 ~ c4 ~ c4!2 b3 ~ b3 ~ b3!3 ~ b3 ~ b3!2",
  T: "bb3 ~ bb3 ~ bb3!3 ~ bb3 ~ bb3!2 ab3 ~ ab3 ~ ab3!3 ~ ab3 ~ ab3!2",
  U: "f4 ~ f4 ~ f4!3 ~ f4 ~ f4!2 gb4 ~ gb4 ~ gb4!3 ~ gb4 ~ gb4!2",
  V: "g4 ~ g4 ~ g4!3 ~ g4 ~ g4!2 db4 ~ db4 ~ db4!3 ~ db4 ~ db4!2",
  W: "[gb2,gb5] db5 [gb2,gb5] bb5 [gb2,gb5] [g2,bb5] e2 ~ e2 ~ e2 g2 gb2 ~ gb2 ~ gb2 g2 [e2,gb5] bb5 [e2,db6] bb5 [e2,db6] [g2,gb6]", // Gb Gm Esus2 Dbm Gmaj7
  X: "[gb2,gb5] db5 [gb2,gb5] bb5 [gb2,gb5] [g2,bb5] e2 ~ e2 ~ e2 g2 gb2 ~ gb2 ~ gb2 g2 [e2,bb5] db6 [e2,gb6] bb6 [e2,db7] [g2,gb7]", // Gb Gm Edim Esus2 Dbm Gmaj7
  Y: "[e2,e5] b4 [e2,e5] ab5 [e2,e5] [gb2,ab5] db2 ~ db2 ~ db2 gb2 e2 ~ e2 ~ e2 gb2 [db2,e5] ab5 [db2,b5] ab5 [db2,b5] [e2,e6]", // E Gbsus2 Dbm Db7 E
  Z: "[c3,c5] g4 [c3,c5] e5 [c3,c5] [db3,e5] [bb2,g5] c6 [bb2,g5] e5 [bb2,c5] [db3,g5] [c3,e5] g4 [c3,c5] e5 [c3,c5] [db3,g4] [bb2,c5] e5 [bb2,g5] e5 [bb2,g5] [db3,c6]", // C Dbm Eb Bbsus2 Dbdim C Dbdim Bbsus2 …
  AA: "[c3,c5] g4 [c3,c5] e5 [c3,c5] [db3,e5] [bb2,g5] c6 [bb2,e6] ~@15", // C Dbm Eb Bbdim
})).s("gm_string_ensemble_1").gain(0.4)

// other · string ensemble 1 · "Harpe 1" · soft notes · Bbdim Dbdim C C5 Dbmaj7 Bbdim Bbsus2 Eb …
const string_ensemble_1_soft = note(`<
  ~@90
  [~@9 g6 [bb2,e6] [db3,g6] [c3,e4] g4 [c3,c5] e5 [c3,g4] [db3,c5] [bb2,e5] g5 [bb2,c6] e6 [bb2,g6] [db3,c7]]
  [[bb2,bb4] f4 [bb2,bb4] d5 [bb2,bb4] [c3,d5] [g2,f5] bb5 [g2,f5] d5 [g2,bb4] [c3,f5] [bb2,d5] f4 [bb2,bb4] d5 [bb2,bb4] [c3,f4] [g2,bb4] d5 [g2,f5] d5 [g2,f5] [bb2,bb5]]
  [[c3,c5] g4 [c3,c5] e5 [c3,c5] [db3,e5] [bb2,g5] c6 [bb2,e6] g6 [bb2,e6] [db3,g6] [c3,e4] g4 [c3,c5] e5 [c3,g4] [db3,c5] [bb2,e5] g5 [bb2,c6] e6 [bb2,g6] [db3,c7]]
>`).s("gm_string_ensemble_1").gain(0.1)

// other · pizzicato strings · "Harpe 2"
const pizzicato_strings_2 = note(`<
  ~@4 A B C D C ~@4 B C D C ~@10 E F ~@2 G ~@7 H I J I ~@4 B C D C ~@4 B C D C ~@10 E F ~@2 G ~@7 H I J I ~@8
>`.pickRestart({
  A: "~@12 c6 ab5 g5 ab5 g5 e5 ~@6", B: "~@6 g5 c6 g5 e5 c5 g5 e5 g4 c5 e5 c5 g4 ~@6",
  C: "~@6 g5 c6 e6 g6 e6 g6 e4 g4 c5 e5 g4 c5 ~@6", D: "~@6 f5 bb5 f5 d5 bb4 f5 d5 f4 bb4 d5 bb4 f4 ~@6",
  E: "~@9 b4 e5 g5 a5 b5 ~@10", F: "~@12 f6 db6 c6 db6 c6 a5 ~@6", G: "~@9 b4 e5 g5 a5 b5 e6 ~@9",
  H: "~@6 db6 gb6 db6 bb5 gb5 db6 bb5 db5 gb5 bb5 gb5 db5 ~@6",
  I: "~@6 db6 gb6 bb6 db7 bb6 db7 bb4 db5 gb5 bb5 db5 gb5 ~@6", J: "~@6 b5 e6 b5 ab5 e5 b5 ab5 b4 e5 ab5 e5 b4 ~@6",
})).s("gm_pizzicato_strings").gain(0.4)

// other · string ensemble 1 · "Alto"
const string_ensemble_1_2 = note(`<
  A B C@2 ~ D E F G H I J K L@2 M L ~@4 N@3 ~ O P Q R O P S T C U V W X ~ Y@2 Z Y ~@4 D E F G H I J K L@2 M L ~@4 N@3 ~
// … 41 more lines

More by Junichi Masuda