Strudelify

Light of The Seven

Ramin Djawadi

KeyE♭ majorTempo110 bpm
0:00/0:00
// Light of The Seven — Ramin Djawadi
// 110 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 1 "Piano" named as a piano, played on piano (its string ensemble 1 patch is not one); ch 2 "Piano" named as a piano, played on piano (its pizzicato strings patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5880900; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 201 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/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 · pizzicato strings
const pizzicato_strings = note(`<
  ~@3 A@3 ~@2 B@2 C@8 D@8 E@5 F@5 G@6 H@5 I@8 ~@17 J@7 K L ~@32 M N O P Q M N O P Q ~@28 R S R T@2 U V W V X V W V U V W
  ~@34
>`.pickRestart({
  A: "[~@13 c4@61 ~@22, ~@13 c3@52 ~@31]/3", B: "[~@13 [c3,c4]@51]/2",
  C: "[~@13 c4@4 g4@4 eb5@4 g4@4 eb5@4 g4@4 c4@4 g4@4 d3@4 g4@4 b4@4 g4@4 b4@15 ~ bb3@4 f4@4 ab4@4 f4@4 ab4@4 f4@4 bb3@4 f4@4 c4@4 g4@4 c5@4 g4@4 c5@46 ~@2 c4@4 g4@4 eb5@4 g4@4 eb5@4 g4@4 c4@4 g4@4 f3@4 c4@4 ab4@4 c4@4 ab4@15 ~ eb3@4 c4@4 g4@4 c4@4 g4@3, ~@13 c3@30 ~@2 d2@30 ~@2 bb2@30 ~@2 c3@61 ~@3 c3@30 ~@2 f2@30 ~@2 eb2@19]/8",
  D: "[~ c4@4 eb3@4 c4@4 d3@4 b3@4 f4@4 b3@4 f4@46 ~@2 c4@4 g4@4 eb5@4 g4@4 eb5@4 g4@4 c4@4 g4@4 c4@4 g4@4 eb5@4 g4@4 eb5@15 ~ ab3@4 eb4@4 c5@4 eb4@4 g3@4 eb4@4 g4@4 eb4@4 f3@4 c4@4 ab4@4 c4@4 ab4@46 ~@2 c4@4 g4@4 eb5@4 g4@4 eb5@3, ~@13 d2@61 ~@3 c3@30 ~@2 c3@30 ~@2 ab2@15 ~ eb2@15 ~ f2@61 ~@3 c3@19]/8",
  E: "[~ g4@4 c4@4 g4@4 bb3@4 g4@4 eb5@4 g4@4 eb5@15 ~ g3@4 d4@4 bb4@4 d4@4 bb4@4 d4@4 g3@4 d4@4 ab3@4 eb4@4 c5@4 eb4@4 c5@46 ~@2 f3@4 c4@4 ab4@4 c4@4 ab4@3, ~@13 bb1@30 ~@2 g1@30 ~@2 ab1@61 ~@3 f1@19]/5",
  F: "[~ c4@4 f3@4 c4@4 eb3@4 bb3@4 g4@4 bb3@4 g4@15 ~ g3@4 d4@4 f4@4 d4@4 f4@15 ~ [c2,c4]@61 ~@22, ~@13 eb1@30 ~@2 g1@30 ~@85]/5", // C
  G: "[~@13 c4@4 g4@4 eb5@4 g4@4 eb5@4 g4@4 c4@4 g4@4 c4@4 g4@4 eb5@4 g4@4 eb5@4 ~@16 eb4@4 c5@4 eb4@4 g3@4 eb4@4 g4@4 eb4@4 c4@4 g4@4 eb5@4 g4@4 eb5@46 ~@21, ~@13 c3@30 ~@2 f2@30 ~@2 ab2@15 ~ eb2@15 ~ c3@15 ~@68, ~@65 g4@15 ~@112]/6",
  H: "[~@13 c4@4 g4@4 eb5@4 g4@4 eb5@4 g4@4 c4@4 g4@4 c4@4 g4@4 eb5@4 g4@4 eb5@4 ~@16 eb4@4 c5@4 eb4@4 g3@4 eb4@4 g4@4 eb4@4 f3@4 c4@4 ab4@4 c4@4 ab4@35, ~@13 c3@30 ~@2 d2@30 ~@2 ab2@15 ~ eb2@15 ~ f2@15 ~@36, ~@13 g4@3 ~@16]/5",
  I: "[~@13 c4@4 g4@4 eb5@4 g4@4 eb5@4 g4@4 c4@4 g4@4 bb3@4 g4@4 eb5@4 g4@4 eb5@15 ~ g3@4 d4@4 bb4@4 d4@4 bb4@4 d4@4 g3@4 d4@4 ab3@4 eb4@4 c5@4 eb4@4 c5@46 ~@2 f3@4 c4@4 ab4@4 c4@4 ab4@4 c4@4 f3@4 c4@4 eb3@4 bb3@4 g4@4 bb3@4 g4@15 ~@20, ~@13 c3@30 ~@2 bb1@30 ~@2 g1@30 ~@2 ab1@61 ~@3 f1@30 ~@2 eb1@30 ~@21]/8",
  J: "[~@13 c4@3 c5@4 eb6@22 ~ c4@4 c5@4 eb6@22 ~ f3@4 f4@3 ab5@22 ~ eb3@4 eb4@4 g5@7 ~ d3@3 d4@4 f5@7 ~ c4@4 c5@4 eb6@22 ~ c4@3 c5@4 eb6@22 ~ c4@4 c5@4 eb6@20]/7",
  K: "~@3 f3@4 f4@3 ab5@22", L: "~ c4@4 c5@4 eb6@22 ~", M: "c2@15 ~", N: "bb1@15 ~", O: "ab1@15 ~",
  P: "c2@15 ~ ab1@15 ~", Q: "g1@15 ~@17", R: "c4@15 ~ c4@15 ~", S: "c4 bb3 ab3 g3",
  T: "[~@32 c5@15 ~ c5@15 ~, c4@61 ~@3]/2", U: "c5 bb4 ab4 g4", V: "c5@15 ~ c5@15 ~", W: "c5@15 ~", X: "c5 b4 a4 g4",
})).s("gm_pizzicato_strings").gain(0.3)

// other · piano
const piano = note("<~@36 A@5 ~ B@5 A@5 C@4 D@4 ~ E@4 ~ F@5 ~@42 G H G I@2 G J G I@2 ~@78>".pickRestart({
  A: "[~@13 c6@11 ~@5 c6@11 ~@5 c6@5 ~@3 bb5@5 ~@3 ab5@5 ~@3 g5@5 ~@3 c6@11 ~@5 c6@11 ~@5 c6@43 ~@8]/5",
  B: "[~@13 c6@11 ~@5 c6@11 ~@5 c6@5 ~@3 b5@5 ~@3 a5@5 ~@3 g5@5 ~@3 c6@11 ~@5 c6@11 ~@5 c6@43 ~@8]/5",
  C: "[~@13 c6@11 ~@5 c6@11 ~@5 c6@5 ~@3 b5@5 ~@3 a5@5 ~@3 g5@36 ~@23]/4",
  D: "[~@13 [c6,eb6]@30 ~@2 [ab5,c6]@30 ~@2 [c6,eb6]@30 ~@21]/4", // Cm Ab Cm
  E: "[~@13 [c6,eb6]@30 ~@2 [f5,ab5]@30 ~@2 [c6,eb6]@30 ~@21]/4", // Cm Fm Cm
  F: "[~@13 [c6,eb6]@30 ~@2 [ab5,b5]@30 ~@2 [f5,ab5]@30 ~@2 [c5,g5]@30 ~@21]/5", G: "c6@21 ~@11",
  H: "c6@5 ~@3 bb5@5 ~@3 ab5@5 ~@3 g5@5 ~@3", I: "[c6@43 ~@21]/2", J: "c6@5 ~@3 b5@5 ~@3 a5@5 ~@3 g5@5 ~@3",
})).s("gm_piano").gain(0.4)

// other · tremolo strings · "Violoncello"
const tremolo_strings = note("<~@83 A B C D@2 E@2 F@2 G@2 H I@2 ~@6 J K J K J K J K J K ~@88>".pickRestart({
  A: "~@14 c3 eb3", B: "~ g3@2 ab3@3 g3@3 eb3@2 c3@3 eb3@2 g3@3 ab3@2 g3@3 eb3@2 c3@3 eb3@3",
  C: "g3@2 ab3@3 g3@2 eb3@3 c3@2 bb2@3 c3@2 ab2@3 c3@2 g2@3 c3@3 eb3@2 g3@2",
  D: "[~ ab3@2 g3@3 eb3@2 c3@3 eb3@2 g3@3 ab3@3 g3@2 eb3@3 c3@2 eb3@3 g3@2 ab3@3 g3@2 eb3@3 c3@3 bb2@2 c3@3 ab2@2 c3@3 g2@2 c3@3 eb3@2 g3@3 ab3@2]/2",
  E: "[g3@3 eb3@3 c3@2 eb3@3 g3@2 ab3@3 g3@2 eb3@3 c3@2 eb3@3 g3@3 ab3@2 g3@3 eb3@2 c3@3 bb2@2 c3@3 ab2@2 c3@3 g2@2 c3@3 eb3@3 g3@2 ab3@3 g3@2]/2",
  F: "[eb3@3 c3@2 eb3@3 g3@2 ab3@3 g3@3 eb3@2 c3@3 eb3@2 g3@3 ab3@2 g3@3 eb3@2 c3@3 bb2@2 c3@3 ab2@3 c3@2 g2@3 f3@2 ab3@3 c4@2 d4@3 c4@2 ab3@3]/2",
  G: "[f3@3 ab3@2 c4@3 d4@2 c4@3 ab3@2 f3@3 ab3@2 c4@3 d4@3 c4@2 ab3@3 f3@2 eb3@3 f3@2 d3@3 f3@2 c3@3 f3@2 ab3@3 c4@3 d4@2 c4@3 ab3@2 f3@3]/2",
  H: "ab3@2 c4@3 d4@2 c4@3 ab3@3 f3@2 ab3@3 c4@2 d4@3 c4@2 ab3@3 f3@2 eb3@2", I: "[~ f3@2 d3@3 f3@3 c3@2 c3@31 ~@22]/2",
  J: "c3@3 eb3@2 g3@3 ab3@3 g3@2 eb3@3 c3@3 eb3@2 g3@3 ab3@3 g3@2 eb3@3",
  K: "c3@3 eb3@2 g3@3 ab3@3 g3@2 eb3@3 c3@3 bb2@2 c3@3 ab2@3 c3@2 g2@3",
})).s("gm_tremolo_strings").gain(0.4)

// other · tremolo strings · "Violoncello" · soft notes
const tremolo_strings_soft = note(`<
  ~@15 A@4 ~ B@5 C@5 D@5 ~@7 E@5 ~@2 F@3 ~@71 G@2 H I J@2 K L J@2 G J@2 M J@2 ~@4 J@2 H I J@2 H I J@2 H I J@2 H I@2 J@2
  H I J@3 ~ G@2 H I G@2 H I G@2 H I G@2 H I G@2 H I G@2 H I N O P N O P N@3
>`.pickRestart({
  A: "[~@13 c3@16 c3@16 c3@8 bb2@8 ab2@8 g2@8 c3@16 c3@16 ~@19]/4",
  B: "[~@13 c3@16 c3@16 c3@8 b2@8 a2@8 g2@8 c3@16 c3@16 c3@32 ~@19]/5", C: "[~@13 c3@32 bb2@32 bb2@32 ab2@32 ~@19]/5",
  D: "[~@13 c3@16 c3@16 c3@8 bb2@8 ab2@8 g2@8 g2@16 g2@16 c2@32 ~@19]/5",
  E: "[~@13 c3@32 d3@32 c3@16 bb2@16 c3@32 ~@19]/5", F: "[~@13 d4@32 eb4@32 ~@19]/3", G: "c3", H: "f3", I: "eb3 d3",
  J: "g3", K: "eb3 c3", L: "d3", M: "ab2",
  N: "c3 ~@2 bb2 ~ c3 ~@2 ab2 ~@2 c3 ~ g2 ~@2 c3 ~@2 bb2 ~ c3 ~@2 ab2 ~@2 c3 ~ g2 ~@2",
  O: "c3 ~@2 bb2 ~ c3 ~@2 ab2 ~@2 c3 ~ g2 ~@2 d3 ~@2 c3 ~ d3 ~@2 bb2 ~@2 d3 ~ g2 ~@2",
  P: "eb3 ~@2 d3 ~ eb3 ~@2 c3 ~@2 eb3 ~ ab2 ~@2 f3 ~@2 eb3 ~ f3 ~@2 d3 ~@2 f3 ~ bb2 ~@2",
})).s("gm_tremolo_strings").gain(0.2)

// other · cello · "Violoncello"
const cello = note(`<
  ~@15 A@5 B@5 C@5 D@5 ~ E@5 ~ F@5 G@5 H@4 ~@27 I@7 J K L@4 ~ M@5 N O@10 ~@10 P@2 Q R O@2 S T O@4 P U O@3 V O V O V O V
  O V O V O V O V O V O V O@2 V O V@4 ~ P@2 Q R W X W X P@2 Q R W X W X P@2 Q R W X W X Y Z AA Y Z AA Y@3
>`.pickRestart({
  A: "[~@13 c4@16 c4@16 c4@8 bb3@8 ab3@8 g3@8 c3@16 c3@16 d3@48 ~@3]/5",
  B: "[~@13 c4@16 c4@16 c4@8 b3@8 a3@8 g3@8 c4@16 c4@16 c4@48 ~@3]/5", C: "[~@13 bb3@32 c4@32 d4@32 eb4@48 ~@3]/5",
  D: "[~@13 c4@16 c4@16 c4@8 bb3@8 ab3@8 g3@8 g3@16 g3@16 c3@32 ~@19]/5", E: "[~@13 c3@32 d3@32 c3@32 c3@32 ~@19]/5",
  F: "[~@13 c3@32 d3@32 c3@16 bb2@16 c3@32 ~@19]/5", G: "[~@13 g3@32 d4@32 d4@32 c4@32 ~@19]/5",
  H: "[~@13 c4@32 g3@64 ~@19]/4",
  I: "[~@28 c3@15 c3@15 c3@15 ~ c3@7 bb2@8 c3@15 c3@15 ~ c3@15 c3@8 bb2@7 c3@15 ~ c3@15 c3@8 bb2@7 ab2@8 g2@7 c3@13]/7",
  J: "~@3 c3@15 c3@14", K: "~ c3@15 ~ c3@15", L: "[c3@15 c3@15 ~ c3@15 c3@15 c3@15 ~ c3@7 bb2@8 ab2@7 g2@8 ~@21]/4",
  M: "[~@8 c3@31 c3@31 c3@30 c3@31 c3@29]/5", N: "~ c3@31", O: "c3", P: "g3", Q: "f3", R: "eb3 d3", S: "eb3 c3",
  T: "d3", U: "ab2", V: "bb2 ab2 g2 f2", W: "c3@3 eb3@2 g3@3 ab3@3 g3@2 eb3@3 c3@3 eb3@2 g3@3 ab3@3 g3@2 eb3@3",
  X: "c3@3 eb3@2 g3@3 ab3@3 g3@2 eb3@3 c3@3 bb2@2 c3@3 ab2@3 c3@2 g2@3",
  Y: "c3 ~@2 bb2 ~ c3 ~@2 ab2 ~@2 c3 ~ g2 ~@2 c3 ~@2 bb2 ~ c3 ~@2 ab2 ~@2 c3 ~ g2 ~@2",
  Z: "c3 ~@2 bb2 ~ c3 ~@2 ab2 ~@2 c3 ~ g2 ~@2 d3 ~@2 c3 ~ d3 ~@2 bb2 ~@2 d3 ~ g2 ~@2",
  AA: "eb3 ~@2 d3 ~ eb3 ~@2 c3 ~@2 eb3 ~ ab2 ~@2 f3 ~@2 eb3 ~ f3 ~@2 d3 ~@2 f3 ~ bb2 ~@2",
})).s("gm_cello").gain(0.2)

// other · tuba
const tuba = note(`<
  ~@72 A B@2 C@3 D@3 ~@2 E F@2 G@3 H@4 I A J ~ K@2 L M@3 N@10 ~@26 O P O P O P O P O P O P ~@47 Q@2 ~
>`.pickRestart({
  A: "~@13 c2@3 c3@4 eb3@4 c3@8",
  B: "[c3@3 eb3@4 c3@4 c2@4 c3@4 eb3@4 c3@7 c3@4 eb3@4 c3@4 f1@4 f2@3 bb2@4 f2@8 f1@3]/2",
  C: "[~ ab2@4 eb2@3 f1@4 f2@4 bb2@4 f2@7 f1@4 ab2@4 eb2@4 c2@4 c3@4 eb3@3 c3@8 c3@4 eb3@4 c3@4 c2@3 c3@4 eb3@4 c3@8 c3@4 eb3@3]/3",
  D: "[c3@4 c2@4 c3@4 eb3@4 c3@7 c3@4 eb3@4 c3@4 c2@4 c3@3 eb3@4 c3@8 c3@4 eb3@4 c3@4 ~@30]/3", E: "~@7 c2",
  F: "[c3@3 eb3@4 c3@8 c3@4 eb3@4 c3@3 c2@4 c3@4 eb3@4 c3@8 c3@3 eb3@4 c3@4 f1@4 g2@3]/2",
  G: "[~ bb2@4 g2@7 eb2@4 f2@4 d2@4 g1@3 g2@4 bb2@4 g2@8 g2@4 bb2@3 g2@4 c2@4 c3@4 eb3@4 c3@7 c3@4 eb3@4 c3@4 c2@4 c3@4 eb3@3]/3",
  H: "[c3@8 c3@4 eb3@4 c3@3 c2@4 c3@4 eb3@4 c3@8 c3@3 eb3@4 c3@4 c2@4 c3@4 eb3@4 c3@7 c3@4 eb3@4 c3@4 c2@4 c3@3 eb3@4 c3@8 c3@4 eb3@3 c3@4 c2@4 c3@4 eb3@4 c3@5]/4",
  I: "~ c3@2 eb3@2 c3@2 ~@9", J: "c3@3 eb3@4 c3@4 ~@21",
  K: "[~@8 eb4@6 d4@2 bb3@2 ab3@2 g3@2 bb3@2 eb4@5 d4@2 bb3@2 ab3@2 g3@2 bb3@2 eb4@6 d4@2 bb3@2 ~ g3@2 bb3@2 eb4@6 d4@2 bb3@2, ~@49 ab3@2 ~@13]/2",
  L: "ab3@2 g3@2 bb3@2 eb4@5 d4@2 bb3@2 ab3@2 g3@2 bb3@2 eb4@6 d4@2 ~ ab3@2, ~@29 bb3@2 ~",
  M: "[g3@2 bb3@2 eb4@6 d4@2 bb3@2 ab3@2 g3@2 ~ eb4@6 d4@2 bb3@2 ab3@2 g3@2 bb3@2 eb4@6 ~ bb3@2 ab3@2 g3@2 bb3@2 eb4@6 d4@2 bb3@2 ab3@2 ~ bb3@2 eb4@6 d4@2 bb3@2 ab3@2 g3@2 bb3@2 eb4@5 d4@2 bb3@2 ab3@2 g3@2 bb3@2, ~@18 bb3@2 ~@21 d4@2 ~@19 g3@2 ~@32]/3",
  N: "eb4@3 d4 bb3 ab3 g3 bb3 eb4@3 d4 bb3 ab3 g3 bb3", O: "g3@3 g3 g3@3 g3 g3@3 g3 g3@3 g3",
  P: "bb3@3 g3 ab3@3 f3 g3@3 eb3 f3@3 d3", Q: "c3",
})).s("gm_tuba").gain(0.15)

// bass · contrabass
const bass = note(`<
  ~@83 A B C D@2 ~@9 E@5 F G H@2 G I J I J I J G K L M@2 G K L M@4 N O M@2 P Q M@2 R G M L M@2 G S G S G S G S G S G S G
  S G S G S G S G S G S ~ G@3 T M@2 N O M@2 N O M@2 N O M@2 N O M@2 N O M@2 N O G U V G U V G@3
>`.pickRestart({
  A: "~@14 c2 eb2", B: "~ g2@2 ab2@3 g2@3 eb2@2 c2@3 eb2@2 g2@3 ab2@2 g2@3 eb2@2 c2@3 eb2@3",
  C: "g2@2 ab2@3 g2@2 eb2@3 c2@2 bb1@3 c2@2 ab1@3 c2@2 g1@3 c2@3 eb2@2 g2@2",
  D: "[~ ab2@2 g2@3 eb2@2 c2@3 eb2@2 g2@3 ab2@3 g2@2 eb2@3 c2@2 eb2@3 g2@2 ab2@3 g2@2 eb2@3 c2@3 bb1@2 c2@3 ab1@2 c2@3 g1@3 ~@9]/2",
  E: "[~@8 c2@31 c2@31 c2@30 c2@31 c2@29]/5", F: "~ c2@31", G: "c2", H: "c2/2",
  I: "c2@3 eb2@2 g2@3 ab2@3 g2@2 eb2@3 c2@3 eb2@2 g2@3 ab2@3 g2@2 eb2@3",
  J: "c2@3 eb2@2 g2@3 ab2@3 g2@2 eb2@3 c2@3 bb1@2 c2@3 ab1@3 c2@2 g1@3", K: "bb1", L: "ab1", M: "g1", N: "f1",
  O: "eb2 d2", P: "eb2 c2", Q: "d2", R: "eb2", S: "bb1 ab1 g1 f1", T: "g2", U: "c2 d2", V: "eb2 f2",
})).s("gm_contrabass").gain(0.2)

// other · church organ · "Organ"
const church_organ = note(`<
  ~@83 A@8 B C@4 ~@4 D E@2 F G F G H I J K L M ~@50 N O P Q R S T S U S T S U V W V U S T S U S T S U S T S U X Y Z X Y
  AA AB AC@2
>`.pickRestart({
  A: "[~@28 c4@61 d4@61 eb4@61 d4@45]/8", B: "~@17 c5@8 ~@7",
  C: "[c5@8 ~@7 c5@8 ~@8 c5@8 ~@3 d5@4 c5@8 ~@7 c5@8 ~@8 c5@7 bb4@8 ab4@7 g4@8 c5@8 ~@13]/4",
  D: "~@4 c5@3 ~@2 c5@3 ~@2 c5@3 ~@2 c5@6 ab4@3 bb4@2 c5@2",
  E: "[~ g4@2 c5@3 ~@2 c5@3 ~@2 c5@3 ~@2 c5@6 ab4@2 bb4@3 c5@2 g4@2 c5@3 ~@2 c5@3 ~@3 c5@3 ~@2 c5@5 ab4@3 bb4@3 c5@2 g4@2]/2",
  F: "c5 g4", G: "ab4 bb4 c5@2 g4@4", H: "c4 g3", I: "ab3 bb3 c4@2 d4@4", J: "eb4 g3", K: "c4 d4 eb4@2 g3@4",
  L: "f4 ab3", M: "d4 eb4 f4@2 ab3@4", N: "g3@3 g3 ab3@3 ab3 g3@3 g3 ab3@3 ab3",
  O: "g3@3 g3 ab3@3 ab3 bb3@3 bb3 c4@3 c4", P: "c4@3 c4 d4@3 d4 c4@3 c4 d4@3 d4",
  Q: "eb4@3 eb4 f4@3 f4 g4@3 g4 f4@3 f4", R: "g4@3 g4 f4@3 f4 g4@3 g4 f4@3 f4", S: "c4", T: "g3", U: "eb4 d4",
  V: "c5!2", W: "c5 bb4 ab4 g4", X: "c4 ~@2 bb3 ~ c4 ~@2 ab3 ~@2 c4 ~ g3 ~@2 c4 ~@2 bb3 ~ c4 ~@2 ab3 ~@2 c4 ~ g3 ~@2",
  Y: "c4 ~@2 bb3 ~ c4 ~@2 ab3 ~@2 c4 ~ g3 ~@2 d4 ~@2 c4 ~ d4 ~@2 bb3 ~@2 d4 ~ g3 ~@2",
  Z: "eb4 ~@2 d4 ~ eb4 ~@2 c4 ~@2 eb4 ~ ab3 ~@2 f3 ~@2 eb3 ~ f3 ~@2 d3 ~@2 f3 ~ bb2 ~@2",
  AA: "eb4 ~@2 d4 ~ eb4 ~@2 c4 ~@2 eb4 ~ ab3 ~@2 eb4 ~@2 d4 ~ eb4 ~@2 f4 ~@2 eb4 ~ f4 ~@2",
  AB: "g4 ~@2 f4 ~ g4 ~@2 ab4 ~@2 g4 ~ ab4 ~@2 bb4 ~@2 ab4 ~ bb4 ~@2 c5 ~@2 bb4 ~ c5 ~@2",
  AC: "c5@6 ab4@2 bb4 ~@2 c5 ~ g4 ~@2 c5@6 ab4@2 bb4 ~@2 c5 ~ g4 ~@2",
})).s("gm_church_organ").gain(0.25)

// other · xylophone
const xylophone = note("<~@139 [c6!2]!12 ~@50>").s("gm_xylophone").gain(0.25)

stack(pizzicato_strings, piano, tremolo_strings, tremolo_strings_soft, cello, tuba, bass, church_organ, xylophone)

More by Ramin Djawadi