Strudelify

Rise of the Jungle Tyrant

DOMINOLAM

KeyB♭ majorTempo198 bpm
0:00/0:00
// Rise of the Jungle Tyrant — DOMINOLAM
// 198 bpm, 6/8, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Flute" named as a pipe, played on flute (its slap bass 2 patch is not one); ch 2 "Baritone Saxophone" named as a reed, played on baritone sax (its violin patch is not one); ch 3 "Horn in F" named as a brass, played on brass section (its pizzicato strings patch is not one); ch 5 "B♭ Trumpet" named as a brass, played on trumpet (its viola patch is not one); ch 7 "Trombone" named as a brass, played on trombone (its tremolo strings patch is not one); ch 9 "Tuba" named as a brass, played on tuba (its pizzicato strings patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/6318621; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 320 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(198/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 · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  ~ A@2 B@2 A@2 B@2 C@2 D E F G H I J@2 K L M@2 N O J@2 K L M@2 N P Q ~ R S Q ~ R T Q ~ R S Q ~ U V Q ~ R S Q ~ R W Q ~
  R S Q ~ U X Y Z AA AB AC AD AE AF AG Z AA AB AH AI AJ AK Y Z AA AB AC AD AE AF AL AM AN AO AP AI AJ AK AQ ~@47 AR@8 AS
  AT AU AT AS AT AV AW ~ A@2 B@2 A@2 B@2 C@2 D E F G H I J@2 K L M@2 N P Q ~ R S Q ~ R T Q ~ R S Q ~ U V Q ~ R S Q ~ R W
  Q ~ R S Q ~ U X Y Z AA AB AC AD AE AF AG Z AA AB AH AI AJ AK Y Z AA AB AC AD AE AF AL AM AN AO AP AI AJ AK AQ ~@56 AX
  ~ AY ~ AX ~ AY ~ C@2 D E AZ
>`.pickRestart({
  A: "g2/2", B: "eb2/2", C: "[[bb4,d5]@8 [g4,bb4]@5 [a4,c5]@3 [bb4,d5]@8 [c5,eb5]@8, g2]/2",
  D: "[bb4,d5] [c5,eb5], eb2", E: "[d5,f5]@5 [eb5,g5]@5 ~ [gb5,a5]@5, d2@3 ~@2 d2@3 ~@3 d2@3 ~@2",
  F: "[d5,g5]@8 [bb4,d5]@5 [c5,f5]@3, g2", G: "[d5,g5] [f5,bb5], eb2", H: "[eb5,ab5]@5 [f5,bb5]@5 ~ [ab5,c6]@5, ab2",
  I: "[d2,gb5,a5]@3 ~@2 [d2,eb5,a5]@3 ~@3 [d2,d5,a5]@3 ~@2", // D D5
  J: "[[g2,g4,g5]@3 ~@5 g2@3 ~@5 g2@3 ~@5 g2@3 db5@2 c5@3, ~@5 g5@21 ~@6]/2", K: "eb2@3 ~@5 eb2@3 ~@5, bb4",
  L: "ab2@3 ~@2 ab2@3 ~@3 ab2@3 ~@2, ab4", M: "[g2@3 ~@5 g2@3 ~@5 g2@3 ~@5 g2@3 db5@2 c5@3, d5@27 ~@5]/2",
  N: "bb4@8 g4@5 bb4@3, eb2@3 ~@5 eb2@3 ~@5", O: "ab2@5 b2@5 ~ eb3@5, b4", P: "[ab2,c5]@3 ~@13", Q: "g2 ~ g2 ~",
  R: "~@2 g2 ~", S: "~@5 ab2@4 ~@4 f2@3", T: "~@5 ab2@4 ~@4 eb3@3", U: "~@13 g2 ~@2", V: "ab2 ~ eb3@2",
  W: "~@5 ab2@4 ~@4 eb3@2 ~", X: "ab2 ~@2 ab2 ~ ab2 ~@2 ab2@3 g5@2 a5@3", Y: "bb5 eb5, eb2 ~ eb2 ~",
  Z: "eb2@3 ~@2 eb2@3 ~@3 eb2@3 ~@2, g5 bb5", AA: "a5 bb5, d2 ~ d2 ~", AB: "d2@3 ~@2 d2@3 ~@3 d2@3 ~@2, a5 gb5",
  AC: "g2 ~ g2 ~, g5", AD: "g2@3 ~@2 g2@3 ~@3 g2@3 ~@2, d6", AE: "bb2 ~ bb2 ~, c6",
  AF: "bb2@3 ~@2 bb2@3 ~@3 bb2@3 ~@2, f6", AG: "g5 eb5, eb2 ~ eb2 ~",
  AH: "[g2,g4]@5 ~@3 g2@3 d5@5, g5 ~, ~@5 bb4@5 ~@6", AI: "[eb2,eb5]@5 ~@3 eb2@3 bb5@5, ~@5 gb5@5 ~@6",
  AJ: "[ab2,ab5]@5 ~@3 ab2@3 eb6@5, ~@5 c6@5 ~@6", AK: "[d2,d6]@3 ~@2 [d2,d6]@3 ~@3 [d2,d6]@3 ~@2",
  AL: "[g5,g6] [eb5,eb6], eb2 ~ eb2 ~", AM: "eb2@3 ~@2 eb2@3 ~@3 eb2@3 ~@2, [g5,g6] [bb5,bb6]",
  AN: "[a5,a6] [bb5,bb6], d2 ~ d2 ~", AO: "d2@3 ~@2 d2@3 ~@3 d2@3 ~@2, [a5,a6] [gb5,gb6]",
  AP: "[g2,g4]@5 ~@3 g2@3 d5@5, [g5,g6] ~, ~@5 bb4@5 ~@6", AQ: "[g2,g5,d6]@3 ~@13", AR: "d2 ~ d2 ~",
  AS: "[d2,d6] ~ [d2,a5] ~", AT: "[d2,a5] ~ [d2,a5] ~", AU: "[d2,g5] ~ [d2,a5] ~", AV: "[d2,g5] ~ [d2,bb5] ~",
  AW: "[e2,a5]", AX: "[g2,g5]", AY: "[eb2,gb5]", AZ: "[g2,d5,g5]@3 ~@13",
})).s("gm_baritone_sax").gain(0.45)

// other · brass section · "Horn in F"
const brass_section = note(`<
  ~@9 A B@2 C D E F G H@3 I J K@2 ~ H@3 I J K@2 ~@17 L ~@39 M E N O K@2 ~ P Q ~@72 A B@2 C D E F G H@3 I J K@2 ~@17 L
  ~@39 M E N O K@2 ~ P Q ~@56 J ~ R ~ J ~ R ~ A B@2 S Q
>`.pickRestart({
  A: "d4@8 bb3@5 c4@3", B: "d4 eb4", C: "gb4@5 g4@5 ~ a4@5", D: "g4@8 d4@5 f4@3", E: "g4 bb4", F: "ab4@5 bb4@5 ~ c5@5",
  G: "a4@3 ~@2 a4@3 ~@3 a4@3 ~@2", H: "d4/3", I: "db4 eb4", J: "d4", K: "g4/2", L: "g4", M: "g4 eb4", N: "a4 bb4",
  O: "a4 gb4", P: "d5@3 ~@2 d5@3 ~@3 d5@3 ~@2", Q: "g4@3 ~@13", R: "eb4", S: "gb4@3 ~@2 g4@3 ~@3 a4@3 ~@2",
})).s("gm_brass_section").gain(0.45)

// chords · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  A B@2 C@2 B@2 C@2 D@2 E F G E H F I@2 J K I@2 J K I@2 J K I@2 J L M ~@15 N@3 O N@3 O N@3 O N@3 P Q@2 R@2 S@2 T@2 Q@2
  R@2 U V W X Y@2 Z@2 AA@2 AB@2 Y@2 Z@2 AC AD H X AE ~@31 AF AG@2 AH AI AJ AK AL AM AN AO AP AQ AR AS@2 ~@6 AT@2 AU@4
  AV@3 AW A B@2 C@2 B@2 C@2 D@2 E F G E H F I@2 J K I@2 J L M ~@15 N@3 O N@3 O N@3 O N@3 P Q@2 R@2 S@2 T@2 Q@2 R@2 U V W
  X Y@2 Z@2 AA@2 AB@2 Y@2 Z@2 AC AD H X AE ~@31 AF AG@2 AH AI AJ AK AL AM AN AO AP AQ AR AS@2 A AX AY AZ BA AX AY BB BC
  G AY BD BA G AY BD BA D@2 E F BE
>`.pickRestart({
  A: "d5 ~@2 d5 ~ d5 ~@2 d5@8",
  B: "[[g4,d5]@8 [g4,d5] ~@2 [g4,d5] ~ [g4,d5] ~@2 [g4,d5] ~@2 [g4,d5] ~ [g4,d5] ~@2 [g4,d5]@8, bb4]/2", // G5
  C: "[gb4@8 [gb4,d5] ~@2 [gb4,d5] ~ [gb4,d5] ~@2 [gb4,eb5] ~@2 [gb4,eb5] ~ [gb4,eb5] ~@2 [gb4,eb5]@8, bb4, eb5 ~]/2", // D Ebm
  D: "[[g4,d5]@8 [g4,d5] ~@2 [g4,d5] ~ [g4,d5] ~@2 [g4,d5]@8 [g4,d5] ~@2 [g4,d5] ~ [g4,d5] ~@2, bb4]/2", // G5
  E: "[gb4,eb5]@8 [gb4,eb5] ~@2 [gb4,eb5] ~ [gb4,eb5] ~@2, bb4", // Ebm
  F: "[gb4,a4,d5]@3 ~@2 [gb4,a4,d5]@3 ~@3 [gb4,a4,d5]@3 ~@2", G: "[g4,d5]@8 [g4,d5] ~@2 [g4,d5] ~ [g4,d5] ~@2, bb4",
  H: "[ab4,eb5]@8 [ab4,eb5] ~@2 [ab4,eb5] ~ [ab4,eb5] ~@2, c5", // Ab5
  I: "[g4,bb4,d5]@4 ~ [g4,bb4,d5] ~@2 [g4,bb4,d5] ~@2 [g4,bb4,d5] ~ [g4,bb4,d5] ~@2", // Gm
  J: "[gb4,bb4,eb5]@4 ~ [gb4,bb4,eb5] ~@2 [gb4,bb4,eb5] ~@2 [gb4,bb4,eb5] ~ [gb4,bb4,eb5] ~@2", // Ebm
  K: "[ab4,eb5]@3 [ab4,b4,eb5] ~ [ab4,eb5]@3 [ab4,b4,eb5] ~@2 [ab4,eb5]@2 [ab4,b4,eb5] ~@2, b4 ~@4 b4 ~@5 b4 ~@4", // Ab5 Abm Ab5 Abm Ab5 Abm
  L: "[ab4,c5,eb5]@3 ~@13", M: "g4@3 ~@13",
  N: "[g3,d4] ~@2 [bb3,g4] ~ [d4,bb4] ~@2 [g4,d5] ~@2 [d4,bb4] ~ [bb3,g4] ~@2", // G5 Eb Gm G5 Gm Eb
  O: "[ab3,eb4] ~@2 [b3,ab4] ~ [eb4,b4] ~@2 [ab4,eb5] ~@2 [eb4,b4] ~ [b3,ab4] ~@2", // Ab5 E Abm Ab5 Abm E
  P: "[g3,g4,ab4,ab5] ~@2 [g3,g4,ab4,ab5] ~ [g3,g4,ab4,ab5] ~@2 [g3,g4,ab4,ab5]@4 ~@4", Q: "[eb4,g4,bb4]/2",
  R: "[d4,gb4,a4]/2", S: "[g4,bb4,d5]/2", T: "[bb4,d5,f5]/2", U: "[d4,g4,bb4]", V: "[eb4,gb4,bb4]", W: "[ab4,c5,eb5]",
  X: "[d4,gb4,a4,d5]@3 ~@2 [d4,gb4,a4,d5]@3 ~@3 [d4,gb4,a4,d5]@3 ~@2", // D
  Y: "[g4@8 [g4,eb5] ~@2 [g4,eb5] ~ [g4,eb5] ~@2 [g4,eb5]@3 ~@2 [g4,eb5]@3 ~@3 [g4,eb5]@3 ~@2, [eb4,bb4], eb5 ~@7]/2", // Cm Eb5
  Z: "[gb4@8 [gb4,d5] ~@2 [gb4,d5] ~ [gb4,d5] ~@2 [gb4,d5]@3 ~@2 [gb4,d5]@3 ~@3 [gb4,d5]@3 ~@2, [d4,a4], d5 ~@7]/2", // D D5
  AA: "[[g4,d5]@8 [g4,d5] ~@2 [g4,d5] ~ [g4,d5] ~@2 [g4,d5]@3 ~@2 [g4,d5]@3 ~@3 [g4,d5]@3 ~@2, bb4]/2", // G5
  AB: "[[bb4,f5]@8 [bb4,f5] ~@2 [bb4,f5] ~ [bb4,f5] ~@2 bb4@5 [bb4,f5] ~@2 f5@3 eb5@2 d5@3, d5@29 ~@3, ~@16 f5@3 ~@5 bb4@8]/2", // Bb5
  AC: "g4@8 [g4,d5]@3 ~@5, [d4,bb4], d5 ~@3", AD: "gb4@8 [gb4,eb5]@3 ~@5, [eb4,bb4], eb5 ~@3",
  AE: "[d4,g4,bb4,d5,g5]@3 ~@13", AF: "g4 a4 bb4 g4", AG: "[d5 d5@3]/2", AH: "d5 c5 bb4 c5", AI: "bb4 c5 d5 c5",
  AJ: "bb4 d5", AK: "c5", AL: "a4", AM: "bb4 a4 g4 f4", AN: "d4 f4", AO: "d4@2 d4 c4", AP: "d4 f4 d4@2",
  AQ: "~ f4 d4@2, d4 ~", AR: "c4@2 c4 bb3", AS: "[~ d4, c4]/2", AT: "[a4,c5,d5,a5]@3 ~@5 [a4,c5,d5,a5]@3 ~@5",
  AU: "[f4,c5,d5,f5]@3 ~@5 [f4,c5,d5,f5]@3 ~@5", AV: "[d4,a4,c5,d5,a5]@3 ~@5 [d4,a4,c5,d5,a5]@3 ~@5",
  AW: "[e4,a4,db5,e5,a5]", AX: "~@8 [g4,d5] ~@2 [g4,d5] ~ [g4,d5] ~@2",
  AY: "[g4,d5] ~@2 [g4,d5] ~ [g4,d5] ~@2 [g4,d5]@8", AZ: "~@8 [gb4,d5] ~@2 [gb4,d5] ~ [gb4,d5] ~@2",
  BA: "[gb4,eb5] ~@2 [gb4,eb5] ~ [gb4,eb5] ~@2 [gb4,eb5]@8", BB: "~@8 [gb4,eb5] ~@2 [gb4,eb5] ~ [gb4,eb5] ~@2",
  BC: "[gb4,d5] ~@2 [gb4,d5] ~ [d4,gb4]@3 gb4@3 [d4,gb4,a4]@3 ~@2, d4@3 ~@2 d5 ~@2 d5@8", // D
  BD: "gb4@8 [gb4,d5] ~@2 [gb4,d5] ~ [gb4,d5] ~@2, [bb4,eb5]", BE: "[g4,bb4,d5,g5]@3 ~@13",
})).s("gm_trumpet").gain(0.45)

// chords · trumpet · "B♭ Trumpet" · soft notes
const trumpet_soft = note(`<
  ~@49 A@3 B A@3 B A@3 B A@3 ~@49 C@2 D@2 E@2 F@2 C@2 D@2 E@2 G@2 C@2 D@2 E@2 F@2 H@2 I@2 J@2 K@2 L@4 M@2 ~@51 A@3 B A@3
  B A@3 B A@3 ~@49 C@2 D@2 E@2 F@2 C@2 D@2 E@2 G@2 C@2 D@2 E@2 F@2 H@2 I@2 J@2 K@2 ~@22
>`.pickRestart({
  A: "d5@8 ~@3 [g4,d5] ~ d5 ~@2, g4@3 ~@13", B: "eb5@8 ~@3 [ab4,eb5] ~ eb5 ~@2, ab4@3 ~@13", C: "[g3,bb3,d4]/2",
  D: "[eb3,g3,bb3,c4]/2", E: "[bb3,d4,f4]/2", F: "[a3,d4,f4]/2", G: "[gb3,a3,c4,d4,gb4]/2", H: "[[g3,bb3], d4 ~]/2",
  I: "[[eb3,g3,bb3], c4@3 ~@5]/2", J: "[bb3@7 ~, f4 ~@7]/2", K: "[[gb3,a3,gb4], d4 ~]/2",
  L: "[f4,c5,d5,f5]@3 ~@5 [f4,c5,d5,f5]@3 ~@5", M: "[a4,c5,d5,a5]@3 ~@5 [a4,c5,d5,a5]@3 ~@5",
})).s("gm_trumpet").gain(0.25)

// other · trombone
const trombone = note(`<
  ~ A B A C A B A D E@2 F G E F@2 G H ~@6 I H ~@6 J K ~@15 L@3 M L@3 M L@3 M L@3 N ~@16 O P Q R S T U@2 O P Q R V W V X
  Y ~@64 A B A C A B A D E@2 F G E F@2 G H ~@6 J K ~@15 L@3 M L@3 M L@3 M L@3 N ~@16 O P Q R S T U@2 O P Q R V W V X Y
  ~@56 A B A C A B A C E@2 F G Z
>`.pickRestart({
  A: "~@8 d4 ~@2 d4 ~ d4 ~@2", B: "d4 ~@2 d4 ~ d4 ~@2 d4@8", C: "eb4 ~@2 eb4 ~ eb4 ~@2 eb4@8",
  D: "eb4 ~@2 eb4 ~ eb4 ~@2 eb4@3 ~@5", E: "d4@8 d4 ~@2 d4 ~ d4 ~@2", F: "eb4@8 eb4 ~@2 eb4 ~ eb4 ~@2",
  G: "[a3,d4]@3 ~@2 [a3,d4]@3 ~@3 [a3,d4]@3 ~@2", H: "g3@5 ~@11", I: "ab2@5 b2@5 ~ eb3@5", J: "ab3@3 ~@13",
  K: "g2@3 ~@13", L: "g3@8 g3 ~@2 g3 ~ g3 ~@2", M: "ab3@8 ab3 ~@2 ab3 ~ ab3 ~@2", N: "ab3 ~@2 ab3 ~ ab3 ~@2 ab3@4 ~@4",
  O: "eb3@4 ~@4 eb3 ~@2 eb3 ~ eb3 ~@2", P: "eb3@3 ~@2 eb3@3 ~@3 eb3@3 ~@2", Q: "d3@4 ~@4 d3 ~@2 d3 ~ d3 ~@2",
  R: "d3@3 ~@2 d3@3 ~@3 d3@3 ~@2", S: "g3@4 ~@4 g3 ~@2 g3 ~ g3 ~@2", T: "g3@3 ~@2 g3@3 ~@3 g3@3 ~@2",
  U: "bb3@4 ~@4 bb3 ~@2 bb3 ~ bb3 ~@2", V: "g3 ~ g3 ~", W: "eb3 ~ eb3 ~",
  X: "[a2,d3]@3 ~@2 [a2,d3]@3 ~@3 [a2,d3]@3 ~@2", Y: "[g2,g3]@3 ~@13", Z: "[g3,d4]@3 ~@13",
})).s("gm_trombone").gain(0.3)

// bass · tuba
const bass = note(`<
  ~ A@2 B@2 A@2 B@2 A@2 C D E C F D G@2 H I G@2 H J G@2 H I G@2 H K L ~ M N L ~ M O L ~ M N L ~ P Q L ~ M N L ~ M O L ~
  M N L ~ P R S T U D V W X Y S T U D V S Z D S T U D V W X Y S T U D V S Z D AA ~@47 U@15 AB ~ A@2 B@2 A@2 B@2 A@2 C D
  E C F D G@2 H I G@2 H K L ~ M N L ~ M O L ~ M N L ~ P Q L ~ M N L ~ M O L ~ M N L ~ P R S T U D V W X Y S T U D V S Z
  D S T U D V W X Y S T U D V S Z D AA ~@56 E ~ C ~ E ~ C ~ A@2 C D AA
>`.pickRestart({
  A: "g2/2", B: "eb2/2", C: "eb2", D: "d2@3 ~@2 d2@3 ~@3 d2@3 ~@2", E: "g2", F: "ab2", G: "g2@3 ~@5 g2@3 ~@5",
  H: "eb2@3 ~@5 eb2@3 ~@5", I: "ab2@3 ~@2 ab2@3 ~@3 ab2@3 ~@2", J: "ab2@5 b2@5 ~ eb3@5", K: "ab2@3 ~@13",
  L: "g1 ~ g1 ~", M: "~@2 g1 ~", N: "~@5 ab1@4 ~@4 f1@3", O: "~@5 ab1@4 ~@4 eb2@2 ~", P: "~@13 g1 ~@2",
  Q: "ab1 ~ eb2@2", R: "ab2 ~@2 ab2 ~ ab2 ~@2 ab2@4 ~@4", S: "eb2 ~ eb2 ~", T: "eb2@3 ~@2 eb2@3 ~@3 eb2@3 ~@2",
  U: "d2 ~ d2 ~", V: "g2 ~ g2 ~", W: "g2@3 ~@2 g2@3 ~@3 g2@3 ~@2", X: "bb2 ~ bb2 ~", Y: "bb2@3 ~@2 bb2@3 ~@3 bb2@3 ~@2",
  Z: "ab2 ~ ab2 ~", AA: "g2@3 ~@13", AB: "e2",
})).s("gm_tuba").gain(0.5)

// other · tremolo strings · "Timpani"
const tremolo_strings = note(`<
  ~ A B C D A B C D A B D E F G H E I@2 J K I@2 J L I@2 J K I@2 J M N ~@3 N ~@3 N ~@3 N ~@2 O N ~@3 N ~@3 N ~@3 N ~@2 P
  Q R S E N T U V Q R S E N W X E Q R S E N T U V Q R S E N W X Y Z ~@51 AA@8 AB@2 AC AD ~ A B C D A B C D A B D E F G H
  E I@2 J K I@2 J M N ~@3 N ~@3 N ~@3 N ~@2 O N ~@3 N ~@3 N ~@3 N ~@2 P Q R S E N T U V Q R S E N W X E Q R S E N T U V
  Q R S E N W X Y Z ~@56 A ~ C ~ A ~ C ~ B@2 D E AE
>`.pickRestart({
  A: "g2", B: "g2@8 g2@3 g2@2 g2@3", C: "eb2", D: "eb2@8 eb2@3 eb2@2 eb2@3", E: "d3@5 d3@5 ~ d3@5",
  F: "g2@3 g2@2 g2@3 g2@8", G: "eb2@3 eb2@2 eb2@3 eb2@8", H: "ab2@3 ab2@2 ab2@3 ab2@3 ab2@2 ab2@3",
  I: "g2@5 ~@3 g2@5 ~@3", J: "eb2@5 ~@3 eb2@5 ~@3", K: "ab2@5 ab2@5 ~ ab2@5", L: "ab2@8 ab2@3 ab2@2 ab2@3",
  M: "ab2@5 ~@11", N: "g2!2", O: "~@8 ab2!2 ~ ab2!3 ~ ab2", P: "ab2@3 ab2@2 ab2@3 ab2@8", Q: "eb2!2",
  R: "eb2@5 eb2@5 ~ eb2@5", S: "d2!2", T: "g2@5 g2@5 ~ g2@5", U: "bb2!2", V: "bb2@5 bb2@3 bb2@3 bb2@2 bb2@3",
  W: "eb3!2", X: "ab2!2", Y: "d3@4 ~ d3@4 ~@2 d3@4 ~", Z: "g2 ~@3", AA: "[d2@27 ~@5]/2", AB: "[d2@27 d2@2 d2@3]/2",
  AC: "d2@11 d2@2 d2@3", AD: "a2 ~ a2 ~", AE: "g2@5 ~@11",
})).s("gm_tremolo_strings").gain(0.5)

// other · tremolo strings · "Timpani" · soft notes
const tremolo_strings_soft = note(`<
  ~@48 A ~@80 B ~ C ~ D ~ E ~ B ~ C ~ D ~ E ~ F@4 ~ G ~ G ~ G ~ G ~@44 A ~@80 B ~ C ~ D ~ E ~ B ~ C ~ D ~ E ~@23
>`.pickRestart({
  A: "ab2!2 ~ ab2!3 ~ ab2 ~@8", B: "g2", C: "eb2", D: "bb2", E: "f2", F: "[d2@27 d2@2 d2@3]/2", G: "~@11 d2@2 d2@3",
})).s("gm_tremolo_strings").gain(0.3)

// other · glockenspiel
const glockenspiel = note(`<
  ~@13 A B C D ~@33 E@2 ~@2 F@2 E@4 ~@2 G@2 H ~@12 I J K D ~@12 I J K D L ~@76 A B C D ~@25 E@2 ~@2 F@2 E@4 ~@2 G@2 H
  ~@12 I J K D ~@12 I J K D L ~@64 A B@2 M N
>`.pickRestart({
  A: "d7@8 bb6@5 c7@3", B: "d7 eb7", C: "c7 eb7", D: "d7", E: "d7/2", F: "[d7 c7@3]/2", G: "[d7 c7@2 bb6]/2", H: "c7",
  I: "g6@5 bb6@5 ~ d7@5", J: "eb7@5 gb7@5 ~ bb7@5", K: "g6@5 c7@5 ~ eb7@5", L: "g6@3 ~@13",
  M: "gb7@3 ~@2 g7@3 ~@3 a7@3 ~@2", N: "g7@3 ~@13",
})).s("gm_glockenspiel").gain(0.4)

// other · tubular bells
const tubular_bells = note(`<
  ~ A B C D A B C D A B C B E F G H I@2 A J I@2 K L I@2 A J I@2 K M N ~@15 O ~ A J O ~ A P O ~ A J O ~ K Q R A S T U V W
  X Y A S T U ~@3 R A S T U V W X Y A S T U Z Q B AA ~@64 A B C D A B C D A B C B E F G H I@2 A J I@2 K M N ~@15 O ~ A J
  O ~ A P O ~ A J O ~ K Q R A S T U V W X Y A S T U ~@3 R A S T U V W X Y A S T U Z Q B AA ~@56 A B C D A B C D A AB AC
  H AD
>`.pickRestart({
  A: "g4 bb4", B: "d5", C: "gb4 bb4", D: "eb5", E: "g4@5 a4@5 ~ bb4@5", F: "d5 eb5", G: "c5@5 d5@5 ~ eb5@5",
  H: "d5@5 d5@5 ~ d5@5", I: "g4/2", J: "ab4 f4", K: "g4 d5", L: "eb5 ab4", M: "ab5@5 ~@11", N: "[g4,g5]", O: "g4",
  P: "c5 f4", Q: "c5", R: "bb4 eb4", S: "a4 bb4", T: "a4 gb4", U: "g4@11 ~@5", V: "d5@11 ~@5", W: "c5@11 ~@5",
  X: "f5@11 ~@5", Y: "g4 eb4", Z: "eb4", AA: "g4@3 ~@13", AB: "d5 bb4", AC: "c5 eb5", AD: "[g4,g5]@5 ~@11",
})).s("gm_tubular_bells").gain(0.5)

// chords · piano
const piano = note(`<
  ~ A@2 B@2 C@2 B@2 C@2 D E F D G H I J K L M J N O I J K L M J N P Q R@2 S Q T@2 U@2 R@2 S Q V@3 Q W@2 S Q X@2 Y@2 W@2
  S Q Z@2 AA AB AC AD AE AF AG AH AI AB AC AD AE AJ AK AL AM AB AC AD AE AF AG AH AI AB AC AD AE AJ AK AL AM AN@2 ~@13
  AO AN@2 AP@2 AQ@2 AR@2 AS@2 AP@2 AQ@2 AT@2 AN@2 AP@2 AQ@2 AR@2 AS@2 AP@2 AQ@2 AU@2 ~@4 AV AW@3 AX@4 AW@3 AY ~ A@2 B@2
  C@2 B@2 C@2 D E F D G H I J K L M J N P Q R@2 S Q T@2 U@2 R@2 S Q V@3 Q W@2 S Q X@2 Y@2 W@2 S Q Z@2 AA AB AC AD AE AF
  AG AH AI AB AC AD AE AJ AK AL AM AB AC AD AE AF AG AH AI AB AC AD AE AJ AK AL AM AN@2 ~@13 AO AN@2 AP@2 AQ@2 AR@2 AS@2
  AP@2 AQ@2 AT@2 AN@2 AP@2 AQ@2 AR@2 AS@2 AP@2 AQ@2 AU@2 ~@5 AZ@2 BA BB BC ~ BD ~ BC ~ BD ~ BE@2 BF BG BH
>`.pickRestart({
  A: "[g4@3 bb4@2 d5@3 g5@3 d5@2 bb4@3 g4@3 bb4@2 d5@3 g5@3 d5@2 bb4@3, g2@13 ~@3]/2",
  B: "[gb4@3 bb4@2 eb5@3 gb5@3 eb5@2 bb4@3 gb4@3 bb4@2 eb5@3 gb5@3 eb5@2 bb4@3, eb3@31 ~]/2",
  C: "[g4@3 bb4@2 d5@3 g5@3 d5@2 bb4@3 g4@3 bb4@2 d5@3 g5@3 d5@2 bb4@3, g2@31 ~]/2",
  D: "gb4@3 bb4@2 eb5@3 gb5@3 eb5@2 bb4@3, eb3", E: "[d2,gb4]@3 a4@2 [d2,d5]@3 gb5@3 [d2,d5]@2 a4@3",
  F: "g4@3 bb4@2 d5@3 g5@3 d5@2 bb4@3, g2", G: "ab4@3 c5@2 eb5@3 ab5@3 eb5@2 c5@3, ab2",
  H: "d3@3 a4 ~ d3@3 gb5 ~@2 d3@2 a4 ~@2, gb4 ~@4 d5 ~@5 d5 ~@4",
  I: "[gb6,g6] [d6,eb6,e6,f6] [bb5,b5,c6,db6] [gb5,g5,ab5,a5] [eb5,e5,f5] [b4,c5,db5,d5] [g4,ab4,a4,bb4] [eb4,e4,f4,gb4] g1@3 d2@2 bb1@3, g1@3 a1@2 bb1@3 d4@8", // Gmaj7
  J: "g1@3 a1@2 bb1@3 g1@3 d2@2 bb1@3", K: "eb1@3 f1@2 g1@3 eb1@3 bb1@2 g1@3", L: "ab1@3 bb1@2 b1@3 ab1@3 d2@2 eb2@3",
  M: "d2@3 g1@2 bb1@3 g1@3 d2@2 bb1@3", N: "[eb1,d5]@3 [f1,bb4]@2 [g1,g4]@3 [eb1,d4]@3 [bb1,bb3]@2 [g1,g3]@3",
  O: "[ab1,ab3]@5 [b1,b3]@5 ~ [eb2,eb4]@5", P: "[ab2,ab3,ab4,ab5]@3 ~@13", Q: "g1 ~ g1 ~",
  R: "[d5 ~@23 g1@4 ~@4, ~ d6@29 ~@2]/2", S: "~@5 ab1@4 ~@4 f1@3", T: "[d5 d6@6 ~ c5 ~@15 g1@4 ~@4, ~@9 c6@22 ~]/2",
  U: "[d5 ~@4 ab1@4 ~@4 eb2@2 ~ g1@4 ~@4 g1@4 ~@4, ~ d6@29 ~@2]/2",
  V: "[d5 d6@6 ~ c5 c6@14 ~ bb4 ~@4 g1 ~@2 ab1 b1 ~ eb2 ~ eb2 ~@2 ab1 ~@2 b1 ~ eb2 ~@2, ~@25 bb5@22 ~]/3",
// … 177 more lines