Strudelify

Vado al massimo

Rossi Vasco

KeyB majorTempo138 bpm
0:00/0:00
// Vado al massimo — Rossi Vasco
// 138 bpm, 4/4, key B 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: duplicate parts dropped: ch 3 electric guitar muted (copy of ch 7 distortion guitar); ch 6 electric guitar jazz (copy of ch 5 electric guitar clean)
// note: Full arrangement: all 141 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(138/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.

// bass · electric bass finger
const bass = note(`<
  ~@13 A B C D E D E D E D C D F D F D F D G D F D F H I J K L M@2 N O P Q R S T U V W X Y Z AA Z U AB U X Y Z U Z U AB
  U P Q R S T U V W AC AD@3 AE AF AG AH AI AJ AI AK AL AM AN AO AP AQ AR AO AS AO ~ AT AU AV AW AV AL AX AL AT AU AV AL
  AV AL AX AL AT AU AV AL AV AL AX AL AT AU AV AL AV AL AX AL AT AU AV AL AV AL AX AL ~
>`.pickRestart({
  A: "~@7 e1@3 ~@14", B: "~@7 b1@5 ~ d#2@3 c#2@3 b1@3 g#1@2", C: "~ f#1@3 e1@3 ~@9 e1@3 f#1@4 ~",
  D: "~@7 b1@5 ~ d#2@2 ~ c#2@2 ~ b1@2 ~ g#1@2", E: "~ f#1@2 ~ e1@3 ~@9 e1@3 f#1@4 ~",
  F: "~ f#1@2 ~ e1@3 ~@9 e1@3 f#1@3 ~@2", G: "~ f#1@2 ~ e1@3 ~@9 e1@2 ~ f#1@4 ~",
  H: "~@7 b1@5 ~ d#2@2 ~ c#2@3 b1@2 ~ g#1@2", I: "~ f#1@3 e1@3 ~@9 e1@3 f#1@3 ~@2",
  J: "~@7 c#2 ~@2 c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2",
  K: "~ c#2@2 ~ c#2@2 ~ f#1@2 ~ f#2@3 f#1 ~@2 f#1@2 g#1@2 ~ g#1@2 ~",
  L: "b1@2 ~ b1@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~",
  M: "[c#2 ~@2 c#2@2 f#1@2 ~ f#2@2 ~ f#1 ~@2 f#1@2 ~ g#1@2 ~ g#1@2 ~ b1@2 ~ b1@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2 ~]/2",
  N: "~ c#2@2 ~ f#2@3 ~ e2@3 ~ d#2@2 ~@2 c#2@2 ~@2 b1@3 ~", O: "g#1 ~ f#1@2 ~@8",
  P: "~@4 b1@5 ~ d#2@3 c#2@2 ~ b1@2 ~ g#1@2 ~ f#1@2", Q: "~ e1@3 ~@9 e1@2 ~ f#1@3 ~@5",
  R: "~@4 b1@4 ~@2 d#2@2 ~ c#2@2 ~ b1@2 ~ g#1@2 ~ f#1@2", S: "~ e1@4 ~@8 e1@2 ~ f#1@3 ~@5",
  T: "~@4 b1@5 ~ d#2@3 c#2@3 b1@2 ~ g#1@2 ~ f#1@2", U: "~ e1@3 ~@9 e1@3 f#1@3 ~@5",
  V: "~@4 b1@5 ~ d#2@2 ~ c#2@2 ~ b1@3 g#1@3 f#1@2", W: "~ g#1@2 ~ b1@2 ~@18",
  X: "~@4 b1@5 ~ d#2@2 ~ c#2@2 ~ b1@2 ~ g#1@3 f#1@2", Y: "~ e1@3 ~@9 e1@2 ~ f#1@4 ~@4",
  Z: "~@4 b1@5 ~ d#2@2 ~ c#2@2 ~ b1@2 ~ g#1@2 ~ f#1@2",
  AA: "~ e1@3 ~@3 [e3,g#3] ~@5 [e1,e3,g#3]@3 [f#1,e3,g#3]@3 [f#3,a#3]@2 ~ [f#3,a#3]@2", // E C#m F#
  AB: "~@4 b1@5 ~ d#2@2 ~ c#2@3 b1@2 ~ g#1@3 f#1@2", AC: "~@4 c#2 ~@2 c#2@2 ~ c#2@2 c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~",
  AD: "[c#2@2 ~ f#1@2 ~ f#2@3 f#1 ~@2 f#1@2 ~ g#1@2 ~ g#1@2 ~ b1@2 b1@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2 ~@2 c#2@2 ~ f#1@2 ~ f#2@2 ~ f#1 ~ f#1@2 ~ g#1@2 ~ g#1@2 ~ b1@2 ~ b1@2]/3",
  AE: "~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2@2 ~ c#2 ~ c#2@2 ~",
  AF: "f#2@3 ~ e2@3 ~ d#2@2 ~@2 c#2@2 ~@2 b1@3 ~ g#1@2 ~@2", AG: "f#1 ~@5",
  AH: "b1@5 ~ d#2@3 c#2@2 ~ b1@2 ~ g#1@2 ~ f#1@2 ~ e1@3", AI: "~@9 e1@2 ~ f#1@3 ~@9",
  AJ: "b1@4 ~@2 d#2@2 ~ c#2@2 ~ b1@2 ~ g#1@2 ~ f#1@2 ~ e1@3", AK: "b1@5 ~ d#2@3 c#2@3 b1@2 ~ g#1@2 ~ f#1@2 ~ e1@3",
  AL: "~@3 e1 f#1 ~@3", AM: "b1@5 ~ d#2@2 ~ c#2@2 ~ b1@3 g#1@3 f#1@3 g#1@2 ~", AN: "b1 ~@11",
  AO: "~@3 b1@3 d#2@2 ~ f#2@2 ~ b2@3 ~@9", AP: "~@3 e1@2 ~ g#1@3 b1@3 ~@3 f#1@2 ~ a#1@3 c#2@2 ~",
  AQ: "~@3 b1@3 d#2@3 f#2@2 ~ b2@3 ~@9", AR: "~@3 e1@3 g#1@2 ~ b1@3 ~@3 f#1@2 ~ a#1@2 ~ c#2@2 ~",
  AS: "~@3 e1@2 ~ g#1@2 ~ b1@4 ~@2 f#1@2 ~ a#1@2 ~ c#2@2 ~", AT: "b1@5 ~ d#2@2 ~ c#2@2 ~ b1@2 ~ g#1@3 f#1@2 ~ e1@3",
  AU: "~@9 e1@2 ~ f#1@4 ~@8", AV: "b1@5 ~ d#2@2 ~ c#2@2 ~ b1@2 ~ g#1@2 ~ f#1@2 ~ e1@3",
  AW: "~@3 [e3,g#3]@2 ~@4 [e3,g#3]@2 ~ [e3,g#3]@3 [f#3,a#3]@2 ~ [f#3,a#3]@4 ~@2", // E F#
  AX: "b1@5 ~ d#2@2 ~ c#2@3 b1@2 ~ g#1@3 f#1@3 e1@3",
})).s("gm_electric_bass_finger").gain(0.5)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  A B@2 C@2 D@2 E@2 F@2 G@2 H I J K J K J K J K J K J K J K J K L M L M L M L N ~@6 O P Q P Q P Q R O S T S T S T S T S
  T S T S T S T P Q P Q P Q U ~@7 V W V W V W V X ~@8 V Y V Y V Y V Y V Y V Y V Y V Y V Y V Y V Y V Y V Y V Y V Y V Y V
  Y V Y V Y V Z ~
>`.pickRestart({
  A: "~@3 [b2,f#3]@3 b2 ~ b3 ~@3 [b3,f#4]@2 ~@10, ~@7 f#3@7 ~@10, ~@9 d#4@5 ~@10", // B5
  B: "[~@8 b3 e4@3 g#4@2 ~@8 f#4@3 a#4@2 ~@7 [d#4,f#4]@4 b4@3 ~ [f#3,b4]@3 ~@3, ~@7 b2@8 ~@5 c#3@10 ~@2 b2@7 ~@9, ~@8 e3@6 ~@6 f#3@5 ~@8 f#3@8 ~@7, ~@21 c#4@4 ~@8 b3@3 ~@12]/2", // D#m B5
  C: "[~@9 b3 e4@3 g#4@2 ~@8 f#4@3 a#4@2 ~@7 f#4@3 b4@3 ~ [f#3,b4]@3 ~@3, ~@8 b2@8 ~@4 c#3@10 ~@3 [b2,f#3]@8 ~@7, ~@9 e3@6 ~@6 f#3@5 ~@8 b3@3 ~@11, ~@22 c#4@4 ~@8 d#4@5 ~@9]/2", // B5
  D: "[~@10 b3 e4@3 g#4@2 ~@7 [c#4,f#4]@3 a#4@2 ~@8 f#4@3 b4@3 ~ [f#3,b4]@3 ~@2, ~@8 b2@8 ~@5 c#3@10 ~@2 b2@7 ~@8, ~@9 e3@6 ~@7 f#3@5 ~@7 f#3@8 ~@6, ~@34 b3@3 ~@11, ~@35 d#4@5 ~@8]/2", // F#5 B5
  E: "[~@11 e4@3 g#4@2 ~@8 f#4@3 a#4@2 ~@7 [d#4,f#4]@4 b4@3 ~@5, ~@9 b2@8 ~@5 c#3@10 ~@2 b2@7 ~@7, ~@10 e3@6 ~@7 [f#3,c#4]@5 ~@7 f#3@8 ~@5, ~@11 b3 ~@23 b3@3 ~@10]/2", // D#m F#5
  F: "[[f#3,d#4,f#4,b4] ~@10 b3 e4@3 g#4@2 ~@8 f#4@3 a#4@2 ~@7 f#4@3 b4@3 ~@5, ~@10 b2@8 ~@4 c#3@10 ~@3 b2@7 ~@6, ~@11 e3@6 ~@6 f#3@5 ~@8 f#3@8 ~@4, ~@24 c#4@4 ~@8 d#4@5 ~@7, ~@12 b3 ~@3]/2", // B
  G: "[~ [f#3,d#4,f#4,b4] ~@2 [d#4,f#4,b4] ~@3 b4 ~@3 b3 e4@3 g#4@2 ~@8 f#4@3 a#4@2 ~@7 f#4@3 b4@3 ~@4, ~@10 b2@2 ~@11 c#3@10 ~@3 [b2,f#3]@8 ~@4, ~@11 e3@6 ~@7 f#3@5 ~@8 b3@3 ~@8, ~@25 c#4@4 ~@8 d#4@5 ~@6]/2", // B B5
  H: "~ [f#3,d#4,f#4] b4 ~@5 [b3,e4,g#4]@2 [b3,e4,g#4] ~ g#4 ~@11", // D#m E
  I: "~@12 b3 [d#4,f#4] ~@2 b4 d#4 ~@6, ~@11 f#3@2 ~@11", J: "~ [b3,d#4,f#4] ~@11 [b3,e4,g#4] ~@10",
  K: "~@2 a#4@2 [c#4,f#4,a#4] ~@7 b3 [d#4,f#4] ~@2 b4 d#4 ~@6, ~ [c#4,f#4]@3 ~@7 f#3@2 ~@11", // F# D#m F#5
  L: "~ [b3,d#4,f#4] ~@11 e4@3 g#4@2 ~@6, ~@6 e3 ~@5, ~@13 b3 ~@10", // B
  M: "~@2 f#4@2 ~ a#4@2 ~@5 b3 [d#4,f#4] ~@2 b4 d#4 ~@6, [c#3,f#3]@2 ~@9 f#3@2 ~@11, ~ c#4@3 ~@20", // D#m F#5
  N: "~@2 f#4@2 ~ a#4@2 ~@17, [c#3,f#3] ~@11, ~ c#4@3 ~@20", // F#5
  O: "~@9 d#4 f#4 ~@2 [d#4,b4] ~@7 [b3,d#4,f#4] ~@2, ~@4 [f#3,b3] ~@7", P: "~@10 [b3,e4,g#4] ~@11 [f#4,a#4]@2, ~@7 c#4",
  Q: "~ [c#4,f#4,a#4] ~@7 d#4 f#4 ~@2 [d#4,b4] ~@7 [b3,d#4,f#4] ~@2, ~@4 [f#3,b3] ~@7", // F# G#m B B5
  R: "~@4 [f#3,b3,d#4,b4]@2 ~@2 [f#3,b3,d#4,b4] ~@3 [f#3,b3,d#4,b4] ~@11", // B
  S: "~@9 b3 e4@2 g#4@2 ~@8 f#4@2, ~@4 e3 ~@5 c#3 ~, ~@7 [f#3,c#4]", // F#5
  T: "~ a#4@2 ~@6 d#4 f#4 ~@2 [d#4,b4] ~@7 [b3,d#4,f#4] ~@2, ~@4 [f#3,b3] ~@7", U: "~@2 [f#3,b3,d#4,b4] ~@9",
  V: "~@5 d#4 f#4 ~@2 [d#4,b4] ~@8 [b3,d#4,f#4] ~@5, ~@2 [f#3,b3] ~@9", // G#m B B5
  W: "~@6 [b3,e4,g#4] ~@11 [c#4,f#4,a#4]@2 ~ [c#4,f#4,a#4] ~@2", // E F#
  X: "[f#3,b3,d#4,b4]@2 ~@2 [f#3,b3,d#4,b4] ~@3 [f#3,b3,d#4,b4]@2 ~@14", // B
  Y: "~@6 e4@3 g#4@2 ~@7 [c#4,f#4]@3 a#4@2 ~, ~@5 [e3,b3]@2 ~@9 c#3@2 ~@6, ~@17 f#3@2 ~@5", // F#5 E5
  Z: "~@6 e4@3 g#4@2 ~@7 [c#4,f#4]@3 ~@3, ~@5 [e3,b3]@2 ~@9 c#3@2 ~@6, ~@17 f#3@2 ~@5", // F#5 E5
})).s("gm_electric_guitar_clean").gain(0.24)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~@2 A B A C D@2 ~ E ~ F ~ G ~@17 H ~ H ~ H ~ H ~@14 I J K ~ K ~ K ~ K ~ K ~ K ~ K ~ K ~@22 L ~@9 M ~ M ~ M ~ M ~ M ~ M
  ~ M ~ M ~ M ~ M ~ M ~ M ~ M ~ M ~ M ~ M ~ M ~ M ~ M ~ M ~
>`.pickRestart({
  A: "~@18 b3@3 ~ [f#3,b3,b4]@2", B: "~@2 b4@2 ~@2 b4@3 ~@15", C: "~ b4 ~@10",
  D: "[~@19 b3@3 ~ [f#3,b3,b4]@2 ~@2 b4@2 ~@19]/2", E: "b2 ~@23",
  F: "~ b2 ~@2 [b2,f#3] ~@3 [b2,f#3,d#4,f#4] ~@3 [f#3,d#4,f#4,b4] ~@11, ~@2 b2 ~", // B5 B
  G: "~ b2 ~@10 [b3,e4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~@5", H: "~@11 b2 ~@12",
  I: "~@8 [f#3,b3,d#4,b4] ~ [f#3,b3,d#4,b4] ~", J: "[f#3,b3,d#4,b4] ~@23", K: "~@7 b2 ~@16",
  L: "~@12 [f#3,b3,d#4,b4]@2 ~@2 [f#3,b3,d#4,b4]@2 ~@2 [f#3,b3,d#4,b4] ~@3", M: "~@4 b2 ~@19",
})).s("gm_electric_guitar_clean").gain(0.12)

// chords · distortion guitar
const distortion_guitar = note("<~@38 A B C D E F G ~@32 H I J K L M N ~@57>".pickRestart({
  A: "~@7 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~", // C#5
  B: "~ [c#3,g#3] ~@2 [c#3,g#3] ~@2 [f#2,c#3] ~@2 f#2@2 ~ f#2 ~ f#2 ~@2 g#2 ~@2 g#2 ~@2", // C#5 F#5
  C: "b2 ~@2 b2 ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2", // C#5
  D: "[c#3,g#3] ~ [c#3,g#3] ~@2 [f#2,f#3] ~@2 f#3@2 ~ f#2 ~@2 f#2 ~@2 g#2 ~@2 g#2 ~@2 b2", // C#5 F#
  E: "~@2 b2 ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~ [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~", // C#5
  F: "~ [c#3,g#3] ~@2 f#3@2 ~@2 e3@2 ~@2 d#3@2 ~@2 c#3@2 ~@2 b2@2 ~@2", G: "g#2 ~ f#2 ~@9",
  H: "~@4 [c#3,g#3] ~@2 [c#3,g#3] ~ [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2", // C#5
  I: "[c#3,g#3] ~@2 [f#2,c#3] ~@2 f#2@2 ~ f#2 ~@2 f#2 ~@2 g#2 ~@2 g#2 ~ b2 ~@2 b2", // C#5 F#5
  J: "~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3]", // C#5
  K: "~@2 [f#2,f#3] ~@2 f#3@2 f#2 ~@2 f#2 ~@2 g#2 ~@2 g#2 ~@2 b2 ~@2 b2 ~", // F#
  L: "~ [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~@2 [c#3,g#3] ~ [c#3,g#3] ~@2 [c#3,g#3] ~@2", // C#5
  M: "f#3 ~ e3 ~ d#3 ~ c#3 ~ b2 ~ g#2 ~", N: "f#2 ~@11",
})).s("gm_distortion_guitar").gain(0.3)

// chords · percussive organ
const percussive_organ = note(`<
  ~@14 A B C D E F G H I B C D E F G H I B C D E F G H J@6 K L M N O P Q R ~ L M N O P Q R S T M N O P Q R S T M N O P Q
  R ~ U@3 V W X Y Z AA AB AC AD AE AF ~@9 AG AA AB AC AD AE AF AH AI AA AB AC AD AE AF AH AI AA AB AC AD AE AF AH AG AA
  AB AC AD AE AF AH AG AA AB AC AD AE AF AJ ~
>`.pickRestart({
  A: "~@10 [d#5,f#5,b5] ~@8 [b4,d#5,f#5]@2 ~ [b4,d#5,f#5] ~", // B
  B: "~@3 b4 ~@6 [b4,e5,g#5] ~@5 [f#4,a#4,c#5]@6 c#4@2, ~@16 f#3 ~@7", // E F#
  C: "~ [a#4,c#5]@2 ~ [f#4,a#4,c#5] ~@5 [d#5,f#5,b5] ~@8 [b4,d#5,f#5]@2 ~ [b4,d#5,f#5] ~, ~ f#4 ~@2 a#3@3 ~@17", // A#m F# B
  D: "~@10 [b4,e5,g#5] ~@5 [f#4,a#4,c#5]@6 f#3@2", // E F#
  E: "~ [f#4,a#4,c#5]@2 ~ [f#4,a#4,c#5] ~@5 [d#5,f#5,b5] ~@8 [b4,g#5] ~@2 [b4,e5,g#5] ~, ~@19 e5@2 ~@3", // F# B E
  F: "~ [b4,d#5] ~@8 [b4,e5,g#5] ~@5 [a#4,c#5,f#5]@6 c#4@2", // B E F#
  G: "~ [a#4,c#5,f#5]@2 ~ a#3 ~@8 [b4,b5] ~@8 [d#5,f#5]@2, ~@22 b4 ~", // F# B D#m
  H: "~ [f#4,b4,d#5] ~@8 [g#4,b4,e5] ~@5 [f#4,a#4,c#5]@6 c#4@2", // B E F#
  I: "~ [f#4,a#4,c#5]@2 ~ a#3 ~@5 [d#5,f#5,b5] ~@8 [d#5,f#5]@2 ~ [b4,d#5,f#5] ~, ~@19 b4 ~@4", // F# B D#m B
  J: "[~ [f#4,a#4,c#5]@2 ~ a#3 ~@2 [e5,g#5,c#6]@23 ~ c#5@21 ~@2 [e5,g#5,c#6]@23 [c#5,f#5,a#5]@22 ~ [e5,g#5,c#6]@22 ~@2 [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~, ~@30 [f#5,a#5]@23 ~@91]/6", // F# C#m F# C#m F#
  K: "[c#5,f#5,a#5,c#6]@3 ~ c#6@3 ~@17, ~@3 [c#5,f#5,a#5]@4 ~@17", // F#
  L: "~@7 [d#5,f#5,b5] ~@8 [d#5,f#5]@2 ~ [b4,d#5,f#5] ~@3 b4, ~@16 b4 ~@7", // B D#m B
  M: "~@7 [b4,e5,g#5] ~@5 [f#4,a#4,c#5]@6 c#4@3 [a#4,c#5]@2, ~@13 f#3 ~@8 f#4 ~", // E F# A#m
  N: "~ [f#4,a#4,c#5] ~@5 [d#5,f#5,b5] ~@8 [b4,d#5,f#5]@2 ~ [b4,d#5,f#5] ~@4, ~ a#3@3 ~@20", // F# B
  O: "~@7 [b4,e5,g#5] ~@5 [f#4,a#4,c#5]@6 f#3@2 ~ [f#4,a#4,c#5]@2", // E F#
  P: "~ [f#4,a#4,c#5] ~@5 [d#5,f#5,b5] ~@8 [b4,g#5] ~@2 [b4,e5,g#5] ~@2 [b4,d#5] ~, ~@8 e5 ~@3", // F# B E B
  Q: "~@7 [b4,e5,g#5] ~@5 [a#4,c#5,f#5]@6 c#4@3 [a#4,c#5,f#5]@2", // E F#
  R: "~ a#3 ~@8 [b4,b5] ~@8 [d#5,f#5]@3 [f#4,b4,d#5] ~, ~@19 b4 ~@4", // B D#m B
  S: "~@7 [g#4,b4,e5] ~@5 [f#4,a#4,c#5]@6 c#4@2 ~ [f#4,a#4,c#5]@2", // E F#
  T: "~ a#3 ~@5 [d#5,f#5,b5] ~@8 [b4,d#5,f#5]@2 ~ [b4,d#5,f#5] ~@3 b4", // B
  U: "[~@4 [e5,g#5,c#6]@23 [f#5,a#5]@23 [e5,g#5,c#6]@22, ~@9 c#5@7 ~@8]/3", V: "~ [c#5,f#5,a#5]@11",
  W: "~ [e5,g#5,c#6]@22 ~", // C#m
  X: "[c#5,f#5,a#5,c#6]@3 ~@2 [c#5,f#5,c#6]@3 ~ [c#5,f#5]@3 [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~, ~@4 a#5@3 ~ [a#5,c#6]@3 ~@13", // F# F#5 F# A#m
  Y: "[c#5,f#5,a#5,c#6] ~@5", Z: "~@3 [d#5,f#5,b5] ~@8 [b4,d#5,f#5]@2 ~ [b4,d#5,f#5] ~@4 b4 ~@3",
  AA: "~@3 [b4,e5,g#5] ~@5 [f#4,a#4,c#5]@6 c#4@3 [a#4,c#5]@2 ~ [f#4,a#4,c#5] ~@2, ~@9 f#3 ~@8 f#4 ~@2 a#3@3", // E F# A#m F#
  AB: "~@3 [d#5,f#5,b5] ~@8 [b4,d#5,f#5]@2 ~ [b4,d#5,f#5] ~@8", // B
  AC: "~@3 [b4,e5,g#5] ~@5 [f#4,a#4,c#5]@6 f#3@2 ~ [f#4,a#4,c#5]@2 ~ [f#4,a#4,c#5] ~@2", // E F#
  AD: "~@3 [d#5,f#5,b5] ~@8 [b4,g#5] ~@2 [b4,e5,g#5] ~@2 [b4,d#5] ~@5, ~@6 e5 ~@5", // B E B
  AE: "~@3 [b4,e5,g#5] ~@5 [a#4,c#5,f#5]@6 c#4@3 [a#4,c#5,f#5]@2 ~ a#3 ~@2", // E F#
  AF: "~@6 [b4,b5] ~@8 [d#5,f#5]@3 [f#4,b4,d#5] ~@5, ~@15 b4 ~@8", // B D#m B
  AG: "~@3 [d#5,f#5,b5] ~@8 [b4,d#5,f#5]@2 ~ [b4,d#5,f#5] ~@3 b4 ~@4", // B
  AH: "~@3 [g#4,b4,e5] ~@5 [f#4,a#4,c#5]@6 c#4@2 ~ [f#4,a#4,c#5]@2 ~ a#3 ~@2", // E F#
  AI: "~@3 [d#5,f#5,b5] ~@8 [d#5,f#5]@2 ~ [b4,d#5,f#5] ~@3 b4 ~@4, ~@12 b4 ~@11", // B D#m B
  AJ: "~@3 [g#4,b4,e5] ~@5 [f#4,a#4,c#5]@6 c#4@2 ~ [f#4,a#4,c#5]@2 ~@4", // E F#
})).s("gm_percussive_organ").gain(0.12).pan(0.2)

// chords · rock organ
const rock_organ = note(`<
  ~@14 A B C D E F G H I B C D E F G H I B C D E F G H J@6 K L M N O P Q R ~@25 S@3 T U V W ~@57
>`.pickRestart({
  A: "~@10 [d#5,f#5,b5] ~@8 [b4,d#5,f#5]@2 ~ [b4,d#5,f#5] ~", // B
  B: "~@3 b4 ~@6 [b4,e5,g#5] ~@5 [f#4,a#4,c#5]@6 c#4@2, ~@16 f#3 ~@7", // E F#
  C: "~ [a#4,c#5]@2 ~ [f#4,a#4,c#5] ~@5 [d#5,f#5,b5] ~@8 [b4,d#5,f#5]@2 ~ [b4,d#5,f#5] ~, ~ f#4 ~@2 a#3@3 ~@17", // A#m F# B
  D: "~@10 [b4,e5,g#5] ~@5 [f#4,a#4,c#5]@6 f#3@2", // E F#
  E: "~ [f#4,a#4,c#5]@2 ~ [f#4,a#4,c#5] ~@5 [d#5,f#5,b5] ~@8 [b4,g#5] ~@2 [b4,e5,g#5] ~, ~@19 e5@2 ~@3", // F# B E
  F: "~ [b4,d#5] ~@8 [b4,e5,g#5] ~@5 [a#4,c#5,f#5]@6 c#4@2", // B E F#
  G: "~ [a#4,c#5,f#5]@2 ~ a#3 ~@8 [b4,b5] ~@8 [d#5,f#5]@2, ~@22 b4 ~", // F# B D#m
  H: "~ [f#4,b4,d#5] ~@8 [g#4,b4,e5] ~@5 [f#4,a#4,c#5]@6 c#4@2", // B E F#
  I: "~ [f#4,a#4,c#5]@2 ~ a#3 ~@5 [d#5,f#5,b5] ~@8 [d#5,f#5]@2 ~ [b4,d#5,f#5] ~, ~@19 b4 ~@4", // F# B D#m B
  J: "[~ [f#4,a#4,c#5]@2 ~ a#3 ~@3 [e5,g#5]@22 ~ c#5@21 ~@2 [e5,g#5,c#6]@23 [c#5,f#5,a#5]@22 ~ [e5,g#5,c#6]@22 ~@2 [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~, ~@7 c#6@23 [f#5,a#5]@23 ~@91]/6", // F# E C#m F# C#m F#
  K: "[c#5,f#5,a#5,c#6]@3 ~ c#6@3 ~@17, ~@3 [c#5,f#5,a#5]@4 ~@17", // F#
  L: "~@7 [d#5,f#5,b5] ~@8 [d#5,f#5]@2 ~ [b4,d#5,f#5] ~@3 b4, ~@16 b4 ~@7", // B D#m B
  M: "~@7 [b4,e5,g#5] ~@5 [f#4,a#4,c#5]@6 c#4@3 [a#4,c#5]@2, ~@13 f#3 ~@8 f#4 ~", // E F# A#m
  N: "~ [f#4,a#4,c#5] ~@5 [d#5,f#5,b5] ~@8 [b4,d#5,f#5]@2 ~ [b4,d#5,f#5] ~@4, ~ a#3@3 ~@20", // F# B
  O: "~@7 [b4,e5,g#5] ~@5 [f#4,a#4,c#5]@6 f#3@2 ~ [f#4,a#4,c#5]@2", // E F#
  P: "~ [f#4,a#4,c#5] ~@5 [d#5,f#5,b5] ~@8 [b4,g#5] ~@2 [b4,e5,g#5] ~@2 [b4,d#5] ~, ~@8 e5 ~@3", // F# B E B
  Q: "~@7 [b4,e5,g#5] ~@5 [a#4,c#5,f#5]@6 c#4@3 [a#4,c#5,f#5]@2", // E F#
  R: "~ a#3 ~@8 [b4,b5] ~@8 [d#5,f#5]@3 [f#4,b4,d#5] ~, ~@19 b4 ~@4", // B D#m B
  S: "[~@4 [e5,g#5,c#6]@23 [f#5,a#5]@23 [e5,g#5,c#6]@22, ~@9 c#5@7 ~@8]/3", T: "~ [c#5,f#5,a#5]@11",
  U: "~ [e5,g#5,c#6]@22 ~", // C#m
  V: "[c#5,f#5,a#5,c#6]@3 ~@2 [c#5,f#5,c#6]@3 ~ [c#5,f#5]@3 [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~ [c#5,f#5,a#5,c#6]@3 ~, ~@4 a#5@3 ~ [a#5,c#6]@3 ~@13", // F# F#5 F# A#m
  W: "[c#5,f#5,a#5,c#6] ~@5", // F#
})).s("gm_rock_organ").gain(0.08).pan(0.4)

// other · pad halo
const pad_halo = note(`<
  ~@53 A@2 B C B D B E F E G H G I B I G J K L G E M@2 ~@23 N O P Q R S R T N O P Q R S R T N O P Q R S R T N O P Q R S
  R T N O P Q R S R T ~
>`.pickRestart({
  A: "[~@4 b4@21 f#4@2 ~ g#4@6 e4@3 f#4@5 ~ d#4@5]/2", B: "~ c#4@3 b3@20", C: "~ f#4@3 g#4@5 ~ e4@3 f#4@5 ~ d#4@5",
  D: "~ f#4@2 ~ g#4@6 e4@3 f#4@5 ~ d#4@5", E: "~ f#4@2 ~ g#4@5 ~ e4@3 f#4@5 ~ d#4@4 ~", F: "~ c#4@2 ~ b3@20",
  G: "~ c#4@3 b3@19 ~", H: "~ f#4@2 ~ g#4@5 ~ e4@2 ~ f#4@5 ~ d#4@4 ~", I: "~ f#4@2 ~ g#4@4 ~@2 e4@3 f#4@4 ~@2 d#4@4 ~",
  J: "~ f#4@2 ~ g#4@4 ~@2 e4@3 f#4@5 ~ d#4@4 ~", K: "~ c#4@2 ~ b3@19 ~", L: "~ f#4@2 ~ g#4@4 ~@2 e4@3 f#4@5 ~ d#4@5",
  M: "[~ c#4@3 b3@24 ~@20]/2", N: "b4@21 f#4@2 ~", O: "g#4@6 e4@3 f#4@5 ~ d#4@6 c#4@3", P: "b3@7 f#4",
  Q: "g#4@5 ~ e4@3 f#4@5 ~ d#4@5 ~ c#4@3", R: "b3@20 ~ f#4@2 ~", S: "g#4@6 e4@3 f#4@5 ~ d#4@5 ~ c#4@3",
  T: "g#4@5 ~ e4@3 f#4@5 ~ d#4@4 ~@2 c#4@2 ~",
})).s("gm_pad_halo").gain(0.33).pan(0)

// other · orchestral harp
const orchestral_harp = note(`<
  ~@100 A B C D E B C F G H I J K F L M N O C P C H E H Q R S T G H U F V P V O C R C O ~
>`.pickRestart({
  A: "~@6 b4 ~@2 d#5 ~@2 f#5 ~@2 f#5@2 ~ d#5 ~@2 b4 ~@2", B: "e4 ~@2 g#4 ~@2 b4 ~@2 a#4@2 ~@4 f#4 ~@5 e4@2 ~",
  C: "d#4 ~@5 b4 ~@2 d#5 ~@2 f#5 ~@2 f#5 ~@2 d#5 ~@2 b4 ~@2", D: "e4@2 ~ g#4 ~@2 b4@2 ~ a#4@2 ~@4 f#4 ~@5 e4@2 ~",
  E: "d#4 ~@5 b4 ~@2 d#5 ~@2 f#5 ~@2 f#5 ~@2 d#5@2 ~ b4 ~@2", F: "e4@2 ~ g#4 ~@2 b4 ~@2 a#4@2 ~@4 f#4 ~@5 e4 ~@2",
// … 134 more lines

More by Rossi Vasco