Strudelify

Danza Ungherese n. 8 in la minore - Presto

Johannes Brahms

KeyG minorTempo120 bpm
0:00/0:00
// Danza Ungherese n. 8 in la minore - Presto — Johannes Brahms
// 120 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 76 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · piano · "CZARDAS"
const bass = note(`<
  A@4 B@2 C D E F@2 G H I@2 J K L M N O P Q@3 L R S T U V W@2 X Y@2 Z AA@4 AB@6 AC@4 AD@2 AE AF AD AG AH AI AJ AK AL AM
  AN AO AP@2 AQ AR AS AT AU AV AW@2 ~
>`.pickRestart({
  A: "[~@15 g2@3 ~@4 d2@4 ~@5 g2@3 ~@4 d2@4 ~@4 g2@4 ~@4 c2@4 ~@5 g2@3 ~@4 d2@4 ~@5 g2@3 ~@4 c2@4 ~@5 g2@3 ~@4 d2@4 ~@5 gb2@3 ~@4 d2@3 ~@5 g2@2]/4",
  B: "[~@6 d2@3 ~@5 g2@3 ~@5 d2@4 ~@4 g2@4 ~@4 d2@4 ~@4 g2@4 ~@4 c2@4 ~@4 g2@2]/2", C: "~@3 d2@2 ~@11",
  D: "~@14 d2@3 ~@9 d3@3 ~ g2@2", E: "~@2 g2@4 g1@3 ~@6 g2@3 ~@4 d2@4 ~@4 g2@2",
  F: "~@6 d2@4 ~@4 g2@3 ~@5 c2@4 ~@4 g2@2", G: "~@6 d2@4 ~@4 gb2@3 ~@5 d2@4 ~@4 g2@2",
  H: "~@6 d2@4 ~@4 g2@3 ~@5 d2@4 ~@4 g2@2", I: "[~@6 d2@4 ~@4 g2@3 ~@5 c2@4 ~@4 g2@4 ~@4 d2@4 ~@22]/2",
  J: "~@14 d2@3 ~@9 d2@3 ~ g2@2", K: "~@6 g1@3 ~@5 b1@3 ~@5 g1@4 ~@4 b1@2", L: "~@6 g1@3 ~@5 c2@3 ~@5 g1@4 ~@4 c2@2",
  M: "~@6 bb1@4 ~@4 a1@3 ~@5 f1@4 ~@4 a1@2", N: "~@6 f1@4 ~@4 bb1@3 ~@5 f1@3 ~@5 bb1@2",
  O: "~@6 f1@4 ~@4 gb2@3 ~@5 d2@4 ~@4 gb2@2", P: "~@3 d2@2 ~@2 eb2@2 ~@2 bb1@2 ~@2 eb2",
  Q: "[~@6 bb1@4 ~@4 gb2@4 ~@10 d2@2 e2@4 ~@4 gb2@2 ~@6 g2@3 ~ g2@8 ~@4 g1@12 ~@4 b1@3 ~@5 g1@4 ~@4 b1@2, ~@29 g2@4 ~@15]/3",
  R: "~@6 bb1@3 ~@5 a1@3 ~@5 f1@3 ~@5 a1@2", S: "~@6 f1@4 ~@4 bb1@4 ~@4 f1@3 ~@5 bb1@2",
  T: "~@6 f1@4 ~@4 gb2@3 ~@4 d2@4 ~@5 gb2@2", U: "~@5 d2@4 ~@5 eb2@3 ~@4 bb1@4 ~@5 eb2@2",
  V: "~@5 bb1@4 ~@5 gb2@4 ~@9 d2@2 ~ e2@2",
  W: "[~@5 gb2@2 ~@7 g2@3 ~ g2@8 g2@3 ~ g1@12 ~@4 g1@3 d2@4 ~ g1@4 d2@3 g1@3]/2",
  X: "~ d2@4 g1@4 d2@4 g1@4 d2@4 g1@4 d2@4 g1@3",
  Y: "[~ d2@4 g1@4 d2@4 g1@4 d2@4 g1@4 d2@4 ~ g1@3 d2@4 g1@4 d2@4 g1@4 d2@4 g1@4 d2@4 g1@3]/2",
  Z: "~ d2@4 g1@4 d2@4 ~ g1@3 d2@4 g1@4 d2@4 g1@3",
  AA: "[~ d2@4 g1@4 d2@4 g1@4 d2@4 g1@4 d2@4 ~ g1@3 d2@4 g1@4 d2@4 g1@13 ~@3 g1@12 ~@4 g1@12 ~@4 g1@12 ~@4 g1@3 ~ g2@4 e2@4 c2@4 g1@3]/4",
  AB: "[~ g2@7 ~@5 g1@12 ~@4 g1@12 ~@4 g1@12 ~@4 g1@13 ~@3 g1@4 c2@4 d2@4 d2@4 g1@8 g2@4 ~@4 g1@12 ~@4 g1@12 ~@4 g1@13 ~@3 g1@13 ~@3 g1@3 ~ g2@4 e2@4 c2@4 g1@3]/6",
  AC: "[~ g2@7 ~@5 g1@12 ~@4 g1@12 ~@4 g1@12 ~@4 g1@12 ~@4 g1@3 ~ c2@4 d2@4 d2@4 g1@8 g2@4 ~@4 g2@3 ~@5 d2@4 ~@4 g2@3]/4",
  AD: "~@5 d2@4 ~@4 g2@3 ~@5 c2@4 ~@4 g2@3", AE: "~@5 d2@4 ~@4 gb2@3 ~@5 d2@3 ~@5 g2@3",
  AF: "~@5 d2@4 ~@4 g2@3 ~@5 d2@4 ~@4 g2@3", AG: "~@5 d2@4 ~@23", AH: "~@13 d2@3 ~@9 d2@3 ~ g2@3",
  AI: "~@5 g1@3 ~@5 b1@3 ~@5 g1@4 ~@4 b1@3", AJ: "~@5 g1@3 ~@5 c2@4 ~@4 g1@4 ~@4 c2@3",
  AK: "~@5 bb1@4 ~@4 a1@3 ~@5 f1@4 ~@4 a1@3", AL: "~@4 f1@4 ~@5 bb1@3 ~@4 f1@4 ~@5 bb1@3",
  AM: "~@4 f1@4 ~@5 gb2@3 ~@4 d2@4 ~@5 gb2@3", AN: "~@4 d2@4 ~@5 eb2@3 ~@4 bb1@4 ~@5 eb2@3",
  AO: "~@4 bb1@4 ~@5 gb2@4 ~@9 d2@2 ~ e2@3",
  AP: "[~@4 gb2@2 ~@6 g2@3 ~ g2@8 g2@4 ~ g1@12 ~@4 b1@3 ~@4 g1@4 ~@4 b1@3 ~]/2",
  AQ: "~@4 g1@4 ~@4 c2@4 ~@4 g1@4 ~@4 c2@3 ~", AR: "~@4 bb1@4 ~@4 a1@3 ~@5 f1@4 ~@4 a1@3 ~",
  AS: "~@4 f1@4 ~@4 bb1@3 ~@5 f1@4 ~@4 bb1@3 ~", AT: "~@4 f1@4 ~@4 gb2@3 ~@5 d2@4 ~@4 gb2@4",
  AU: "~@4 d2@4 ~@4 eb2@4 ~@4 bb1@4 ~@4 eb2@3 ~", AV: "~@2 bb1@2 ~@2 gb2@2 ~@5 d2 e2@2",
  AW: "[~@2 gb2 ~@3 g2@2 g2@4 g2@2 g1@6 ~@2 c2@2 ~@2 d2@2 ~@2 g2@2]/2",
})).s("gm_piano").gain(0.4)

// chords · piano · "THIS SONG" · Gm Cm Gm Cm Gm D7 Gm Cm …
const piano = note(`<
  [~@9 [d3,bb3]@2 ~@2 [d3,bb3]@2 ~]
  [~@2 [d3,bb3]@4 ~@4 [d3,bb3]@4 ~@4 [eb3,c4]@7 ~ [eb3,c4]@4 ~@2]
  [~@3 [d3,bb3]@3 ~@4 [d3,bb3]@4 ~@4 [eb3,c4]@7 ~ [eb3,c4]@4 ~@2]
  [~ [d3,bb3]@2 ~@2 [d3,bb3]@2 ~@2 [d3,c4]@2 ~@2 [d3,c4]@2 ~]
  [~@2 [d3,bb3]@4 ~@4 [d3,bb3]@4 ~@4 [d3,bb3]@4 ~@4 [d3,bb3]@3 ~@3]
  [~ [d3,bb3]@2 ~@2 [d3,bb3]@2 ~@2 [eb3,c4]@2 ~@2 [eb3,c4]@2 ~]
  [~ [d3,bb3]@2 ~@2 [d3,bb3]@2 ~@9]
  ~@69
>`).s("gm_piano").gain(0.29)

// chords · cello · "THIS SONG"
const cello = note("<~@6 A B C ~@7 D@2 E@2 F G H@4 E@2 I J K@8 ~@20 L@5 M@2 ~@11>".pickRestart({
  A: "~@14 g3@3 ~ bb3@3 ~ f3@3 ~ a3@3 ~ eb3@2", B: "~@2 g3@3 ~ d3@3 ~ bb3@3 ~ d3@3 ~ c4@3 ~@5 [d3,c4]@3 ~@3",
  C: "~@3 g4@2 ~@11, ~ [d3,bb3]@4 ~@11", D: "[~@7 d5@4 d5@4 eb5@6 d5@2 ~@2 c5@4 b4 c5 d5]/2",
  E: "[c5@2 b4@2 d5@2 c5@4 ~@4 c5@7 ~ c5@8 d5@12 c5@4 ~@4 bb4@8 a4@2 bb4@2 c5@2]/2",
  F: "bb4 a4 c5 bb4@2 ~@4 [c4,d4]@2 ~@2 [c4,d4]@2 ~", G: "~ [d3,d4]@2 ~@2 [d3,d4]@2 ~@2 [bb3,eb4]@2 ~@2 [bb3,eb4]@2 ~",
  H: "[~@2 [bb3,eb4]@4 ~@4 d4@4 [d3,a3]@4 ~@10 d3@2 e3@4 ~@4 gb3@4 ~@4 [g3,d4]@4 [g3,d4]@8 [g3,d4]@4 [a3,eb4]@8 [g3,d4]@4 ~@4 d5@7 ~ d5@8 eb5@12 d5@4 ~@4 c5@8 b4@2 c5@2 d5@2, ~@5 bb3@4 ~@55]/4", // Eb5 D5 G5 Adim G5
  I: "bb4@2 ~ c5@2 ~ bb4@4 ~@7 [c4,d4]@4 ~@4 [c4,d4]@4 ~@3, ~ a4 ~@14", // Csus2
  J: "~@2 [d3,d4]@4 ~@3 [d3,d4]@4 ~@5 eb4@4 ~@3 [bb3,eb4]@4 ~@3, ~@17 bb3@4 ~@11", // D Eb5
  K: "[~ [bb3,eb4]@4 ~@4 [bb3,d4]@247]/8", // Eb5 Bb
  L: "[~@13 d5@8 d5@8 eb5@12 d5@4 ~@4 c5@8 b4@2 c5@2 d5@2 c5@2 b4@2 d5@2 c5@4 ~@4 c5@8 c5@8 d5@12 c5@4 ~@4 bb4@8 a4@2 bb4@2 c5@2 bb4@2 a4@2 c5@2 bb4@4 ~@8 d4@8 d4@7, ~@145 c4@4 ~@4 c4@4 ~@3]/5",
  M: "[~ d3@4 ~@4 d3@4 ~@4 bb3@8 eb4@4 ~@4 eb4@4 ~@27, ~ d4@12 ~@4 eb4@4 ~@4 bb3@12 ~@27]/2",
})).s("gm_cello").gain(0.31)

// chords · contrabass · "THIS SONG"
const contrabass = note("<~@8 A B C D E B F G H ~@13 I@3 J K L M N O@3 P@2 Q@8 ~@13 R S@2 ~@5 R T@2 ~>".pickRestart({
  A: "~@9 [bb3,g4]@2 ~@2 [bb3,g4]@2 ~", B: "~@2 [bb3,g4]@4 ~@4 [bb3,g4]@4 ~@4 [c4,a4]@7 ~ [c4,a4]@4 ~@2",
  C: "~@2 [bb3,g4]@4 ~@4 [bb3,g4]@4 ~@4 [c4,eb4]@7 ~ [c4,eb4]@4 ~@2", // Eb Cm
  D: "~ [bb3,g4]@2 ~@2 [bb3,g4]@2 ~@2 [a3,gb4]@2 ~@2 [a3,gb4]@2 ~", // Eb D
  E: "~ [bb3,g4]@2 ~@2 [bb3,g4]@2 ~@2 [bb3,g4]@2 ~@2 [bb3,g4]@2 ~", // Eb
  F: "~@2 [g3,bb3]@4 ~@4 [g3,bb3]@4 bb3@2 ~@2 eb4@3 ~ a3@2 ~@2 d4@2 ~@2 g3@2", // Gm
  G: "~@2 c4@3 ~ f3@2 ~@2 bb3@2 ~@6 [gb3,d4]@3 ~@5 [gb3,c4]@3 ~ [d3,bb3]@2", H: "~ [g3,d4]@2 [d3,bb3,g4]@2 ~@11",
  I: "[~@14 [d3,a3]@4 ~@9 d3@2 ~ e3@4 ~@3 gb3@4 ~@5 [g3,d4]@4 [g3,d4]@7 ~ d4@3 ~ [a3,eb4]@7 ~ d4@4 ~@4 g4@3 d4@4 ~ d4@3 d4@4 d4@3, ~@57 g3@3 ~@9 g3@4 ~@23]/3", // D5 G5 Adim
  J: "~ c4@4 b3@4 c4@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 g4@3", // G5
  K: "~ d4@4 d4@4 d4@4 d4@4 c4@4 b3@4 a3@4 ~ [b3,d4]@2", L: "~ [b3,d4]@4 [b3,d4]@4 [b3,d4]@4 g4@4 d4@4 d4@4 d4@4 d4@3",
  M: "~ c4@4 b3@4 c4@3 ~@2 d4@3 [g3,d4]@4 [g3,d4]@4 [g3,d4]@4 g4@3, ~@13 g3@3 ~@16", // G5
  N: "~ d4@4 d4@4 d4@4 d4@4 c4@4 b3@4 a3@4 [b3,d4]@3", // Bm
  O: "[~ [b3,d4]@4 [b3,d4]@4 [b3,d4]@4 [b3,d4]@13 ~@3 [c4,e4]@12 ~@4 [b3,d4]@12 ~@4 [a3,d4]@12 ~@4 [g4,b4]@3 ~ [g4,b4]@4 [a4,c5]@4 [a4,c5]@4 [b4,d5]@3]/3", // Bm C Bm D5 G Am Bm
  P: "[~@14 [b3,d4]@13 ~@3 [c4,e4]@13 ~@3 [c4,d4]@13 ~@3 [b3,d4]@2, ~ g4@7 ~@56, ~@5 d5@59]/2", // Bm C Csus2 Bm
  Q: "[~@14 b4@4 [a4,c5]@4 [g4,b4]@4 [gb4,a4]@3 ~ [g4,b4]@4 ~@4 g3@3 ~@5 [b3,d4]@13 ~@3 [c4,e4]@13 ~@3 [b3,d4]@13 ~@3 [a3,d4]@13 ~@3 [g4,b4]@4 [g4,b4]@4 [a4,c5]@4 [a4,c5]@4 b4@4 g4@4 [g4,b4]@3 ~@5 [b3,d4]@13 ~@3 [c4,e4]@13 ~@3 [a3,gb4]@13 ~@3 [b3,g4]@13 ~@3 b4@4 [a4,c5]@4 [g4,b4]@4 [gb4,a4]@4 [g4,b4]@4 ~@4 g3@3 ~@23, ~@7 d5@56 d5@42 ~@23, ~@34 d4@7 ~@185 d4@7 ~@23]/8", // Am G Gbm G Bm C Bm D5 …
  R: "~@13 [d3,a3]@4 ~@10 d3@2 e3@3", S: "[~@5 gb3@4 ~@4 [g3,d4]@4 [g3,d4]@8 [g3,d4]@4 [a3,eb4]@8 [g3,d4]@4 ~@23]/2",
  T: "[~@5 gb3@4 ~@4 [g3,d4]@4 [g3,d4]@8 [g3,d4]@4 [a3,eb4]@8 [g3,d4]@4 ~@4 [c3,a3,g4]@4 ~@4 [d3,a3,gb4]@4 ~@4 [d3,bb3,g4]@3]/2", // G5 Adim G5 Am7 D Gm
})).s("gm_contrabass").gain(0.22)

// chords · trombone · "THIS SONG"
const trombone = note("<~@50 A B@2 C D E F G H ~@17>".pickRestart({
  A: "~@9 [d3,bb3]@2 ~@2 [d3,bb3]@2 ~", B: "~@2 [d3,bb3]@4 ~@4 [d3,bb3]@4 ~@4 [eb3,c4]@7 ~ [eb3,c4]@4 ~@2",
  C: "~ [d3,bb3]@2 ~@2 [d3,bb3]@2 ~@2 [d3,c4]@2 ~@2 [d3,c4]@2 ~", // Gm D7
  D: "~ [d3,bb3]@2 ~@2 [d3,bb3]@2 ~@2 [bb3,g4]@2 ~@2 [bb3,g4]@2 ~", // Gm Eb
  E: "~@2 [bb3,g4]@4 ~@4 [bb3,g4]@4 ~@4 [c4,a4]@7 ~ [c4,a4]@4 ~@2", // Eb F
  F: "~ [g3,bb3]@2 ~@2 [g3,bb3]@2 bb3 ~ eb4 ~ a3 ~ d4 ~ g3", // Gm
  G: "~ c4@3 ~@2 f3@2 ~ bb3@3 ~@6 d4@3 ~@4 [gb3,c4]@3 ~ [d3,bb3]@3, ~@17 gb3@3 ~@12", // Gbdim Gm
  H: "~ [g3,d4]@4 ~ [d3,bb3,g4]@4 ~@22", // G5 Gm
})).s("gm_trombone").gain(0.18)

// other · piano · "HAS ON"
const piano_2 = note("<A@4 ~@72>".pickRestart({
  A: "[~@14 d4@12 g4@4 ~ bb4@11 g4@4 gb4@12 g4@2 a4@2 g4@16 eb4@12 f4@2 g4@2 d4@16 ~@2 bb3@2 bb3@2 a3@2 a3@6 d4@2 ~@2, ~@111 c4@2 ~@15]/4",
})).s("gm_piano").gain(0.36)

// chords · french horn · "HAS ON"
const french_horn = note("<~@4 A@3 ~@69>".pickRestart({
  A: "[~@7 d4@6 g4 bb4 d5@6 [g4,bb4]@2 [gb4,a4]@6 [g4,bb4] [a4,c5] [g4,bb4]@8 ~@9]/3", // Gm Gbm Gm Am Gm
})).s("gm_french_horn").gain(0.31)

// chords · clarinet · "HAS ON"
const clarinet = note("<~@8 A@7 B@6 C@8 D@4 E F G H F I ~@12 J@6 K@6 L@2 M@6 L@2 N@2 ~>".pickRestart({
  A: "[~@14 d5@12 g5@4 [d5,bb5]@12 [d5,g5]@4 [c5,gb5]@11 ~ g5@2 a5@2 [d5,g5]@16 [c5,eb5]@11 ~ [d5,f5]@2 [eb5,g5]@2 [bb4,d5]@16 c5@2 bb4@2 bb4@2 a4@2 a4@6 d5@2 g4@16 d4@6 g4@2 [g4,bb4]@4 [bb4,d5]@4 [bb4,d5]@11 ~ [bb4,g5]@4 [a4,gb5]@12 [bb4,g5]@2 [c5,a5]@2 [bb4,g5]@16 ~@18, ~@29 c5@2 ~@81]/7", // Gm G5 Cdim G5 Cm Dm Eb Bb …
  B: "[~@14 [a4,c5]@3 ~ [g4,bb4]@3 ~ [gb4,a4]@6 d5@2 [g4,bb4]@12 ~@4 [d5,f5]@7 ~ [d5,f5]@8 [eb5,g5]@12 [d5,f5]@4 ~@4 [c5,eb5]@8 b4@2 ~@10 c5@4 ~@4 [c5,eb5]@7 ~ [c5,eb5]@8 [d5,f5]@12 [c5,eb5]@4 ~@4 [bb4,d5]@8 a4@2 ~@10 bb4@4 ~@22, ~@45 eb5@2 d5@2 b4@2 ~@27 bb4@2 bb4@2 c5@2 ~@12, ~@46 c5@2 c5@2 d5@2 ~@25 d5@2 c5@2 a4@2 ~@13]/6", // Am Gm Gbm Gm Dm Eb Dm Cm …
  C: "[~@18 eb5@20 ~@8 a4@4 ~@10 d4@2 e4@4 ~@4 gb4@4 ~@4 g4@3 ~ [g4,bb4]@8 gb4@4 a4@2 ~@4 a4@2 [g4,bb4]@4 ~@4 [d5,f5]@7 ~ [d5,f5]@8 [eb5,g5]@12 [d5,f5]@4 ~@4 [c5,eb5]@8 eb5@2 ~@10 c5@4 ~@4 [c5,eb5]@7 ~ [c5,eb5]@8 [d5,f5]@11 [c5,eb5]@4 ~@5 d5@7 d5@2 bb4@3 ~ bb4@3 ~@3 bb4@4 ~@23, ~@38 d5@12 ~@28 a4 ~@15 c5@4 gb4@4 ~@54 c5@4 c5@4 d5@4 ~@54 c5@4 ~ c5@4 ~@25, ~@96 g4@4 ~@54 b4@4 d5@4 b4@4 ~@43 bb4@8 a4@4 ~@5 a4@4 ~@26]/8", // Gm Dm Eb Dm Cm Dm Cm
  D: "[~@17 eb5@20 ~@9 a4@4 ~@9 d4@2 ~ e4@4 ~@3 gb4@4 ~@5 g4@3 [g4,bb4]@8 gb4@4 ~@6 a4@2 [g4,bb4]@4 ~@4 [b4,g5]@4 [b4,d5]@4 ~ d5@3 [b4,d5]@4 [b4,d5]@3, ~@37 d5@12 ~@29 a4 ~@15 a4@4 ~@19 b4@3 ~@8, ~@94 c5@2 ~ gb4@4 ~@27, ~@95 g4@4 ~@29]/4", // Gm Em Bm
  E: "~ [a4,c5]@4 [g4,b4]@4 [a4,c5]@4 ~@4 [b4,d5]@4 ~@4 b4@4 g5@3, ~@25 d5@7", // Am G Am Bm
  F: "~ [b4,d5]@4 [b4,d5]@4 [b4,d5]@4 [b4,d5]@4 [a4,c5]@4 [g4,b4]@4 [gb4,a4]@4 ~@3", // Bm Am G Gbm
  G: "~ [g3,g4]@4 ~@4 [g3,g4]@4 [b4,g5]@4 [b4,d5]@4 [b4,d5]@4 [b4,d5]@4 [b4,d5]@3", // G Em Bm
  H: "~ [a4,c5]@4 [g4,b4]@4 [a4,c5]@4 ~@4 [b4,d5]@4 ~@4 [b4,d5]@4 [b4,g5]@3", I: "~ [g3,g4]@4 ~@4 [g3,g4]@4 ~@19",
  J: "[~@9 g4@4 gb4@12 g4@2 a4@2 g4@16 eb4@12 f4@2 g4@2 d4@16 c4@2 bb3@2 bb3@2 a3@2 a3@6 d4@2 g3@15 d4@6 g4@2 bb4@4 [bb4,d5]@4 [bb4,d5]@12 [bb4,g5]@4 [a4,gb5]@12 [bb4,g5]@2 [c5,a5]@2 [bb4,g5]@16 ~@20, ~@58 g4 ~@37]/6", // Bb Eb D Eb F Eb
  K: "[~@12 [a4,c5]@3 ~ [g4,bb4]@3 ~ [gb4,a4]@6 d5@2 [g4,bb4]@12 ~@4 [d5,f5]@8 [d5,f5]@8 [eb5,g5]@12 [d5,f5]@4 ~@4 [c5,eb5]@8 b4@2 ~@10 c5@4 ~@4 [c5,eb5]@8 [c5,eb5]@8 [d5,f5]@12 [c5,eb5]@4 ~@4 [bb4,d5]@8 a4@2 ~@10 bb4@4 ~@24, ~@44 eb5@2 d5@2 b4@2 ~@27 bb4@2 bb4@2 c5@2 ~@13, ~@45 c5@2 c5@2 d5@2 ~@25 d5@2 c5@2 a4@2 ~@14]/6", // Am Gm Gbm Gm Dm Eb Dm Cm …
  L: "[~@8 eb5@10 ~@4 a4@2 ~@5 d4 e4@2, ~@9 d5@3 ~@4]/2",
  M: "[~@4 gb4@4 ~@4 a4 g4@3 [g4,bb4]@8 gb4@4 a4@2 ~@4 a4@2 [g4,bb4]@4 ~@4 [d5,f5]@8 [d5,f5]@8 [eb5,g5]@12 [d5,f5]@4 ~@4 [c5,eb5]@8 eb5@2 ~@10 c5@4 ~@4 [c5,eb5]@8 [c5,eb5]@8 [d5,f5]@12 [c5,eb5]@4 ~@4 [bb4,d5]@8 d5@2 ~@10 bb4@4 ~@24, ~@14 c5@2 gb4@2 ~@27 c5@2 c5@2 d5@2 ~@26 bb4@2 bb4@2 c5@2 ~@13, ~@15 g4@2 ~@27 b4@2 d5@2 b4@2 ~@26 a4@2 c5@2 a4@2 ~@14]/6", // Gm Dm Eb Dm Cm Dm Cm Bb
  N: "[~@2 gb4@2 ~@2 g4@2 bb4@4 gb4@2 c5 ~@2 a4 [g4,bb4]@2 ~@2 [eb5,g5]@2 ~@2 [gb4,d5]@2 ~@2 [g4,g5]@2, ~@12 a4 ~@3 g4@3 ~@9 a4@4 gb4@4 ~@28, ~@15 g4@2 ~@15]/2", // Gm Eb D G
})).s("gm_clarinet").gain(0.3)

// chords · clarinet · "HAS ON" · soft notes
const clarinet_soft = note("<~@6 A B@2 ~@5 C D ~@40 E F ~@18>".pickRestart({
  A: "~@14 eb5@3 ~ g5@3 ~ d5@3 ~ f5@3 ~ c5@2",
  B: "[~@2 eb5@3 ~ bb4@3 ~ d5@3 ~ c5@2 bb4@2 gb4@2 a4@2 a4@4 ~@2 d5@2 g4@8 g5@4 ~@22, ~@9 bb4@2 ~@2 d3@2 ~@17]/2",
  C: "~@18 [eb5,g5]@3 ~@5 [d5,f5]@3 ~@3", D: "~@2 [c5,eb5]@3 ~@5 [bb4,d5]@3 ~@19",
  E: "~@16 [eb5,g5]@3 ~@5 [d5,f5]@3 ~@5", F: "[c5,eb5]@3 ~@5 [bb4,d5]@3 ~@21",
})).s("gm_clarinet").gain(0.19)

// other · piano · "EVERY"
const piano_3 = note("<A@6 ~@70>".pickRestart({
  A: "[~@7 d4@6 g4@2 bb4@6 g4@2 gb4@6 g4 a4 g4@8 eb4@6 f4 g4 d4@8 c4 bb3!2 a3 a3@3 d4 g3@8 [d4,d5]@6 [g4,g5] [bb4,bb5] [d5,d6]@6 [bb4,bb5]@2 [gb5,a5]@6 [g5,bb5] [a5,c6] ~]/6", // D G Bb D Bb Gbm Gm Am
})).s("gm_piano").gain(0.36)

// chords · string ensemble 2 · "EVERY"
const string_ensemble_2 = note("<~@6 A B@2 ~@67>".pickRestart({
  A: "~@9 bb4@2 ~@2 d5@2 ~",
  B: "[~ [eb4,c5]@2 ~@2 [f4,d5]@2 ~@2 [a3,gb4]@2 ~@2 [c4,d4]@2 ~@2 [bb3,d4]@2 [g3,d4,bb4,g5]@2 ~@11, ~@30 g4@7 ~@27]/2", // Cm Dm D Csus2 Bb Gm
})).s("gm_string_ensemble_2").gain(0.15)

// chords · synth strings 1 · "EVERY"
const synth_strings_1 = note("<~@8 A@7 B C@8 D@2 E@7 F G@2 H I@4 J@3 K@3 L@3 M@5 N@8 O@8 P@4 ~>".pickRestart({
  A: "[~@7 [d4,d5]@6 [g4,g5]@2 [bb4,bb5]@6 [g4,g5]@2 [gb4,gb5]@6 [g4,g5] [a4,a5] [g4,g5]@8 [c5,eb5]@6 [d5,f5] [eb5,g5] [bb4,d5]@8 c5 bb4!2 a4 a4@3 d5 g4@8 d4@3 [g3,g4] [bb3,bb4] [d4,d5] [g4,g5] [bb4,bb5] [d5,d6]@6 [bb4,bb5]@2 [gb5,a5]@6 [g5,bb5] [a5,c6] [g5,bb5]@8 ~@9]/7", // D G Bb G Gb G A G …
  B: "~@7 c5 bb4 ~ a4 a4@3 d5 g4, ~@9 bb4@7",
  C: "[~@2 [bb3,d4]@4 [g3,d4,g5]@4 ~@4 d6@8 d6@8 eb6@12 d6@4 ~@4 c6@8 b5@2 c6@2 d6@2 c6@2 b5@2 d6@2 c6@4 ~@4 c6@7 ~ c6@8 d6@12 c6@4 ~@4 bb5@8 a5@2 bb5@2 c6@2 bb5@2 a5@2 c6@2 bb5@4 ~@4 a5@16 c6@4 bb5@8 a5@8 g5@8 gb5@2 g5@2 a5@2 g5@2 gb5@2 a5@2 g5@4 ~@4 [a3,gb4,d5]@4 ~@10 [d4,d5]@2 e4@4 ~@4 gb4@4 ~@4 g5@3 ~ g5@8 gb5@2 g5@2 a5@2, ~@3 bb4@125, ~@238 a5 ~@17]/8", // Bb G5 D
  D: "[g5@2 gb5@2 a5@2 g5@4 ~@4 d6@7 ~ d6@8 eb6@12 d6@4 ~@4 c6@8 ~ c6@2 ~ d6@2, ~@29 b5 ~@2]/2",
  E: "[c6@2 ~ d6@2 ~ c6@4 ~@4 c6@7 c6@8 ~ d6@11 c6@4 ~@4 bb5@8 a5@2 bb5@2 ~@2 bb5@2 ~@2 c6@2 bb5@4 ~@5 a5@16 c6@3 bb5@8 a5@8 g5@8 gb5@2 g5@2 ~@2 g5@2 gb5@2 a5@2 g5@4 ~@5 [a3,gb4,d5]@4 ~@9 [d4,d5]@2 ~ e4@4 ~@3 gb4@4 ~@4 a5 g5@3 g5@8 gb5@2 g5@2 a5@2 g5@2 gb5@2 a5@2 g5@4 ~@4 g4@4 b4@4 b4@4 b4@4 b4@3, ~ b5 ~@29 c6 ~ a5 ~@29 a5 ~@48]/7", // D
  F: "~ a4@4 g4@4 a4@4 [g4,b4]@8 [g4,b4]@8 g4@3", // G
  G: "[~ b4@4 b4@4 b4@4 b4@4 a4@4 g4@4 gb4@4 [g3,d4]@8 [g3,d4]@8 g4@4 b4@4 b4@4 b4@4 b4@3]/2", // G5
  H: "~ a4@4 g4@4 a4@4 [g4,b4]@7 ~ [g4,b4]@8 g4@3", // G
  I: "[~ b4@4 b4@4 b4@4 b4@4 a4@4 g4@4 gb4@4 [g3,d4]@8 [g3,d4]@8 [g3,g4]@13 ~@3 [g3,g4]@12 ~@4 [g3,g4]@12 ~@4 [a3,gb4]@12 ~@4 g5@3 ~ g5@4 a5@4 a5@4 b5@3]/4", // G5 G D
  J: "[~ [g5,g6]@4 b5@3 ~@5 [g3,g4]@12 ~@4 [g3,g4]@12 ~@4 [gb4,a4]@12 ~@4 [g4,b4]@12 ~@4 b5@4 a5@4 g5@4 gb5@4 d5@3]/3", // G Gbm G
  K: "[~ b4@4 d4@3 ~@5 [g3,g4]@12 ~@4 [g3,g4]@13 ~@3 [g3,g4]@13 ~@3 [gb4,a4]@13 ~@3 g5@3 ~ g5@4 a5@4 a5@4 b5@3, ~ g6@7 ~@88]/3", // G Gbm
  L: "[~ [g5,g6]@4 b5@3 ~@5 [g3,g4]@12 ~@4 [g3,g4]@12 ~@4 [d4,c5]@12 ~@4 [d4,b4]@12 ~@4 b5@4 a5@4 g5@4 gb5@4 d5@3]/3", // G D7 G
  M: "[~ g6@4 d4@3 ~@5 d4@12 g4@4 ~@12 g4@4 gb4@12 g4@2 a4@2 g4@16 eb4@12 f4@2 g4@2 d4@16 c4@2 bb3@2 bb3@2 a3@2 a3@6 d4@2 g3@16 d4@6 [g3,g4]@2 bb3@2 [d4,d5]@2 [g4,g5]@2 bb5@2 [d5,d6]@3, ~ b4@7 ~@21 bb4@120 bb4@6 bb4@5]/5", // G D G D
  N: "[~@9 bb5@4 [gb5,a5]@12 [g5,bb5]@2 [a5,c6]@2 ~@49 bb4@3 ~ a4@2 a4@6 d5@2 ~@5 [bb3,d4]@4 [g3,d4]@4 ~@4 d6@8 d6@8 eb6@12 d6@4 ~@4 c6@7 b5@2 c6@2 ~@2 c6@2 b5@2 d6@2 c6@4 ~@5 c6@7 c6@8 ~ d6@11 c6@4 ~@4 bb5@8 a5@2 bb5@3 ~@3 a5@2 c6@2 ~@9 a5@15 c6@4, ~@9 bb4@68 c5@2 ~@2 bb4@24 ~@52 d6@2 ~@62 c6@2 ~@33, ~@29 bb5@179 ~@14 bb5@6 bb5@28, ~@29 g5@72 g5@155, ~@93 g4@7 ~@156]/8", // Gbm Gm Am Bb G5
  O: "[~@8 a5@8 g5@8 gb5@2 ~@2 a5@2 ~@2 gb5@2 a5@2 ~@9 [a3,gb4,d5]@4 ~@9 [d4,d5]@2 e4@4 ~@4 gb4@4 ~@4 a5 g5@3 g5@8 gb5@2 ~@2 a5@2 ~@2 gb5@2 a5@2 ~@8 d6@7 ~ d6@8 eb6@12 d6@4 ~@4 c6@8 b5@2 c6@2 d6@2 c6@2 b5@2 d6@2 c6@4 ~@4 c6@8 c6@8 d6@12 c6@4 ~@4 bb5@8 a5@2 ~@2 c6@2 ~@2 a5@2 c6@2 ~@8 a5@16 c6@4, bb5@104 ~@5 bb5@2 bb5@3 bb5@14, ~@26 g5@4 g5@6 g5@41 ~@13 g5@4 g5@6 g5@156]/8", // D
  P: "[~@4 a5@4 g5@4 gb5 ~ a5 ~ gb5 a5 ~@4 [a3,gb4,d5]@2 ~@5 [d4,d5] e4@2 ~@2 gb4@2 ~@2 g5@2 g5@4 gb5 ~ a5 ~ gb5 a5 ~@4 [c4,g4,eb5]@2 ~@2 [a3,gb4,d5]@2 ~@2 [bb3,g4,d5]@2, ~@26 g5@4 g5@6 g5@40 a5 ~@13 g5@4 g5@6 g5@28]/4", // D Cm D Gm
})).s("gm_synth_strings_1").gain(0.28)

// other · woodblock · "EVERY"
const woodblock = note(`<
  ~@14
  [~@7 bb4@4 bb4@2 ~@2 bb4]
  [~@3 bb4@2 ~@11]
  ~@40
  [~@13 bb4@3 ~@5 bb4@4 ~@4 bb4@3]
  [~@5 bb4@4 ~@23]
  ~@18
>`).s("gm_woodblock").gain(0.8)

// other · piano · "TRACK"
const piano_4 = note(`<
  A B C D E F G H I J K L E M N@3 O P Q R S@2 T@2 U V W X Y@2 Z@2 AA AB@2 AA AC@2 ~ AD AE ~ AF@4 AG@4 AH AI AJ AK AL
  AM@3 AN AO AP AQ AR AS AT@2 AU AV AW AQ AR AX AY@2 ~
>`.pickRestart({
  A: "~@14 g2@3 ~ [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ g2@2", // Gm
  B: "~@2 [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ g2@3 ~ [g3,c4]@3 ~ d3@3 ~ [g3,c4]@3 ~ g2@2", // Gm C5
  C: "~@2 [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ g2@3 ~ [eb3,c4]@3 ~ eb3@3 ~ [eb3,c4]@3 ~ g2@2", // Gm Cm
  D: "~@2 [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ gb3@3 ~ d4@3 ~ d3@3 ~ a3@3 ~ g2@2", // Gm
  E: "~@2 [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ g2@3 ~ [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ g2@2", // Gm
  F: "~@2 [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ g2@3 ~ [eb3,c4]@7 ~ [eb3,c4]@3 ~ g2@2", // Gm Cm
  G: "~@2 [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ g3@3 ~ bb3@3 ~ f3@3 ~ a3@3 ~ eb3@2", // Gm
  H: "~@2 g3@3 ~ d3@3 ~ bb3@3 ~ d3@3 ~ [a3,bb3]@3 ~@5 [gb3,a3]@3 ~ g3@2", // Bbmaj7 Gbm
  I: "~@2 [d3,bb3]@3 ~ g3@3 ~@5 [g2,g3]@3 ~ [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ [g2,g3]@2", // Gm G Gm G
  J: "~@2 [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~@5 [a3,eb4]@7 ~ [a3,c4]@3 ~ g3@2", // Gm Adim Am
  K: "~@2 bb3@3 ~ d3@3 ~ [g3,bb3]@3 ~@5 [c4,eb4]@7 ~ [a3,c4]@3 ~ g3@2", // Gm Cm Am
  L: "~@2 [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ gb3@3 ~ a3@3 ~ d3@3 ~ [gb3,a3]@3 ~ g3@2", // Gm Gbm
  M: "~@2 [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ [g2,g3]@4 [c4,eb4]@8 [c4,eb4]@4 g3@2", // Gm G Cm
  N: "[~@2 [g3,bb3]@3 ~ d3@3 ~ [g3,bb3]@3 ~ [g3,bb3]@8 [f3,a3]@8 [eb3,g3]@8 f3@12 a3@4 ~@4 d3@4 [g2,g3]@12 ~@4 b2@3 ~ g3@3 ~ g2@3 ~ g3@3 ~ b2@2, ~@19 d3@4 ~@25]/3", // Gm F Eb G
  O: "~@2 g3@3 ~ g2@3 ~ g3@3 ~ c3@3 ~ g3@3 ~ g2@3 ~ g3@3 ~ c3@2", P: "~@6 bb2@3 ~@5 a2@3 ~ f3@3 ~ f2@3 ~ f3@3 ~ a2@2",
// … 76 more lines

More by Johannes Brahms