Strudelify

The Legend of Zelda Breath of The Wild: Yiga or Lynel Fight theme

Manaka Kataoka

KeyB♭ majorTempo130 bpm
0:00/0:00
// The Legend of Zelda Breath of The Wild: Yiga or Lynel Fight theme — Manaka Kataoka
// 130 bpm, 6/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 3/4 at bar 2, 6/4 at bar 3, 3/4 at bar 14, ...) are rendered on a constant 6/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/4789448; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 59 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/6)

// 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 · marimba · "Marimba (Grand Staff), Marimba"
const marimba = note("<~ A B ~@12 C D C E C D C E C D C E F G H I J K ~@13 L ~ M ~ L ~ N ~ O ~ N ~ P>".pickRestart({
  A: "~@10 g5 f5 ~ f5 [db5,ab5]@2 ~@2 g5 f5 ~ f5 [db5,ab5]@2", B: "~@3 c4 ~@3 c5 eb5 g5 [f5,bb5] [g5,c6] ~@12",
  C: "~@23 f6", D: "g6 ~@11", E: "a6 ~@11",
  F: "~@12 [f6,g6,c7] [f6,bb6] [eb6,g6] [c6,eb6] [g5,c6] [f5,bb5] [eb5,g5] [c5,eb5] ~@4", // Fsus2 Bb5 Eb Cm C5 Bb5 Eb Cm
  G: "[ab2,ab3]!2 ~ [bb2,bb3] ~@10 [ab2,ab3]!2 ~ [bb2,bb3] ~ [ab2,ab3] ~@2 [ab2,ab3] ~", // Ab Bb Ab Bb Ab
  H: "~ [ab2,ab3] ~@18 [ab2,ab3]!2 ~ [bb2,bb3]", // Ab Bb
  I: "~@4 db5 b4 ab4 eb4 db5 b4 [ab2,ab3,ab4] [ab2,ab3,eb4] ~ [bb2,bb3] ~ [ab2,ab3] ~@2 [ab2,ab3] ~ [bb2,bb3] ~ [ab2,ab3]!2", // Ab Ab5 Bb Ab Bb Ab
  J: "~@4 [ab2,ab3]!2 ~ [bb2,bb3] ~@4 db5 b4 ab4 eb4 db5 b4 [ab2,ab3,ab4] [ab2,ab3,eb4] ~ [bb2,bb3] ~ [ab2,ab3]", // Ab Bb Ab Ab5 Bb Ab
  K: "~@2 [ab2,ab3] ~@2 [g2,g3] ~@18", L: "~@11 db6 eb6@2 ~@10", M: "~@11 db6 f6@2 ~@10",
  N: "~@11 [db6,db7] [f6,f7]@2 ~@10", O: "~@11 [db6,db7] [eb6,eb7]@2 ~@10",
  P: "[db6,eb6,ab6] [db6,gb6] [b5,eb6] [ab5,b5] [eb5,ab5] [db5,gb5] [b4,eb5] [ab4,b4] ~@16", // Dbsus2 Gb5 B Abm Ab5 Gb5 B Abm
})).s("gm_marimba").gain(0.35)

// chords · marimba · "Marimba (Grand Staff), Marimba" · soft notes · Cm Eb Bb5 Cm Eb Bb5 C5 Bb5 …
const marimba_soft = note(`<
  ~
  [~@10 c5 bb4 ~ bb4 ~@4 c5 bb4 ~ bb4 ~@2]
  [[c3,eb3] [eb3,g3] [f3,bb3] g3 [c4,eb4] [eb4,g4] [f4,bb4] g4 c5 eb5 ~@14]
  ~@24
  [~@20 [g4,c5] [f4,bb4] [eb4,g4] [c4,eb4]]
  ~@30
  [~@8 [eb4,ab4] [db4,gb4] [b3,eb4] [ab3,b3] ~@12]
>`).s("gm_marimba").gain(0.15)

// chords · french horn · "F-torvi, TrumpEnsemble"
const french_horn = note("<~@6 A@2 ~@13 B@3 C D E@2 F@3 G@2 ~@4 H@2 ~@5 I J K L M N O P@4 Q@4>".pickRestart({
  A: "[~@3 [c4,eb4,f4]@5]/2", B: "[~@4 [c4,f4]@5 ~@2 [c4,f4]@5 ~@2]/3", C: "[c4,f4]@5 ~", D: "~ [c4,f4]@5",
  E: "[~@2 [c4,f4]@5 ~@5]/2", F: "[~@3 f4@10 ~@5]/3", G: "[~@8 f4@20 ~@4 f4!4 ~@12]/2", H: "[~ [eb4,f4,ab4]@5 ~@2]/2",
  I: "~@6 [db4,gb4] ~ [db4,gb4] [ab3,b3] ~ [ab3,b3]", // Gb5 Abm
  J: "[db4,gb4] ~ [ab3,b3]!2 [db4,gb4] [ab3,b3] ~ [ab3,b3] [eb3,b3,db4,gb4] ~ [db4,gb4] [ab3,b3]", // Gb5 Abm Gb5 Abm B Gb5 Abm
  K: "~ [ab3,b3] [db4,gb4] ~ [ab3,b3]!2 [db4,gb4] [ab3,b3] ~ [ab3,b3] [eb3,b3,db4,gb4] ~", // Abm Gb5 Abm Gb5 Abm B
  L: "[db4,gb4] [ab3,b3] ~ [ab3,b3] [db4,gb4] ~ [ab3,b3]!2 [db4,gb4] [ab3,b3] ~ [ab3,b3]", // Gb5 Abm Gb5 Abm Gb5 Abm
  M: "[gb3,db4,gb4] ~ [db4,gb4] [ab3,b3] ~ [ab3,b3] [db4,gb4] ~ [ab3,b3]!2 [db4,gb4] [ab3,b3]", // Gb5 Abm Gb5 Abm Gb5 Abm
  N: "~ [ab3,b3] [eb3,b3,db4,gb4] ~ [db4,gb4] [ab3,b3] ~ [ab3,b3] [db4,gb4] ~ [ab3,b3]!2", // Abm B Gb5 Abm Gb5 Abm
  O: "[db4,gb4] [ab3,b3] ~ [ab3,b3] [eb3,b3,db4,gb4] ~ [db4,gb4] [ab3,b3] ~ [ab3,b3] [db4,gb4] ~", // Gb5 Abm B Gb5 Abm Gb5
  P: "[[ab3,b3]!2 [db4,gb4] [ab3,b3] ~ [ab3,b3] [eb3,ab4,db5]@3 [f3,ab4,db5]@3 [eb3,ab4,db5]@2 [ab4,db5]@2 [ab4,db5] ~@7 [ab4,db5]@2 [eb3,ab4,db5]@2 [ab4,db5] ~ [ab4,db5]@3 ~@3 [ab4,db5] f3@3 eb3@2 [ab4,db5]@3 [ab4,db5]@3, ~@3 ab3@7 ab3@7 ab3@7, ~@14 f3@6 eb3@4 ~@10 eb3@3 ~@11, ~@6 [ab4,db5]!2 ~@3 [ab4,db5] ~@4, ~@23 f3@3 ~@2 f3@6 ~@8 f3@6]/4", // Abm Gb5 Abm Dbsus2 Db Dbsus2 Db5 Dbsus2 …
  Q: "[[ab4,db5]@2 ~@2 [ab4,db5] ~ eb3@2 ~ [ab4,db5]@3 [ab4,db5] ~@11 [ab4,db5]@2 [ab4,db5]@2 [ab4,db5]@2 ~ f3@3 eb3@2 f3@6 ~@6, ab3@13 ~ ab3@14 ab3@14 ~@6, eb3@4 ~@10 eb3@4 ~@2 eb3@2 ~@6 eb3@3 ~@17, ~@2 [ab4,db5]@2 ~@2 [ab4,db5]@3 ~@9 [ab4,db5]@3 [ab4,db5]@3 ~@24, ~@3 f3@3 ~@2 f3@5 ~@4 f3@3 ~@2 f3@6 ~@20]/4", // Db5
})).s("gm_french_horn").gain(0.3)

// chords · trumpet · "E♭-trumpetti, Trumpet"
const trumpet = note(`<
  ~@2 A B A B A B A C D E F G H I J I J I J I J I J I J K ~@5 L ~ L ~ L ~ M N O P Q R S T U T V T W T W T W T X ~
>`.pickRestart({
  A: "~@12 [f4,g4,c5]!2 ~ [a4,d5] ~@8", B: "~@2 [f4,g4,c5]!2 ~ [eb4,a4,d5] ~ [f4,g4,c5] ~@16",
  C: "~@2 [f4,g4,c5]!2 ~ [eb4,a4,d5] ~ [f4,g4,c5] ~@2 [f4,g4,c5] ~@2 [f4,g4,c5] ~@10", // Fsus2 D Fsus2
  D: "~@8 [f4,g4,c5]!2 ~ [a4,d5] ~@10 [f4,g4,c5]!2", // Fsus2 D5 Fsus2
  E: "~ [eb4,a4,d5] ~ [f4,g4,c5] ~@2 [f4,g4,c5] ~ [eb4,a4,d5] ~ [g4,c5] [f4,g4,c5] ~@4 [f4,g4,c5]!2 ~ [a4,d5] ~@4", // D Fsus2 D C5 Fsus2 D5
  F: "~@6 [f4,g4,c5]!2 ~ [eb4,a4,d5] ~ [f4,g4,c5] ~@2 [f4,g4,c5] ~@2 [e4,b4,e5] ~@6", // Fsus2 D Fsus2 E5
  G: "~@8 [f4,c5]!2 ~ [d4,c5,d5] ~@7 [g4,d5] [c4,g4,c5,g5] ~ [d5,g5] ~", H: "~@3 c5 ~@2 c5 ~ d5 ~ c5!2 ~@2 c5!2 ~@8",
  I: "c5!5 ~ c5@2 ~@2 c5!5 ~ c5@2 ~@2 c5 ~ c5 ~", J: "c5!2 ~ c5!2 ~ c5@2 ~@2 c5 ~ c5@2 ~@2 c5 ~ c5 ~@2 a4 c5 f5",
  K: "g5 ~@5", L: "[db4,eb4,ab4]!2 ~ [db4,f4,bb4] ~@10 [db4,eb4,ab4]!2 ~ [db4,f4,bb4] ~ [db4,eb4,ab4] ~@4",
  M: "[db4,eb4,ab4]!2 ~ [db4,f4,bb4] ~@10 [db4,eb4,ab4]!2 ~ [db4,f4,bb4] ~ [db4,eb4,ab4] ~@2 [db4,eb4,ab4] ~", // Dbsus2 Bbm Dbsus2 Bbm Dbsus2
  N: "~ [db4,eb4,ab4] ~@18 [db4,eb4,ab4]!2 ~ [db4,f4,bb4]", // Dbsus2 Bbm
  O: "~@10 [db4,eb4,ab4]!2 ~ [db4,f4,bb4] ~ [db4,eb4,ab4] ~@2 [db4,eb4,ab4] ~ [db4,f4,bb4] ~ [db4,eb4,ab4]!2", // Dbsus2 Bbm Dbsus2 Bbm Dbsus2
  P: "~@4 [db4,eb4,ab4]!2 ~ [db4,f4,bb4] ~@10 [db4,eb4,ab4]!2 ~ [db4,f4,bb4] ~ [db4,eb4,ab4]", // Dbsus2 Bbm Dbsus2 Bbm Dbsus2
  Q: "~@2 [db4,eb4,ab4] ~@2 [g4,c5] ~@14 [db4,ab4]!2 ~ [bb3,ab4,bb4]", // Dbsus2 C5 Db5 Bb7
  R: "~@7 [eb4,bb4] [ab3,eb4,ab4,eb5] ~ [bb4,eb5] ~@4 ab5 ~@2 ab5 ~ bb5 ~ ab5!2", // Eb5 Ab5 Eb5
  S: "~@2 ab5!2 ~@12 ab5 ~ ab5@2 ~@2 ab5!2", T: "ab5!3 ~ ab5@2 ~@2 ab5 ~ ab5 ~ ab5!2 ~ ab5!2 ~ ab5@2 ~@2 ab5 ~",
  U: "ab5@2 ~@2 ab5 ~ ab5@2 ~@2 ab5 db6 ab5!5 ~ ab5@2 ~@3 ab5",
  V: "ab5@2 ~@2 ab5 ~ ab5@2 ~@2 ab5 db6 ab5 ~@2 ab5!2 ~ ab5@2 ~@3 ab5",
  W: "ab5@2 ~@2 ab5 ~ ab5@2 ~@2 ab5 db6 ab5!5 ~ ab5@2 ~@2 ab5!2", X: "ab5@2 ~@2 ab5 ~ ab5@2 ~@2 ab5 db6 eb6@4 ~@8",
})).s("gm_trumpet").gain(0.4)

// chords · trumpet · "E♭-trumpetti, Trumpet" · soft notes
const trumpet_soft = note(`<
  ~@2 A ~ A ~ A ~ A ~ B C ~ D E ~ F ~ F ~ F ~ F ~ F ~ F ~@17 G H I J I K I L I L I L I L ~
>`.pickRestart({
  A: "~@15 eb4 ~@8", B: "~@11 eb4 ~@12", C: "~@10 f4 ~@8 eb4 ~@4", D: "~@18 [f4,c5] ~@3 [c4,g4,c5] ~",
  E: "~@12 d5!2 ~@10", F: "~@2 c5 ~@17 g4 ~@3", G: "~@6 [db4,ab4] ~@3 [ab3,eb4,ab4] ~@13", H: "bb5!2 ~@10 ab5!4 ~@8",
  I: "~@14 ab5 ~@9", J: "~@8 [bb4,eb5] [c5,f5] eb5 ab5 ~@10 ab5 ~",
  K: "~@8 [bb4,eb5] [c5,f5] eb5 ab5 ~ ab5!2 ~@7 ab5 ~", L: "~@8 [bb4,eb5] [c5,f5] eb5 ab5 ~@12",
})).s("gm_trumpet").gain(0.2)

// chords · tremolo strings · "Viulu, Tremolo"
const tremolo_strings = note("<~@13 A B C ~ D E F G B C ~ D E F G ~@16 H I J K L M ~ N I J K L M ~ N>".pickRestart({
  A: "~@3 [c4,f4,a4] ~@2", B: "~@4 [c5,g5] ~", C: "~@5 [c5,g5]", D: "[c5,g5] ~@5", E: "~ [c5,g5] ~@4",
  F: "~@2 [c5,g5] ~@3", G: "~@3 [c5,g5] ~@2", H: "[ab3,db4,f4] ~@5", I: "~ [ab4,eb5] ~@4", J: "~@2 [ab4,eb5] ~@3",
  K: "~@3 [ab4,eb5] ~@2", L: "~@4 [ab4,eb5] ~", M: "~@5 [ab4,eb5]", N: "[ab4,eb5] ~@5",
})).s("gm_tremolo_strings").gain(0.45)

// chords · tremolo strings · "Viulu, Tremolo" · soft notes
const tremolo_strings_soft = note("<~@14 A B ~ C D E F G H ~ I J K L ~@17 M N O P Q ~ R S T U V W ~ X>".pickRestart({
  A: "~@4 [g4,d5] ~", B: "~@5 [g4,d5]", C: "[g4,d5] ~@5", D: "~ [g4,d5] ~@4", E: "~@2 [g4,d5] ~@3",
  F: "~@3 [g4,d5] ~@2", G: "~@4 d5 ~", H: "~@5 d5", I: "d5 ~@5", J: "~ d5 ~@4", K: "~@2 d5 ~@3", L: "~@3 d5 ~@2",
  M: "~ [eb4,bb4] ~@4", N: "~@2 [eb4,bb4] ~@3", O: "~@3 [eb4,bb4] ~@2", P: "~@4 [eb4,bb4] ~", Q: "~@5 [eb4,bb4]",
  R: "[eb4,bb4] ~@5", S: "~ bb4 ~@4", T: "~@2 bb4 ~@3", U: "~@3 bb4 ~@2", V: "~@4 bb4 ~", W: "~@5 bb4", X: "bb4 ~@5",
})).s("gm_tremolo_strings").gain(0.25)

// chords · violin · "Alttoviulut, Violins"
const violin = note(`<
  ~@2 A ~@10 B C D E F G H I J K L M N O P Q ~ R S T U@6 V@4 ~ W X Y Z AA AB AC AD AE AF AG AH AI AJ AK
>`.pickRestart({
  A: "~@2 [a4,d5] [bb4,eb5] [c5,f5] ~@7", // D5 Eb5 F5
  B: "~@15 [a3,g4] [c4,g4,c5] ~ [f4,c5] [g4,d5] [c4,g4,c5,g5,d6] ~ [c4,d4,g4,c5,d5,g5,d6] ~", // A7 C5 F5 G5 Csus2
  C: "[g4,a4,d5,g5,a5] ~@2 [g4,c5,g5] [f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~@3 [g4,c5,g5] ~ [f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@6 [f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~", // Gsus2 C5 Gm7 Gsus4 C5 Dm7 Gm7 Gsus4
  D: "~@2 [g4,c5,g5] ~ [f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@2 [f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~@3 [g4,c5,g5] ~ [f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@6", // C5 Dm7 Gm7 Gsus4 C5 Dm7
  E: "[f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~@3 [g4,c5,g5] ~ [f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@2 [f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~@3 [g4,c5,g5] ~ [f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@2", // Gm7 Gsus4 C5 Dm7 Gm7 Gsus4 C5 Dm7
  F: "~@4 [f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~@3 [g4,c5,g5] ~ [f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@2 [f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~@3 [g4,c5,g5] ~", // Gm7 Gsus4 C5 Dm7 Gm7 Gsus4 C5
  G: "[f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@6 [f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~@3 [g4,c5,g5] ~ [f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@2 [f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~", // Dm7 Gm7 Gsus4 C5 Dm7 Gm7 Gsus4
  H: "~@2 [g4,c5,g5] ~ [f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@6 [f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~@3 [g4,c5,g5] ~ [f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@2", // C5 Dm7 Gm7 Gsus4 C5 Dm7
  I: "[f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~@3 [g4,c5,g5] ~ [f4,g4,a4,c5,d5,f5,g5,a5]@2 ~@6 [f4,g4,a4,bb4,d5,f5,g5,a5] ~ [g4,c5,d5,g5] ~@3 [g4,c5,g5] ~", // Gm7 Gsus4 C5 Dm7 Gm7 Gsus4 C5
  J: "[d5,g5,a5] ~@2 [c5,g5] [d5,f5,g5,a5] ~ [c5,d5,g5] ~@3 [c5,g5] ~ [c5,d5,f5,g5,a5]@2 ~@6 [d5,f5,g5,a5] ~ [c5,d5,g5] ~", // Dsus4 C5 Dm Csus2 C5 Dm7 Dm Csus2
  K: "~@2 [c5,g5] ~ [c5,d5,f5,g5,a5]@2 ~@2 [d5,f5,g5,a5] ~ [c5,d5,g5] ~@3 [c5,g5] ~ [c5,d5,f5,g5,a5]@2 ~@6", // C5 Dm7 Dm Csus2 C5 Dm7
  L: "[d5,f5,g5,a5] ~ [c5,d5,g5] ~@3 [c5,g5] ~ [c5,d5,f5,g5,a5]@2 ~@2 [d5,f5,g5,a5] ~ [c5,d5,g5] ~@3 [c5,g5] ~ [c5,d5,f5,g5,a5]@2 ~@2", // Dm Csus2 C5 Dm7 Dm Csus2 C5 Dm7
  M: "~@4 [d5,f5,g5,a5] ~ [c5,d5,g5] ~@3 [c5,g5] ~ [c5,d5,f5,g5,a5]@2 ~@2 [d5,f5,g5,a5] ~ [c5,d5,g5] ~@3 [c5,g5] ~", // Dm Csus2 C5 Dm7 Dm Csus2 C5
  N: "[c5,d5,f5,g5,a5]@2 ~@6 [d5,f5,g5,a5] ~ [c5,d5,g5] ~@3 [c5,g5] ~ [c5,d5,f5,g5,a5]@2 ~@2 [d5,f5,g5,a5] ~ [c5,d5,g5] ~", // Dm7 Dm Csus2 C5 Dm7 Dm Csus2
  O: "~@2 [c5,g5] ~ [c5,d5,f5,g5,a5]@2 ~@6 [d5,f5,g5,a5] ~ [c5,d5,g5] ~@3 [c5,g5] ~ [c5,d5,f5,g5,a5]@2 ~@2", // C5 Dm7 Dm Csus2 C5 Dm7
  P: "[d5,f5,g5,a5] ~ [c5,d5,g5] ~@3 [c5,g5] ~ [c5,d5,f5,g5,a5]@2 ~@6 [d5,f5,g5,a5] ~ [c5,d5,g5] ~@3 [c5,g5] ~", // Dm Csus2 C5 Dm7 Dm Csus2 C5
  Q: "~@6 [gb4,bb4,eb5,bb5] ~@17", R: "~@2 [bb3,bb4] ~@21", S: "~@10 [bb3,bb4] ~@13",
  T: "~@8 [f4,bb4] [gb4,b4] [ab4,db5] ~", U: "~@4 db5 b4 ab4 eb4 db5 b4 ab4 eb4 ~@8 [c5,f5] [ab4,c5] ~@2",
  V: "~@4 db6 b5 ab5 eb5 db6 b5 ab5 eb5 ~@8 [f5,c6] [f5,ab5] ~@2", // F5 Fm
  W: "~@3 [f3,eb4] [ab3,eb4,ab4] ~ [db4,ab4] [eb4,bb4] [ab3,eb4,ab4,eb5,bb5] ~ [ab3,bb3,eb4,ab4,bb4,eb5,bb5] ~ [eb4,f4,bb4,eb5,f5] ~@2 [eb4,ab4,eb5] [db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~@3 [eb4,ab4,eb5] ~", // F7 Ab5 Db5 Eb5 Absus2 Ebsus2 Ab5 Ebm7 …
  X: "[db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@6 [db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~@3 [eb4,ab4,eb5] ~ [db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@2 [db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~", // Bbm7 Ebm7 Ebsus4 Ab5 Bbm7 Ebm7 Ebsus4
  Y: "~@2 [eb4,ab4,eb5] ~ [db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@6 [db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~@3 [eb4,ab4,eb5] ~ [db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@2", // Ab5 Bbm7 Ebm7 Ebsus4 Ab5 Bbm7
  Z: "[db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~@3 [eb4,ab4,eb5] ~ [db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@6 [db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~@3 [eb4,ab4,eb5] ~", // Ebm7 Ebsus4 Ab5 Bbm7 Ebm7 Ebsus4 Ab5
  AA: "[db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@2 [db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~@3 [eb4,ab4,eb5] ~ [db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@6 [db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~", // Bbm7 Ebm7 Ebsus4 Ab5 Bbm7 Ebm7 Ebsus4
  AB: "~@2 [eb4,ab4,eb5] ~ [db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@2 [db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~@3 [eb4,ab4,eb5] ~ [db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@6", // Ab5 Bbm7 Ebm7 Ebsus4 Ab5 Bbm7
  AC: "[db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~@3 [eb4,ab4,eb5] ~ [db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@2 [db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~@3 [eb4,ab4,eb5] ~ [db4,eb4,f4,ab4,bb4,db5,eb5,f5]@2 ~@2", // Ebm7 Ebsus4 Ab5 Bbm7 Ebm7 Ebsus4 Ab5 Bbm7
  AD: "~@4 [db4,eb4,f4,gb4,bb4,db5,eb5,f5] ~ [eb4,ab4,bb4,eb5] ~@3 [eb4,ab4,eb5] ~ [bb4,eb5,f5] ~@2 [ab4,eb5] [bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~@3 [ab4,eb5] ~", // Ebm7 Ebsus4 Ab5 Bbsus4 Ab5 Bbm Absus2 Ab5
  AE: "[ab4,bb4,db5,eb5,f5]@2 ~@6 [bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~@3 [ab4,eb5] ~ [ab4,bb4,db5,eb5,f5]@2 ~@2 [bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~", // Bbm7 Bbm Absus2 Ab5 Bbm7 Bbm Absus2
  AF: "~@2 [ab4,eb5] ~ [ab4,bb4,db5,eb5,f5]@2 ~@6 [bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~@3 [ab4,eb5] ~ [ab4,bb4,db5,eb5,f5]@2 ~@2", // Ab5 Bbm7 Bbm Absus2 Ab5 Bbm7
  AG: "[bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~@3 [ab4,eb5] ~ [ab4,bb4,db5,eb5,f5]@2 ~@6 [bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~@3 [ab4,eb5] ~", // Bbm Absus2 Ab5 Bbm7 Bbm Absus2 Ab5
  AH: "[ab4,bb4,db5,eb5,f5]@2 ~@2 [bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~@3 [ab4,eb5] ~ [ab4,bb4,db5,eb5,f5]@2 ~@6 [bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~", // Bbm7 Bbm Absus2 Ab5 Bbm7 Bbm Absus2
  AI: "~@2 [ab4,eb5] ~ [ab4,bb4,db5,eb5,f5]@2 ~@2 [bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~@3 [ab4,eb5] ~ [ab4,bb4,db5,eb5,f5]@2 ~@6", // Ab5 Bbm7 Bbm Absus2 Ab5 Bbm7
  AJ: "[bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~@3 [ab4,eb5] ~ [ab4,bb4,db5,eb5,f5]@2 ~@2 [bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~@3 [ab4,eb5] ~ [ab4,bb4,db5,eb5,f5]@2 ~@2", // Bbm Absus2 Ab5 Bbm7 Bbm Absus2 Ab5 Bbm7
  AK: "~@4 [bb4,db5,eb5,f5] ~ [ab4,bb4,eb5] ~@3 [ab4,eb5] ~@13", // Bbm Absus2 Ab5
})).s("gm_violin").gain(0.35)

// chords · piano · "Honky-tonk-piano, Grand Piano"
const piano = note(`<
  A B C D@3 E@6 F G H I J K L@2 M N@2 O@2 P@2 Q ~@2 R S T U V W X Y Z AA U V AB AC AD AE@2 AF AG AH AI AJ AK AL AM AL AN
  AO AP
>`.pickRestart({
  A: "c2@2 c2 bb1 ~ c2 bb1@2 c2@2 c2 bb1 ~ c2 bb1@2 c2@2 c2 bb1 ~ c2 bb1@2",
  B: "c2@2 c2 bb1 ~ c2 bb1@2 c2@2 [c2,c5,g5] [bb1,bb4,f5] ~ [c2,bb4,f5] [bb1,db5,ab5]@2 c2@2 [c2,c5,g5] [bb1,bb4,f5] ~ [c2,bb4,f5] [bb1,db5,ab5]@2", // C5 Bb5 Fsus4 Bbm7 C5 Bb5 Fsus4 Bbm7
  C: "~@6 bb4 c5 eb5 g5 [f5,bb5] [g5,c6] [c5,f5]!3 [a4,e5] ~ [a4,e5] [c5,f5]@2 [c5,f5] ~ [a4,e5] ~", // Bb5 C5 F5 A5 F5 A5
  D: "~@4 [c5,f5] [a4,e5] ~ [a4,e5] [a4,e5]@2 [c5,f5] ~@3 [c5,f5] [a4,e5] ~ [a4,e5] [c5,f5]@2 [c5,f5] ~ [a4,e5] ~", // F5 A5 F5 A5 F5 A5
  E: "~@4 [bb4,eb5] [g4,d5] ~ [g4,d5] [g4,d5]@2 [bb4,eb5] ~@3 [bb4,eb5] [g4,d5] ~ [g4,d5] [bb4,eb5]@2 [bb4,eb5] ~ [g4,d5] ~", // Eb5 G5 Eb5 G5 Eb5 G5
  F: "~@4 [bb4,eb5] [g4,d5] ~ [g4,d5] f2 ~@2 a1 ~@12", G: "~@2 c2!2 ~@2",
  H: "c2@4 c2 ~ ab2@4 ab2 ~ c2@2 ~@2 ab2 ~ ab2 ~ c2 ~ ab2@2",
  I: "~@2 ab2@2 c2@2 ~@2 c2 ~ ab2@4 ab2 ~ c2@2 ~@2 ab2 ~ ab2 f6",
  J: "c2@2 ab2@2 ~@2 ab2@2 c2@2 ~@2 c2 ~ ab2@4 ab2 ~ c2@2 ~@2, g6 ~@23",
  K: "ab2 ~ ab2 ~ c2 ~ ab2@2 ~@2 ab2@2 c2@2 ~@2 c2 ~ ab2@4 ab2 f6",
  L: "[[c2,a6]@2 ~@2 ab2 ~ ab2 ~ c2 ~ ab2@2 ~@2 ab2@2 c2@2 ~@2 c2 ~ ab2@4 ab2 ~ c2@2 ~@2 ab2 ~ ab2 ~ c2 ~ ab2@2 ~@2 ab2@2 c2 ~@2 f6]/2", // F
  M: "g6@2 ab2@4 ab2 ~ c2@2 ~@2 ab2 ~ ab2 ~ c2 ~ ab2@2 ~@2 ab2@2, c2 ~@23",
  N: "[[c4,f4]@6 [c4,f4]@6 [c4,f4]@4 [c4,f4]@4 c4@2 ~ f6 [c4,f4]@6 [c4,f4]@6 [c4,f4]@4 [c4,f4]@4 [c4,f4]@2 ~@2, g1@7 ~, ~@20 f4 ~@3 a6@2 ~@22]/2", // F5
  O: "[[c4,f4]@6 [c4,f4]@6 [c4,f4]@2 ~@9 f6 [c4,f4]@6 [c4,f4]@6 [c4,f4]@4 [c4,f4]@4 [c4,f4]@2 ~@2, g1@7 ~, ~@12 g6 ~@11]/2", // F5
  P: "[[c4,f4]@6 [c4,f4]@6 [c4,f4]@2 ~@9 f6 [c4,f4]@6 [c4,f4]@6 [c4,f4]@4 [c4,f4]@4 [c4,f4]@2 ~@2, g1@7 ~, ~@12 a6 ~@11]/2", // F5
  Q: "~@6 g1@5 ~ [g1,f6,g6,c7] [f6,bb6] [eb6,g6] [c6,eb6] [g1,g5,c6] [f5,bb5] [eb5,g5] [c5,eb5] [g1,g4,c5] [f4,bb4] ~@2", // Csus4 Bb5 Eb Cm C5 Bb5 Eb Cm …
  R: "~@4 db5 b4 ab4 eb4 db5 b4 ab4 eb4 ~@12", S: "~@12 db5 b4 ab4 eb4 db5 b4 ab4 eb4 ~@4",
  T: "~@18 db5 eb5 gb5 bb5 [ab5,db6] [bb5,eb6]", U: "ab2@2 ~@2 ab1 ~ db2 ~ b1 ~ ab1 ~@3 ab3@2 ~@2 ab1 ~ db2 ~ b1 ~",
  V: "ab1 ~ eb2 ~ ab2@2 ~@2 ab1 ~ db2 ~ b1 ~ ab1 ~@3 ab3@2 ~@2 ab1 ~",
  W: "db2 ~ b1 ~ ab1 ~ eb2 ~ ab2@2 ~@2 ab1 ~ db2 ~ b1 ~ ab1 ~@3 ab3@2",
  X: "~@2 ab1 ~ db2 ~ b1 ~ ab1 ~ eb2 ~ ab2@2 ~@2 ab1 ~ db2 ~ b1 ~ ab1 ~",
  Y: "~@2 ab3@2 ~@2 ab1 ~ db2 ~ b1 ~ ab1 ~ eb2 ~ ab2@2 ~@2 ab1 ~ db2 ~",
  Z: "b1 ~ ab1 ~@3 ab3@2 ~@2 ab1 ~ db2 ~ b1 ~ ab1 ~ eb2 ~ ab2@2 ~@2",
  AA: "ab1 ~ db2 ~ b1 ~ ab1 ~@3 ab3@2 ~@2 ab1 ~ db2 ~ b1 ~ ab1 ~ eb2 ~",
  AB: "db2 ~ b1 ~ ab1 ~ eb2 ~ ab2@2 ~@2 ab1 ~ db2 ~ b1 ~ ab1 ~@5", AC: "f2 ~@11", AD: "db2@4 ~@8 ab1@4 ab1 ~ e1@4 e1 ~",
  AE: "[ab1@2 ~@2 e1 ~ e1 ~ ab1 ~ e1@2 ~@2 e1@2 ab1@2 ~@2 ab1 ~ e1@4 e1 ~ ab1@2 ~@2 e1 ~ e1 db6 ab1@2 e1@2 ~@2 e1@2 ab1@2 ~@2, ~@36 eb6 ~@11]/2",
  AF: "ab1 ~ e1@4 e1 ~ ab1@2 ~@2 e1 ~ e1 ~ ab1 ~ e1@2 ~@2 e1@2",
  AG: "ab1@2 ~@2 ab1 ~ e1@4 e1 db6 [ab1,f6]@2 ~@2 e1 ~ e1 ~ ab1 ~ e1@2", // Db
  AH: "~@2 e1@2 ab1@2 ~@2 ab1 ~ e1@4 e1 ~ ab1@2 ~@2 e1 ~ e1 ~",
  AI: "ab1 ~ e1@2 ~@2 e1@2 ab1 ~@2 db6 ab1@2 e1@4 e1 ~ ab1@2 ~@2, ~@12 eb6 ~@11",
  AJ: "e1 ~ e1 ~ ab1 ~ e1@2 ~@2 e1@2 [ab4,db5]@6 [ab4,db5]@6", // Db5
  AK: "[ab4,db5]@4 [ab4,db5]@4 [ab4,db5] ~@2 [db6,db7] [ab4,db5]@6 [ab4,db5]@6, ~@6 [f6,f7] ~@5", // Db5 Db Db5 F
  AL: "[ab4,db5]@2 [ab4,db5]@2 [ab4,db5] ~ [ab4,db5]@3 [ab4,db5]@3", // Db5
  AM: "[ab4,db5]@2 ~@9 [db6,db7] [ab4,db5]@6 [ab4,db5]@6, ~@6 [eb6,eb7] ~@5", // Db5 Db Db5 Eb
  AN: "[ab4,db5]@2 ~@9 [db6,db7] [ab4,db5]@6 [ab4,db5]@6, ~@6 [f6,f7] ~@5", AO: "[ab4,db5]@2 [ab4,db5]@2 [ab4,db5] ~@7",
  AP: "[db6,eb6,ab6] [db6,gb6] [b5,eb6] [ab5,b5] [eb5,ab5] [db5,gb5] [b4,eb5] [ab4,b4] [eb4,ab4] [db4,gb4] ~@2 ab1@2 ~@10", // Dbsus2 Gb5 B Abm Ab5 Gb5 B Abm …
})).s("gm_piano").gain(0.3)

// chords · piano · "Honky-tonk-piano, Grand Piano" · soft notes · Cm Eb Bb5 C5 Cm Eb Cm Ebm …
const piano_soft = note(`<
  ~@2
  [[c3,eb3] [eb3,g3] [f3,bb3] [g3,c4] [c4,eb4] [eb4,g4] f4 g4 c5 eb5 ~@14]
  ~@24
  [g1@6 ~@16 [eb4,g4] [c4,eb4]]
  ~@4
  [~@12 [eb3,gb3] [gb3,bb3] [ab3,db4] [bb3,eb4] [eb4,gb4] [gb4,bb4] ab4 bb4 eb5 gb5 ~@2]
  ~@25
  [~@10 [b3,eb4] [ab3,b3] ~@12]
>`).s("gm_piano").gain(0.1)

// drums · kick
const kick = s("bd").struct("<A B A ~@11 C ~ D ~ E ~@9 A ~@3 F ~@11 G ~ H I ~ J ~@9>".pickRestart({
  A: "x", B: "~ x ~", C: "~ x ~ x ~@8", D: "~@5 x ~@2 x ~@3", E: "~@9 x ~ x", F: "~ x", G: "~@7 x ~ x ~@2", H: "~@11 x",
  I: "~ x ~@4", J: "~@3 x ~ x ~@6",
})).gain(0.42)
// … 93 more lines

More by Manaka Kataoka