Strudelify
KeyB majorTempo120 bpm
0:00/0:00
// you and me — Arranjed by Danyelhauser
// 120 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 3/4 at bar 24, 4/4 at bar 25) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5915816; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 117 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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.

// chords · acoustic guitar steel · "Chitară acustică"
const acoustic_guitar_steel = note(`<
  A B C D E B C D E B C D E B C D E B C F G@4 H@2 I J K L@2 M N@3 O P Q@3 R@2 S T ~@4 U@2 V W X Y@2 Z AA@2 AB@2 AC L@2
  AD@4 O AE AF@5 AG AH AI@2 AJ AK AL@2 AM AN AO AN AP AQ AO AR AS AT@2 AU@4 AV@2 AW@5 AG AH AX AY AZ BA BB BA AZ BC@2
  ~@2
>`.pickRestart({
  A: "~@6 b2!2", B: "f#3 b2!2 f#3 ~@2 d#3!2", C: "f#3 d#3!2 f#3 ~@2 e3!2", D: "g#3 e3!2 f#3 ~@2 e3!2",
  E: "g#3 e3!2 f#3 ~@2 b2!2", F: "g#3 e3!2 f#3 ~@4",
  G: "[~ b3 d#4 c#4 b3@2 [f#3,b3]@3 [f#3,c#4]@3 [f#3,b3,d#4]@3 [d#3,c#4,f#4]@3 [f#3,c#4,f#4]@2 f#3 g#3@5 ~@6]/4", // B5 F#5 B D#m7 F#5
  H: "[d#4@3 c#4 b3@4 [f#3,b3]@6 [f#3,c#4]@6 [f#3,b3,d#4]@6 [d#3,c#4,f#4]@6]/2", // B5 F#5 B D#m7
  I: "[f#3,c#4,f#4]@2 f#3 b2 c#3 d#3 e3 f#3", J: "f#3 b2 c#3 d#3 f#3 ~@2 b3",
  K: "[f#3,d#4]@3 c#4 b3@2 d#4@2 [f#3,b3,d#4]@3 ~ [f#3,d#4]@2 ~@2", // D#m B D#m
  L: "[[f#3,d#4]@6 b3@2 [f#3,d#4]@2 e4@2 [f#3,f#4]@2 [f#3,f#4]@4 e4@2 d#4@2 [f#3,c#4]@6 ~ [f#3,c#4]@3]/2", // D#m F# F#5
  M: "[f#3,c#4]@3 ~ [f#3,c#4] d#4 [f#3,e4]!2", // F#5 F#7
  N: "[[f#3,e4]@2 d#4@2 c#4 c#4@3 [f#3,b3]@4 b3 ~ [f#3,b3]@6 ~@2 b3@2 d#4@2 e4@2 d#4@2 c#4@4 [f#3,b3]@6 [f#3,b3,d#4]@3 ~@2 [f#3,d#4]@2 ~, ~@5 d#4 ~@42]/3", // F#7 B5 B D#m
  O: "[f#3,d#4]@3 ~ [f#3,d#4] e4 [f#3,f#4]!2", P: "[f#3,f#4]@2 e4@2 d#4@2 [f#3,c#4]@6 ~ [f#3,c#4]@2 d#4",
  Q: "[[f#3,d#4]@6 ~@2 [f#3,c#4]@2 d#4@2 [f#3,e4]@2 [f#3,e4]@4 d#4@2 c#4 c#4@3 [f#3,b3]@4 b3 ~ [f#3,b3]@6 ~@2 b3@2 d#4@2 e4@2 d#4@2 [f#3,f#4]@2, ~@21 d#4 ~@26]/3", // D#m F#5 F#7 B5 F#
  R: "[[f#3,f#4] [f#3,b3]@2 f#3 [d#3,g#3]@5 ~@3 [f#3,d#4] e4 d#4 [f#3,c#4]]/2", S: "b3 b3@2 d#4 ~@2 b3 c#4",
  T: "[f#3,c#4]@2 [f#3,b3] c#4 [f#3,c#4]@2 ~ b3", U: "[[g#3,d#4] e4!3 [f#3,b3,e4]@3 [f#3,d#4]@5 ~@3 f#3]/2",
  V: "[f#3,b3] c#4!3 [f#3,c#4] b3 [e3,g#3]@2", W: "[e3,b3] ~", X: "~@4 [f#3,b3] d#4 b3 [f#3,d#4]",
  Y: "[b3 f#3 [d#3,f#3] f#3 [f#3,b3] c#4 b3 [f#3,d#4]@3 ~@2 [f#3,b3] c#4 b3 [f#3,d#4]]/2", // D#m B5 D#m B5 D#m
  Z: "b3 [b2,f#3] f#3!2 [f#3,b3] c#4 b3 [f#3,d#4]", // B5 D#m
  AA: "[[f#3,d#4]@2 ~ [f#3,e4] ~ [f#3,e4] ~@2 [f#3,e4]@6 [f#3,d#4]@5 ~ c#4@2 [f#3,c#4]@4 a#3@4 g#3@2]/2", // D#m F#7 D#m F#5
  AB: "[~@2 g#3 [e3,b3]@8 ~@4 b3]/2", AC: "[f#3,d#4]@3 c#4 b3@2 [f#3,d#4]@2 [f#3,d#4]@2 ~ [f#3,d#4]@3 ~@2",
  AD: "[[f#3,c#4]@6 ~@2 [f#3,c#4]@2 d#4@2 [f#3,e4]@2 [f#3,e4]@4 d#4@2 c#4 c#4@3 [f#3,b3]@4 b3 ~ [f#3,b3]@6 ~@2 b3@2 d#4@2 e4@2 d#4@2 c#4@4 [f#3,b3]@6 [f#3,b3,d#4]@3 ~@2 [f#3,d#4]@2 ~, ~@21 d#4 ~@42]/4", // F#5 F#7 B5 B D#m
  AE: "[f#3,f#4]@2 e4@2 d#4@2 [f#3,c#4]@6 ~ [f#3,c#4]@2 c#4", // F# F#5
  AF: "[[f#3,c#4]@6 ~@2 [f#3,c#4]@2 d#4@2 [f#3,e4]@2 [f#3,e4]@4 d#4@2 c#4 c#4@3 [f#3,b3]@4 b3 ~ [f#3,b3]@6 ~@2 b3@2 d#4@2 e4@2 d#4@2 [f#3,f#4]@4 [f#3,b3]@4 f#3@2 [d#3,g#3]@10 ~@6 [f#3,d#4]@2 e4@2 d#4@2 [f#3,c#4]@2, ~@21 d#4 ~@58]/5", // F#5 F#7 B5 F# B5 G#5 D#m F#5
  AG: "[f#3,b3]@2 [f#3,b3]@4 d#4@2 [f#3,d#4]@3 ~ [f#3,d#4]@3 ~", AH: "[f#3,d#4]@4 b3@2 [f#3,d#4]@4 ~@2 [f#3,d#4]@3 ~",
  AI: "[[f#3,d#4] c#4 [f#3,b3] c#4 [f#3,b3]@8 ~@4]/2", // D#m B5
  AJ: "~@2 [f#3,b3]@2 [f#3,b3]@2 d#4@2 [f#3,d#4]@3 ~ [f#3,d#4]@3 ~", // B5 D#m
  AK: "[f#3,d#4]@3 ~ b3@2 [f#3,d#4]@3 ~ [f#3,d#4]@3 ~@3", // D#m
  AL: "[[f#3,d#4] b3 [f#3,d#4]@2 [f#3,b3]@8 ~ [b2,d#3] [c#3,e3] [d#3,f#3]]/2", // D#m B5 B C#m D#m
  AM: "[c#3,e3]@2 [b2,d#3]@2 b2@2 [b2,d#3]@2 ~@4 b3@2 ~ d#4", // C#m B
  AN: "[f#3,c#4]@2 b3 c#4 [f#3,c#4] [b2,d#3] [c#3,e3] [d#3,f#3]", // F#5 B C#m D#m
  AO: "[c#3,e3]@2 [b2,d#3]@2 b2@2 [b2,e3]@2 ~@4 b3@2 ~ d#4", // C#m B E5
  AP: "[c#3,e3]@2 [b2,d#3]@2 b2@2 [b2,d#3]@2 ~@4 c#4@2 ~ d#4", // C#m B
  AQ: "[f#3,d#4]@2 c#4 d#4 [f#3,d#4] [b2,d#3] [c#3,e3] [d#3,f#3]", AR: "[f#3,d#4]@2 b3 c#4 [f#3,c#4] ~@2 b3",
  AS: "d#4@3 c#4 b3@2 d#4@2 d#4@3 ~@2 d#4@3", AT: "[d#4@3 ~@5 d#4@2 e4@2 f#4@2 f#4@4 e4@2 d#4@2 c#4@4 ~@2 c#4@3 ~]/2",
  AU: "[c#4@4 ~@4 c#4@2 d#4@2 e4@2 e4@4 d#4@2 c#4 c#4@3 b3@3 ~ b3 ~ b3@4 ~@4 b3@2 d#4@2 e4@2 d#4@2 [b3,f#4]@4 b3@4 ~@2 [f#3,b3,d#4]@3 ~ [f#3,d#4]@2 ~@2, ~@21 d#4 ~@42]/4", // B5 B D#m
  AV: "[[f#3,d#4]@6 ~@2 [f#3,d#4]@2 e4@2 [f#3,f#4]@2 [f#3,f#4]@4 e4@2 d#4@2 [f#3,c#4]@6 ~ [f#3,c#4]@2 c#4]/2", // D#m F# F#5
  AW: "[[f#3,d#4]@6 ~@2 [f#3,c#4]@2 d#4@2 [f#3,e4]@2 [f#3,e4]@4 d#4@2 c#4 c#4@3 [f#3,b3]@4 b3 ~ [f#3,b3]@6 ~@2 b3@2 d#4@2 e4@2 d#4@2 [f#3,f#4]@4 [f#3,b3]@4 f#3@2 [d#3,g#3]@10 ~@6 [f#3,d#4]@2 e4@2 d#4@2 [f#3,c#4]@2, ~@21 d#4 ~@58]/5", // D#m F#5 F#7 B5 F# B5 G#5 D#m …
  AX: "[f#3,d#4] c#4 [f#3,b3] c#4 [f#3,b3]@4", AY: "[f#4,b4]@4 ~ [b3,d#4] [c#4,e4] [d#4,f#4]",
  AZ: "[c#4,e4] [b3,d#4] b3 [b3,d#4] ~@4", BA: "~@5 [b3,d#4] [c#4,e4] [d#4,f#4]",
  BB: "[c#4,e4] [b3,d#4] b3 [b3,e4] ~@4", BC: "[~@4 [b3,g#4]@3 [b3,f#4]@3 [g#3,e4]@4 ~@2]/2",
})).s("gm_acoustic_guitar_steel").gain(0.3)

// chords · piano · "Pian"
const piano = note(`<
  ~@4 A B C D E B C F E B G H E B I J K@4 L@2 M N O P@2 Q@4 R@2 S@4 T@3 U@2 V W X@2 Y Z AA AB@2 AC@3 AD@2 AE P@2 Q@4
  AF@2 AG@4 AH AI AJ AK@2 AL AM AN@2 AO AP AQ AP AR AS AQ AT@2 AU@2 AV@4 AF@2 S@4 AH AI AJ AW AX AY AZ BA BB AY BC@2
  BD@2
>`.pickRestart({
  A: "~@2 b3@2 e4!2 f#3@2 e3@2 f#3@2 b2@2 [f#3,d#4]@2, ~@4 e3@2 e4 ~ e4 ~ e4@4 ~@2", B: "b2 f#3 b2 f#3 b2 f#3 d#3 f#3",
  C: "d#3 [f#3,b3] [d#3,d#4] [f#3,f#4] [d#3,f#4] [f#3,g#4] [e3,g#4] [f#3,f#4]", // B5 D# F# D#m F#sus2 E F#
  D: "e3 f#3 e3 f#3 e3 f#3 e3 f#3, d#4 f#4 ~@2",
  E: "e3@2 [f#3,b3]@2 e4!2 f#3@2 e3@2 f#3@2 b2@2 [f#3,d#4]@2, ~@4 e3@2 e4 ~ e4 ~ e4@4 ~@2", // B5 D#m
  F: "e3 f#3 [e3,d#4] f#3 e3 f#3 e3 f#3, f#4@2 ~ b3@4 ~", // Emaj7
  G: "d#3 f#3 [d#3,b4] [f#3,a#4] [d#3,g#4] [f#3,a#4] [e3,g#4] [f#3,f#4]", // G#m F# G#5 F# E F#
  H: "[e3,f#4] f#3 e3 f#3 e3 f#3 e3 f#3, ~@2 f#4@3 ~@3", // Esus2
  I: "d#3 [f#3,b3] [d#3,d#4] [f#3,f#4] d#3 f#3 [e3,g#4] [f#3,f#4], ~@2 f#4 ~", // B5 D# F# E F#
  J: "e3 f#3 [e3,c#4] f#3 e3 f#3 e3 f#3, d#4@2 ~ b3@4 ~", // C#m
  K: "[e3 [f#3,b4] [e3,d#5] [f#3,c#5] e3 f#3 [g#2,g#3,f#4,b4]@3 [a#2,a#3,f#4,c#5]@3 [b2,b3,f#4,d#5]@3 [d#3,b3,c#5,f#5]@3 [d#3,a#3,f#4,c#5,f#5]@2 f#4 ~ e3 b3 e4 b3 [b3,g#4] e4 b3!2 e4 b3, ~@2 b4 ~@7 [d#3,b3] ~@5, ~@42 g#4@9 ~@9 b4@4]/4", // B5 Emaj7 F#5 G#m7 F# B D#m7 E …
  L: "[d#5@2 ~ c#5 ~@2 f#3@2 [g#2,g#3,f#4,b4]@6 [a#2,a#3,f#4,c#5]@6 [b2,b3,f#4,d#5]@6 [d#3,b3,c#5,f#5]@6, ~ b3@2 ~@13, ~ b4 ~@6]/2", // G#m7 F# B
  M: "[d#3,a#3,f#4,c#5,f#5]@2 f#4 ~ e3 b3 e4 b3, ~ [d#3,b3] ~@2, ~@3 g#4@5", // D#m7 G#m
  N: "~@2 b3@2 e4@2 b3@2 ~@2 b3 ~ b3 ~ [b3,b4]@2", // B
  O: "[f#4,d#5]@2 b3 c#5 b4@2 d#5@2 [b2,b3,f#4,b4,d#5]@4 [f#4,d#5]@2 [b2,b3]@2, b3 ~@3 b3 ~ b3 ~@5 b3 ~@3", // D#m B D#m B
  P: "[~@2 b3@2 b2@2 [b3,b4]@2 [f#4,d#5]@2 e5@2 [f#4,f#5]@2 [f#4,f#5]@4 [b3,e5]@2 [b2,d#5]@2 b3@2 [a#2,a#3]@4 a#3 ~ [a#2,a#3]@2, [f#4,d#5]@6 ~@2 [b2,b3]@4 b3 ~ [b2,b3]@2 ~@6 [f#4,c#5]@6 ~ [f#4,c#5]@3]/2", // B D#m F# E5 B A# D#m B …
  Q: "[~@2 a#3@2 a#2@2 a#3@2 [f#4,c#5]@2 d#5@2 [f#4,e5]@2 [f#4,e5]@4 [a#3,d#5]@2 c#5 d#5 a#3@2 [g#2,g#3,f#4,b4]@4 [g#3,b4] ~ [g#2,g#3]@2 ~@2 g#3@2 g#2@2 [g#3,b4]@2 d#5@2 e5@2 d#5@2 [e2,e3]@2 ~@2 e3@2 e2@2 e3@2 [b2,b3,f#4,b4,d#5]@4 b3 ~ [b2,b3]@2, [f#4,c#5]@6 ~@2 [a#2,a#3]@4 a#3 ~ [a#2,a#3]@2 ~@4 a#2@2 ~@18 [e2,e3]@4 e3 ~@19, ~@21 c#5@3 ~@6 [f#4,b4]@6 ~@10 c#5@4 [f#4,b4]@6 ~@5 [f#4,d#5]@2 ~]/4", // F#5 F#7 D#5 G#m7 G#m G# G#m E …
  R: "[~@2 b3@2 b2@2 b3@2 [f#4,d#5]@2 e5@2 [f#4,f#5]@2 [f#4,f#5]@4 [b3,e5]@2 [b2,d#5]@2 b3@2 [a#2,a#3]@4 a#3 ~@2 d#5, [f#4,d#5]@6 ~@2 [b2,b3]@4 b3 ~ [b2,b3]@2 ~@6 [f#4,c#5]@6 ~ [f#4,c#5]@2 ~, ~@15 [a#2,a#3]]/2", // D#m F# E5 B A# D#m B F#5 …
  S: "[~@2 a#3@2 a#2@2 a#3@2 [f#4,c#5]@2 d#5@2 [f#4,e5]@2 [f#4,e5]@4 [a#3,d#5]@2 c#5 d#5 a#3@2 [g#2,g#3,f#4,b4]@4 [g#3,b4] ~ [g#2,g#3]@2 ~@2 g#3@2 g#2@2 [g#3,b4]@2 d#5@2 e5@2 d#5@2 [f#4,f#5]@4 e3@2 e2@2 [e3,f#4]@2 [g#2,g#3]@4 g#3 ~ [g#2,g#3]@2, [f#4,d#5]@6 ~@2 [a#2,a#3]@4 a#3 ~ [a#2,a#3]@2 ~@4 a#2@2 ~@18 [e2,e3]@4 e3 ~ [e2,e3]@2 ~@16, ~@21 c#5@3 ~@6 [f#4,b4]@6 ~@14 [f#4,b4]@4 ~@2 [d#4,g#4]@8]/4", // F#5 F#7 D#5 G#m7 G#m G# G#m F# …
  T: "[~ g#3 g#2 g#3 [f#4,d#5] e5 d#5 [f#4,c#5] b4 b4@2 d#5 [b2,b3] ~ b4 c#5 ~@2 [f#4,b4] c#5 ~ b3@2 [b3,b4], ~@8 [e2,e3]@4 e3 ~ [e2,e3]@4 e3@6 ~@2 b3@4 b3@4 b3@4 b3@4 ~@6, ~@8 [f#4,c#5] ~ [f#4,c#5] ~]/3", // D#m F#5 B B5 B E F#5
  U: "[[f#4,d#5] e5!3 b2 b3 b2 b3 b2 b3 b2 b3 d#2 d#3 d#2 d#3, b3@4 [f#4,b4,e5]@3 d#5@4 ~@5, ~@8 f#4@3 ~@5]/2", // D#m Esus2
  V: "[d#2,f#4,b4] [d#3,c#5] [d#2,c#5] [d#3,c#5] [e2,e4,c#5] [e3,b4] e2 e3, ~@3 b4", // B D#7 C#m E5
  W: "e2 e3 e2 e3 e2 e3 e2 [e3,b4], [e4,g#4]@3 ~@5", // E5 E
  X: "[[e2,g#4,d#5] [e3,e5] [e2,e5] [e3,e5] b2 b3 b2 b3 a#2 b3 b2 b3 d#2 d#3 d#2 [d#3,f#4], ~@8 [f#4,b4,e5]@6 [f#4,d#5]@9 ~@9]/2", // Emaj7 E D#m Esus2 D#m
  Y: "[d#2,f#4,b4] [d#3,c#5] [d#2,c#5] [d#3,c#5] [e2,f#4,c#5] [e3,b4] e2 e3, ~@3 [e4,g#4]", // B D#7 F#7 E5 E
  Z: "e2 e3 e2 e3 e2 e3 e2 e3, [e4,b4] ~", AA: "e2 e3 e2 e3 [b2,f#4,b4] [b3,d#5] [b2,b4] [b3,f#4,d#5]",
  AB: "[[b2,b4] [b3,f#4] [b2,d#4,f#4] [b3,f#4] [d#2,f#4,b4] [d#3,c#5] [d#2,b4] d#3 d#2 d#3 d#2 d#3 [e2,f#4,b4] [e3,c#5] [e2,b4] [e3,f#4,d#5], ~@7 [f#4,d#5]@3 ~@6]/2", // B B5 B B5 B D#7 G#m Esus2 …
  AC: "[[e2,b4]@2 [e3,b3,f#4]@2 [e2,f#4]@2 [e3,f#4]@2 [e2,f#4,b4]@2 [e3,c#5]@2 [e2,b4]@2 e3@2 e2@2 ~ [f#4,e5] ~ [f#4,e5] e3@2 b2@2 b3@2 b2@2 b3@2 b2@2 b3@2 [b2,c#5]@2 b3@2 d#2@2 d#3@2 d#2@2 [d#3,g#4]@2, ~@14 [f#4,d#5]@4 e3@2 e2@2 ~@2 [f#4,e5]@6 [f#4,d#5]@5 ~@3 [f#4,c#5]@4 a#4@4 ~@2]/3", // E5 Esus2 C#m E5 F#7 Bsus2 G#5 D#m …
  AD: "[d#2 d#3 [d#2,g#4] d#3 e2 e3 e2 e3 e2 e3 e2 e3 e2 e4 b3 [g#3,b4], ~@6 [e4,b4]@15 ~@11]/2", // G#5 G#m E5
  AE: "[b3,f#4,d#5]@2 ~ c#5 [b2,b4]@2 [g#2,f#4,d#5]@2 [b2,b3]@3 ~ b3 ~ [b2,b3]@2, ~@2 e3@2 ~@4 [f#4,d#5]@2 ~ [f#4,d#5]@3 ~@2", // B G#7 B D#m
  AF: "[~@2 b3@2 b2@2 b3@2 [f#4,d#5]@2 e5@2 [f#4,f#5]@2 [f#4,f#5]@4 [b3,e5]@2 [b2,d#5]@2 b3@2 [a#2,a#3]@4 a#3 ~@2 c#5, [f#4,d#5]@6 ~@2 [b2,b3]@4 b3 ~ [b2,b3]@2 ~@6 [f#4,c#5]@6 ~ [f#4,c#5]@2 ~, ~@15 [a#2,a#3]]/2", // D#m F# E5 B A# D#m B F#5 …
  AG: "[~@2 a#3@2 a#2@2 a#3@2 [f#4,c#5]@2 d#5@2 [f#4,e5]@2 [f#4,e5]@4 [a#3,d#5]@2 c#5 d#5 a#3@2 [g#2,g#3,f#4,b4]@4 [g#3,b4] ~ [g#2,g#3]@2 ~@2 g#3@2 g#2@2 [g#3,b4]@2 d#5@2 e5@2 d#5@2 [f#4,f#5]@4 e3@2 e2@2 [e3,f#4]@2 [g#2,g#3]@4 g#3 ~ [g#2,g#3]@2, [f#4,c#5]@6 ~@2 [a#2,a#3]@4 a#3 ~ [a#2,a#3]@2 ~@4 a#2@2 ~@18 [e2,e3]@4 e3 ~ [e2,e3]@2 ~@16, ~@21 c#5@3 ~@6 [f#4,b4]@6 ~@14 [f#4,b4]@4 ~@2 [d#4,g#4]@8]/4", // F#5 F#7 D#5 G#m7 G#m G# G#m F# …
  AH: "~ g#3 g#2 g#3 [f#4,d#5] e5 d#5 [e2,e3,f#4,c#5], ~@8 [e2,e3]@4 e3 ~@3", // D#m F#7 E
  AI: "[f#4,b4] e3 e2 [e3,d#5] [b2,b3,f#4,d#5]@2 [f#4,d#5] [b2,b3], ~@2 [f#4,b4]@4 ~@6 b3 ~@3", // B5 Emaj7 B D#m B B5
  AJ: "~ e3 [e2,b4] e3 [d#2,d#3]@2 [f#4,d#5] [d#2,d#3], [f#4,d#5]@4 ~@2 [f#4,d#5]@4 ~@2 d#3 ~@3", // E5 D# D#m D# D#m
  AK: "[[f#4,d#5]@2 [d#3,c#5]@2 [d#2,f#4,b4]@2 [d#3,c#5]@2 [e2,e3]@4 e3 ~ [e2,e3]@2 ~@2 g#3@2 g#2@2 g#3@2 [e2,e3]@4 e3 ~ [e2,e3]@2, ~@8 [f#4,b4]@15 ~@9]/2", // D#m D#7 B D#7 E B5
  AL: "~ [e3,f#4,b4] [e2,f#4,b4] [e3,d#5] [b2,b3,f#4,d#5]@2 [f#4,d#5] [b2,b3], ~@12 b3 ~@3", // Esus2 Emaj7 B D#m B
  AM: "[f#4,d#5]@2 b3@2 [b2,b4]@2 [b3,f#4,d#5]@2 ~@2 [f#4,d#5]@2 d#3 ~ [d#2,d#3]@2, ~@2 [d#2,d#3] ~", // D#m B D#m D#
  AN: "[[f#4,d#5]@2 [d#3,b4]@2 d#2@2 d#3@2 [e2,e3]@4 e3 ~ [e2,e3]@2 ~@2 e3@2 e2@2 e3@2 ~@2 [b3,d#4]@2 [c#4,e4]@2 [e2,e3,d#4,f#4]@2, ~@4 [f#4,d#5]@4 [f#4,b4]@15 ~ [e2,e3]@4 e3 ~@3]/2", // D#m G#m E B C#m D#m B5 E
  AO: "[c#4,e4]@2 [e3,b3,d#4]@2 [e2,b3]@2 [e3,b3,d#4]@2 [b2,b3]@4 b4@2 ~ d#5, ~@12 b3 ~ [b2,b3]@2", // C#m Emaj7 E5 Emaj7 B
  AP: "~ b3 [b2,b4] [b3,c#5] [f#4,c#5] [b3,d#4] [c#4,e4] [d#2,d#3,d#4,f#4], [f#4,c#5]@4 ~@4 [d#2,d#3]@4 d#3 ~@3", // B Bsus2 F#5 B C#m D#m F#5 D#
  AQ: "[c#4,e4]@2 [d#3,b3,d#4]@2 [d#2,b3]@2 [d#3,b3,e4]@2 [e2,e3]@4 b4@2 ~ d#5, ~@12 e3 ~ [e2,e3]@2", // C#m G#m Emaj7 E
  AR: "[c#4,e4]@2 [d#3,b3,d#4]@2 [d#2,b3]@2 [d#3,b3,d#4]@2 [e2,e3]@4 c#5@2 ~ d#5, ~@12 e3 ~ [e2,e3]@2", // C#m G#m E
  AS: "~ b3 [b2,c#5] [b3,d#5] [f#4,d#5] [b3,d#4] [c#4,e4] [d#2,d#3,d#4,f#4], [f#4,d#5]@4 ~@4 [d#2,d#3]@4 d#3 ~@3", // Bsus2 B D#m B C#m D#m D#
  AT: "[~@2 e3@2 [e2,b4]@2 [e3,c#5]@2 [e2,e3]@4 ~@2 b4@2 d#5@3 c#5 b4@2 d#5@2 [b3,d#5]@2 f#4@2 ~@2 f#4@2, [f#4,d#5]@2 ~@2 [f#4,c#5] ~ e3@4 ~@4 b4 ~, ~@29 d#5@3]/2", // E5 C#m E B D#m F#5
  AU: "[d#5 b4 f#4 b4 [b3,d#5] [f#4,e5] [b4,f#5] f#4 d#4 [b4,e5] [f#4,d#5] d#4 b3 f#4 [a#4,c#5] f#4, ~@7 f#5@2 ~@2 c#5@2 ~@3]/2", // B F#7 B5 E5 D#m A#m
  AV: "[~@2 a#4@2 f#4@2 a#4@2 [a#3,c#5]@2 [f#4,d#5]@2 [a#4,e5]@2 f#4@2 c#4@2 [a#4,d#5]@2 c#5 d#5 c#4@2 [g#3,b4]@2 d#4@2 f#4@2 b4@4 f#4@2 d#4@2 [f#4,b4]@2 [e4,d#5]@2 [b3,e5]@2 [g#3,d#5]@2 b3@2 g#3@2 e3@2 b2@2 e2@2 [b2,b3,f#4,b4,d#5]@4 [f#4,d#5]@2 [b2,b3]@2, c#5@4 ~@10 e5@4 ~@2 f#4@2 ~@8 d#4@2 ~@28 b3 ~@3, ~@21 c#5@3 ~@4 b4 ~@17 [b4,f#5]@4 b4@4 ~@10]/4", // A#m D#m A#dim D#5 G#m B5 Emaj7 E5 …
  AW: "[f#4,d#5]@2 [d#3,c#5]@2 [d#2,f#4,b4]@2 [d#3,c#5]@2 [e2,e3]@4 e3 ~ [e2,e3]@2, ~ [f#4,b4]", // D#m D#7 B D#7 E B5
  AX: "~ e3 e2 e3 ~ [b3,d#4] [c#4,e4] [e2,e3,d#4,f#4], [f#4,b4]@8 [e2,e3]@4 e3 ~@3", // B C#m D#m B5 E
  AY: "[c#4,e4]@2 [e3,b3,d#4]@2 [e2,b3]@2 [e3,b3,d#4]@2 [b2,b3]@4 b3 ~ [b2,b3]@2", // C#m Emaj7 E5 Emaj7 B
  AZ: "~ b3 b2 b3 ~ [b3,d#4] [c#4,e4] [d#2,d#3,d#4,f#4], ~@8 [d#2,d#3]@4 d#3 ~@3", // B C#m D#m D#
  BA: "[c#4,e4]@2 [d#3,b3,d#4]@2 [d#2,b3]@2 [d#3,b3,e4]@2 [e2,e3]@4 e3 ~ [e2,e3] ~", // C#m G#m Emaj7 E
  BB: "~ e3 e2 e3 ~ [b3,d#4] [c#4,e4] [e2,e3,d#4,f#4], ~@8 [e2,e3]@4 e3 ~@3", // B C#m D#m E
  BC: "[~@2 b3@2 b2@2 b3@2 [d#2,d#3]@4 d#3 ~ [d#2,d#3]@2 ~@2 d#3@2 d#2@2 d#3@2 [e2,e3]@4 e3 ~ [e2,e3] ~, ~@4 [b3,g#4]@3 [b3,f#4]@3 [g#3,e4]@4 ~@2]/2", // D# E B5 C#m
  BD: "[~@2 e3@2 e2@2 e3@2 [e2,e3]@23 ~]/2", // E
})).s("gm_piano").gain(0.41)

// other · string ensemble 1 · "Viori"
const string_ensemble_1 = note(`<
  ~@5 A ~ B@2 A ~ C D A ~ E F A ~ G H@4 I@2 J@2 K L M N O P Q R S T O U V W X Y Z AA AB AC AD@2 AE AF AG AH AI AH AJ@2
  AK AL AM L M N O P Q R S T O U V W ~@7 AN AO AP AQ AP AR AS AT AU AV ~@6 L M N O AW@2 AX AY AZ BA BB BC AN BD BE BF BG
  BH BI@2
>`.pickRestart({
  A: "~@2 b3@2 e4!3 ~ e4 ~ e4@4 d#4@2", B: "[~@3 f#4 e5 d#5 c#5 b4@2 ~@7]/2", C: "~ b3 d#4 f#4!2 g#4!2 f#4",
  D: "f#4 ~@3", E: "~@2 b4 a#4 g#4 a#4 g#4 f#4", F: "f#4 ~@7", G: "~@2 d#4 f#4 f#4@2 g#4 f#4",
  H: "[d#4@2 d#5 c#5 b4@2 b4@3 c#5@3 d#5@3 f#5@3 f#5@2 f#4 g#4@5 g#4 ~@3 b4@2]/4",
  I: "[d#5@3 c#5 b4@4 b4@6 c#5@6 d#5@6 f#5@6]/2", J: "[f#5@2 f#4 g#4@6 ~@6 b4]/2",
  K: "d#5@3 c#5 b4@2 d#5@2 d#5@3 ~ d#5@2 ~@2", L: "d#5@3 b4 d#5 e5 f#5!2", M: "f#5@2 e5@2 d#5@2 c#5@6 ~ c#5@3",
  N: "c#5@3 ~ c#5 d#5 e5!2", O: "e5@2 d#5@2 c#5 c#5@3 b4@4 b4 ~ b4@2, ~@5 d#5 ~@10", P: "b4@2 ~ b4 d#5 e5 d#5 c#5",
  Q: "c#5@2 b4@6 d#5@3 ~@2 d#5@2 ~", R: "d#5@3 ~ d#5 e5 f#5!2", S: "f#5@2 e5@2 d#5@2 c#5@6 ~ c#5@2 d#5",
  T: "d#5@3 ~ c#5 d#5 e5!2", U: "b4@2 ~ b4 d#5 e5 d#5 f#5", V: "f#5 b4@2 f#4 g#4@4", W: "g#4 ~@3 d#5 e5 d#5 c#5",
  X: "b4 b4@2 d#5 ~@2 b4 c#5", Y: "c#5@2 b4 c#5 c#5@2 ~ b4", Z: "d#5 e5!3 e5@3 d#5", AA: "d#5@3 ~@5",
  AB: "b4 c#5!4 b4 b4@2", AC: "g#4@3 ~@4 b4", AD: "[d#5 e5!3 e5@3 d#5@5 ~@3 f#4]/2", AE: "b4 c#5!4 b4 g#4@2",
  AF: "b4 ~", AG: "~@4 b4 d#5 b4 d#5", AH: "b4 f#4!3 b4 c#5 b4 d#5", AI: "d#5@2 ~@2 b4 c#5 b4 d#5",
  AJ: "[d#5@2 ~ e5 ~ e5 ~@2 e5@6 d#5@5 ~ c#5@2 c#5@4 a#4@4 g#4@2]/2", AK: "~@2 g#4 b4@5", AL: "b4@3 ~@4 b4",
  AM: "d#5@3 c#5 b4@2 d#5@2 d#5@2 ~ d#5@3 ~@2", AN: "~@5 d#4 e4 f#4", AO: "e4@2 d#4@2 b3@2 d#4@2 ~@4 b4@2 ~ d#5",
  AP: "c#5@2 b4 c#5!2 d#4 e4 f#4", AQ: "[c#4,e4]@2 [b3,d#4]@2 b3@2 [b3,e4]@2 ~@4 b4@2 ~ d#5",
  AR: "e4@2 d#4@2 b3@2 d#4@2 ~@4 c#5@2 ~ d#5", AS: "d#5@2 c#5 d#5!2 d#4 e4 f#4",
  AT: "e4@2 d#4@2 b3@2 e4@2 ~@4 b4@2 ~ d#5", AU: "d#5@2 b4 c#5!2 ~@2 b4", AV: "d#5@3 c#5 b4@2 d#5@2 ~@8",
  AW: "[b4@2 ~ b4 d#5 e5 d#5 f#5@2 b4@2 ~ g#4@4]/2", AX: "[d#4,g#4] ~@3 d#5 e5 d#5 c#5",
  AY: "b4@2 b4@4 d#5@2 d#5@3 ~ d#5@3 ~", AZ: "d#5@4 b4@2 d#5@4 ~@2 d#5@3 ~", BA: "d#5 c#5 b4 c#5 b4@4",
  BB: "b4@4 ~ d#4 e4 f#4", BC: "e4 d#4 b3 d#4 ~@4", BD: "e4 d#4 b3 e4 ~@4", BE: "~@5 d#5 e5 f#5",
  BF: "e5 d#5 b4 d#5 ~@4", BG: "~@4 g#4@3 f#4", BH: "f#4 e4@2 ~", BI: "e5/2",
})).s("gm_string_ensemble_1").gain(0.23)

// other · string ensemble 1 · "Viole"
const string_ensemble_1_2 = note(`<
  ~@4 A B C D E F G E H B C@2 I B C D J@4 K@2 L ~ M N O P Q R S P T P Q U V W X Y Z AA AB AC AD@2 AE AF AG AH AI AJ AK@2
  AL AC AM N O P Q R S P T P Q U V W ~@7 AN AO AP AQ AR AS AT AO AU ~@7 N O P Q R V AV AW AX AY AZ BA AN BA BB BC BD BE
  BF@2
>`.pickRestart({
  A: "~@2 e4 ~ e4 ~ b3 ~", B: "b3 ~ b3 ~ b3 ~ d#4 ~", C: "d#4 ~ d#4 ~ d#4 ~ d#4 ~", D: "d#4 ~ e4 ~ e4 ~ e4 ~",
  E: "e4 ~ e4 ~ e4 ~ e4 ~", F: "e4 ~ b3 ~ b3 ~ d#4 ~", G: "d#4 ~ d#4 ~ d#4 ~ e4 ~", H: "e4 ~ e4 ~ e4 ~ b3 ~",
  I: "d#4 ~ e4 ~ e4 ~ b3 ~", J: "[e4 ~ e4 ~ e4 ~ f#4@3 f#4@3 f#4@3 c#5@3 d#4@2 d#4@2 e4@4 g#4 ~@3 b4@2]/4",
  K: "[~@4 f#4@3 f#4@3 f#4@3 c#5@3]/2", L: "d#4!2 e4@2", M: "f#4@3 c#5 b4@2 d#5@2 f#4@3 ~ f#4@2 ~@2",
  N: "f#4@3 b4 f#4 ~ f#4!2", O: "f#4@2 ~@4 f#4@6 ~ f#4@3", P: "f#4@3 ~ f#4 ~ f#4!2",
  Q: "f#4@2 d#5@2 c#5 c#5@3 f#4@4 b4 ~ f#4@2, ~@5 d#5 ~@10", R: "f#4@2 ~ b4 d#5 e5 d#5 c#5",
  S: "c#5@2 f#4@6 f#4@3 ~@2 f#4@2 ~", T: "f#4@2 ~@2 d#5@2 f#4@6 ~ f#4@2 c#5", U: "f#4@2 ~ b4 d#5 e5 d#5 [f#4,f#5]",
  V: "f#4 f#4@2 f#4 d#4@4", W: "d#4 ~@3 f#4 ~@2 f#4", X: "b4 b4@2 d#5 ~@2 b4 c#5", Y: "f#4@2 f#4 ~ f#4@2 ~ b4",
  Z: "f#4 ~@3 f#4@3 ~", AA: "f#4@3 ~@5", AB: "f#4 ~@3 e4 b4 b4@2", AC: "e4@3 ~@4 b4",
  AD: "[g#4 ~@3 f#4@3 f#4@5 ~@3 f#4]/2", AE: "f#4 ~@3 f#4 b4 e4@2", AF: "e4 ~", AG: "~@4 f#4 ~@2 f#4",
  AH: "~@2 d#4 f#4!2 ~@2 f#4", AI: "f#4@2 ~@2 f#4 ~@2 f#4", AJ: "~ b3 ~@2 f#4 ~@2 f#4",
  AK: "[f#4@2 ~ f#4 ~ f#4 ~@2 f#4@6 f#4@5 ~@3 f#4@4 a#4@4 g#4@2]/2", AL: "~@2 g#4 e4@5",
  AM: "f#4@3 c#5 b4@2 f#4@2 f#4@2 ~ f#4@3 ~@2", AN: "~@5 b3 c#4 d#4", AO: "c#4@2 b3@2 b3@2 b3@2 ~@4 b4@2 ~ d#5",
  AP: "f#4@2 b4 c#5 f#4 d#4 e4 f#4", AQ: "[c#4,e4]@2 [b3,d#4]@2 b3@2 [b3,e4]@2 ~@4 b4@2 ~ d#5",
  AR: "f#4@2 b4 c#5 f#4 b3 c#4 d#4", AS: "c#4@2 b3@2 b3@2 b3@2 ~@4 c#5@2 ~ d#5", AT: "f#4@2 c#5 d#5 f#4 b3 c#4 d#4",
  AU: "f#4@2 b4 c#5 f#4 ~@2 b4", AV: "[d#4,g#4] ~@3 f#4 ~@2 f#4", AW: "f#4@2 f#4@4 ~@2 f#4@3 ~ f#4@3 ~",
  AX: "f#4@4 b4@2 f#4@4 ~@2 f#4@3 ~", AY: "f#4 ~ f#4 c#5 f#4@4", AZ: "f#4@4 ~ b3 c#4 d#4", BA: "c#4 b3!3 ~@4",
  BB: "~@5 d#4 e4 f#4", BC: "e4 d#4 b3 d#4 ~@4", BD: "~@4 b3@3 b3", BE: "b3 g#3@2 ~", BF: "e4/2",
})).s("gm_string_ensemble_1").gain(0.24)

// other · string ensemble 1 · "Contrabasuri"
const string_ensemble_1_3 = note(`<
  A@8 B@8 C@7 D E@2 F G H@2 I J K L M H I J K N O P Q@2 H R S T U R S V W X S V W X S Y Z H I J K L M H I J K N O P ~@7
  V W X S X S X S V ~@7 H I J K L M N U AA S V AB R S V U R AC AD@2
>`.pickRestart({
  A: "[~ b1@4 b1@2 b1@2 b1@4 b1@2 b1@2 b1@2 b1@2 b1@4 b1@2 b1@2 b1@3]/8",
  B: "[~ b1@2 b1@2 b1@4 b1@2 b1@2 b1@4 b1@2 b1@2 b1@4 b1@2 b1@2 b1@3]/8",
  C: "[~@2 b1@4 b1@4 b1@8 b1@4 b1@4 b1@8 b1@4 g#1@3 a#1@3 b1@3 d#2@3 d#2@2 d#2@2 e2 b2]/7", D: "e3 b2!2 e3 b2!2 e3 b2",
  E: "[~ b2@2 f#2 g#1@3 a#1@3 b1@3 d#2@3]/2", F: "d#2@2 d#2@2 e2 b2 e3 b2", G: "~ b2 e3 b2 b1@4", H: "b1", I: "b1 a#1",
  J: "a#1", K: "a#1 g#1", L: "g#1 e1", M: "e1 b1", N: "g#1 e2", O: "e2 g#2", P: "g#2 e2", Q: "[e2 b1@3]/2", R: "b1 d#2",
  S: "d#2 e2", T: "e2", U: "e2 b1", V: "e2!2", W: "e2 b2", X: "b2 d#2", Y: "e2@4 e1 e3 b2 g#2", Z: "b2 e2 b1 g#1 b1@4",
  AA: "e2 d#2", AB: "e2 ~", AC: "c#2 e2", AD: "e2/2",
})).s("gm_string_ensemble_1").gain(0.23)

stack(acoustic_guitar_steel, piano, string_ensemble_1, string_ensemble_1_2, string_ensemble_1_3)