Strudelify
Nord Sud Ovest Est cover art

Nord Sud Ovest Est

Nord Sud Ovest Est

883

KeyG majorTempo121 bpm
0:00/0:00
// Nord Sud Ovest Est — 883
// 121 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 135 bars on a 16-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.

// chords · piano · "NORD SUD OVEST"
const piano = note(`<
  ~@3 A B C D E F G H E F G I J K L M J K L M N O P Q R S T U V W X Y Z AA AB AC J K L AD E F G H E F G I J K L AE J AF
  L M AG O P Q R S T U V AH X Y Z AI AJ AK AL AM AN AM ~@8 AO K L AP AO K L AE N O P Q R S T U V AH AQ Y AR AS AB AT V W
  AQ Y AU AI AV AT V AH AQ AW Z AX AB AK V AY AQ Y AR AZ AB BA
>`.pickRestart({
  A: "[b3,d4,g4]@7 ~", B: "[a3,d4,f#4]@7 ~", C: "[b3,e4,g4]@6 ~@2 [a3,d4,f#4]@7 ~", D: "[g3,c4,e4]@5 ~ [a3,d4,f#4]@2",
  E: "[b3,d4,g4] ~@3 [b3,d4,g4]@5 ~ [b3,d4,g4] ~@2 [g3,c4] ~ c4, ~@13 e4@2 ~", F: "[a3,d4,f#4]@9 ~ [a3,d4,f#4]@5 ~",
  G: "[b3,d4,g4] ~@3 [b3,d4,g4]@4 ~@2 [b3,d4,g4] ~@2 [g3,c4,e4]@2 ~", // G C
  H: "[a3,d4,f#4]@8 ~@2 [a3,d4,f#4] ~@2 [g3,c4,e4]@3", // D C
  I: "~ d5 ~ d5 ~ d5 ~ d5 ~ d5 [a3,d4,f#4] d5 ~ [g3,c4,e4]@3, [a3,d4,f#4]@8 ~@5 d5 ~@2", // D C D
  J: "[g4,b4,d5] ~@2 [g4,b4,d5] ~@2 [g4,b4,d5] ~ d5 ~ [g4,b4,d5] ~@2 [g4,c5]@2 ~, ~@13 e4 ~@2", // G C5
  K: "[f#4,a4,d5]@2 ~ [f#4,a4,d5] ~@2 [f#4,a4,d5] ~@3 [f#4,a4,d5] ~@2 [e4,g4,c5]@2 ~", // D C
  L: "[g4,b4,d5] ~@2 [g4,b4,d5] ~@2 [g4,b4,d5] ~@3 [g4,b4,d5] ~@2 [e4,g4,c5]@2 ~", // G C
  M: "[d4,f#4,a4] ~@2 [d4,f#4,a4] ~ a4 [d4,f#4,a4] ~@3 [f#4,a4,d5] ~@2 [e4,g4,c5]@2 ~", N: "b4@3 c5, [e4,g4]",
  O: "[d4,f#4,a4]@7 ~", P: "b4@4 d5@4 a4@4 b4@3 ~, [d4,g4]@8 [d4,f#4]@7 ~", Q: "[c4,e4,g4]@11 ~ [d4,f#4,a4]@4",
  R: "[e4,g4,b4]@9 ~ [e4,g4,c5] ~@2 [e4,g4,b4]@3", S: "~@2 d5 a4, [d4,f#4]@15 ~, a4@3 ~",
  T: "b4@4 d5@3 ~ a4@4 b4@3 ~, [d4,g4]@7 ~ [d4,f#4]@7 ~", U: "[c4,e4,g4]@7 ~ [d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 ~",
  V: "[g2,d4,g4,b4] ~@2 [g2,d4,g4,b4] ~@2 [g2,d4,g4,b4] ~@2 [d4,g4,b4]@2 ~ [e4,g4,c5]@2 c2 ~, ~@9 g2 ~@2 c2 ~@3", // G C
  W: "[d2,d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d2,d4,f#4] ~@2 [d2,d4,f#4,a4] ~@2 [c4,e4,g4]@2 c2 ~, ~@3 d2@2 ~ a4@2 ~@4 c2 ~@3", // D C
  X: "[e2,b4]@2 ~ [e2,e4]@2 ~ [e2,e4,g4,b4] ~ [d2,d4,f#4] ~@2 [d2,d4,f#4,a4] ~@2 [d2,d4,f#4,a4] ~, [e4,g4] ~@2 [g4,b4] ~@4 a4@2 ~@6", // E5 E Em D Em G
  Y: "[c2,c4,e4,g4] ~@2 [c2,c4,e4,g4] ~@2 [c2,c4,e4,g4] ~@2 [c2,c4,e4,g4] ~@2 [d4,f#4,a4]@2 d2 ~, ~@12 d2 ~@3", // C D
  Z: "[d4,g4,b4]@2 ~ [g2,d4,g4,b4] ~@2 [d4,b4]@2 ~ [d4,g4,b4]@2 ~ [c2,e4,g4,c5] ~ [c2,e4,g4,c5] ~, g2 ~@5 [g2,g4] ~@2 g2 ~@6", // G C G
  AA: "[f#4,a4,d5] ~@2 [d2,f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [d2,f#4,a4]@2 ~ [e4,g4,c5]@2 c2 ~, d2@2 ~@4 d2@2 ~ d5 ~@2 c2 ~@3", // D C
  AB: "[e2,g4,b4]@2 ~ [e2,g4]@2 ~ [e2,e4,g4,b4] ~ [f#4,a4]@2 ~ [d4,f#4,a4]@2 ~ [d2,d4,f#4,a4] ~, e4 ~@2 [e4,b4] ~@4 [d2,d4] ~@2 d2 ~@4", // Em F#m D E5 D
  AC: "[c2,c4,e4,g4] ~@2 [c2,c4,e4,g4] ~@2 [c2,c4,e4,g4] ~ [f#4,a4]@2 ~ [d2,d4,f#4,a4] ~@2 [d4,f#4,a4] ~, ~@8 [d2,d4] ~@5 d2@2", // C F#m D
  AD: "[d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@3 [f#4,a4,d5] ~@2 [e4,g4,c5]@3", // D C
  AE: "[d4,f#4,a4] ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4] ~@3 [f#4,a4,d5] ~@2 [e4,g4,c5]@2 ~", // D C
  AF: "[f#4,a4] ~@2 [f#4,a4,d5] ~@2 [f#4,a4,d5] ~@3 [f#4,a4,d5] ~@2 [e4,g4,c5]@2 ~, d5 ~@7", // F#m D C
  AG: "b4@12 c5@3 ~, [e4,g4]", // Em
  AH: "[d2,d4,f#4,a4] ~@2 [d2,d4,f#4,a4] ~@2 [d2,d4,f#4] ~@2 [d2,d4,f#4,a4] ~@2 [c4,e4,g4]@2 c2 ~, ~@6 a4@2 ~@4 c2 ~@3", // D C
  AI: "[f#4,a4,d5] ~@2 [d2,f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [d2,f#4]@2 ~ c2 ~ c2 ~, d2@2 ~@4 d2@2 ~ [a4,d5] ~@2 [e4,g4,c5]@4", // D D5 C
  AJ: "[e2,g4,b4]@2 ~ [e4,g4,b4] ~@2 [e2,e4,g4,b4] ~ [f#4,a4]@2 ~ [d4,f#4,a4]@2 ~ [d2,d4,f#4,a4] ~, e4 ~@2 e2@2 ~@3 [d2,d4] ~@2 d2 ~@4", // Em F#m D
  AK: "[c2,c4,e4,g4] ~@2 [c2,c4,e4] ~@2 [c2,c4,e4,g4] ~ [f#4,a4]@2 ~ [d2,d4,f#4] ~@2 [d4,f#4,a4] ~, ~@3 g4@2 ~@3 [d2,d4] ~@2 a4@2 ~ d2@2", // C F#m D
  AL: "[g4,b4,d5] ~@2 [g4,b4,d5] ~@2 [b4,d5] ~@2 [g4,b4,d5] ~@2 [e4,g4,c5] ~ [e4,g4,c5] ~, ~@3 g4 ~@4", // G Bm G C
  AM: "[f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [e4,g4,c5] ~ [e4,g4,c5] ~", // D C
  AN: "[g4,b4,d5] ~@2 [g4,b4,d5] ~@2 [g4,b4,d5] ~@2 [g4,b4,d5] ~@2 [e4,g4,c5] ~ [e4,g4,c5] ~", // G C
  AO: "[g4,b4,d5] ~@2 [g4,b4,d5] ~@2 [g4,b4,d5] ~ d5 ~ [g4,b4,d5] ~@2 [e4,g4,c5]@2 ~", // G C
  AP: "[d4,f#4,a4] ~@2 [d4,f#4,a4] ~ a4 [d4,f#4,a4] ~@3 [f#4,a4,d5] ~@2 [e4,g4,c5]@3", // D C
  AQ: "[e2,b4]@2 ~ [e2,e4,g4,b4] ~@2 [e2,e4,g4,b4] ~ [d2,d4,f#4] ~@2 [d2,d4,f#4,a4] ~@2 [d2,d4,f#4,a4] ~, [e4,g4] ~@7 a4@2 ~@6", // E5 Em D Em
  AR: "[d4,g4,b4]@2 ~ [g2,g4,b4] ~@2 [d4,b4]@2 ~ [d4,g4,b4]@2 ~ [c2,e4,g4,c5] ~ [c2,e4,g4,c5] ~, g2 ~@2 d4@2 ~ [g2,g4] ~@2 g2 ~@6", // G C G
  AS: "[f#4,a4,d5] ~@2 [d2,f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [d2,f#4]@2 ~ [e4,g4,c5]@2 c2 ~, d2@2 ~@4 d2@2 ~ [a4,d5] ~@2 c2 ~@3", // D C D5
  AT: "[c2,c4,e4,g4] ~@2 [c2,c4,e4,g4] ~@2 [c2,c4,e4,g4] ~ [f#4,a4]@2 ~ [d2,d4,f#4] ~@2 [d4,f#4,a4] ~, ~@8 [d2,d4] ~@2 a4@2 ~ d2@2", // C F#m D
  AU: "[d4,g4,b4]@2 ~ [g2,d4,g4,b4] ~@2 [d4,g4,b4]@2 ~ [d4,g4,b4]@3 [c2,e4,g4,c5] ~ [c2,e4,g4,c5] ~, g2 ~@5 g2 ~@2 g2 ~@6", // G C
  AV: "[e2,g4,b4]@2 ~ [e4,g4,b4] ~@2 [e2,e4,g4,b4] ~ [f#4,a4]@2 ~ [d2,d4,f#4,a4] ~@2 [d2,d4,f#4,a4] ~, e4 ~@2 e2@2 ~@3 [d2,d4] ~@7", // Em F#m D
  AW: "[c2,c4,e4,g4] ~@2 [c2,c4,e4,g4] ~@2 [c2,c4,e4,g4] ~@2 [c4,e4,g4] ~@2 [d4,f#4,a4]@2 d2 ~, ~@9 c2@2 ~ d2 ~@3", // C D
  AX: "[d2,f#4,a4,d5] ~@2 [d2,f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [d2,f#4]@2 ~ [e4,g4,c5]@2 c2 ~, ~@6 d2@2 ~ [a4,d5] ~@2 c2 ~@3", // D C D5
  AY: "[d2,d4,f#4,a4] ~@2 [d2,d4,f#4,a4] ~@2 [d2,d4,f#4] ~@2 [d4,f#4,a4] ~@2 [c4,e4,g4]@2 c2 ~, ~@6 a4@2 ~ d2@2 ~ c2 ~@3", // D C
  AZ: "[d2,f#4,a4,d5] ~@2 [d2,f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [d2,f#4,a4]@2 ~ [e4,g4,c5]@2 c2 ~, ~@6 d2@2 ~ d5 ~@2 c2 ~@3", // D C
  BA: "[a1,c4,e4,g4]@8 [d2,c5] [d2,b4] ~ [d2,a4] ~ [d2,g4] ~ [g2,g4]", // Am7 D7 G D5 G5 G
})).s("gm_piano").gain(0.34).pan(0.4)

// bass · acoustic bass · "BASSO"
const bass = note(`<
  ~@3 A B C D A B A E A B A E A B A E F B A G H I J K H I J L A B C D A B C M A B A E A B A E A B A E A B A E F B A G N
  I J K O I J L A B C P A B C Q A B F E ~@8 A B A R A S A T N I J K H I U L A B C D A B C Q A B C D A B C V A B C P A B
  C M A B C D A B C W
>`.pickRestart({
  A: "g2 ~@2 g2 ~@2 g2 ~@2 g2 ~@2 c2 ~ c2 ~", B: "d2 ~@2 d2 ~@2 d2 ~@2 d2 ~@2 c2 ~ c2 ~",
  C: "e2 ~@2 e2 ~@2 e2 ~ d2 ~@2 d2 ~@2 d2 ~", D: "c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 d2 ~ d2 ~",
  E: "d2 ~@2 d2 ~@2 d2!2 ~ d2 ~@2 c2 ~ c2 ~", F: "g2@2 ~ g2 ~@2 g2 ~@2 g2 ~@2 c2 ~ c2 ~",
  G: "d2 ~@2 d2 ~@2 d2!2 ~ d2 ~@2 c2@2 d2@2", H: "e2 ~@2 e2 ~@2 e2@2 ~ e2 ~@2 e2 ~ e2 ~",
  I: "d2 ~@2 d2 ~@2 d2 ~@2 d2 ~@2 d2 ~ d2 ~", J: "g2 ~@2 g2 ~@2 g2 ~ d2 ~@2 d2 ~@2 d2 ~",
  K: "c2 ~@2 c2 ~@2 c2 ~@2 c2 ~@2 c2 ~ d2@2", L: "c2 ~@2 c2 ~@2 c2 ~ d2@2 ~ d2@2 ~ d2 ~",
  M: "c2 ~@2 c2 ~@2 c2 ~ d2@2 ~ d2 ~@2 d2 ~", N: "e2@2 ~ e2 ~@2 e2@2 ~ e2 ~@2 e2 ~ e2 ~",
  O: "e2 ~@2 e2 ~@2 e2 ~@2 e2 ~@2 e2 ~ e2 ~", P: "c2 ~@2 c2 ~@2 c2 ~@2 c2@2 ~ d2 ~ d2 ~",
  Q: "c2@2 ~ c2 ~@2 c2 ~ d2@2 ~ d2 ~@2 d2 ~", R: "d2 ~ d2 ~@2 d2 ~ d2!2 ~@3 c2!2 ~@2",
  S: "d2 ~ d2 ~@3 d2 ~ d2 ~@3 c2 ~ c2 ~", T: "d2 ~ d2 ~@3 d2 ~ d2 ~@3 c2 ~ d2 ~",
  U: "g2 ~@2 g2 ~@2 g2 ~ d2@2 ~ d2 ~@2 d2 ~", V: "c2@2 ~ c2 ~@2 c2 ~ d2@2 ~ d2@2 ~ d2 ~",
  W: "a1@8 d2!2 ~ d2 ~ d2 ~ [f2,g2]", // Fsus2
})).s("gm_acoustic_bass").gain(0.41)

// chords · acoustic guitar nylon · "NYLON GT"
const acoustic_guitar_nylon = note(`<
  ~@3 A B C D E F E ~ G ~@2 H E F E ~ G ~@2 H ~@3 I@2 ~@3 A B J D A B J D K L M N E F E ~ G ~@2 H E F E ~ G ~@2 H ~@3
  O@2 ~@3 A B J D A B J D K P M N Q R Q S Q R Q S Q R Q S Q R Q S T U V W@2 X Y Z A B J D A B J D A B J D A B J D A B J
  D A B J D A B J D AA B J AB
>`.pickRestart({
  A: "[g4,d5] ~ [g4,d5]!2 ~@2 [g4,d5]!3 ~ [g4,d5]!2 ~ [e4,c5] ~ [a4,d5]", // G5 C D5
  B: "~@2 [f#4,d5]!2 ~@2 [f#4,d5]!4 ~ [f#4,d5] ~ [f#4,c5] ~ b4", // D F#dim
  C: "[e4,b4]@2 ~ [e4,b4] ~@2 [f#4,d5]!4 ~ [a4,d5] ~ [a4,d5] ~@2", // E5 D D5
  D: "[g4,d5] d5 ~ [g4,c5] ~@2 [g4,d5] d5 ~@2 [g4,d5]!2 ~ [g4,d5] ~ [g4,d5]", E: "~ [d4,d5] ~ [d4,d5]@13",
  F: "~ [d4,d5] ~ [d4,d5]@12 ~", G: "~@2 [d4,d5] [d4,d5]@7 ~@6",
  H: "~ [d4,d5] ~@3 [d4,d5] ~@3 [d4,d5] ~ [d4,d5] ~ [d4,d5] ~ d5", // D
  I: "[~@7 [c4,e4] [d4,f#4] [e4,g4] [f#4,a4] [g4,b4] [a4,c5] [b4,d5] [c5,e5] ~ e5 [e5,g5]!3 e5 [e5,g5] e5 [e5,g5] e5 [e5,g5]@2 ~@5, ~@15 [d5,f#5]@2 ~@15]/2", // C D Em F#m G Am Bm C …
  J: "[e4,b4]@3 [e4,b4] ~@2 [f#4,d5]!4 ~ [a4,d5] ~ [a4,d5] ~@2", // E5 D D5
  K: "[g4,b4] ~ g4 [g4,d5] ~ g4 [g4,b4] ~@2 [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,c5] ~ [f#4,a4]", // G G5 G C5 F#m
  L: "[f#4,a4]@2 d4 [a4,d5] ~ d4 [f#4,a4] ~@2 [a4,d5] ~ [d4,a4,d5] ~ [a4,c5] ~ [g4,b4]", // F#m D5 F#m D5 Am G
  M: "~@2 [g4,b4] [g4,d5] ~ g4 [g4,b4] ~@2 [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,c5] ~@2", // G G5 G Cmaj7
  N: "[f#4,a4] ~ d4 [f#4,a4,d5] ~ d4 [f#4,a4] ~@2 [f#4,a4,d5] ~ d4 ~ [e4,g4,c5]@3", // F#m D F#m D C
  O: "[~@7 [c4,e4] [d4,f#4] [e4,g4] [f#4,a4] [g4,b4] [a4,c5] [b4,d5] [c5,e5] [d5,f#5]@2 [e5,g5]!2 g5 e5 [e5,g5] e5 [e5,g5] e5 [e5,g5]@2 ~@5]/2", // C D Em F#m G Am Bm C …
  P: "[f#4,a4]@2 d4 [a4,d5] ~ d4 [f#4,a4]@2 ~ [a4,d5] ~ [d4,a4,d5] ~ [a4,c5] ~ [g4,b4]", // F#m D5 F#m D5 Am G
  Q: "[d4,b4]!2 ~ [d4,b4] ~@2 [d4,b4]!2 ~ [d4,b4] ~ [d4,b4] ~ [e4,c5]@3", // G C
  R: "[f#4,d5]!2 ~ [f#4,d5] ~@2 [f#4,d5]!2 ~ [f#4,d5] ~ [f#4,d5] ~ [e4,c5]@2 ~", // D C
  S: "[f#4,d5]!2 ~ [f#4,d5] ~@2 [f#4,d5] ~@3 [f#4,d5] f#4 d5 [e4,c5]@3", // D C
  T: "[e4,g4,b4] [e4,b4]!2 [e4,g4,b4] ~@2 [e4,g4,b4]!2 ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~@2", // Em E5 Em
  U: "[f#4,a4,d5] [f#4,d5]!2 [f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [f#4,a4,d5] ~@2 [f#4,a4,d5] ~ [f#4,d5] ~", // D
  V: "[d4,g4,b4] [d4,b4]!2 [d4,g4,b4] ~@2 [d4,g4,b4] a4 d4 [f#4,a4,d5] ~@2 [f#4,a4,d5]@2 ~@2", // G D
  W: "[[e4,g4,c5] ~@2 [e4,g4,c5] ~@3 c4 [d4,f#4] [e4,g4,c5] [f#4,a4] [g4,b4] [e4,g4,a4,c5] [b4,d5] [c5,e5] ~ e5 [e5,g5]!3 e5 [e5,g5] e5 [e5,g5] e5 [e5,g5]@2 ~ [e4,g4,b4] ~ [e4,b4] ~, ~@15 [d5,f#5]@2 ~@15]/2", // C D C F#m G Am7 Bm C …
  X: "[f#4,a4,d5] ~ [f#4,d5] [f#4,a4,d5] ~@2 [f#4,a4,d5] ~ [f#4,d5] ~ [f#4,a4,d5] [f#4,d5] ~ [f#4,a4,d5] [f#4,d5] ~", // D
  Y: "[d4,g4,b4] [d4,b4]!2 [d4,g4,b4] ~@2 [d4,g4,b4] ~@3 [f#4,a4,d5] ~@2 [f#4,a4,d5] ~ [f#4,d5]", // G D
  Z: "[e4,g4,c5] [e4,c5] ~ g4 ~@2 [e4,g4,c5] ~ [e4,c5] ~ [e4,g4,c5] [e4,c5] ~@4, ~ [e4,c5] ~@6", // C
  AA: "~@2 [g4,d5]!2 ~@2 [g4,d5]!3 ~ [g4,d5]!2 ~ [e4,c5] ~ [a4,d5]", // G5 C D5
  AB: "[a3,g4,c5,d5]@7 ~@2 b4 ~ [d4,a4] ~ [d4,g4] ~ g4, ~@4 [d4,c5] ~@3", // Am7 D5 G5 D7
})).s("gm_acoustic_guitar_nylon").gain(0.21).pan(0.4)

// chords · brass section · "BRASS"
const brass_section = note(`<
  ~@2 A B@2 C D@2 ~@4 E F ~@6 E F ~ G H I J K H I L M N I O P Q ~ R ~@9 E F ~@6 E F ~ G H I J K H I L M N I O P Q ~ R
  ~@9 E F ~@6 S ~@2 G H I J K H T L M N I O P Q U V M N I O P Q ~ R M N I O P Q ~ R M N I O P Q W X
>`.pickRestart({
  A: "~ [g3,d4,g4,d5,g5]@2 ~", // G5
  B: "[[g4,b4]@6 [g4,b4] [a4,c5] [b4,d5] [a4,c5] ~ [g4,b4] ~ [e4,g4] [f#4,a4]@7 ~@2 [a4,c5]!3 ~ [a4,c5] ~ [a4,c5] [g4,b4]@2]/2", // G Am Bm Am G Em F#m Am …
  C: "~ [f#4,a4] [e4,g4]@4 ~ [g4,b4]!2 [f#4,a4] ~ [f#4,a4] ~ [e4,g4]@2 ~", // F#m Em G F#m Em
  D: "[[g4,c5] [g4,b4] ~ [f#4,a4] ~ [e4,g4]@2 ~ [g4,c5] [g4,b4] ~ [f#4,a4] ~ [e4,g4] [d4,g4]@18]/2", // C5 G F#m Em C5 G F#m Em …
  E: "~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4]", F: "[g4,b4] ~@15",
  G: "~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~@8", H: "~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~@8",
  I: "~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] [f#4,a4] ~@7", J: "~ [e4,g4] ~ [e4,g4] ~@12",
  K: "~@3 [g4,b4] ~ [g4,b4] ~ [g4,b4] ~@8", L: "~ [e4,g4] ~ [e4,g4]!3 ~ [e4,g4] ~ [e4,g4] ~ e4 [g4,c5] ~ [c5,e5]@2",
  M: "[b4,d5]", N: "~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4]@3 [f#4,a4] ~@7",
  O: "[e4,g4]!2 ~ [e4,g4] ~ [e4,g4] ~ [e4,g4]!2 ~@7", P: "~ [g4,b4] ~ [g4,b4] ~ [g4,b4]!3 ~@8",
  Q: "~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4]!3 ~@8", R: "~ [e4,g4] ~ [e4,g4] ~ [e4,g4] ~ [e4,g4]!2 ~@7",
  S: "[f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] ~ [f#4,a4] [g4,b4]", // F#m G
  T: "~ [g4,b4] ~ [g4,b4] ~ [g4,b4] ~ [g4,b4] f#4@2 ~@6, ~@8 a4 ~@7", U: "~@3 [g4,b4] ~ [g4,b4] ~ [g4,b4] [f#4,a4] ~@7",
  V: "~ [e4,g4] ~ [e4,g4] g4!2 ~ [e4,g4] ~ [e4,g4] ~ e4 [g4,c5] ~ [c5,e5]@2, ~@2 e4 ~@5", W: "[g4,b4]@8 [f#4,a4]@7 ~",
  X: "[g4,c5] [g4,b4] ~ [f#4,a4] ~ [e4,g4] ~@2 [g4,c5] [g4,b4] ~ [f#4,a4] ~ [e4,g4] ~ [d4,g4]", // C5 G F#m Em C5 G F#m Em …
})).s("gm_brass_section").gain(0.52).pan(0.4)

// chords · electric guitar clean · "CLEAN GT"
const electric_guitar_clean = note(`<
  ~@23 A B C D A B C E F G H I F G H I J K L M J N L M J K L M J N L M J N L M A B C E A B C E F G H I F G H I J K L M J
  N L M J N L M J N L M J K L M A B C D A B C E F G H I F G H I F G H I F G H I F G H I F G H I F G H I F G H O
>`.pickRestart({
  A: "[b3,e4,g4] ~@2 [b3,e4,g4] ~@2 [b3,e4,g4] ~@3 [b3,e4,g4] ~@2 [b3,e4,g4] ~@2", // Em
  B: "[a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@3 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~ g4", // D
  C: "[b3,d4,g4] ~@2 [b3,d4,g4] ~@2 [b3,d4,g4] ~@3 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2", // G D
  D: "[g3,c4,e4] ~@2 [g3,c4,e4] ~@2 [g3,c4,e4] ~@3 [g3,c4,e4] ~@2 [a3,d4,f#4]@2 ~", // C D
  E: "[g3,c4,e4] ~@2 [g3,c4,e4] ~@2 [g3,c4,e4] ~@2 [a3,d4,f#4] ~@2 [a3,d4,f#4]@3 ~", // C D
  F: "~@2 [b3,d4,g4] ~@2 [b3,d4,g4] ~@4 [b3,d4,g4] ~@2 [b3,d4,g4] ~@2", // G
  G: "~@2 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@4 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2", // D
  H: "~@2 [b3,e4,g4] ~@2 [b3,e4,g4] ~@4 [a3,d4,f#4] ~@2 [a3,d4,f#4] ~@2", // Em D
  I: "~@2 [g3,c4,e4] ~@2 [g3,c4,e4] ~@4 [g3,c4,e4] ~@2 [a3,d4,f#4]@2 ~", // C D
  J: "[b3,d4,g4] g3!2 [b3,d4,g4] g3!2 [b3,d4,g4] ~@3 [b3,d4,g4] g3 ~ [c4,e4]@2 ~", // G C
  K: "[a3,d4,f#4] d3!2 [a3,d4,f#4] d3!2 [a3,d4,f#4] ~@2 d3 [a3,d4,f#4] ~@2 [d3,c4,e4]@2 ~", // D C
  L: "[b3,d4,g4] g3!2 [b3,d4,g4] g3!2 [b3,d4,g4] ~ g4 g3 [b3,d4,g4] ~@2 [c4,e4]@2 ~", // G C
  M: "[a3,b3,d4,f#4] d3!2 [a3,d4,f#4] d3!2 [a3,d4,f#4] ~@2 d3 [a3,d4,f#4] ~@2 [c4,e4]@2 ~", // Bm7 D C
  N: "[a3,d4,f#4] d3!2 [a3,d4,f#4] d3!2 [a3,d4,f#4] ~@2 d3 [a3,d4,f#4] ~@2 [d3,c4,e4] ~@2", // D C
  O: "c5 b4 ~ a4 ~ g4 ~@2 c5 b4 ~ a4 ~ g4 ~ [g3,g4], a2@7 ~ d3@7 ~", // G
})).s("gm_electric_guitar_clean").gain(0.13).pan(0.6)

// other · trumpet
const trumpet = note("<~@38 A B C D E ~@31 F G H I J K ~@38 L M N O P@3 Q R S T U V@2 W@2 X>".pickRestart({
  A: "~@9 g4 a4 b4 c5 d5 e5 f#5", B: "g5@8 ~ g5 ~ a5 b5 [b5,c6] g5 ~", C: "~ a5@2 d5@6 a5 ~ b5 c6@2 a5@2",
  D: "b5@8 ~@4 b5 g5 e6@2", E: "d6@11 d6 [b5,c6] [d5,e5,f5,g5,a5] [b4,c5] ~", F: "~@9 d4 g4 b4 d5 b4 c5 d5",
  G: "b4@3 g4 ~@5 d4 g4 b4 d5 b4 c5 d5, a#4 ~@15", H: "[d#5,e5] ~ e5 d5@5 ~ d5 e5 f#5 g5 f#5 g5 a5",
  I: "b5@2 ~ d5 ~ b4@2 b5@3 g5 ~ b5 ~ d6 b5, ~ g5 ~@6",
  J: "c6 b5 a5 g5 f#5 ~ d5 c#5 c5 b4 a4 [g4,b4] c5 [a4,b4] g4 f#4, ~@5 e5@2 ~@9", // G Asus2
  K: "g4@4 [a4,b4,c5] [d5,e5,f5] [g5,a5,b5] [c6,d6,e6] ~@8", L: "~@9 b4 ~ c5 d5 e5 d5 c#5",
  M: "d5@6 ~@3 b4 ~ c5 d5 e5 d5 c#5", N: "e5 ~ e5 d5@4 ~@2 d5 e5 f#5 g5 a5 b5 c6", O: "d6 [b5,c6] [g5,a5] ~@13",
  P: "[~ e5 g5!2 a5 g5 a#5!2 a5 a#5 a5 a#5 a5 g5 e5 g5@3 b5@2 ~@5 g5!2 a5 b5 a5 g5 a5@4 d6@12 [c6,c#6]]/3", // C#maj7
  Q: "b5@7 ~@5 b5 c6 b5 a5", R: "g5 f#5 f5 e5 d5 c5 b4 c5 d5 d#5 e5 g5 a5 ~ a#5!2",
  S: "a5 a#5 ~ a5 a#5!2 a5 a#5 ~@2 a#5!2 a5 a#5 ~@2", T: "~@2 d6!2 c#6 d6 ~ c#6 d6!2 c#6 d6 ~@4",
  U: "~@12 d6@3 [e6,f6]", V: "[g6@31 ~]/2", W: "[~ d5 f#5 g5 a5 ~ c6 c#6 d6@20 ~@4, ~@5 b5@2 ~@25]/2",
  X: "c6 b5 ~ a5 ~ g5 ~@2 c6 b5 ~ a5 ~ g5 ~ g5",
})).s("gm_trumpet").gain(0.48).pan(0.6)

// other · distortion guitar · "DISTORTION"
const distortion_guitar = note("<[a3 ~ a3 a2@2 ~@3] ~@134>").s("gm_distortion_guitar").gain(0.22).pan(0.4)

// drums · kick
const kick = s("bd").struct("<~@3 A@11 B A@7 B A@19 B A@7 B A@7 B A@19 B A@7 B A@7 B A@38 C D>".pickRestart({
  A: "x!4", B: "x!2", C: "x ~ x ~ x ~ x!2", D: "x ~@14 x",
})).gain(0.64)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A@11 B A@7 B A@7 C A@11 B A@7 B A@7 B A@7 C A@11 B A@7 B A@7 D A@7 C A@30 C E
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@4 x ~@2 x ~ x!2", C: "~@4 x ~@6 x!2 ~@3", D: "~@4 x ~@4 x ~@2 x!3 ~", E: "~ x!2 ~",
})).gain(0.64)

// drums · clap
const clap = s("cp").struct("<~@2 A ~@12 B@8 ~@16 B@4 ~@8 B@8 ~@16 B@4 C@16 ~@40>".pickRestart({
  A: "~@13 x ~@2", B: "~ x ~@2", C: "~ x ~ x",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct(`<
  A ~ B C@20 D@4 E D@2 F G H@3 G H@3 C@20 D@4 E D@2 F G H@3 G H@3 C@15 I J C K L E D@3 E D@2 F G H@3 G H@3 G H@3 G H@3 G
  H@3 G H@3 M H@3 G H@2 N
// … 57 more lines

More by 883