Strudelify
Only Time Will Tell cover art

1999 · Asia

Only Time Will Tell

Asia

KeyC majorTempo121 bpm
0:00/0:00
// Only Time Will Tell — Asia
// 121 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 156 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(121/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 · overdriven guitar · "Howe1"
const overdriven_guitar = note(`<
  ~@8 A@2 B@2 C@3 ~@12 D E D F D E D F ~@6 G@3 ~ H@5 I@2 J K@3 L@2 M@2 L@2 N@3 ~@5 O P Q R ~@3 S T ~@2 U@2 V@2 W@3 X@7
  ~@2 Y@3 ~@3 Z@7 AA@5 AB AC@2 ~ AD@3 ~ AE@5 ~ AF@2 AG AH@2 AI@2 AH@2 AJ@2 AK@3 AL AH@2 AI@2 AH@2 AJ@2 AK@3 ~
>`.pickRestart({
  A: "[~@5 e5@5 d5 e5 f5 f5@2 e5]/2", B: "[d5@9 a5@6 g5@23 ~ d6@8 ~]/2", C: "[c6 ~ d6 c6@65 ~@4]/3",
  D: "~@2 g4 g5@2 d5 d5@2", E: "e5@5 ~", F: "e5 d5 e5@5 ~", G: "[~@21 f3@9 f3!2 ~ f3@6 g3@6 a3@24 ~@3]/3",
  H: "[~@21 f3@48 g3@39 ~@10 a5@2, ~@117 b5@2 ~]/5",
  I: "[~ g5@2 g5@2 e5@3 d5 d5@2 c5@3 a4@2 a4@6 e4@5 g4 ~ a4 a4@3 ~ e4@4 d4@3 ~ a3@4 ~@2]/2",
  J: "~ d4 ~@7 c4@3 ~ g4 ~@7 g4@3, g4@2 ~ c4@2 ~@10 d4@2 ~@7, ~@4 g4@7 ~ b4@2 ~@2 b4@7 ~",
  K: "[d5 c5@2 ~@6 b4@3 g5 d5@2 ~ g5@19 ~ g5@6 d5@3 d5@6 e5@20 ~, ~@3 g4@2 ~@67, ~@4 d5@7 ~@4 c5@2 ~@55]/3",
  L: "[~@3 g4 g5@2 d5 d5@2 e5 d5 e5@5]/2", M: "[~@9 g4@3 g5@6 d5@3 d5@6 e5@20 ~]/2", N: "[~@4 e5@2 d5 d5@2 e5 c5@14]/3",
  O: "e5@5 d5 e5 f5", P: "f5@2 e5 d5@3 a5@2", Q: "g5", R: "d6@8 ~ c6 d6 ~ c6@12", S: "f3@9 f3!2 ~ f3@6 g3@6", T: "a3",
  U: "f3/2", V: "[e5@9 f5@3 d5@9 ~ e5@9 g4@6 g5@6 d5@5]/2",
  W: "[~@2 f5@9 g5@3 e5@9 f5@9 ~ f4@6 f5@6 c5@6 d#5@9 ~ f5@3 d5@8]/3",
  X: "[~ d#5@9 g#4@6 ~ d#5@6 c5@6 g4 d4@2 ~@6 c4@3 b4 g4@2 ~@6 g4@3 d5 c5@2 g4 ~@5 b4@3 ~ d5@2 c5 g5@82 ~@17, ~@16 c4 ~@5 d4 ~@61, ~@33 g4@7 ~@5 b4@7 ~@5 d5@7 ~ g5@2 ~@101]/7",
  Y: "[~@10 e5@9 d5@2 ~ b4@9 ~@2 d5@2 a4@24 ~@13, ~@21 c5@2 ~@9 c5@2 ~@38]/3",
  Z: "[~@20 g4@3 g5@6 d5@3 d5@6 e5@20 ~@10 g4@3 g5@6 d5@3 d5@6 e5@3 d5@3 e5@15 ~@9 g4@3 g5@6 d5@3 d5@6 e5@20 ~@10 g4@3 g5]/7",
  AA: "[~@5 d5@3 d5@6 e5@3 d5@3 e5@15 ~@12 e5@6 d5@3 d5@6 e5@3 c5@42 [g#3,b3]@3 [e3,a3]@3 ~@3 [g#3,b3]@3 ~]/5", // G#m A5 G#m
  AB: "~@2 [g#3,c4]@3 ~@3 [b3,d4]@3 e5@3 d5@6 b4@3 ~", AC: "[~@2 a4@3 ~@3 e4@3 a3@24 ~@13]/2",
  AD: "[~@11 f3@9 f3 ~ f3 f3@6 g3@6 a3@24 ~@13]/3", AE: "[~@11 f3@48 g3@48 ~@13]/5",
  AF: "[~@13 g4 d4@2 ~ g4 ~@2 c4 ~@2 c4@2 b4 g4@2 d4 ~@5 g4@3 d5 c5@2 g4 d5@2 ~ g4 ~@2 b4, ~@16 c4@2 ~ d4@2 ~ g4@2 ~@5 b4@7 ~@7 c5@2 ~ d5@2]/2",
  AG: "~@2 d5@2 c5 g5@19, ~ g5@2 ~@21", AH: "[~ g5@6 d5@3 d5@6 e5@20 ~@10 g4@2]/2",
  AI: "[~ g5@6 d5@3 d5@6 e5@3 d5@3 e5@15 ~@9 g4@2]/2", AJ: "[~ g5@6 d5@3 d5@6 e5@3 d5@3 e5@15 ~@11]/2",
  AK: "[~ e5@6 d5@3 d5@6 e5@3 c5@42 ~@11]/3", AL: "~@11 g4",
})).s("gm_overdriven_guitar").gain(0.35)

// chords · distortion guitar · "Howe2"
const distortion_guitar = note(`<
  ~@4 A B C D E B C D F@3 ~@11 G ~@11 H I J K L I J K M N O P@2 Q R@2 ~@11 S T U V W T U V X Y Z AA AB Y Z AA AC@2 ~@33
  AD@7 AE@5 AF AG@3 ~@10 AH AI ~@12
>`.pickRestart({
  A: "~@15 [a2,e3,a3,c4]@2 ~@4 [a2,e3,a3,c4]@2 ~", // Am
  B: "~@3 [a2,e3,a3,c4]@2 ~@4 [a2,e3,a3,c4]@2 ~@4 [a2,e3,a3,c4]@2 ~@4 [a2,e3,a3,c4]@2 ~", // Am
  C: "~@3 [g2,d3,g3,b3]@2 ~@4 [g2,d3,g3,b3]@2 ~@4 [e2,b2,g3,b3]@2 ~@4 [e2,b2,g3,b3]@2 ~", // G Em
  D: "~@3 [e2,b2,g3,b3]@2 ~@4 [e2,b2,g3,b3]@2 ~@4 [f2,c3,a3,c4]@2 ~@4 [f2,c3,a3,c4]@2 ~", // Em F
  E: "~@3 [g2,d3,g3,b3]@2 ~@4 [g2,d3,g3,b3]@2 ~@4 [a2,e3,a3,c4]@2 ~@4 [a2,e3,a3,c4]@2 ~", // G Am
  F: "[~@3 [f2,c3,a3,c4]@2 ~@4 [f2,c3,a3,c4] ~@2 [f2,c3,a3,c4] ~ [f2,c3,a3,c4] [f2,c3,a3,c4]@53 ~@4]/3", // F
  G: "a2 ~@5 b2@2 ~@4 c3 ~@5 d3@2 ~@4", H: "~@21 [a3,c4,e4]@2 ~",
  I: "~@3 [a3,c4,e4]@2 ~@4 [a3,c4,e4]@2 ~@4 [a3,c4,e4]@2 ~@4 [a3,d4,f4]@2 ~", // Am Dm
  J: "~@3 [a3,d4,f4]@2 ~@4 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@2 ~@4 [e3,g3,b3]@2 ~", // Dm G Em
  K: "~@3 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@2 ~@4 [e3,f3,a3,c4]@2 ~", // Em Fmaj7
  L: "~@3 [e3,f3,a3,c4]@2 ~@4 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@2 ~@4 [a3,c4,e4]@2 ~", // Fmaj7 G Am
  M: "~@3 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~", // Fmaj7
  N: "~@3 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [g2,g3,b3,d4]@2 ~", // Fmaj7 G
  O: "~@3 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~", // G
  P: "[~@3 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g3,b3,d4] [a3,c4,e4]@5 [a3,c4,e4]@6 [g3,b3,d4] ~ [a3,c4,e4]@5 [a3,c4,e4]@6 [g3,b3,d4] ~]/2", // G Am G Am G
  Q: "[a3,c4,e4]@5 [a3,c4,e4]@6 [g3,b3,d4] ~ [a3,c4,e4]@5 [a3,c4,e4]@6", R: "[g3,b3,d4]/2",
  S: "b2@2 ~ a2 ~@5 b2@2 ~@4 c3 ~@5 d3@2 ~",
  T: "[a2,e3,a3,c4] ~@2 [a2,e3,a3,c4] ~@2 [a2,e3,a3,c4] ~@2 [a2,e3,a3,c4] ~@2", // Am
  U: "[a2,e3,a3,c4] ~@2 [a2,e3,a3,c4] ~@2 [g2,d3,g3,b3] ~@2 [g2,d3,g3,b3] ~@2", // Am G
  V: "[e2,b2,g3,b3] ~@2 [e2,b2,g3,b3] ~@2 [e2,b2,g3,b3] ~@2 [e2,b2,g3,b3] ~@2", // Em
  W: "[f2,c3,a3,c4] ~@2 [f2,c3,a3,c4] ~@2 [g2,d3,g3,b3] ~@2 [g2,d3,g3,b3] ~@2", // F G
  X: "[f2,c3,a3,c4] ~@2 [f2,c3,a3,c4] ~@2 [f2,c3,a3,c4] ~@2 [f2,c3,a3,c4] ~@2", // F
  Y: "[a3,c4,e4] ~@2 [a3,c4,e4] ~@2 [a3,c4,e4] ~@2 [a3,c4,e4] ~@2", // Am
  Z: "[a3,d4,f4] ~@2 [a3,d4,f4] ~@2 [g3,b3,d4] ~@2 [g3,b3,d4] ~@2", // Dm G
  AA: "[e3,g3,b3] ~@2 [e3,g3,b3] ~@2 [e3,g3,b3] ~@2 [e3,g3,b3] ~@2", // Em
  AB: "[e3,f3,a3,c4] ~@2 [e3,f3,a3,c4] ~@2 [g3,b3,d4] ~@2 [g3,b3,d4] ~@2", // Fmaj7 G
  AC: "[e3,f3,a3,c4] ~@2 [e3,f3,a3,c4] ~@2 [e3,f3,a3,c4] ~@2 [e3,f3,a3,c4] ~@2", // Fmaj7
  AD: "[~@11 [a3,c4,e4]@2 ~@4 [a3,c4,e4]@2 ~@4 [a3,c4,e4]@2 ~@4 [a3,c4,e4]@2 ~@4 [a3,d4,f4]@2 ~@4 [a3,d4,f4]@2 ~@4 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@2 ~@4 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@2 ~@4 [a3,c4,e4]@2 ~@4 [a3,c4,e4]@2 ~@4 [a3,c4,e4]@2 ~@4 [a3,c4,e4]@2 ~@4 [a3,d4,f4]@2 ~@4 [a3,d4,f4]@2 ~@4 [g3,b3,d4]@2 ~@4 [g3,b3,d4]@2 ~@4 [e3,g3,b3]@2 ~@4 [e3,g3,b3]@2 ~@4 [e3,g3,b3]]/7", // Am Dm G Em Fmaj7 G Am Dm …
  AE: "[~@5 [e3,g3,b3]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [e3,f3,a3,c4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g2,g3,b3,d4]@2 ~@4 [g3,b3,d4] ~ [a3,c4,e4]@4 [a3,c4,e4]@6 [g3,b3,d4]]/5", // Em Fmaj7 G Am G
  AF: "~ [a3,c4,e4]@4 ~ [a3,c4,e4]@6 [g3,b3,d4] [a3,c4,e4]@4 ~ [a3,c4,e4]@6", // Am G Am
  AG: "[[g3,b3,d4] ~ [a3,c4,e4]@4 ~ [a3,c4,e4]@6 [g3,b3,d4]@48 ~@11]/3", AH: "~@13 d3@2 ~ c3@2 ~@4 d3 ~",
  AI: "~@4 e3@2 ~@4 e3 ~@13",
})).s("gm_distortion_guitar").gain(0.21)

// chords · piano · "Downes1"
const piano = note(`<
  ~@26 A@7 B@5 C ~@15 D@4 E@4 F@2 G H ~@17 I@2 J@5 ~@9 K@4 L@8 M@4 N O ~@14 P@8 Q@4 R@8 Q@4 S
>`.pickRestart({
  A: "[[e1,e3,a3,e4]@3 ~@3 [e1,g#3,b3,e4]@3 ~@3 [e1,g#3,c4,e4]@3 ~@3 [e1,b3,d4,e4]@3 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@27 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 c2@6 b1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@27 [c4,e4]@3, ~@21 c2@83 ~@13 a1@51, ~@30 [g3,c4]@9 ~@17]/7", // A5 E Eaug E7 C Dm Bm C5 …
  B: "[~@6 [d4,f4]@3 [b3,d4]@8 ~@16 a1@6 g1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 f1@6 e1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@11 ~ [e1,g#3,b3,e4]@3, ~@18 [g3,c4]@27 f1@35 ~@13 d1@24 ~@3, ~@22 [g3,c4]@9 ~@9]/5", // Dm Bm C Dm Bm C Dm Bm …
  C: "[e1,e3,a3,e4] ~ [e1,g#3,b3,e4] ~ [e1,g#3,c4,e4] ~ [e1,b3,d4,e4] ~", // A5 E Eaug E7
  D: "[[c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@27 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 c2@6 b1@6, c2@83 ~@13, ~@23 [g3,c4]@9]/4", // C Dm Bm C5 C Dm Bm C5
  E: "[[c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@27 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 a1@6 g1@6, a1@83 ~@13, ~@23 [g3,c4]@9]/4", // C Dm Bm C5 C Dm Bm C5
  F: "[[c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 f1@6 e1@6, f1@35 ~@13, ~@7 [g3,c4]@9]/2", // C Dm Bm C5
  G: "[c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@11 ~, d1", // C Dm Bm
  H: "[e1,g#3,b3,e4] [e1,e3,a3,e4] ~ [e1,g#3,b3,e4] ~ [e1,g#3,c4,e4] ~ [e1,b3,d4,e4]", // E A5 E Eaug E7
  I: "[c2@37 c2@6 b1@5, [c3,e3,g3]]/2", // C
  J: "[~@2 a#1@37 a#1@6 a1@6 [g#1,g#2,c3,d#3]@49 ~@20, ~@2 [a#2,d3,f3]@49 ~@69]/5", // G# A#
  K: "[~@11 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 f1@6 e1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@11 ~ [e1,g#3,b3,e4]@3 [e1,e3,a3,e4]@3 ~@3 [e1,g#3,b3,e4]@3 ~, ~@11 f1@35 ~@13 d1@24 ~@13, ~@32 [g3,c4]@27 ~@37]/4", // C Dm Bm C Dm Bm E A5 …
  L: "[~@2 [e1,g#3,c4,e4]@3 ~@3 [e1,b3,d4,e4]@3 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@27 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 c2@6 b1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@27 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@15 a1, ~@11 c2@83 ~@13 a1@83 ~@2, ~@80 [g3,c4]@27 ~@85]/8", // Eaug E7 C Dm Bm C5 C Dm …
  M: "[~@5 g1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 f1@6 e1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@11 ~ [e1,g#3,b3,e4]@3 [e1,e3,a3,e4]@3 ~@3 [e1,g#3,b3,e4]@3 ~, ~@11 f1@35 ~@13 d1@24 ~@13, ~@32 [g3,c4]@27 ~@37]/4", // C Dm Bm C Dm Bm E A5 …
  N: "~@2 [e1,g#3,c4,e4]@3 ~@3 [e1,b3,d4,e4]@3 [e1,g#3,b3,e4]@3 [e1,e3,a3,e4]@3 ~@3 [e1,g#3,b3,e4]@3 ~", // Eaug E7 E A5 E
  O: "~@2 [e1,g#3,c4,e4]@3 ~@3 [e1,b3,d4,e4]@3 ~@13", // Eaug E7
  P: "[~@13 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@27 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 c2@6 b1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@27 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@14, ~@13 c2@83 ~@13 a1@83, ~@82 [g3,c4]@27 ~@83]/8", // C Dm Bm C5 C Dm Bm C …
  Q: "[~ a1@6 g1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 f1@6 e1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@11 ~ [e1,g#3,b3,e4]@3 [e1,e3,a3,e4]@3 ~@3 [e1,g#3,b3,e4]@2, ~@13 f1@35 ~@13 d1@24 ~@11, ~@34 [g3,c4]@27 ~@35]/4", // C Dm Bm C Dm Bm E A5 …
  R: "[~@4 [e1,g#3,c4,e4]@3 ~@3 [e1,b3,d4,e4]@3 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@27 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~@16 c2@6 b1@6 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@27 [c4,e4]@8 ~ [d4,f4]@3 [b3,d4]@8 ~ [g3,c4]@14, ~@13 c2@83 ~@13 a1@83, ~@82 [g3,c4]@27 ~@83]/8", // Eaug E7 C Dm Bm C5 C Dm …
  S: "~@4 [e1,g#3,c4,e4]@3 ~@17", // Eaug
})).s("gm_piano").gain(0.42)

// chords · epiano1 · "Downes2"
const epiano1 = note(`<
  ~@14 A@8 B@4 C ~@27 D@2 E@2 F@2 G@2 ~@29 H@4 I@5 ~@3 J@7 K@2 ~@19 L@3 M@4 N O ~@3 L@3 M@4 N O ~@4
>`.pickRestart({
  A: "[~@21 [c3,e4]@8 ~ f4@3 d4@8 ~ c4@24 g1@3 e4@8 ~ f4@3 d4@8 ~ c4@24 f1@3 e4@8 ~ f4@3 d4@8 ~ c4@24 f1@3 e4@8 ~ f4@3 d4@8 ~ c4@6, ~@7 c2@15 ~ c2@15 ~ a1@15 ~ a1@9]/8", // C
  B: "[~@9 a1@6 g1@6 e4@8 ~ f4@3 d4@8 ~@16 f1@6 e1@6 e4@8 ~ f4@3 d4@11 ~@4, ~@21 f1@35 ~@13 d1@24 ~@3, ~@14 c4@9 ~@9]/4",
  C: "[e1,g#3,b3,e4] ~ [e1,g#3,b3,e4] ~ [e1,g#3,b3,e4] ~ [e1,g#3,b3,e4] ~", D: "[[c2,c3,e4]@15 g1]/2",
  E: "[[c2,e4]@3 g3@3 c4@3 e4@3 d4@8 ~@4 c2@21 f1@3, ~@7 c4@8 ~]/2", F: "[a1@15 f1, e4 ~@5]/2",
  G: "[[a1,e4]@3 a3@3 c4@3 e4@3 d4@3 a3@3 d4@3 [c4,a4]@14 ~ a1@6 g1@6]/2", H: "[~@5 [c2,c3,e4]@91]/4",
  I: "[~@8 [a1,a2,e4]@49 ~ [a1,a2,e4]@49 ~@13]/5", // A5
  J: "[~@11 [c2,c3,e4]@45 g1@3 [c2,e4]@3 g3@3 c4@3 e4@3 d4@8 ~@4 c2@21 f1@3 a1@45 f1@3 [a1,e4]@3 a3@3 c4@3 e4@3 d4, ~@80 c4@24 ~@3 e4@8 ~@53]/7", // C A5
  K: "[~@2 a3@3 d4@3 [c4,a4]@14 ~ a1@6 g1@6 ~@13]/2", L: "[~@13 [c2,e4]@45 g1@3 [c2,e4]@3 g3@3 c4@3 e4@2]/3",
  M: "[~ d4@8 ~@4 c2@21 f1@3 a1@45 f1@3 [a1,e4]@3 a3@3 c4@3 e4@2, ~@10 c4@24 ~@3 e4@8 ~@51]/4", // A5
  N: "~ d4@3 a3@3 d4@3 [c4,a4]@14", O: "~ a1@6 g1@6 ~@11",
})).s("gm_epiano1").gain(0.48)

// chords · synth brass 1 · "Downes3"
const synth_brass_1 = note(`<
  A B@3 C@8 D@3 ~@23 E@6 F@7 G H@2 ~@12 I J K L I J K M N O P Q N O P R@2 ~@33 S@6 T@6 U V@3 ~@24
>`.pickRestart({
  A: "~ c5@3", B: "[c5 ~ a4 c5 ~ a4 c5 ~ e5 f5@18 b4 ~ g4 b4 ~ g4 b4 ~ d5 e5@18 a4 ~ f4 a4 ~ f4 a4 ~ c5 d5@9]/3",
  C: "[c5 ~ d5 c5@11 ~ c5@15 c5 ~ a4 c5 ~ a4 c5 ~ e5 f5@15 b4 ~ g4 b4 ~ g4 b4 ~ d5 e5@15 a4 ~ f4 a4 ~ f4 a4 ~ c5 d5@9]/4",
  D: "[c5 ~ d5 c5@65 ~@4]/3",
  E: "[~@21 [a2,e3,a3,c4]@24 [f3,a3,d4]@11 ~ [d3,g3,b3]@11 ~ [b2,e3,g3]@24 [c3,f3,a3,e4]@11 ~ [d3,g3,b3]@11 ~ [a2,e3,a3,c4]@24 [f3,a3,d4]@3]/6", // Am Dm G Em Fmaj7 G Am Dm
  F: "[~@9 [d3,g3,b3]@11 ~ [b2,e3,g3]@24 [e3,f3,a3,c4]@48 [g2,d3,g3,b3]@44 ~@4 [d4,g4,b4] [e4,a4,c5]@5 [e4,a4,c5]@6 [d4,g4,b4] ~ [e4,a4,c5]@5 [e4,a4,c5]@6 [d4,g4,b4] ~]/7", // G Em Fmaj7 G Am G Am G
  G: "[e4,a4,c5]@5 [e4,a4,c5]@6 [d4,g4,b4] ~ [e4,a4,c5]@5 [e4,a4,c5]@6", H: "[d4,g4,b4]/2",
  I: "c5@15 c5 a4 ~ c5 a4 ~ c5 e5 ~", J: "f5@15 b4 g4 ~ b4 g4 ~ b4 d5 ~", K: "e5@15 a4 f4 ~ a4 f4 ~ a4 c5 ~",
  L: "d5@9 c5 d5 ~ c5@11 ~", M: "d5@9 c5 d5 ~ c5@12", N: "[a2,e3,a3,c4]", O: "[f3,a3,d4]@11 ~ [d3,g3,b3]@11 ~",
  P: "[b2,e3,g3]", Q: "[c3,f3,a3,e4]@11 ~ [d3,g3,b3]@11 ~", R: "[e3,f3,a3,c4]/2",
  S: "[~@11 [a2,e3,a3,c4]@24 [f3,a3,d4]@11 ~ [d3,g3,b3]@11 ~ [b2,e3,g3]@24 [c3,f3,a3,e4]@11 ~ [d3,g3,b3]@11 ~ [a2,e3,a3,c4]@24 [f3,a3,d4]@11 ~ [d3,g3,b3]]/6", // Am Dm G Em Fmaj7 G Am Dm …
  T: "[~@11 [b2,e3,g3]@24 [e3,f3,a3,c4]@48 [g2,d3,b3]@48 [d4,g4,b4] ~ [a4,c5,e5]@4 [a4,c5,e5]@6 [d4,g4,b4]]/6", // Em Fmaj7 G Am G
  U: "~ [a4,c5,e5]@4 ~ [a4,c5,e5]@6 [d4,g4,b4] [a4,c5,e5]@4 ~ [a4,c5,e5]@6", // Am G Am
  V: "[[d4,g4,b4] ~ [a4,c5,e5]@4 ~ [a4,c5,e5]@6 [d4,g4,b4]@48 ~@11]/3", // G Am G
})).s("gm_synth_brass_1").gain(0.4)

// other · string ensemble 2 · "Downes3"
const string_ensemble_2 = note("<~@83 A@5 B@4 C@8 ~@56>".pickRestart({
  A: "[e6@9 f6@3 d6@9 ~ e6@28 f6@9 g6@3 e6@9 f6@28 d#6@9 ~ f6@3 d6@8]/5", B: "[~ d#6@28 g4@48 e6@9 f6@3 d6@7]/4",
  C: "[~@3 c6@28 e6@9 f6@3 d6@9 c6@28 e6@9 ~ f6@3 d6@9 c6@28 e6@9 f6@3 d6@9 ~ c6@27 ~@13]/8",
})).s("gm_string_ensemble_2").gain(0.4)

// chords · synth brass 1 · "Downes3(sub)"
const synth_brass_1_2 = note("<~@47 A@3 ~@2 B@2 ~@35 C@3 D@8 ~@25 E@3 ~ F@3 ~@24>".pickRestart({
  A: "[~@21 b5@2 ~, ~@7 g3@8 b4@2 d5@2 g5@4 ~, ~@9 b3@14 ~, ~@11 d4@12 ~, ~@13 g4@10 ~]/3",
  B: "[~@3 g5, g3@4 b4 d5@3, ~ b3@7, ~ d4@3, ~@3 g4@5]/2",
  C: "[~@41 g5@6 g5@6 [c4,e4]@9 [d4,f4]@3 [b3,d4]@7, ~@5 g3@24 b4@6 d5@18 ~@19, ~@11 b3@42 ~@19, ~@17 d4@36 ~@19, ~@23 g4@30 ~@19]/3", // C Dm Bm
  D: "[~@3 [g3,c4]@28 [c4,e4]@9 [d4,f4]@3 [b3,d4]@9 [g3,c4]@28 [c4,e4]@9 ~ [d4,f4]@3 [b3,d4]@9 [g3,c4]@28 [c4,e4]@9 [d4,f4]@3 [b3,d4]@9 ~ [g3,c4]@27 ~@13, ~@80 [a0,a1]@49 ~ [a0,a1]@49 ~@13]/8", // C5 C Dm Bm C5 C Dm Bm …
  E: "[~@53 b5@6 ~@13, ~@11 g3@24 b4@6 d5@6 g5@12 ~@13, ~@17 b3@42 ~@13, ~@23 d4@36 ~@13, ~@29 g4@30 ~@13]/3",
  F: "[~@49 g5@6 g5@6 ~@11, ~@13 g3@24 b4@6 d5@18 ~@11, ~@19 b3@42 ~@11, ~@25 d4@36 ~@11, ~@31 g4@30 ~@11]/3",
})).s("gm_synth_brass_1").gain(0.35)

// other · string ensemble 2 · "Downes3(sub)"
const string_ensemble_2_2 = note("<~@83 A@5 B@2 ~@66>".pickRestart({
  A: "[e4@9 f4@3 d4@9 ~ e4@28 f4@9 g4@3 e4@9 f4@28 d#4@9 ~ f4@3 d4@8]/5", B: "[~ d#4@28 ~@19]/2",
})).s("gm_string_ensemble_2").gain(0.31)

// bass · electric bass finger · "Wetton"
const bass = note(`<
  ~@4 A@6 B@5 ~@11 C D@3 E F@3 G H I J K L M N O L M N H P Q R@2 S T@2 U@3 V W@3 X Y Z AA AB AC AD AE AF AC AD AE AG W
  AH AI AJ W AH AI Y@2 AK@2 AL@5 AM AN@8 AO@4 AP@7 AQ@5 AR AS@8 AT@4 AU AV@3 AW@3 AX AY@3 AZ BA BB BC BD AW@3 AX AY@3 AZ
  BA BB BC BE
>`.pickRestart({
  A: "[~@15 a1@24 a1@11 ~ g1@8 ~ f1@3 e1@3 e1@21 f1@11 ~ g1@11 ~ a1@24 a1@9]/6",
  B: "[~@3 g1@8 ~ f1@3 e1@3 e1@21 f1@24 f1@53 ~@4]/5", C: "e1 ~ e1 ~ e1 ~ e1 c2", D: "~ c2 ~ c2 ~ c2 ~ c2",
  E: "~ c2 ~ c2@2 b1@2 a1", F: "~ a1 ~ a1 ~ a1 ~ a1", G: "~ a1 ~ a1@2 g1@2 f1", H: "~ f1 ~ f1 ~ f1 ~ f1",
  I: "~ f1 ~ f1@2 e1@2 d1", J: "~ d1 ~ d1 ~ d1 ~ e1", K: "e1 ~ e1 ~ e1 ~ e1 a1", L: "~ a1 ~ a1 ~ a1 ~ d2",
  M: "~ d2 ~ g1 ~ g1 ~ e1", N: "~ e1 ~ e1 ~ e1 ~ f1", O: "~ f1 ~ g1 ~ g1 ~ a1", P: "~ f1 ~ f1 ~ f1 ~ g1",
  Q: "~ g1 ~ g1 ~ g1 ~ g1", R: "[~@3 g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1 a1@5 a1@6 g1 ~ a1@5 a1@6 g1 ~]/2",
  S: "a1@5 a1@6 g1 ~ a1@5 a1@6", T: "g1/2", U: "c2 ~ c2 ~ c2 ~ c2 ~", V: "c2 ~ c2 ~ c2@2 b1@2",
  W: "a1 ~ a1 ~ a1 ~ a1 ~", X: "a1 ~ a1 ~ a1@2 g1@2", Y: "f1 ~ f1 ~ f1 ~ f1 ~", Z: "f1 ~ f1 ~ f1@2 e1@2",
  AA: "d1 ~ d1 ~ d1 ~ d1 ~", AB: "e1!2 ~ e1 ~ e1 ~ e1", AC: "a1", AD: "a1@11 ~ g1@8 ~ f1@3", AE: "e1 e1@7",
  AF: "f1@11 ~ g1@11 ~", AG: "f1!4", AH: "d2 ~ d2 ~ g1 ~ g1 ~", AI: "e1 ~ e1 ~ e1 ~ e1 ~", AJ: "f1 ~ f1 ~ g1 ~ g1 ~",
  AK: "[c2@37 c2@6 b1@5]/2", AL: "[~@2 a#1@37 a#1@6 a1@6 g#1@49 ~ g1@3 g1@3 g1@3 g1@3 g1@3 g1@3 g1]/5",
  AM: "~@2 g1@3 g1@3 g1@3 g1@3 g1@3 g1@3 g1@3 g1", AN: "[~@5 c2@99 a1@49 ~ a1@37 a1]/8",
  AO: "[~@5 g1@6 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@6 e1@6 d1@3 ~@3 d1@3 ~@3 d1@3 ~@3 d1@3 ~@3 e1@3 e1@3 ~@3 e1@3 ~]/4",
  AP: "[~@2 e1@3 ~@3 e1@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@6 b1@6 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1]/7",
  AQ: "[~@5 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@6 g1@6 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@6 e1@6 d1@3 ~@3 d1@3 ~@3 d1@3 ~@3 d1@3 ~@3 e1@3 e1@3 ~@3 e1@3 ~]/5",
  AR: "~@2 e1@3 ~@3 e1@3 e1@3 e1@3 ~@3 e1@3 ~",
  AS: "[~@2 e1@3 ~@3 e1@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 d2@3 ~@3 d2@3 ~@3 g1@3 ~@3 g1@3 ~@3 e1@3 ~@3 e1@3 ~@3 e1@3 ~@3 e1@3 ~@3 f1@3 ~@3 f1@3 ~@3 g1@3 ~@3 g1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 d2@3 ~@3 d2@3 ~@3 g1@3 ~@3 g1@3 ~@3 e1@3 ~@3 e1@3 ~@3 e1@3 ~@3 e1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1]/8",
  AT: "[~@5 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1@3 ~@3 g1 ~ a1@4 a1@6 g1]/4",
  AU: "~ a1@4 ~ a1@6 g1 a1@4 ~ a1@6", AV: "[g1 ~ a1@4 ~ a1@6 g1@48 c2@3 ~@3 c2@3 ~@2]/3",
  AW: "~ c2@3 ~@3 c2@3 ~@3 c2@3 ~@3 c2@3 ~@2", AX: "~ c2@6 b1@6 a1@3 ~@3 a1@3 ~@2",
  AY: "~ a1@3 ~@3 a1@3 ~@3 a1@3 ~@3 a1@3 ~@2", AZ: "~ a1@6 g1@6 f1@3 ~@3 f1@3 ~@2",
  BA: "~ f1@3 ~@3 f1@3 ~@3 f1@3 ~@3 f1@3 ~@2", BB: "~ f1@6 e1@6 d1@3 ~@3 d1@3 ~@2",
  BC: "~ d1@3 ~@3 d1@3 ~@3 e1@3 e1@3 ~@3 e1@2", BD: "~@4 e1@3 ~@3 e1@3 c2@3 ~@3 c2@3 ~@2", BE: "~@4 e1@3 ~@17",
})).s("gm_electric_bass_finger").gain(0.27)

// other · timpani · "Palmer2"
const timpani = note("<~@37 A B C ~ A B C ~@29 D E ~@2 D E ~@9 F G ~@25 H I ~@2 H I ~@35>".pickRestart({
  A: "~@22 c2 ~", B: "c2!24", C: "c2!2 ~@22", D: "~@2 c2!22", E: "c2!6 ~@18", F: "~@6 c2 ~ c2!16", G: "c2!11 ~@13",
  H: "~@13 c2!11", I: "c2!17 ~@7",
})).s("gm_timpani").gain(0.21)

// other · timpani · "Palmer2" · soft notes
const timpani_soft = note("<~@37 A ~ B ~ A ~ B ~@29 C D ~@2 C D ~@9 E F@2 ~@24 G H@2 ~ G H@2 ~@34>".pickRestart({
  A: "~@23 c2", B: "~@2 c2 c2@18 ~@3", C: "~ c2 ~@22", D: "~ c2@3", E: "~@5 c2 ~ c2 ~@16", F: "[~@11 c2@18 ~@19]/2",
  G: "~@12 c2 ~@11", H: "[~@17 c2@18 ~@13]/2",
// … 135 more lines

More by Asia