Strudelify
KeyG majorTempo141 bpm
0:00/0:00
// again — From FULLMETAL ALCHEMIST
// 141 bpm, 4/4, key G 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 (1/4 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5979320; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 161 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(141/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 · marimba
const marimba = note(`<
  ~@7 A B C@2 D@2 C@2 E@2 F G ~@7 H I H J H I H K L M N O L M N P Q R S T U V W X Q R S T U Y Z AA Z AB G ~@7 AC AD AE
  AF AC AD AE AG AH AI AH O AH AI AH P Q R S T U V W X Q R S T U AJ AK AL AM AN AK AO AP AQ AR AS AT AS AU AV AW AX AY
  AZ BA BB ~@23 BC BD BE BF BG@2 BH BI BJ BK BL BM BN BK BL BO BP BQ BR BS
>`.pickRestart({
  A: "~@3 b3@3 ~@2", B: "~@12 d4 ~ e4 d4 ~ b3 ~@6",
  C: "[[b3,d4]@6 d4@3 [b3,g4]@6 f#4@3 b3@3 [d4,f#4]@6 b3 ~ d4 b3@6 g5 ~ f#5 d5 ~ b4 b3@6]/2", // Bm Em D
  D: "[[b3,e4]@6 d4@3 [b3,g4]@6 f#4@3 b3@3 [a4,d#5]@6 g4@3 [b3,f#4]@3 d#4@3 b4 ~ f#4 b4 ~ f#5 b5@6]/2", // E5 Em Adim B5
  E: "[[b3,e4]@2 d4 [b3,g4]@2 f#4 b3 [d#4,f#4]@3 ~@4 d#5@2]/2", // E5 Em D#m
  F: "[b3,b4] [c#4,b4] [d#4,b4] [e4,b4] [f#4,b4] [g4,b4] [a4,b4]@2", G: "[e4,g4]@3 ~@5",
  H: "e3@3 e3 ~@2 e3 ~@2 e3@3 e3 ~@2 e3 ~@2 e3@3 e3 ~@2", I: "d3@3 d3 ~@2 d3 ~@2 d3@3 d3 ~@2 d3 ~@2 d3@3 d3 ~@2",
  J: "e3@3 e3 ~@2 [e3,b3]@3 [e3,b3]@3 e3 ~@2 e3 ~@2 [e3,f#3]@3 e3 ~@2", // E5 Esus2
  K: "e3@3 e3 ~@2 [e3,b3]@3 [e3,g3]@3 e3 ~@2 f#3@3 ~@6", L: "~@2 e4!2 ~ e4 e4@3 e4@3 e4 ~ e4!2 ~ e4 g4@3 e4@3",
  M: "~@2 e4!2 ~ e4 e4@3 e4 ~ e4!2 ~ e4 e4@3 b4@3 a4@3", N: "~@2 e4!2 ~ e4 e4@3 e4 ~ e4 ~@2 e4!2 ~ e4 g4@3 e4@3",
  O: "[e4,g4]@4 ~ [c4,g4] e4@3 g4@3 ~@3 f#4@3 [d4,e4]@3 d4@3", // Em C5 Dsus2
  P: "[b4,e5]@4 ~ [c4,g4] b4@3 [d5,f#5]@3 ~@3 a#4@3 a4@3 g4@3", Q: "[b4,e5]@2 [c4,e4] e4@2 d4 c4 e4",
  R: "[b4,d5]@3 e4@3 [d4,e4]@3 e4@6 f#4@3 d4@3 a4 ~ a4", S: "f#4 g4 [e4,f#4] g4 f#4@2 [e4,g4]@2",
  T: "b3 d4@2 [c#4,e4]@2 f#4@3", U: "[g4,c5]@3 e4@3 [c4,e4]@3 e4 ~ e4@4 d4@3 c4@3 d4@3",
  V: "[a4,d5]@3 a4 ~ a4 [d4,a4]@3 g4 ~ a4@3 g4 b4@3 d4@6", W: "[b4,e5]@2 e4 f#4@2 d4 e4@2",
  X: "[b4,e5]@3 b4 ~ b3 b4@3 [d#5,g5]@4 ~ b3 b4@3 [a4,d#5]@3 g4@3", // E5 D# Adim
  Y: "[a4,d5]@3 a4 ~ a4!2 ~ g4 a4 ~ g4 a4@3 a#4@3 b4@6", Z: "[a3,b3]@2 a4 [a3,b3] ~ a4 [g3,b3]!2",
  AA: "[a3,b3]@6 a4@3 [a3,b3]@3 ~@3 a4@3 ~@2 e4 ~@2 e4", AB: "[a3,b3]@6 a4@3 [a3,b3]@3 ~@3 [g4,b4]@3 ~@2 [f#4,a4]@4",
  AC: "[e4,g4]@6 a3@3 [g3,b3]@7 ~ g3 b3@3 a3@3", AD: "d4@3 d4@3 e4@3 [f#3,b3]@7 ~ f#3 b3@3 a3@3",
  AE: "d4@3 d4@3 e4@3 [e3,b3]@7 ~ e3 c4@3 b3@3", AF: "[e3,b3]@2 g4 a4 ~@2 d4@2",
  AG: "[e3,b3]@6 ~@6 d3@3 a4 ~ d3@3 a4 d3@3", AH: "~@3 e4 ~ e4 ~@2 e4!2 ~ e5 e4 ~ e5 e4 ~ e6 g4 ~ e6 e4 ~ e5",
  AI: "~@3 e4 ~ e4 ~@2 e4!2 ~ e5 e4 ~ e5 e4 ~ e6 b4 ~ e6 a4 ~ e5",
  AJ: "[a4,d5]@3 [d4,a4] ~ a4!2 ~ g4 a4 ~ g4 [d4,a4]@3 a#4@3 b4@6", AK: "[d5,f5]@2 c5 [c5,f5]@3 [b4,d5]!2",
  AL: "[c5,e5] [b4,d5]@2 [g4,b4]@2 [f4,a4]@3", AM: "[a4,c5]@3 [e4,c5]@2 [a4,d5]@2 d5",
  AN: "e5@3 c5@3 b4@3 [e4,c5]@6 a4@6 e5 ~ c5", AO: "[c5,e5]!2 [b4,d5]!2 [g4,b4] [f4,a4]@3",
  AP: "[a4,c5]@3 [e4,c5]@2 [e4,a4] ~@2", AQ: "e5@3 [e4,e5]@2 [e4,a4] ~@2", AR: "[e4,c5]@3 [a3,c4]@3 [a3,c4]@2",
  AS: "[a3,c4]@3 [a3,c4]@3 [a3,c4]@2", AT: "[f#4,c5]@3 [a3,c4]@3 [a3,c4]@2",
  AU: "~@2 d#4 d4 ~ d#4 a#3 ~ d#4@3 d#4 d4 ~ d#4 a#3 ~ d#4 ~@2 d#4 a#3 ~ d#4",
  AV: "~@2 d#4 d4 ~ d#4 c4 ~ d#4@3 d#4 d4 ~ d#4 c4 ~ d#4 ~@2 d#4 c4 ~ d#4",
  AW: "~@2 g4 f4 ~ g4 d4 ~ g4@3 g4 f4 ~ g4 d4 ~ g4 ~@2 d4 c4 ~ d4",
  AX: "~@2 g4 f4 ~ g4 d4 ~ g4@3 a#4 a4 ~ a#4 g4 ~ a#4 d4@6", AY: "d#3 f3 g3 [d#3,a3] a#3 c4 [d#3,d4] d#4",
  AZ: "f3 g3 a3 [f3,a#3] c4 d4 [f3,d#4] f4", BA: "d3 f#3 g3 [d3,a3] a#3 c4 [d3,d4] d#4",
  BB: "[a3,d#4]@6 a4 f#4 d4 ~ a3 f#3 ~@12", BC: "~@7 [d#3,g3]@3 [d#3,g3]!2 ~ [d#3,g3]@3 d#4@3 d#4!2 ~ d#4@2",
  BD: "~ d#5@6 [b4,e5]@6 [c4,e4]@3 e4@6 d4@2", BE: "~ c4@3 e4@3 [b4,d5]@3 e4@3 [d4,e4]@3 e4@6 f#4@2",
  BF: "~ d4@3 a4!2 ~ f#4@3 g4@3 [e4,f#4]@3 g4@3 f#4@5", // Esus2
  BG: "[~ [e4,g4]@6 b3@3 d4@6 [c#4,e4]@6 f#4@9 [g4,c5]@3 e4@3 [c4,e4]@3 e4 e4@4 ~ d4@2]/2", // Em C#m C5 C
  BH: "~ c4@3 d4@3 [a4,d5]@3 a4!2 ~ a4 g4 ~ a4 g4 ~ a4@3 a#4@2", BI: "~ b4@6 ~@6 [f#3,a3]@3 ~@6 [f#3,a3]@2",
  BJ: "~@7 [b3,d4]@6 d4@3 [b3,g4]@6 f#4@2", BK: "~ b3@3 [d4,f#4]@6 b3 d4 ~ b3@6 g5 f#5 ~ d5 b4",
  BL: "~ b3@6 [b3,e4]@6 d4@3 [b3,g4]@6 f#4@2", BM: "~ b3@3 [a4,d#5]@6 g4@3 [b3,f#4]@3 d#4@3 b4 f#4 ~ b4 f#5",
  BN: "~ b5@6 [b3,d4]@6 d4@3 [b3,g4]@6 f#4@2", BO: "~ b3@3 [d#4,f#4]@9 ~@11",
  BP: "~ d#5@6 [b3,b4]@3 [c#4,b4]@3 [d#4,b4]@3 [e4,b4]@3 [f#4,b4]@3 [g4,b4]@2", BQ: "~ [a4,b4]@6 [e4,g4]!17",
  BR: "[e4,g4]!24", BS: "[e4,g4] [e4,g4]@6 ~@17",
})).s("gm_marimba").gain(0.3)

// chords · marimba · soft notes
const marimba_soft = note(`<
  ~ A B C D A B E ~@8 F ~ G H I@2 G H J@2 ~@34 K@3 L M K N O ~@50 P Q R S P Q T U V W ~@2 X Y Z AA AB AC AD AE AF AG AH
  ~@15 AI ~@4
>`.pickRestart({
  A: "[g3,c4]@3 [g3,c4]@3 g3@2", B: "[a3,d4]@3 [a3,d4]@3 a3@2", C: "[b3,e4]@3 [b3,e4]@3 ~@2",
  D: "[e3,g3] e3!2 [e3,g3] e3!2 [e3,g3] e3", E: "[b3,e4]@3 ~@5", F: "~ d#5!2 ~", G: "~@3 b3@3 b3@2",
  H: "b3@3 b3@3 b3@2", I: "[b3@9 b3@9 b3@3 b3@6 c4@3 b3@3 c4@3 b3!12]/2",
  J: "[b3@9 b3@9 b3@3 e4@6 f#4@3 f#4@3 g4@3 f#4!12]/2", K: "~@3 e4@3 e4@2", L: "c3@2 g3 d3@2 a3 d4 a3",
  M: "[g3,b3]@3 e4@3 e4@2", N: "~@3 e4@2 g4@2 f#5", O: "~@3 e4@2 g4 f#4 d4", P: "e3 ~@2 e3 ~@2 e3 ~",
  Q: "f#3 ~@2 f#3 ~@2 f#3 ~", R: "g3@3 ~@6 g3@3 ~@6 g3@3 [g3,b3]!3", S: "[g3,b3]!21 d4@3",
  T: "[a3,b3]@3 ~@7 [a3,b3]@4 ~@7 [a3,b3]@3", U: "~@7 [g3,b3]!2 ~ [g3,b3]!3 ~ [g3,b3]!3 ~ [g3,b3]!4 ~ [g3,b3]",
  V: "[g3,b3]!2 ~ [g3,b3]!3 ~ [g3,b3]!3 ~ [g3,b3]!3 ~ [g3,b3]!4 ~ [g3,b3]!3 ~", W: "[g3,b3] ~@23",
  X: "~@9 [g4,b4]!2 ~ [g4,b4]!6 ~ [g4,b4]!5", Y: "[g4,b4] ~ [g4,b4]!6 ~ [g4,b4]!6 ~ [g4,b4]!6 ~ [a4,b4]",
  Z: "[a4,b4]!3 ~ [a4,b4]!6 ~ [a4,b4]!6 ~ [a4,b4]!6", // Asus2
  AA: "[a4,b4] ~ [a4,b4]!6 ~ [a4,b4]!3 [g4,b4] ~ [g4,b4]!6 ~ [g4,b4]!3", // Asus2 G
  AB: "[g4,b4]!3 ~ [g4,b4]!6 ~ [g4,b4]!6 ~ [g4,b4]!6", AC: "~ [g4,b4] [b3,d4]!3 ~ [b3,d4]!7 ~ [b3,d4]!6 ~ [b3,d4]!3",
  AD: "[b3,d4]!4 ~ [b3,d4] ~@10 [g3,e4]!6 ~ [g3,e4]", AE: "[g3,e4]!5 ~ [g3,e4]!6 ~ [g3,e4]!6 ~ [g3,e4]!4",
  AF: "[g3,e4]!2 ~ [g3,e4]!2 [g3,d#4]!2 ~ [g3,d#4]!6 ~ [g3,d#4]!6 ~ [g3,d#4]!2", AG: "f#3!3 ~ f#3!6 ~ f#3!6 ~ f#3 g3!5",
  AH: "~ g3!6 ~ g3!6 ~ g3!7 ~@2", AI: "~@13 d#5@6 d#5@5",
})).s("gm_marimba").gain(0.15)

// other · marimba
const marimba_2 = note(`<
  ~@7 A B C@2 D@2 C@2 E@2 F G ~@7 H I J@2 H I J K L@3 M L@3 N O P Q R O P Q S O P Q R O T U V U W X ~@7 Y Z AA AB Y Z AA
  AC AD@3 M AD@3 N O P Q R O P Q S O P Q R O AE AF AG AH AI AF AG AJ AK AL@2 AM AN AO AP AQ AR AS AT AU AV ~@23 AW AX AY
  AZ BA BB BC BD BE BF BG BH BI BF BG BJ BK BL BM BN
>`.pickRestart({
  A: "~@3 e3 ~@2 e3 ~@2 [e3,g3]@3 e3 ~@2 e3 ~@2 [d2,d3]@3 [d#2,d#3]@3", B: "[e2,e3]@6 ~@12 a#3 ~ a3 g3 ~ e3",
  C: "[[e2,e3]@3 e2 ~ e3 e2@3 g3@3 e2 ~ e3 e2@3 g3@3 [d2,d3]@6 d2 ~ d3 f#3@3 d2@3 d3 ~ d2 d3@3 f#3@3 d2@3]/2", // E D
  D: "[[c2,c3]@3 c3 ~ e3 c3@3 [e3,g3]@3 c3 ~ e3 c3@3 [e3,g3]@3 [b2,b3]@6 b2 ~ d#3 f#3@3 b2@3 b3 ~ f#3 d#3 ~ b2 b2@6]/2", // C Em B
  E: "[[c2,c3]@3 c3 ~ e3 c3@3 [e3,g3]@3 c3 ~ e3 c3@3 [e3,g3]@3 [b2,b3]@6 ~@15 [b2,a3]@3 b3@3]/2", F: "[b2,f#3]!24",
  G: "[e3,b3] ~@3", H: "[e2,b2]@3 [e2,b2]@3 [e2,b2]@2", I: "[d2,b2]@3 [d2,b2]@3 [d2,b2]@2",
  J: "[c2,g2]@3 [c2,g2]@3 [c2,g2]@2", K: "[c2,g2]@3 [c2,g2]@2 [d2,d3] a2 d2", L: "[e2,e3]!2 ~@6",
  M: "[c2,c3]@3 c3 ~ e3 c3@3 [d2,d3]@3 d3 ~ f#3 d3@3 [f#3,a3]@3 d3@3", // C D F#m
  N: "[c2,c3]@3 c3 ~ e3 c3@3 [d2,d3]@3 ~@2 d4 a3 ~ f#3 d3 ~ a2 d2@3", // C D
  O: "[c2,c3]@3 c3 ~ e3 g3@3 c3@3 e3 ~ c3 e3 ~ c3 g3@3 c3@3", // C
  P: "[d2,d3]@3 d3 ~ f#3 a3@3 d3@3 f#3 ~ d3 f#3 ~ d3 a3@3 d3@3", // D
  Q: "[e2,e3]@3 e3 ~ g3 b3@3 e3@3 g3 ~ e3 g3 ~ e3 b3@3 e3@3", // E
  R: "[a2,a3]@3 e3 ~ a2 a3@3 [b2,b3]@6 f#2 ~ b2 d#3 ~ b2 f#2@3", // A B
  S: "e3 ~ g3 e3 ~ g3 e3@3 [b2,b3]@3 b2 ~ f#3 b2@3 f#3 ~ b2 b2@3", // B
  T: "[d2,d3]!12 ~@6 [c4,c#4,d4,d#4,e4] [f3,f#3,g3,g#3,a3,a#3,b3] [g#2,a2,a#2,b2,c3,c#3,d3,d#3,e3] [f2,f#2,g2] ~@2, ~@7 e2", // D
  U: "[e2,e3]@3 e2 ~ b2@3 e2@3 e2 e3 ~ e2@3 e2 b2 ~ e3 e2 ~ e3", // E
  V: "[e2,e3]@3 e2 ~ b2@3 e2@3 e2 e3 ~ e2@3 e2 b2@3 e2@3", W: "[e2,e3]@3 e2 ~ b2@3 e2@3 e2 c2 ~ g2 c3@3 d2 ~ d3@3 e2",
  X: "e3 ~@3", Y: "[e2,e3]!11 [e2,e3]@4 e3@9", Z: "[d2,d3]!11 [d2,d3]@4 d3@9", AA: "[c2,c3]!11 [c2,c3]@4 c3@9",
  AB: "[c2,g2]@3 [d2,d3] a2 d3 f#3@2", AC: "[c2,g2]@9 c2@3 [d2,a2,d3]@4 ~ [d2,a2,d3]@4 [d2,a2,d3]@3",
  AD: "[e2,e3]!20 [e2,e3]@4", AE: "[d2,d3]@3 [f#3,a3] ~ d3 d3@3 [d2,d3]@3 [f#3,a3] ~ d3 d3@3 [d2,d3]@3 d3@3",
  AF: "[f2,f3] c3 f3 [g3,a3] f3 [c4,e4] a3 f3", AG: "[g2,g3] d3 g3 [a3,b3] g3 d4 b3 g3",
  AH: "[a2,a3] e3 a3 [b3,c4] a3 e4 c4 b3", AI: "[a2,a3] e3 a3 [b3,c4] a3 e4 c4 a3",
  AJ: "[a2,a3] e3 a3 [b3,c4] a3@2 c4 b3", AK: "[a2,a3] e3 a3 [b3,c4] a3@2 c4 a3", AL: "f3 f2!2 f3 f2!2 f3 f2",
  AM: "f#3 d2!2 f#3 d2!2 f#3 d2", AN: "f#3 d2!2 f#3 d2!2 f#3@2", AO: "d#2 a#2 [d#3,f3] d#2 a#2 [d#3,g3] d#2 a#2",
  AP: "f2 c3 [f3,g3] f2 c3 [f3,a3] f2 c3", AQ: "g2 d3 [g3,a#3] g2 d3 [f3,a3] g2 d3",
  AR: "g2 d3 [g3,a#3] g2 d3 [a3,c4] g2 d3", AS: "[d#2,a#2]!24", AT: "[f2,c3]!24", AU: "[d2,a2]!24",
  AV: "[d3,f#3]!12 ~@12", AW: "~@4 b2 f#3 ~ b3@6 b2@3 [f#3,b3]@6 b2@2",
  AX: "~ [f#3,b3]@6 [c2,c3]@3 c3 e3 ~ g3@3 c3@3 e3 c3 ~ e3 c3", // B5 C
  AY: "~ g3@3 c3@3 [d2,d3]@3 d3 f#3 ~ a3@3 d3@3 f#3 d3 ~ f#3 d3", // D
  AZ: "~ a3@3 d3@3 [e2,e3]@3 e3 g3 ~ b3@3 e3@3 g3 e3 ~ g3 e3", // E
  BA: "~ b3@3 e3@3 [a2,a3]@3 e3 a2 ~ a3@3 [b2,b3]@6 f#2 b2", // A B
  BB: "~ d#3 b2 ~ f#2@3 [c2,c3]@3 c3 e3 ~ g3@3 c3@3 e3 c3 ~ e3 c3", BC: "~ g3@3 c3@3 [d2,d3]!12 ~@5",
  BD: "~ [b3,c4,c#4,d4,d#4,e4] [d3,d#3,e3,f3,f#3,g3,g#3,a3,a#3] [f#2,g2,g#2,a2,a#2,b2,c3,c#3] e2@3 [d2,d3]@3 d2 d3 ~@4 d3 d2 ~ d2 d3 ~@3, ~@4 f2 ~@19", // D
  BE: "~ d3 d2 ~ d3@3 [e2,e3]@3 e2 e3 ~ e2@3 g3@3 e2 e3 ~ e2@2", BF: "~ g3@3 [d2,d3]@6 d2 d3 ~ f#3@3 d2@3 d3 d2 ~ d3@2",
  BG: "~ f#3@3 d2@3 [c2,c3]@3 c3 e3 ~ c3@3 [e3,g3]@3 c3 e3 ~ c3@2", // C Em
  BH: "~ [e3,g3]@3 [b2,b3]@6 b2 d#3 ~ f#3@3 b2@3 b3 f#3 ~ d#3 b2", // Em B
  BI: "~ b2@6 [e2,e3]@3 e2 e3 ~ e2@3 g3@3 e2 e3 ~ e2@2", BJ: "~ [e3,g3]@3 [b2,b3]@6 ~@14",
  BK: "~ [b2,a3]@3 b3@3 [b2,f#3]!17", BL: "[b2,f#3]!7 [e3,b3]@9 e2@8", BM: "~ e2!2 ~ e2!2 ~ e2!17", BN: "e2 e2@6 ~@17",
})).s("gm_marimba").gain(0.3)

// other · marimba · soft notes
const marimba_soft_2 = note(`<
  ~ A B C D A B E ~@8 F ~ G H I J K H I J ~@34 G L M N O P Q R ~@49 S T U V W T U X Y Z AA ~@2 AB AC AD AE AF AG AH AI
  AJ AK AL ~@15 AM ~@4
>`.pickRestart({
  A: "[c3,e3]@3 c3 ~@2 c3 ~@2 [c3,e3]@3 c3 ~@2 c3 ~@2 [c3,e3]@3 c3 ~@2", // C
  B: "[d3,f#3]@3 d3 ~@2 d3 ~@2 [d3,f#3]@3 d3 ~@2 d3 ~@2 [d3,f#3]@3 d3 ~@2", // D
  C: "[e3,g3]@3 e3 ~@2 e3 ~@2 [e3,g3]@3 e3 ~@2 e3 ~@2 [e3,g3]@3 e3 ~@2", D: "[e2,b2]!24", E: "[e3,g3] ~@7",
  F: "~ c#3 d#3 [b2,e3] f#3 g3 ~@2", G: "~@2 e3 g3@2 e3 g3@2", H: "[d3,f#3]@2 d3 f#3@2 d3 f#3@2",
  I: "[c3,e3]@2 c3 e3@2 c3 e3@2", J: "[c3,e3]@2 c3 [c3,e3]@2 c2 [d2,d3]@2", K: "[e2,e3]@2 e3 g3@2 e3 g3@2",
  L: "[d2,d3]@2 d3 f#3@2 d3 f#3@2", M: "[c2,c3]@2 c3 g3@2 c3 g3@2", N: "c2@2 g2 d2@2 a2 f#3@2",
  O: "[e2,e3]@2 e3 [g3,e4]@2 e3 [g3,e4]@2", P: "[d2,d3]@2 d3 [f#3,e4]@2 d3 [f#3,e4]@2",
  Q: "[c2,c3]@2 c3 [g3,e4]@2 c3 [g3,e4]@2", R: "[c2,c3]@2 c3 [g3,e4]@2 c3 [d2,d3]@2", S: "~ [d2,d3]",
  T: "[c2,g2]@3 c2 ~@2 c2 ~@2 [c2,g2]@3 c2 ~@2 c2 ~@2 [c2,g2]@3 c2 ~@2", // C5
  U: "[d2,a2]@3 d2 ~@2 d2 ~@2 [d2,a2]@3 d2 ~@2 d2 ~@2 [d2,a2]@3 d2 ~@2", // D5
  V: "[e2,b2]@3 e2 ~@2 e2 ~@2 [e2,b2]@3 e2 ~@2 e2 ~@2 [e2,b2]@3 e2 ~@2", // E5
  W: "[e2,b2]@3 e2@3 e2@3 [e2,b2]@3 e2@3 e2@3 [e2,b2]@3 e2 ~@2", // E5
  X: "[e2,b2]@3 e2@2 ~ e2@2 ~@2 [e2,b2]@3 e2@2 ~@2 e2@2 ~@2 [e2,b2]@3", Y: "~@2 e2@5 b2!2 ~ b2!3 ~ b2!3 ~ b2!4 ~ b2",
  Z: "b2!2 ~ b2!3 ~ b2!3 ~ b2!3 ~ b2!4 ~ b2!3 ~", AA: "b2 ~@23", AB: "~@9 [c4,e4]!2 ~ [c4,e4]!6 ~ [c4,e4]!5",
  AC: "[c4,e4] ~ [c4,e4]!6 ~ [c4,e4]!6 ~ [c4,e4]!6 ~ [d4,f#4]", AD: "[d4,f#4]!3 ~ [d4,f#4]!6 ~ [d4,f#4]!6 ~ [d4,f#4]!6",
  AE: "[d4,f#4] ~ [d4,f#4]!6 ~ [d4,f#4]!3 [e4,f#4] ~ [e4,f#4]!6 ~ [e4,f#4]!3", // D Esus2
  AF: "[e4,f#4]!3 ~ [e4,f#4]!6 ~ [e4,f#4]!6 ~ [e4,f#4]!6", // Esus2
  AG: "~ [e4,f#4] [e3,g3]!3 ~ [e3,g3]!7 ~ [e3,g3]!6 ~ [e3,g3]!3", AH: "[e3,g3]!4 ~ [e3,g3] ~@10 c3!6 ~ c3",
  AI: "c3!5 ~ c3!6 ~ c3!6 ~ c3!4", AJ: "c3!2 ~ c3!2 b2!2 ~ b2!6 ~ b2!6 ~ b2!2", AK: "b2!4 ~ b2!6 ~ b2!6 ~ [e2,b2]!5",
  AL: "~ [e2,b2]!6 ~ [e2,b2]!6 ~ [e2,b2]!7 ~@2", AM: "~@10 c#3@3 d#3@3 [b2,e3]@3 f#3@3 g3@2",
})).s("gm_marimba").gain(0.15)

stack(marimba, marimba_soft, marimba_2, marimba_soft_2)