Strudelify
KeyF♯ majorTempo160 bpm
0:00/0:00
// dr worm — They Might Be Giants
// 160 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 1 "Piccolo" named as a pipe, played on piccolo (its tuba patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5942086; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 120 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(160/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.

// other · piccolo
const piccolo = note(`<
  A@4 B@2 C D E F C D E G H I J K H L C D E F C D E G H I J K H L M N O@4 P@12 Q R S T ~@3 U V@2 W@3 X Y@2 Z@4 ~@15 AA H
  I J K H L C D E F C D E G H I J K H L M N A@8 AB@2
>`.pickRestart({
  A: "[[f#2,f#6] ~ [f#2,f#6] ~ [f#2,f#6] [a#2,a#6] ~ [b2,d#6]@3 [b2,d#6] ~ [b2,d#6] [c#3,f6] ~ [f#2,f#6]@3 [f#2,f#6] ~ [f#2,f#6] [a#2,a#6] ~ [c#2,c#6]@3 [c#2,c#6] ~ [d#2,d#6] ~ [f2,f6] ~]/4", // F# A# B C# F# A# C# D# …
  B: "[f#2@3 c#2 f#2@3 c#2 f#2@3 c#2 f#2@3 c#2, f#6]/2", C: "f#2@3 c#2 f#2@3 c#2", D: "d#2@3 f#2 d#2@3 f#2",
  E: "b1@3 b1 b1@3 b1", F: "c#2@3 c#2!3 d#2 f2", G: "c#2@3 c#2!2 ~ c#2 ~", H: "b2 ~ b2 ~ b2 ~ b2 ~",
  I: "c#3 ~ c#3 ~ c#3 ~ c#3 ~", J: "f#2 ~ f#2 ~ f#2 ~ f#2 ~", K: "d#2 ~ d#2 ~ d#2 ~ d#2 ~",
  L: "c#3 ~ c#3 ~ c#3 ~ c#2 ~", M: "d2", N: "e2",
  O: "[a2 ~ a2 ~ a2 c#3 ~ d3@3 d3 ~ d3 e3 ~ a2@3 a2 ~ a2 c#3 ~ d2@3 c#2 ~ d2 ~ e2 ~]/4", P: "f#2@3 f#2 b2@3 b2",
  Q: "g#2 a#2", R: "b2 g#2", S: "d#2 f2", T: "f#2 d#2", U: "~@3 c#2", V: "[f#2@2 g#2 a#2@2 b2 a#2@4 ~@4 f#2@2]/2",
  W: "[c#3@2 b2 b2@3 a#2 a#2@3 g#2 g#2@3 f#2 f#2@3 f2@2 d#2@2 c#2@2]/3", X: "b2 a#2 g#2 f#2", Y: "c#2/2",
  Z: "[f#2 ~ f#2 ~ f#2 a#2 ~ b2@3 b2 ~ b2 c#3 ~ f#2@3 f#2 ~ f#2 a#2 ~ b2@3 a#2 ~ g#2 ~ f#2 ~]/4", AA: "~@3 c#3",
  AB: "[~ [f#1,f#2], f#6]/2", // F#
})).s("gm_piccolo").gain(0.45)

// other · piccolo · soft notes
const piccolo_soft = note("<~@6 A B C D E B C D ~@42 F@2 G@2 ~@8 H@4 I J K L F@4 ~@28 A M ~@10>".pickRestart({
  A: "c#6", B: "f#6", C: "d#6", D: "f6", E: "a#5", F: "b2/2", G: "[b2@7 ~]/2",
  H: "[f#6 ~ f#6 ~ f#6 a#6 ~ d#6@3 d#6 ~ d#6 f6 ~ f#6@3 f#6 ~ f#6 a#6 ~ c#6@3 c#6 ~ b5 ~ a#5 ~]/4", I: "g#2 a#2",
  J: "b2 g#2", K: "d#3 f3", L: "f#3 d#3", M: "b5",
})).s("gm_piccolo").gain(0.2)

// other · french horn · "B♭ Clarinet"
const french_horn = note("<A@4 B@2 C D E F ~@9 G H@2 I@3 J K@2 ~@78 L@2 ~@11 M>".pickRestart({
  A: "[c#5 ~ c#5 ~ c#5!2 ~ a#4@3 a#4 ~ a#4 c#5 ~ c#5@3 c#5 ~ c#5!2 ~ c#5@3 c#5 ~ b4 ~ g#4 ~]/4", B: "c#5/2", C: "g#4",
  D: "d#4", E: "b3", F: "c#4", G: "~@3 [c#3,c#4]",
  H: "[[f#3,f#4]@2 [g#3,g#4] [a#3,a#4]@2 [b3,b4] [a#3,a#4]@4 ~@4 [f#3,f#4]@2]/2", // F# G# A# B A# F#
  I: "[[c#4,c#5]@2 [b3,b4] [b3,b4]@3 [a#3,a#4] [a#3,a#4]@3 [g#3,g#4] [g#3,g#4]@3 [f#3,f#4] [f#3,f#4]@3 [g#3,g#4] [a#3,a#4]@3 [g#3,g#4]!2]/3", // C# B A# G# F# G# A# G#
  J: "[f#3,f#4]@2 ~ [c#3,c#5]", // F# C#
  K: "[[d#3,d#5]@2 [f3,f5]@2 [f#3,f#5] [g#3,g#5]@2 [f#3,f#5]@2 [f3,f5]@2 [f#3,f#5]@2 [g#3,c#5]@3]/2", // D# F F# G# F# F F# C#5
  L: "[c#4@2 b3 b3@3 a#3 c#4@3 b3 a#3@3 g#3@2]/2", M: "f#3",
})).s("gm_french_horn").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax = note("<A@4 B C D@2 E@3 F G@2 H@3 I J K L M N O L M N P Q R S T ~@36 U@4 ~@38 V@8 W@2>".pickRestart({
  A: "[f#4 ~ f#4 ~ f#4 a#4 ~ d#4@3 d#4 ~ d#4 f4 ~ f#4@3 f#4 ~ f#4 a#4 ~ c#4@3 c#4 ~ d#4 ~ f4 ~]/4", B: "f#4",
  C: "~@3 c#4", D: "[f#4@2 g#4 a#4@2 b4 a#4@4 ~@4 f#4@2]/2",
  E: "[c#5@2 b4@2 b4@2 a#4 a#4@3 g#4@2 g#4@2 f#4 f#4@3 ~ c#4 f#4 g#4 a#4 b4]/3", F: "a#4@2 ~ f#4",
  G: "[c#5@2 b4 b4@3 a#4 a#4@3 g#4 g#4@3 f#4@2]/2", H: "a#4@3 b4 a#4@3 b4", I: "a#4@2 ~ g#4", J: "g#4@4 a#4@3 b4",
  K: "c#5 ~", L: "f#4@3 c#4 f#4@3 c#4", M: "d#4@3 f#4 d#4@3 f#4", N: "b3@3 b3 b3@3 b3",
  O: "c#4@6 c#4@2 c#4 b3 ~ c#4 f4 c#4 ~ f4", P: "c#4@6 c#4@2 b3 c#4 d#4 f4 f#4 g#4 a#4 b4",
  Q: "a#4 ~ a#4 ~ a#4 ~ a#4 ~", R: "b4 ~ b4 ~ b4 ~ b4 ~", S: "f#4 ~ f#4 ~ f#4 ~ f#4 ~", T: "d#4 ~ d#4 ~ d#4 ~ d#4 ~",
  U: "[f#4 ~ f#4 ~ f#4 a#4 ~ d#4@3 d#4 ~ d#4 f4 ~ f#4@3 f#4 ~ f#4 a#4 ~ c#4@3 c#4 ~ b3 ~ a#3 ~]/4", V: "c#5/8",
  W: "c#5/2",
})).s("gm_alto_sax").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax_2 = note("<A@4 B C D@2 E@3 F G@2 H@3 I J K L M N O ~@44 P@4 ~@38 Q@8 R@2>".pickRestart({
  A: "[c#4 ~ c#4 ~ c#4!2 ~ a#3@3 a#3 ~ a#3 c#4 ~ c#4@3 c#4 ~ c#4!2 ~ c#4@3 c#4 ~ b3 ~ g#3 ~]/4", B: "a#3", C: "~@3 c#4",
  D: "[f#4@2 g#4 a#4@2 b4 a#4@4 ~@4 f#4@2]/2",
  E: "[c#5@2 b4@2 b4@2 a#4 a#4@3 g#4@2 g#4@2 f#4 f#4@3 ~ c#4 f#4 g#4 a#4 b4]/3", F: "a#4@2 ~ f#4",
  G: "[c#5@2 b4 b4@3 a#4 a#4@3 g#4 g#4@3 f#4@2]/2", H: "f#4@3 g#4 f#4@3 g#4", I: "f#4@2 ~ g#4", J: "g#4@4 f#4@3 f4",
  K: "f4 ~", L: "f#4@3 c#4 f#4@3 c#4", M: "d#4@3 f#4 d#4@3 f#4", N: "b3@3 b3 b3@3 b3",
  O: "c#4@6 c#4@2 c#4 b3 ~ c#4 f4 c#4 ~ f4",
  P: "[c#4 ~ c#4 ~ c#4!2 ~ a#3@3 a#3 ~ a#3 c#4 ~ c#4@3 c#4 ~ c#4!2 ~ c#4@3 c#4 ~ b3 ~ a#3 ~]/4", Q: "f#4/8", R: "a#4/2",
})).s("gm_alto_sax").gain(0.3)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  A@4 B@3 C D E B C D F G H I J G K L@2 M@3 N O@2 P@3 Q R@2 S T ~@23 U L@2 V@3 W ~@40 X@2 ~@2 A@8 ~ Y
>`.pickRestart({
  A: "[f#3 ~ f#3 ~ f#3 a#3 ~ b3@3 b3 ~ b3 c#4 ~ f#3@3 f#3 ~ f#3 a#3 ~ c#3@3 c#3 ~ d#3 ~ f3 ~]/4",
  B: "f#3@3 c#3 f#3@3 c#3", C: "d#3@3 f#3 d#3@3 f#3", D: "b2@3 b2 b2@3 b2", E: "c#3@3 c#3!3 d#3 f3",
  F: "c#3@3 c#3!2 ~ c#3 ~", G: "b3 ~ b3 ~ b3 ~ b3 ~", H: "c#4 ~ c#4 ~ c#4 ~ c#4 ~", I: "f#3 ~ f#3 ~ f#3 ~ f#3 ~",
  J: "d#3 ~ d#3 ~ d#3 ~ d#3 ~", K: "c#4 ~ c#4 ~ c#4 ~ c#3@2", L: "[f#3@2 g#3 a#3@2 b3 a#3@4 ~@4 f#3@2]/2",
  M: "[c#4@2 b3 b3@3 a#3 a#3@3 g#3 g#3@3 f#3 f#3@3 g#3 a#3@3 g#3!2]/3", N: "f#3@2 ~ c#4",
  O: "[d#4@2 f4@2 f#4 g#4@2 f#4@2 f4@2 f#4@2 c#4@3]/2", P: "a#3@3 b3 a#3@3 b3", Q: "a#3@2 ~ f#3",
  R: "[c#4@2 b3 b3@3 a#3 a#3@3 g#3 g#3@3 f#3@2]/2", S: "f#3 a3", T: "g#3 a3", U: "~@3 c#4",
  V: "[c#4@2 b3 b3@3 a#3 a#3@3 g#3 g#3@3 f#3 f#3@3 f3@2 d#3@2 c#3@2]/3", W: "b3 a#3 g#3 f#3",
  X: "[c#4@2 b3 b3@3 a#3 c#4@3 b3 a#3@3 g#3@2]/2", Y: "f#3",
})).s("gm_tenor_sax").gain(0.3)

// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  A@4 B@2 ~@30 C@4 B@2 ~@2 D E F G H I J ~ K L M N O P O Q R S T U R@2 ~@2 V@4 ~@7 W X@2 Y@3 Z AA@2 ~@11 AB AC@2 ~@6 J
  AD A@4 AE@4 AF@2
>`.pickRestart({
  A: "[f#5 ~ f#5 ~ f#5 a#5 ~ d#5@3 d#5 ~ d#5 f5 ~ f#5@3 f#5 ~ f#5 a#5 ~ c#5@3 c#5 ~ d#5 ~ f5 ~]/4", B: "f#5/2",
  C: "[c#5 ~ c#5 ~ c#5 e5 ~ a4@3 a4 ~ a4 b4 ~ c#5@3 c#5 ~ c#5 e5 ~ d5@3 c#5 ~ d5 ~ e5 ~]/4", D: "~ c#6 b5 a#5",
  E: "g#5@2 f#5 f#5@3 f#5@2", F: "f#5@2 c#5 d#5", G: "e5 d#5", H: "c#5 c#6 b5@2", I: "a#5 g#5 f#5@2", J: "c#5",
  K: "c#6 b5", L: "a#5 ~ a#5 ~ g#5@4", M: "b5!2 a#5@2", N: "g#5 f#5", O: "d#5 f5", P: "f#5 b5", Q: "f#5 c#6",
  R: "f#5 ~@3", S: "d#5 ~@3", T: "b4 ~@3", U: "c#5 ~@3",
  V: "[f#5 ~ f#5 ~ f#5 a#5 ~ d#5@3 d#5 ~ d#5 f5 ~ f#5@3 f#5 ~ f#5 a#5 ~ d#5@3 c#5 ~ b4 ~ a#4 ~]/4", W: "~@3 c#4",
  X: "[f#4@2 g#4 a#4@2 b4 a#4@4 ~@4 f#4@2]/2",
  Y: "[c#5@2 b4@2 b4@2 a#4 a#4@3 g#4@2 g#4@2 f#4 f#4@3 ~ c#4 f#4 g#4 a#4 b4]/3", Z: "a#4@2 ~ f#4",
  AA: "[c#5@2 b4 b4@3 a#4 a#4@3 g#4 g#4@3 f#4@2]/2", AB: "~@3 c#5",
  AC: "[d#5@2 f5@2 f#5 f#5@2 f#5@2 f5@2 f#5@2 c#5@3]/2", AD: "b4",
  AE: "[~ f#5 a#5 b5!2 c#6@7 b5 a#5 ~ a#5@3 a#5 ~ b5 c#6 ~ c#6@3 c#6 ~ d#6 ~ f6 ~]/4", AF: "f#6/2",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "B♭ Trumpet" · soft notes
const trumpet_soft = note("<~@6 A B C D E B C D F@4 G@2 ~@8 F@4 G@2 ~@32 H@2 ~@20 F@4 I@2 ~@26>".pickRestart({
  A: "c#5", B: "f#4", C: "d#4", D: "f4", E: "a#4", F: "[f#5@7 ~]/4", G: "[f#5@5 ~@3]/2", H: "f5/2", I: "[f#5@3 ~]/2",
})).s("gm_trumpet").gain(0.2)

// other · trumpet · "B♭ Trumpet"
const trumpet_2 = note(`<
  A@4 B@2 ~@30 C@4 D@2 ~@2 E F G H I J K ~ L M N O P Q P R S T U V T W ~@2 X@4 ~@7 Y Z@2 AA@3 AB AC@2 AD@4 AE AF ~@5 AG
  AH@2 ~@8 A@4 AI@4 D@2
>`.pickRestart({
  A: "[c#5 ~ c#5 ~ c#5!2 ~ a#4@3 a#4 ~ a#4 c#5 ~ c#5@3 c#5 ~ c#5!2 ~ c#5@3 c#5 ~ b4 ~ g#4 ~]/4", B: "c#5/2",
  C: "[e4 ~ e4 ~ e4!2 ~ c#4@3 c#4 ~ c#4 e4 ~ e4@3 e4 ~ e4!2 ~ f#4@3 f#4 ~ f#4 ~ e4 ~]/4", D: "f#5/2", E: "~ c#5 b4 a#4",
  F: "g#4@2 f#4 f#4@3 f#4@2", G: "f#4@2 c#4 d#4", H: "e4 d#4", I: "c#4 c#5 b4@2", J: "a#4 g#4 f#4@2", K: "c#4",
  L: "c#5 b4", M: "a#4 ~ a#4 ~ g#4@4", N: "b4!2 a#4@2", O: "g#4 f#4", P: "d#4 f4", Q: "f#4 b4", R: "f#4 c#5",
  S: "c#5 ~@3", T: "a#4 ~@3", U: "f#4 ~@3", V: "f4 ~@3", W: "b4 ~@3",
  X: "[c#5 ~ c#5 ~ c#5!2 ~ a#4@3 a#4 ~ a#4 c#5 ~ c#5@3 c#5 ~ c#5!2 ~ c#5@3 c#5 ~ b4 ~ a#4 ~]/4", Y: "~@3 c#4",
  Z: "[f#4@2 g#4 a#4@2 b4 a#4@4 ~@4 f#4@2]/2",
  AA: "[c#5@2 b4@2 b4@2 a#4 a#4@3 g#4@2 g#4@2 f#4 f#4@3 ~ c#4 f#4 g#4 a#4 b4]/3", AB: "a#4@2 ~ f#4",
  AC: "[c#5@2 b4 b4@3 a#4 a#4@3 g#4 g#4@3 f#4@2]/2", AD: "a#4 ~ a#4 ~ a#4 ~ a#4 ~", AE: "c#5 ~ c#5 ~ c#5 ~ c#5 ~",
  AF: "c#5 ~ c#5 ~ c#5 ~@3", AG: "~@3 c#5", AH: "[c#5@2 b4@2 b4 a#4@2 c#5@2 b4@2 a#4@2 g#4@3]/2",
  AI: "[f#5 ~ f#5 ~ f#5 a#5 ~ d#5@3 d#5 ~ d#5 f5 ~ f#5@3 f#5 ~ f#5 a#5 ~ c#5@3 c#5 ~ d#5 ~ f5 ~]/4",
})).s("gm_trumpet").gain(0.3)

// other · trumpet · "B♭ Trumpet" · soft notes
const trumpet_soft_2 = note("<~@6 A B C D E B C D F@4 G H ~@8 F@4 G H ~@32 I@2 ~@52>".pickRestart({
  A: "a#4", B: "d#4", C: "b3", D: "c#4", E: "f#4", F: "a#4 ~ a#4 ~ a#4 ~ a#4 ~", G: "c#5 ~ c#5 ~ c#5 ~ c#5 ~",
  H: "c#5 ~ c#5 ~ c#5 ~@3", I: "g#4/2",
})).s("gm_trumpet").gain(0.2)

// other · trumpet · "B♭ Trumpet"
const trumpet_3 = note(`<
  A@4 B@2 ~@30 C@4 D@2 ~@2 E F G H I J K ~ L M N O P Q P R S@2 T U S V ~@2 W@4 ~@7 X Y@2 Z@3 AA AB@2 AC@4 AD AE ~@5 X
  AF@2 ~@8 A@4 AG@4 AH@2
>`.pickRestart({
  A: "[f#4 ~ f#4 ~ f#4 a#4 ~ d#4@3 d#4 ~ d#4 f4 ~ f#4@3 f#4 ~ f#4 a#4 ~ c#4@3 c#4 ~ d#4 ~ f4 ~]/4", B: "a#4/2",
  C: "[a4 ~ a4 ~ a4 c#5 ~ f#4@3 f#4 ~ f#4 g#4 ~ a4@3 a4 ~ a4 c#5 ~ e4@3 e4 ~ f#4 ~ g#4 ~]/4", D: "f#4/2",
  E: "~ c#5 b4 a#4", F: "g#4@2 f#4 f#4@3 f#4@2", G: "f#4@2 c#4 d#4", H: "e4 d#4", I: "c#4 c#5 b4@2", J: "a#4 g#4 f#4@2",
  K: "c#4", L: "c#5 b4", M: "a#4 ~ a#4 ~ g#4@4", N: "b4!2 a#4@2", O: "g#4 f#4", P: "d#4 f4", Q: "f#4 b4", R: "f#4 c#5",
  S: "a#4 ~@3", T: "d#4 ~@3", U: "f4 ~@3", V: "b4 ~@3",
  W: "[f#4 ~ f#4 ~ f#4 a#4 ~ d#4@3 d#4 ~ d#4 f4 ~ f#4@3 f#4 ~ f#4 a#4 ~ c#4@3 c#4 ~ b3 ~ a#3 ~]/4", X: "~@3 c#4",
  Y: "[f#4@2 g#4 a#4@2 b4 a#4@4 ~@4 f#4@2]/2",
  Z: "[c#5@2 b4@2 b4@2 a#4 a#4@3 g#4@2 g#4@2 f#4 f#4@3 ~ c#4 f#4 g#4 a#4 b4]/3", AA: "a#4@2 ~ f#4",
  AB: "[c#5@2 b4 b4@3 a#4 a#4@3 g#4 g#4@3 f#4@2]/2", AC: "f#4 ~ f#4 ~ f#4 ~ f#4 ~", AD: "a#4 ~ a#4 ~ a#4 ~ a#4 ~",
  AE: "g#4 ~ g#4 ~ g#4 ~@3", AF: "[d#4@2 f4@2 f#4 f#4@2 f#4@2 f4@2 f#4@2 c#4@3]/2",
  AG: "[c#5 ~ c#5 ~ c#5!2 ~ a#4@3 a#4 ~ a#4 c#5 ~ c#5@3 c#5 ~ c#5!2 ~ c#5@3 c#5 ~ b4 ~ g#4 ~]/4", AH: "c#5/2",
})).s("gm_trumpet").gain(0.3)

// other · trumpet · "B♭ Trumpet" · soft notes
const trumpet_soft_3 = note("<~@6 A B A C D B A C E@4 F G ~@8 E@4 F G ~@32 H@2 ~@52>".pickRestart({
  A: "f#4", B: "b3", C: "f4", D: "c#4", E: "f#4 ~ f#4 ~ f#4 ~ f#4 ~", F: "a#4 ~ a#4 ~ a#4 ~ a#4 ~",
  G: "g#4 ~ g#4 ~ g#4 ~@3", H: "f4/2",
})).s("gm_trumpet").gain(0.2)

// other · french horn · "Horn in F"
const french_horn_2 = note(`<
  A@4 B C D@2 E@3 F G@2 H@3 I J K B L@2 M B L@2 N O P Q R G@2 S T U@4 V@2 ~@10 W@2 X@2 Y@2 Z@2 AA@2 AB AC AA@2 AD@2 AE@4
  AF AG AH AI AJ AK AL AK ~@6 AM@2 H@3 AN AO AP D@2 AQ@3 AR AS@2 H@3 AT ~@2 AU AV AW@8 AX@2
>`.pickRestart({
  A: "[f#4 ~ f#4 ~ f#4 a#4 ~ d#4@3 d#4 ~ d#4 f4 ~ f#4@3 f#4 ~ f#4 a#4 ~ c#4@3 c#4 ~ d#4 ~ f4 ~]/4", B: "f#4",
  C: "~@3 c#4", D: "[f#4@2 g#4 a#4@2 b4 a#4@4 ~@4 f#4@2]/2",
  E: "[c#5@2 b4@2 b4@2 a#4 a#4@3 g#4@2 g#4@2 f#4 f#4@3 ~ c#4 f#4 g#4 a#4 b4]/3", F: "a#4@2 ~ f#4",
  G: "[c#5@2 b4 b4@3 a#4 a#4@3 g#4 g#4@3 f#4@2]/2", H: "a#4@3 b4 a#4@3 b4", I: "a#4@2 ~ g#4", J: "g#4@4 a#4@3 b4",
  K: "c#5 ~", L: "d#4", M: "f4", N: "f4@8 b3 c#4 d#4 f4 f#4 g#4 a#4 b4", O: "a#4 ~ f#4 ~ f#4 ~ f#4 ~",
  P: "g#4 ~ g#4 ~ g#4 ~ g#4 ~", Q: "a#4 ~ a#4 ~ a#4 ~ a#4 ~", R: "f#4 ~ f#4 ~ f#4 ~ f#4 ~", S: "d4", T: "e4",
  U: "[a4 ~ a4 ~ a4 c#5 ~ f#4@3 f#4 ~ f#4 g#4 ~ a4@3 a4 ~ a4 c#5 ~ d4@3 c#4 ~ d4 ~ e4 ~]/4", V: "f#4/2", W: "g#4/2",
  X: "[f#4@14 f#4 f4]/2", Y: "d#4/2", Z: "[d4@7 c#4]/2", AA: "f#4 ~@3", AB: "b3 ~@3", AC: "c#4 ~@3", AD: "f4/2",
  AE: "[f#4 ~ f#4 ~ f#4 a#4 ~ d#4@3 d#4 ~ d#4 f4 ~ f#4@3 f#4 ~ f#4 a#4 ~ c#4@3 c#4 ~ b3 ~ a#3 ~]/4", AF: "c#5 b4",
  AG: "a#4 ~ a#4 ~ g#4@4", AH: "b4!2 a#4@2", AI: "g#4 f#4", AJ: "d#4 f4", AK: "f#4 b4", AL: "d4 e4",
  AM: "[~@3 b4@3 a#4 a#4@3 g#4 g#4@3 f#4@2]/2", AN: "a#4@2 ~ c#5", AO: "c#5@4 b4@3 a#4", AP: "a#4@4 ~@2 a#4 g#4",
  AQ: "[c#5@2 b4 b4@3 a#4 c#5@3 b4 a#4@3 g#4 f#4@3 g#4 a#4@3 g#4!2]/3", AR: "f#4@2 ~ c#5",
  AS: "[c#5@2 b4@2 b4 a#4@2 c#5@2 b4@2 a#4@2 g#4@3]/2", AT: "a#4 ~", AU: "f#4 a4", AV: "g#4 e4", AW: "c#5/8",
  AX: "c#5/2",
})).s("gm_french_horn").gain(0.45)

// other · french horn · "Horn in F" · soft notes
const french_horn_soft = note("<~@80 A@2 B@3 C D ~@33>".pickRestart({
  A: "[f#4@2 g#4 a#4@2 b4 a#4@4 ~@4 f#4@2]/2",
  B: "[c#5@2 b4@2 b4@2 a#4 a#4@3 g#4@2 g#4@2 f#4 f#4@3 ~ c#4 f#4 g#4 a#4 b4]/3", C: "a#4@2 ~ f#4", D: "c#5@2 b4 ~@5",
})).s("gm_french_horn").gain(0.25)

// other · french horn · "Horn in F"
const french_horn_3 = note(`<
  A@4 B C D@2 E@3 F G@2 H@3 I J K B L M N B L M O P Q R S T@2 U V W@4 X@2 ~@10 Y@2 Z@2 AA@2 AB@2 AC AD AE AC AF@2 X@2
  AG@4 AH AI AJ AK AL AM AN AM ~@6 AO@2 H@3 I AP AQ D@2 AR@3 AS AT@2 H@3 AU ~@2 AV AW AX@8 AY@2
>`.pickRestart({
  A: "[c#4 ~ c#4 ~ c#4!2 ~ a#3@3 a#3 ~ a#3 c#4 ~ c#4@3 c#4 ~ c#4!2 ~ c#4@3 c#4 ~ b3 ~ g#3 ~]/4", B: "a#3", C: "~@3 c#4",
  D: "[f#4@2 g#4 a#4@2 b4 a#4@4 ~@4 f#4@2]/2",
  E: "[c#5@2 b4@2 b4@2 a#4 a#4@3 g#4@2 g#4@2 f#4 f#4@3 ~ c#4 f#4 g#4 a#4 b4]/3", F: "a#4@2 ~ f#4",
  G: "[c#5@2 b4 b4@3 a#4 a#4@3 g#4 g#4@3 f#4@2]/2", H: "f#4@3 g#4 f#4@3 g#4", I: "f#4@2 ~ g#4", J: "g#4@4 f#4@3 f4",
  K: "f4 ~", L: "f#3", M: "b3", N: "c#4", O: "c#4@8 b3 c#4 d#4 f4 f#4 g#4 a#4 b4", P: "a#4 ~ d#4 ~ d#4 ~ d#4 ~",
  Q: "f4 ~ f4 ~ f4 ~ f4 ~", R: "c#4 ~ c#4 ~ c#4 ~ c#4 ~", S: "a#3 ~ a#3 ~ a#3 ~ a#3 ~",
  T: "[c#4@2 b3 b3@3 a#3 a#3@3 g#3 g#3@3 f#3@2]/2", U: "d4", V: "e4 b3",
  W: "[e4 ~ e4 ~ e4!2 ~ c#4@3 c#4 ~ c#4 e4 ~ e4@3 e4 ~ e4!2 ~ d4@3 c#4 ~ d4 ~ e4 ~]/4", X: "c#4/2", Y: "g#4/2",
  Z: "[f#4@14 f#4 f4]/2", AA: "b3/2", AB: "[b3@7 g#3]/2", AC: "c#4 ~@3", AD: "d#4 ~@3", AE: "b3 ~@3", AF: "f#4 ~@3",
  AG: "[c#4 ~ c#4 ~ c#4!2 ~ a#3@3 a#3 ~ a#3 c#4 ~ c#4@3 c#4 ~ c#4!2 ~ c#4@3 c#4 ~ b3 ~ a#3 ~]/4", AH: "c#5 b4",
  AI: "a#4 ~ a#4 ~ g#4@4", AJ: "b4!2 a#4@2", AK: "g#4 f#4", AL: "d#4 f4", AM: "f#4 b4", AN: "d4 e4",
// … 41 more lines

More by They Might Be Giants