Strudelify

Be The Sunshine On A Gloomy Day

JMComposer

KeyB♭ majorTempo148 bpm
0:00/0:00
// Be The Sunshine On A Gloomy Day — JMComposer
// 148 bpm, 3/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (3/4 at bar 1, 2/4 at bar 152, 3/4 at bar 155, 4/4 at bar 161) are rendered on a constant 3/4 grid of one bar per cycle
// note: ch 1 "Alto Sax 1" named as a reed, played on alto sax (its pizzicato strings patch is not one); ch 2 "Alto Sax 2" named as a reed, played on alto sax (its tremolo strings patch is not one); ch 3 "Tenor Sax 1" named as a reed, played on tenor sax (its string ensemble 1 patch is not one); ch 5 "Bari Sax" named as a reed, played on baritone sax (its tremolo strings patch is not one); ch 6 "Trumpet 1" named as a brass, played on trumpet (its cello patch is not one); ch 8 "Trumpet 2" named as a brass, played on trumpet (its tremolo strings patch is not one); ch 15 "Trombone 1" named as a brass, played on trombone (its slap bass 2 patch is not one); ch 11 "Violin" named as a string part, played on violin (its acoustic bass patch is not one); ch 14 "Violin" named as a string part, played on violin (its slap bass 1 patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5976095; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 166 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(148/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.

// other · alto sax · "Alto Sax 1"
const alto_sax = note(`<
  ~@38 A@3 B C@2 D E A@4 C@2 D F ~@15 G H I J K L M N O P Q R S T U V W@2 ~@15 X@6 ~ Y Z AA AB@2 AC AD@8 AE@4 AF@3 AG@2
  AH@2 AI@2 AJ AK AL AM@6 ~@4 AN AO@2 ~ AP@3 AQ@3 AR@6 ~
>`.pickRestart({
  A: "~@5 eb4@3 ~ d4@2 eb4@3 d4@2", B: "eb4@3 d4@2 c4@3 ~ d4@2 eb4@3 g4@2", C: "~@5 f4@3 ~ eb4@2 f4@3 eb4@2",
  D: "~@5 g4@3 ~ f4@2 g4@3 f4@2", E: "g4@3 f4@2 eb4@3 ~ d4@2 c4@3 f4@2", F: "g4@5 f4@11",
  G: "c4@3 bb3@2 a3@3 ~ bb3@2 c4@3 eb4@2", H: "d4@5 a4 bb4@8 f4@2", I: "gb4@5 db5 d5@4 ~ c5@5",
  J: "b4 c5@4 bb4@8 ~ a4@2", K: "eb4", L: "b4 c5@4 bb4@8 ~ f4@2", M: "a4 bb4@4 a4@8 ~ eb4@2", N: "g4@5 f4@5 ~ c4@5",
  O: "d4", P: "d4@5 bb4@8 ~ f4@2", Q: "gb4@5 db5 d5@4 ~ a4@5", R: "c5@5 bb4@8 ~ f4@2", S: "gb4@5 d5 eb5@10",
  T: "eb5@5 f4@8 ~ d5@2", U: "c5@5 g4@5 ~ a4@5", V: "b4 c5@4 d4@5 ~ c5@5", W: "[a4 bb4@18 ~@13]/2",
  X: "[bb4@6 d4@9 eb4@2 f4@6 ~ d5@6 ab4@6 c5@7 bb4@11 ~ f4@3 gb4@11 eb5@16 ~@11]/6", Y: "~@12 d5 eb5@3",
  Z: "~ f4@4 d5 c5@2", AA: "~ g4@5 a4@5 ~ b4 c5@3", AB: "[~ d4@5 c5@5 a4 bb4@7 ~ b4@7 e4@5]/2",
  AC: "b4 c5@7 g4@2 ab4@5 ~",
  AD: "[e5@4 ~ d5@5 db5 d5@4 c5@8 b4@2 ~ f4@15 db5 d5@4 c5@8 ~ g4@2 b4 c5@4 b4@8 f4@2 a4@5 g4@5 ~ d4@5 e4@15 e4@5 ~ c5@8 g4@2 ab4@5 eb5 e5@3, eb5 ~@127]/8",
  AE: "[~ b4@5 ~ d5@5 c5@8 g4@2 ab4@5 e5 f5@10 f5@5 g4@8 e5@2 d5@5 ~ a4@5]/4",
  AF: "[b4@5 db5 d5@4 e4@5 d5@5 b4 c5@15 e4@5 b4 c5@6]/3", AG: "[~@2 g4@2 ab4@5 eb5 e5@4 d5@5 db5 d5@4 c5@8]/2",
  AH: "[~ b4@2 f4@15 db5 d5@4 ~ c5@8]/2", AI: "[g4@2 b4 c5@4 b4@8 f4@2 ~ a4@5 g4@5 d4@4]/2", AJ: "~ e4@15",
  AK: "~ e4@5 c5@8 g4@2", AL: "ab4@5 eb5 e5@4 ~ b4@5",
  AM: "[d5@5 c5@8 g4@2 ab4@5 ~ f5@10 f5@5 g4@8 ~ e5@2 d5@5 a4@5 b4@5 db5 d5@4 e4@5 ~ d5@5 b4 c5@10 ~@7, ~@21 e5 ~@74]/6",
  AN: "~ f4@6 g3@9", AO: "[~ e4@2 d4@7 a3@10 b3@11 ~]/2", AP: "[~@5 c4@43]/3", AQ: "[~ c4@15]/3",
  AR: "[~@5 c4@87 ~@4]/6",
})).s("gm_alto_sax").gain(0.4)

// other · alto sax · "Alto Sax 2"
const alto_sax_2 = note(`<
  ~@38 A@3 B C D E F A@4 C@2 G H ~@14 I J K L M N O P Q R N S T U V W@2 X@2 ~@15 Y@6 ~ Z AA AB AC@2 AD@5 AE@4 AF AG@3 AH
  AI@2 AJ@4 AK AL AM AN AO AP@6 ~@21
>`.pickRestart({
  A: "~@5 c4@3 ~ bb3@2 c4@3 bb3@2", B: "c4@3 bb3@2 a3@3 ~ bb3@2 c4@3 eb4@2", C: "~@5 d4@3 ~ c4@2 d4@3 c4@2",
  D: "~@5 db4@3 ~ db4@2 db4@3 db4@2", E: "~@5 eb4@3 ~ d4@2 eb4@3 d4@2", F: "eb4@3 d4@2 c4@3 ~ bb3@2 a3@3 a3@2",
  G: "~@5 eb4@3 ~ d4@2 eb4@3 c4@2", H: "d4", I: "a3@3 g3@2 f3@3 ~ g3@2 a3@3 bb3@2", J: "a3@5 f3@3 ~ g3@2 a3@3 bb3@2",
  K: "c4@5 c4@8 ~ d4@2", L: "d4@11 f4 gb4@4", M: "g4@11 eb4@5", N: "bb3@5 c4@5 ~ d4@5", O: "eb4@5 f4@8 ~ c4@2",
  P: "e4 f4@4 f4@2 eb4@2 d4@2 db4@5", Q: "d4@11 a3@5", R: "b3 c4@4 bb3@5 ~ a3@5", S: "d4@5 bb3@5 ~ f4 gb4@4",
  T: "g4@5 eb4@5 ~ bb3@5", U: "bb3@5 a4 bb4@10", V: "a4@5 c4@8 ~ a3@2", W: "[bb3@5 c4@5 ~ eb4@10 bb3@5 ~ e4 f4@4]/2",
  X: "[eb4@5 d4@14 ~@13]/2", Y: "[f4@6 bb3@9 c4@2 d4@6 ~ ab4@6 f4@6 g4@7 eb4@11 ~ bb3@3 c4@11 bb4@16 ~@11]/6",
  Z: "~@3 a4", AA: "~ c4@4 a3 bb3@2", AB: "~ c4@5 eb4@10", AC: "[~ bb3@5 e4 f4@4 eb4@8 ~ d4@7 d4@5]/2",
  AD: "[d4@8 e4@2 e4@10 ~ g4 ab4@4 a4@10 f4@5 ~ c4@5 d4@5 e4@5 f4@5 g4@8 ~ d4@2 gb4 g4@4 g4@2]/5",
  AE: "[~ e4@2 eb4@5 e4@10 ~ b3@5 db4 d4@4 c4@5 b3@5 c4@5 ~ d4@5 e4@5 e4@5 c4@4, f4 ~@31]/4",
  AF: "~ g4 ab4@4 ~ a4@5 f4@4", AG: "[~ c4@5 c4@5 b4 c5@10 b4@5 d4@8 b3@2 c4@5 ~ d4@5]/3", AH: "f4@10 c4@5 gb4",
  AI: "[g4@4 f4@5 ~ e4@10 d4@5 d4@7]/2", AJ: "[~@2 e4@2 e4@10 g4 ab4@4 a4@10 ~ f4@5 c4@5 d4@5 e4@5 f4@5 ~ g4@8]/4",
  AK: "d4@2 gb4 g4@4 g4@2 f4@2 ~ eb4@4, ~@11 e4@2 ~@3", AL: "~ e4@5 b3@2", AM: "~ db4 d4@4 c4@5 ~ b3@4",
  AN: "~ c4@5 d4@5 e4@5", AO: "e4@5 c4@5 ~ g4 ab4@4",
  AP: "[a4@5 f4@5 c4@5 c4@5 ~ c5@10 b4@5 d4@8 ~ b3@2 c4@5 d4@5 f4@10 c4@5 ~ g4@4 ~ f4@5 e4@5 ~@8, ~@21 b4 ~@51 gb4 ~@22]/6",
})).s("gm_alto_sax").gain(0.4)

// chords · tenor sax · "Tenor Sax 1"
const tenor_sax = note(`<
  ~@2 A@5 B@2 ~@7 C@2 D@2 E F G ~@7 H I J I K@2 L M N O P Q@2 R S T U V W X Y Z AA AB AC AD@3 AE AF@2 AG AC AD@3 AE AH
  AC AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY@2 ~@9 AZ BA BB@2 BC BD BE@6 ~ BF@6 BG@5 BH@5 BI@7 BJ@2 BK@2 BL
  BM BN BO@2 BP@7 BQ ~@5 BR@3 BS@3 BT@5 ~
>`.pickRestart({
  A: "[~@15 f4@41 eb4@24]/5", B: "[eb4@25 ~@7]/2", C: "[~@3 eb4@5]/2", D: "[d4@27 eb4@5]/2", E: "d4@5 eb4@5 ~ f4@5",
  F: "a4", G: "f4@11 ~@5", H: "f4", I: "gb4", J: "g4", K: "eb4/2", L: "eb4@5 d4@5 ~ c4@5", M: "eb4@3 ~@2 d4@11",
  N: "[d4,f4]@5 eb4@5 ~@4 f4@2, ~@5 bb4@8 ~@3, ~@11 d4@5", O: "[c4,gb4]@5 [bb3,d5]@5 ~ [c4,c5]@5",
  P: "[d4,c5]@5 eb4@5 ~@4 a4@2, ~@5 bb4@8 ~@3, ~@11 f4@5", // D7
  Q: "[~@5 d4@5 ~@6 c5@5 [c4,bb4]@8 ~ [bb3,f4]@2, eb4 ~, ~@11 bb3@11 ~@10]/2", R: "[a3,bb4]@5 a4@8 ~ eb4@2, ~@5 db4@11",
  S: "[bb3,g4]@5 [c4,f4]@5 ~ [c4,d4]@5", T: "f4@5 eb4@5 ~ d4@5, d4@11 ~@5", U: "[d4,f4]@5 [d4,bb4]@8 ~ [a3,f4]@2",
  V: "gb4@5 d5@5 ~ a4@5, d4", W: "[eb4,c5]@5 [g4,bb4]@8 ~ [eb4,f4]@2", X: "gb4@5 eb4@11, bb3",
  Y: "[a3,eb4]@5 [f4,a4]@6 ~@3 d4@2, ~@11 f4@5", Z: "[c4,eb4]@5 g3@5 ~ a3@5, ~@5 c4@11",
  AA: "[c4,d4]@5 [d4,f4]@5 ~ [c4,d4]@5", AB: "[bb3,f4]", AC: "c4", AD: "[eb4@5 a3@16 bb3@5 ~ c4@10 d4@5 ~ eb4@5]/3",
  AE: "f4@5 g4@5 ~ a4@5", AF: "[bb4@8 ~ bb3@18 db4@5]/2", AG: "d4",
  AH: "g3@3 f3@2 eb3@3 ~ f3@2 g3@3 d4@2, bb4@8 ~ bb3@7", AI: "eb3@5 gb3@5 ~ f3@3 g3@2, c4", AJ: "a3@5 f3@8 ~ a3@2, d4",
  AK: "a3@5 gb3@5 ~ d4@5", AL: "eb4@5 d4@8 ~ c4@2", AM: "bb3@5 g3@11", AN: "bb3@5 f3@8 ~ a3@2",
  AO: "db4@5 f3@5 ~@2 a3@2 bb3@2, ~@11 g3@2 ~@3", AP: "c4@5 a3@5 ~ f3@5", AQ: "g3@5 f3@11", AR: "e3 f3@4 d3@8 ~ a3@2",
  AS: "bb3", AT: "eb3@5 g3@8 ~ eb3@2", AU: "gb3@5 f4 gb4@4 ~ f4@5", AV: "d4 eb4@4 a3@5 ~ f3@5", AW: "eb3@5 b3 c4@10",
  AX: "d4@5 f3@5 ~ a3@5", AY: "[gb3 g3@4 f3@14 ~@13]/2", AZ: "c5@5 bb4@5 ~ a4@5", BA: "g4@11 d4@5", BB: "g4/2",
  BC: "a4@5 a3@5 ~ bb3@5", BD: "c4@5 db4@11",
  BE: "[[d3,d4]@6 [f3,f4]@9 [f3,f4]@2 [ab3,ab4]@6 ~ [f3,f4]@6 [d3,d4]@6 [eb3,eb4]@7 [g3,g4]@11 ~ [d3,d4]@3 [eb3,eb4]@27 ~@11]/6", // D F Ab F D Eb G D …
  BF: "[~@12 d4 eb4@4 ~ a3@3 ~@2 f3@5 eb3@5 b3 c4@10 d4@5 f3@5 a3@5 gb3 g3@7 ~ f3@7 b3@5 g3@8 b3@2 [b3,e4]@5 ~, ~@12 bb3@8 ~ a3@23 eb4@15 d4@16 g4@16 ~@5]/6", // E5
  BG: "[[ab3,c5]@5 [e4,ab4]@5 [f4,a4]@5 e4@8 d4@2 ~ c4@5 a3@10 [c4,b4]@5 [g3,a4]@8 ~ [b3,d4]@2 eb4@5 g3@5 a3@2 ~@3 [d4,a4]@5 [b3,b4]@3, ~@26 d4@16 ~@20 g4@7 b3@2 c4@2 ~@7, ~@35 ab4 ~@4]/5", // Ab E F Cmaj7 Gsus2 Bm D5 B
  BH: "[~@3 [g3,g4]@5 [a3,c4]@5 d4@5 e4@5 gb3 g3@4 ~@9 b3@2 ~@5 ab4@5 e4@5 ~ [f3,f4]@5 [a3,a4]@8 [f3,g4]@2 [ab3,ab4]@5 g4 ab4@4, ~@13 g3@10 c4@10 ~ d4@5 c4@16 ~@20 d5@5, ~@29 e3@8 ~@43]/5", // G Am F A Fsus2 Ab
  BI: "[~ [g4,ab4]@5 e4 f4@4 b3@5 ~@3 g4@2 [f3,f4]@5 ~ d4@10 [b3,e4]@5 [g3,g4]@5 [b3,a4]@5 ab3 a3@4 ~ g3@10 b3@5 g3@8 ~ b3@2 [b3,e4]@5 [ab3,c5]@5 [e4,ab4]@5 [f4,a4]@5 e4@8, ~@6 d5@5 b4@8 ~@33 g4@16 g4@16 ~@28, ~@16 g3@5 ~@6 db4 ~@84]/7", // Abmaj7 F E5 G B7 E5 Ab E …
  BJ: "[~ d4@2 c4@5 a3@10 [c4,b4]@5 ~ [g3,a4]@8, ~@3 d4@16 ~@13]/2", // Cmaj7 Gsus2
  BK: "[[b3,d4]@2 eb4@5 g3@5 a3@2 ~@2 c4@2 [d4,a4]@5 [b3,b4]@5 [g3,g4]@4, ~@7 g4@7 b3@2 ~@16, ~@15 ab4@2 ~@15]/2", // Bm D5 B G
  BL: "~ [a3,c4]@5 d4@5 ~ e4@4, ~@3 g3@5", BM: "~ gb3 g3@4 ~@8 b3@2, ~ g4@10 d4@5, ~@3 e3@4 ~",
  BN: "~@5 ab4@5 ~ e4@5, c4",
  BO: "[[f3,f4]@5 [a3,c5]@8 [f3,g4]@2 [ab3,ab4]@5 ~ [ab4,d5]@5 [g4,ab4]@5 [e4,d5], ~@21 g4 ~@10]/2", // F Am Fsus2 Ab Abdim Abmaj7 E7
  BP: "[f4@4 b3@5 g3@4 g4@2 [f3,f4]@5 [db4,d4] d4@9 [b3,e4]@5 [g3,g4]@5 ~ [b3,a4]@5 ab3 a3@4 g3@5 ~@5 a4@17 a4@17 b4@17, ~@2 b4@4 ~@17 g4@8 ~@25]/7", // F Dmaj7 E5 G B7
  BQ: "d5", BR: "[~@11 ab3@25 ~@12]/3", BS: "[~@4 b3@33 ~@11]/3", BT: "[~@13 b3@62 ~@5]/5",
})).s("gm_tenor_sax").gain(0.4)

// other · baritone sax · "Bari Sax"
const baritone_sax = note(`<
  ~@38 A B C D E@2 A@3 B D F E G A H ~@12 I J@2 K L M N O P@2 M H Q R S T U V W X@2 ~@15 Y@6 ~ Z AA AB AC@2 AD AE@8 AF
  AG AH AI AJ AK@2 AL@2 AM@2 AN@2 AO AP AQ AR@6 ~@21
>`.pickRestart({
  A: "bb2@5 ~@6 f2@5", B: "bb2@5 ~@6 gb2@5", C: "eb2@5 ~@6 d3@5", D: "c3@5 ~@6 g2@5", E: "f2@5 ~@6 c3@5",
  F: "c3@5 ~@6 gb2@5", G: "f2@5 ~@6 f2@5", H: "bb2", I: "eb3@3 d3@2 c3@3 ~ d3@2 eb3@3 f3@2", J: "eb3/2",
  K: "c3@11 f2@5", L: "bb2@5 bb2@8 ~ bb2@2", M: "bb2@5 bb2@5 ~ bb2@5", N: "a2 bb2@10 eb3@3 d3@2", O: "c3",
  P: "f2@5 f2@8 ~ f2@2", Q: "bb2@5 f2@5 ~ d3@5", R: "bb2@5 gb2@5 ~ d3@5", S: "c3@5 g2@5 ~ eb3@5",
  T: "c3@5 gb2@5 ~ eb3@5", U: "f2@5 c3@5 ~ f3@5", V: "f2@5 c3@5 ~ eb3@5", W: "bb2@5 f2@5 ~ db3 d3@4",
  X: "[bb2@5 bb2@14 ~@13]/2", Y: "[bb2@11 ~ bb2@5 ab2@13 ab2@6 g2@14 bb2@7 ~ c3@27 ~@11]/6", Z: "~@3 f2",
  AA: "~@2 c3@5 f3@5 f2@4", AB: "~ c3@5 eb3@5 ~ bb2@4", AC: "[~ f2@5 db3 d3@4 bb2@8 ~ b2@7 c3@5]/2",
  AD: "c3@8 c3@2 c3@5 ~",
  AE: "[c3@5 c3@5 b2 c3@9 f2@3 e2@2 ~ d2@15 g2@5 g2@8 ~ g2@2 g2@5 g2@8 g2@2 c3@5 c3@5 ~ c3@5 c3@15 c3@5 ~ g2@5 e3@5 c3@5 ab2@4]/8",
  AF: "~ e3@5 ~ d2@5 a2@4", AG: "~ f3@5 d2@5 ab2@5", AH: "~ f3@5 g2@5 d3@5", AI: "g3@5 g2@5 ~ d3@5",
  AJ: "f3@5 c3@5 g2@5 eb3", AK: "[e3@4 c3@16 c3@5 c3@7]/2", AL: "[~@2 c3@2 c3@5 c3@5 c3@5 b2 c3@10 f2@2]/2",
  AM: "[~ e2@2 d2@15 g2@5 ~ g2@8]/2", AN: "[g2@2 g2@5 g2@8 g2@2 ~ c3@5 c3@5 c3@4]/2", AO: "~ c3@15",
  AP: "~ c3@5 g2@5 e3@5", AQ: "c3@5 ab2@5 ~ e3@5",
  AR: "[d2@5 a2@5 f3@5 d2@5 ~ ab2@5 f3@5 g2@5 d3@5 g3@5 ~ g2@5 d3@5 f3@5 c3@5 g2@5 ~ e3@4 ~ c3@10 ~@8, ~@73 eb3 ~@22]/6",
})).s("gm_baritone_sax").gain(0.4)

// other · trumpet · "Trumpet 1"
const trumpet = note(`<
  ~@2 A@7 ~@7 B@2 C@2 D E F ~@7 G H@2 I J@2 K L M N O P Q R S T U V W X@2 Y Z AA AB AC AD AE AF AG AA@2 AB AC AD AE AH
  AI AJ AB AA ~@7 AK AL AM AN AO AP AQ AR@2 ~@10 AS AT@2 AU@2 AV@6 ~ AW@5 AX AY@8 AZ@4 BA@8 BB BC BD BE BF BG@2 BH@8 ~@4
  BI@3 BJ@3 BK@5 ~
>`.pickRestart({
  A: "[~@15 bb2@20 ab2@21 eb2@49 ~@7]/7", B: "[~@3 f2@5]/2", C: "bb2/2", D: "bb2@5 c3@5 ~ d3@5", E: "c4@5 d3@5 ~ c4@5",
  F: "bb3@11 ~@5", G: "d3", H: "bb3/2", I: "eb4@11 d4@5", J: "c4/2", K: "c4@5 bb3@5 ~ a3@5", L: "bb3",
  M: "a3@5 bb3@5 ~ c4@5", N: "bb3@5 d4@5 ~ c4@5", O: "c4@5 bb3@8 ~ a3@2", P: "bb3@11 a3@5", Q: "g3@5 bb3@8 ~ f3@2",
  R: "bb3@5 a3@8 ~ eb3@2", S: "g3@5 d3@5 ~ g3@5", T: "f3", U: "[d3,d4]@5 [bb3,bb4]@8 ~ [f3,f4]@2",
  V: "[gb3,gb4]@5 [d4,d5]@5 ~ [a3,a4]@5", W: "[c4,c5]@5 [bb3,bb4]@8 ~ [f3,f4]@2",
  X: "[[gb3,gb4]@5 eb4@11 eb4@5 f3@8 ~ d4@2, ~@5 eb5@16 ~@11]/2", Y: "c4@5 g3@5 ~ f3@5", Z: "eb3@5 d3@5 ~ c3@5",
  AA: "bb2", AB: "f2", AC: "eb2", AD: "d2", AE: "g2", AF: "c2", AG: "bb2@11 c3@5", AH: "c2@11 c3@5",
  AI: "bb2@8 ~ bb2@7", AJ: "a2@8 ~ g2@7", AK: "d5@8 ~ d5@7", AL: "gb5@3 gb5@2 ~@4 gb5@7", AM: "eb5@3 ~@2 eb5@11",
  AN: "bb4@3 ~@2 gb5@11", AO: "eb5@5 f5@5 ~ d5@5", AP: "c5@5 g5@5 ~ a5@5", AQ: "c6@5 f5@5 ~ c6@5",
  AR: "[bb5@19 ~@13]/2", AS: "d3@5 eb3@5 ~ f3@5", AT: "[g3@5 a3@5 ~ bb3@14 a3@7]/2",
  AU: "[c4@5 bb3@5 ~ a3@10 db3@5 ~ f2@5]/2",
  AV: "[d4@6 ~@9 eb4@2 f4@6 ~ d5@6 [ab2,ab4]@6 c5@7 ~@12 f4@3 gb4@11 gb5@16 ~@11, bb2@11 ~ bb2@6 ~@25 bb4@11 ~@42, ~@6 bb4@9 ~@2 ab2@13 ~@6 g2@14 bb2@7 ~ c3@27 ~@11]/6", // Ab
  AW: "[~@12 f2@16 f2@16 bb2@15 bb2@8 ~ g2@7 [c3,e4]@5]/5", AX: "[c4,c5]@8 [g3,g4]@2 [ab3,ab4]@5 ~",
  AY: "[[e4,e5]@5 [d4,d5]@5 [d4,d5]@5 [c4,c5]@8 [b3,b4]@2 ~ [f3,f4]@15 [d4,d5]@5 [c4,c5]@8 ~ [g3,g4]@2 [c4,c5]@5 [b3,b4]@8 [f3,f5]@2 [a3,a5]@5 [g3,g5]@5 ~ [d3,d5]@5 [e3,e5]@15 [e3,e5]@5 ~ [c4,c6]@8 [g3,g5]@2 [ab3,ab5]@5 [e4,e5]@4]/8", // E D C B F D C G …
  AZ: "[~ [b3,b4]@5 ~ [d4,d5]@5 [c4,c5]@8 [g3,g4]@2 [ab3,ab4]@5 [f4,f5]@10 ~ [f4,f5]@5 [g3,g4]@8 [e4,e5]@2 [d4,d5]@5 ~ [a3,a4]@5]/4", // B D C G Ab F G E …
  BA: "[[b3,b4]@5 [g3,d5]@5 [e3,e4]@5 [d3,d5]@5 [c3,c5]@16 g5@3 g5@2 ~@3 g5@6 g3@2 ab3@5 e4@5 d4@5 d4@5 a5@9 b3@2 a5@3 a5@2 ~@5 a5@5 d4@4 b5@2 ~@8 g3@2 c4@5 [b3,g5]@8 f3, ~@36 c3@5 c4@8 ~@3 ab5@3 ~@2 ab5@10 ~@5 c4@8 ~@3 f3@15 b5@3 ~@3 c4@8 ~@16, ~@107 b5@7 ~@14]/8", // B G5 E D C Em
  BB: "~@2 g5@3 g5@2 g3@5 [d3,g5]@4, ~@2 a3@5 ~@9", BC: "~ g5@3 ~@2 g5@10, ~ e3@15", BD: "~ [e3,c6]@5 c4@8 g3@2",
  BE: "ab3@5 [e4,ab5]@5 ~ b3@5", BF: "d4@5 ~@8 g3@2 ab3, ~@5 c4@8 ~@3, ~@10 a5@5 ~",
  BG: "[~@8 f5@5 ~@2 [f4,f5]@5 [g3,g4]@8 ~ [e4,e5]@2 [d4,d5], ~@5 f4@10 ~@17]/2", // F G E D
  BH: "[~@4 [a3,a4]@5 [b3,b4]@5 g3@5 e3@5 ~ d3@5 c3@15 d3@17 g2@17 c3@34 ~@15, ~@7 c5@8 ~@49]/8", // A B
  BI: "[~@11 db3@25 ~@12]/3", BJ: "[~@4 g2@33 ~@11]/3", BK: "[~@13 c2@62 ~@5]/5",
})).s("gm_trumpet").gain(0.3)

// other · trumpet · "Trumpet 2"
const trumpet_2 = note(`<
  ~@46 A B C D E ~@27 F G H I J K L M@2 ~@15 N@6 ~@5 O P@5 Q@4 R S@3 T@8 U V W X Y Z@4 ~@22
>`.pickRestart({
  A: "bb3@5 c4@5 ~ d4@5", B: "d4@5 bb3@5 ~ gb4@5", C: "g4@5 eb4@5 ~ bb3@5", D: "gb3@5 gb4@5 ~ f4@5", E: "eb4@5 ~@11",
  F: "f4@8 ~ f4@7", G: "bb4@3 bb4@2 ~@4 bb4@7", H: "g4@3 ~@2 g4@11", I: "bb4@3 ~@2 bb4@11", J: "a4@5 c5@5 ~ a4@5",
  K: "eb4@5 c5@11", L: "d5@11 eb5@5", M: "[d5@19 ~@13]/2",
  N: "[bb3@6 d4@9 c4@2 d4@6 ~ ab4@6 f4@6 g4@7 eb4@11 ~ c4@3 eb4@11 eb5@16 ~@11]/6", O: "~@11 d4@5",
  P: "[d4@8 e4@2 e4@10 ~ ab4@5 a4@10 f4@5 ~ c4@5 d4@5 e4@5 f4@5 g4@8 ~ d4@2 g4@5 g4@2]/5",
  Q: "[~ e4@2 eb4@5 e4@10 ~ b4@5 db5 d5@4 c5@5 b4@5 c5@5 ~ d5@5 e5@5 e5@5 c5@4, f4 ~@31]/4", R: "~ ab4@5 ~ a4@5 f4@4",
  S: "[~ c4@5 c4@5 c5@10 ~ b4@5 d4@8 b3@2 c4@5 ~ d4@5]/3",
  T: "[f4@10 c4@5 g4@5 f4@5 ~ e4@10 c5@3 c5@2 ~@3 c5@7 ~ c5@3 ~@2 c5@10 ~@5 d5@10 ~ e5@3 e5@2 ~@5 e5@5 d5@3 ~ d5@2 ~@3 d5@7 ~@5 f5@9]/8",
  U: "~@2 f5@3 f5@2 ~@5 f5@4", V: "~ f5@3 ~@2 e5@10", W: "~ e5@5 ~@10", X: "~@5 c5@5 ~@6", Y: "~@10 d5@5 ~",
  Z: "[~@8 b4@5 ~@2 d4@5 d4@8 ~ g4@2 f4@5 d4@5 f4@5 g4@16 ~@2]/4",
})).s("gm_trumpet").gain(0.3)

// other · trombone · "Trombone 1"
const trombone = note(`<
  ~@31 A ~@14 B A C@2 D E@2 ~@25 F G H I J K L M@2 ~@15 N O@5 ~@5 P Q R@2 S T@2 U@5 V@8 W@2 X Y Z AA AB AC@4 ~@22
>`.pickRestart({
  A: "bb3@5 d4@5 ~ c4@5", B: "c4", C: "bb3/2", D: "a3@11 bb3@5", E: "[c4@21 bb3@11]/2", F: "d3@5 bb3@8 ~ f3@2",
  G: "gb3@5 d4@5 ~ a3@5", H: "c4@5 bb3@8 ~ f3@2", I: "gb3@5 eb4@11", J: "eb4@5 f3@8 ~ d4@2", K: "c4@5 g3@5 ~ a3@5",
  L: "c4@5 d3@5 ~ c4@5", M: "[bb3@19 ~@13]/2", N: "d4", O: "[~ c4@19 bb3@49 ~@11]/5", P: "~@11 c4@3 c4@2",
  Q: "~@3 c4@7 c4@3 ~@3", R: "[c4@10 ~@5 d4@10 ~ e4@3 e4@2 ~]/2", S: "~@4 e4@5 d4@3 d4@2 ~@2",
  T: "[~ d4@7 ~@6 f4@10 f4@3 f4@2 ~@3]/2", U: "[~@3 f4@5 f4@3 ~@2 e4@10 c4@31 ~ e4@15 d4@10]/5",
  V: "[~ c4@5 b3@15 d4@16 f4@15 f4@5 ~ e4@5 d4@5 e4@3 e4@2 ~@3 e4@7 ~ e4@3 ~@2 e4@10 ~@5 f4@10 ~ c4@3 c4@2 ~@5 c4@3]/8",
  W: "[~@2 b3@3 ~ b3@2 ~@3 d4@7 ~@5 eb4@9]/2", X: "~@2 c4@3 c4@2 ~@5 c4@4", Y: "~ c4@3 ~@2 c4@10", Z: "~ e4@5 ~@10",
  AA: "~@5 e4@5 ~@6", AB: "~@10 e4@5 ~", AC: "[~@8 ab4@5 ~@2 d4@16 f4@15 g4@16 ~@2]/4",
})).s("gm_trombone").gain(0.34)

// other · trombone · "Trombone 1" · soft notes
const trombone_soft = note("<~@30 A ~ B@2 C D@2 E ~@128>".pickRestart({
  A: "c4", B: "bb3/2", C: "a3@11 bb3@5", D: "[c4@21 bb3@11]/2", E: "a3@3 ~@2 bb3@11",
})).s("gm_trombone").gain(0.23)

// chords · violin
const violin = note(`<
  A@7 B@2 ~@6 C@4 D E@3 F@2 G H I F J@2 K L M H I J N O P Q R S T U V W X Y Z AA AB AC AD AE@3 AF AG AH AI AJ AE@3 AF AG
  AK AL AM AJ F@2 AN H I F J@2 AO AP AQ H AR J F AS AT J F AU AV J AW AX AY AZ BA@2 BB BC BD BE@6 ~ BF BG@2 BH@2 BI BJ@8
  BK@4 BL@8 BM BN BO BP BQ@4 BR@7 ~@4 BS@3 BT@3 BU@6
>`.pickRestart({
  A: "[~@7 bb5@39 ~ bb5@20 ab5@21 g5@24]/7", B: "[gb5@25 ~@7]/2", C: "[~@3 bb1, ~@9 f1@39 ~@16, ~@7 a5@9]/4",
  D: "f5@5 g5@5 ~ a5@5, bb1", E: "[bb1 ~ bb1, c6@7 bb5@7 ~@2, ~ bb1 ~]/3", F: "bb1", G: "c2@5 c2@5 ~ eb2@3 e2@2",
  H: "f2@7 c2", I: "f1@11 f1@5", J: "bb1@7 f1", K: "bb1@11 bb1@5", L: "c2@11 g1@5", M: "c2@5 c2@3 ~ d2@2 eb2@3 e2@2",
  N: "bb1@3 ~@2 bb1@11", O: "d5@5 bb5@8 ~ f5@2, bb1", P: "gb5@5 d6@5 ~ c2@3 d2@2, bb1@11 c6@5",
  Q: "[eb2,c6]@5 eb2@5 ~@4 a5@2, ~@5 bb5@8 ~@3, ~@11 d2@5", R: "c2@5 c2@5 ~ eb2@3 e2@2, eb5",
  S: "c6@5 bb5@8 ~ [c2,f5]@2, f2@7 ~", T: "bb5@5 ~@9 eb5@2, f1@11 f1@5, ~@5 a5@8 ~@3", U: "g5@5 f5@5 ~ c5@5, bb1",
  V: "bb1@7 f1, d5", W: "d5@5 bb5@8 ~ [f1,f5]@2, bb1@7 ~", X: "gb5@5 d6@4 f1@2 bb1@3 b1@2, bb1@8 ~@3 a5@5",
  Y: "c6@5 ~@4 b1@2 c2@3 [g1,f5]@2, c2 ~, ~@5 bb5@8 ~@3", Z: "gb5@5 ~@4 d2@2 eb2@3 e2@2, c2@9 ~@7, ~@5 eb6@11",
  AA: "eb6@5 f5@8 ~ [c2,d6]@2, f2@7 ~", AB: "c6@5 g5@5 ~ a5@5, f1@3 ~@2 f1@11",
  AC: "c6@5 d5@5 ~@4 f1@2, bb1@7 ~, ~@11 c6@5", AD: "[bb1,bb5]",
  AE: "[bb5@5 ~@16 bb5@5 ~@11 bb5@5 ~ a5@5, f2 eb2 d2, ~@5 a5@16 ~@6 c6@11 ~@10]/3", AF: "[g1,bb5]",
  AG: "bb5@8 ~ a5@7, c2", AH: "g5@5 f5@11, bb1", AI: "e5@11 g5@5, bb1", AJ: "[bb1,f5]", AK: "[bb1,g5]",
  AL: "a1@8 ~ g1@7, a5", AM: "g5@8 ~ gb5@7, f1", AN: "c2@5 d2@5 ~ eb2@3 e2@2", AO: "bb1@8 ~ f1@2 bb1@3 b1@2",
  AP: "c2@8 ~ b1@2 c2@3 g1@2", AQ: "c2@9 d2@2 eb2@3 e2@2", AR: "f1@3 ~@2 f1@11", AS: "c2", AT: "f1",
// … 207 more lines

More by JMComposer