Strudelify
Reality cover art

La boum (Bande originale du film de Claude Pinoteau)

Reality

Richard Sanderson

KeyG majorTempo72 bpm
0:00/0:00
// Reality — Richard Sanderson
// 72 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 88 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(72/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 · fretless bass · "FRETLESS"
const bass = note(`<
  A B C D E F G H I J K L M N O P Q R S T M N O P Q R U V A B C D E W G H I J X Y M N Z P AA AB S AC AD AE AF P AG AH AI
  AJ AK AL AM AN AO AI AP AQ F G AR AS AT AU AV M N O P Q R S T M N O P Q R U AW AX
>`.pickRestart({
  A: "g3@43 ~@5", B: "f#3@43 ~@5", C: "f3@5 ~ e3@5 ~", D: "d#3@24 d3@17 ~@7", E: "g2@41 ~@7", F: "f#2@13 ~@3",
  G: "f2@5 ~", H: "e2@22 ~@2 f#1@11 ~ g#1@9 ~@3", I: "a1@11 ~", J: "c2@11 ~", K: "b1@23 ~ e2@23 ~",
  L: "a1@7 ~ d2@6 ~@2", M: "g1@7 ~ g1@7 ~", N: "b1@11 ~ b1@10 ~@2", O: "e2@20 ~@4 e1@21 ~@3", P: "a1@7 ~ a1@7 ~",
  Q: "a1@5 ~ d2@6", R: "b1@20 ~@4 e2@19 ~@5", S: "a1@17 ~@7 a1@17 ~@7", T: "f1@11 ~ d2@11 ~", U: "a1@17 ~@7 d2@17 ~@7",
  V: "c2@11 ~ g1@11 ~", W: "f#2@13 ~ f#2@2", X: "b1 e2", Y: "a1@7 ~ a2@6 ~@2", Z: "e2@6 b1 ~ e1@7 ~",
  AA: "c2@20 ~@4 d2@17 ~@7", AB: "b1@6 g2 ~ e2@6 g1 ~", AC: "f1@22 ~@2 d2@18 d2@3 ~@3", AD: "g1@18 g1@3 ~@3 g1@19 ~@5",
  AE: "b1@6 b1 ~ b1@6 ~@2", AF: "e2@9 ~@3 e2@8 ~@4", AG: "c2@11 ~ d2@9 ~@3", AH: "b1@8 ~ g1@2 ~ e1@7 ~@5",
  AI: "a1@7 ~ d2@7 ~", AJ: "g1@6 g1 ~ g1@6 g1 a1", AK: "b1@6 b1 ~ b1@6 b2 b1", AL: "e2@6 e1 ~ e1@6 e1 ~",
  AM: "a1@6 a1 ~ a1@6 a1 g1", AN: "c2@18 c2@3 ~@3 d2@17 ~ d2@3 ~@3",
  AO: "b1@18 g2@3 g1@3 e2@9 e1 ~@2 e1@3 ~@3 g1@4 ~@2", AP: "c2@11 ~ g1@6 g2@6", AQ: "g2@13 ~@3",
  AR: "e2@15 b2@2 ~ g#2@2 ~ f2 ~@2 f#2@11 ~ g#2@9 ~@3", AS: "a2@13 ~@3", AT: "c3@13 ~@3", AU: "b2 e2",
  AV: "a2@7 ~ d3@7 ~", AW: "c2@6 ~@2 b1@3 ~ a1@3 ~", AX: "g1@13 ~@3",
})).s("gm_fretless_bass").gain(0.37)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  A B C D E F G H I J K L M N O@2 P Q N R M N O@2 P Q S T A B C D E F G H I J K L M N O@2 P Q N R M N O@2 P Q N M N O@2
  P Q S T E F G H I J K L M N O@2 P Q N R M N O@2 P Q S U@2
>`.pickRestart({
  A: "[d4,g4,b4]@7 ~@5 [d4,g4,b4]@8 ~@4 [d4,g4,b4]@8 ~@4 [d4,g4,b4]@7 ~@5", // G
  B: "[d4,f#4,a4]@8 ~@4 [d4,f#4,a4]@8 ~@4 [d4,f#4,a4]@8 ~@4 [d4,f#4,a4]@7 ~@5", // D
  C: "[c4,f4,a4]@7 ~@5 [c4,f4,a4]@6 ~@6 [b3,e4,g#4]@7 ~@5 [b3,e4,g#4]@6 ~@6", // F E
  D: "[c4,d#4,g4,a4]@7 ~@5 [c4,d#4,g4,a4]@7 ~@5 g4@10 ~@2 f#4@12, ~ [d4,a4]", // Am7b5 D5
  E: "[b3,d4,g4]@8 ~@4 [b3,d4,g4]@7 ~@5 [d4,g4,b4]@8 ~@4 [d4,g4,b4]@8 ~@4, g2@23 ~", // G
  F: "[d4,f#4,b4]@6 ~@6 [d4,f#4,b4]@7 ~@5 [d4,f#4,b4]@8 ~@4 [d4,f#4,b4]@7 ~@5, f#2", // Bm
  G: "[a3,c4,d4,f4]@8 ~@4 [a3,c4,d4,f4]@9 ~@3 [a3,c4,d4,f4]@9 ~@3 [a3,c4,f4]@6 ~@6, f2@47 ~, ~@36 d4@11 ~", // Dm7 F
  H: "[g#3,b3,e4]@8 ~@4 [g#3,b3,e4]@7 ~@5 [f#2,a3,f#4]@12 [g#2,b3,g#4]@12, e2 e4", // E F#m G#m
  I: "c5@8 ~@4 [a4,c5]@7 ~@5 [a4,c5]@9 ~@9 b2@6, a2@33 ~@3 [a2,a4,c5]@10 ~@2, e4@3 ~ e4@4, a4@5 ~@43", // Am
  J: "[g4,a#4,d#5]@7 ~@5 [g4,a#4,d#5]@8 ~@4 [g4,a#4,d#5]@8 ~@4 [g4,a#4,d#5]@8 ~@4, d#3", // D#
  K: "[f#4,b4,d5]@8 ~@4 [f#4,b4,d5]@7 ~@5 [d4,g4,b4]@7 ~@5 [d4,g4,b4]@7 ~@5, b2 e3", // Bm G
  L: "[b3,e4,g4,b4]@7 ~@5 [b3,e4,g4,b4]@7 ~@5 [a3,d4,f#4,a4]@7 ~@5 [a3,d4,f#4,a4]@7 ~@5, a2@8 d3@7 ~", M: "b3", N: "a3",
  O: "g3", P: "g3 a3", Q: "f#3 e3", R: "f3 f#3", S: "a3!2", T: "g3!2", U: "[g3@29 ~@3]/2",
})).s("gm_string_ensemble_1").gain(0.15).pan(0.3)

// other · pad new age · "FANTASIA"
const pad_new_age = note(`<
  A B C D ~@16 E F G H I J K L A B C D ~@16 E F G H I J K ~@24 E F G H I J K L ~
>`.pickRestart({
  A: "b4@6 g4@2 ~ d5@39", B: "a4@2 f#4 d5@13", C: "a4@7 ~@2 c5@15 g#4@6 ~@3 b4@15", D: "a4@18 g4@5 ~",
  E: "~@12 d5@8 ~@4 g5@9 ~@3 b5@6 ~@6", F: "d#6 ~@5", G: "~@12 e5@2 ~@10 g5@7 ~@5 b5@5 ~@7", H: "e6@5 ~@31 g5@3 ~@9",
  I: "a5@4 ~@32 g5@3 ~@3 b5@3 ~@3", J: "e6@2 ~@34 e5@3 ~@3 g5@3 ~@3", K: "c6 ~@11", L: "~@6 c6@2 ~@4 b5 ~@11",
})).s("gm_pad_new_age").gain(0.24)

// other · pad new age · "FANTASIA" · soft notes
const pad_new_age_soft = note("<~@2 [~@6 b4@3 ~@21 a4@2 ~@16] ~@27 [~@6 b4@3 ~@21 a4 ~@17] ~@57>")
  .s("gm_pad_new_age").gain(0.17)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1_2 = note("<A@8 B@4 ~@15 C@5 D@8 ~@22 E@7 F@2 ~@17>".pickRestart({
  A: "[[g4,b5]@5 g5@3 ~@3 g4@8 ~@4 g4@8 ~@4 g4@7 ~@5 [a4,a5]@6 f#5@3 ~@3 a4@7 ~@5 a4@7 ~@5 a4@9 ~@3 [a4,a5]@6 b5@3 ~@4 a4@11 ~@6 a5@3 ~ e4@11 ~@15 g4@8 ~@4 d4@12 ~ [d4,f#4]@11 [g4,b4]@9 ~@3 [g4,b4]@11 ~ b4@10 ~@2 b4@10 ~@2 [f#4,b4]@11 ~ [f#4,b4]@10 ~@2 [f#4,b4]@10 ~@2 [f#4,b4]@11 ~ [f4,a4,c5]@11 ~ [f4,a4,c5]@10 ~@2 [f4,a4,c5]@12 [f4,c5]@11 ~ [e4,g#4,b4]@11 ~ [e4,g#4,b4]@11 ~ a4@12 b4@12 [a4,c5], b4@48 ~@8 d6@39 ~@9 c6@14 ~@2 g#4@18 ~@5 d#4@22 ~@194 e4@22 ~@3, ~@8 d6@39 f#4@44 ~@4 f4@22 ~@2 [e4,g#5]@6 ~@3 b5@15 a5@48 ~@193, ~@143 g4@5 ~@19 g4@7 ~@149 a4 ~@60, ~@144 a4@22 ~ a4@24 ~@24 d5@24 ~@145]/8", // G A D G B5 F F5 E …
  B: "[~@11 [a4,c5]@7 ~@5 [a4,c5]@7 ~@5 [a4,c5]@6 b4@4 ~@2 d#5@6 ~@6 d#5@6 ~@6 [a#4,d#5]@7 ~@5 [a#4,d#5]@7 ~@5 [b4,d5]@7 ~@5 [b4,d5]@7 ~@5 [e4,b4]@7 ~@5 [e4,b4]@7 ~@5 [a3,d4,g4]@7 ~@5 [a3,d4,g4]@7 ~@5 [a3,d4,f#4]@7 ~@5 [a3,d4,f#4]@7 ~@6, ~@47 a#4@18 ~@127]/4", // Am D#5 Bm E5 Dsus4 D
  C: "[~@47 [g4,b5]@6 g5@3 ~@3 g4@8 ~@4 g4@8 ~@4 g4@7 ~@5 [a4,a5]@6 f#5@3 ~@3 a4@7 ~@5 a4@7 ~@5 a4@9 ~@3 [a4,a5]@6 b5@3 ~@4 a4@11 ~@6 a5@3 ~ e4@11 ~@15 g4@8 ~@4 d4@12 ~ [d4,f#4]@11 [g4,b4], ~@47 b4@48 f#4@44 ~@4 f4@22 ~@2 [e4,g#5]@6 ~@3 b5@15 a5@48 ~, ~@56 d6@39 ~@9 d6@39 ~@9 c6@14 ~@2 g#4@18 ~@5 d#4@22 ~@27, ~@191 g4@5 ~@19 g4@7 ~@18, ~@192 a4@22 ~ a4@24 ~]/5", // G A D G E
  D: "[~@11 [g4,b4]@11 ~ b4@10 ~@2 b4@10 ~@2 [f#4,b4]@11 ~ [f#4,b4]@10 ~@2 [f#4,b4]@10 ~@2 [f#4,b4]@11 ~ [f4,a4,c5]@11 ~ [f4,a4,c5]@10 ~@2 [f4,a4,c5]@12 [f4,c5]@11 ~ [e4,g#4,b4]@11 ~ [e4,g#4,b4]@11 ~ a4@12 b4@12 [a4,c5]@7 ~@5 [a4,c5]@7 ~@5 [a4,c5]@7 ~@5 [a4,c5]@6 b4@4 ~@2 d#5@6 ~@6 d#5@6 ~@6 [a#4,d#5]@7 ~@5 [a#4,d#5]@7 ~@5 [b4,d5]@7 ~@5 [b4,d5]@7 ~@5 [e4,b4]@7 ~@5 [e4,b4]@7 ~@5 [a3,d4,g4]@7 ~@5 [a3,d4,g4]@7 ~@5 [a3,d4,f#4]@7 ~@5 [a3,d4,f#4]@7 ~@6, ~@23 d5@24 ~@84 a4 ~@35 e4@22 ~@50 a#4@18 ~@127]/8", // G B5 F F5 E Am D#5 Bm …
  E: "[~@47 [g4,b4]@9 ~@3 [g4,b4]@11 ~ b4@10 ~@2 b4@10 ~@2 [f#4,b4]@11 ~ [f#4,b4]@10 ~@2 [f#4,b4]@10 ~@2 [f#4,b4]@11 ~ [f4,a4,c5]@11 ~ [f4,a4,c5]@10 ~@2 [f4,a4,c5]@12 [f4,c5]@11 ~ [e4,g#4,b4]@11 ~ [e4,g#4,b4]@11 ~ a4@12 b4@12 [a4,c5]@7 ~@5 [a4,c5]@7 ~@5 [a4,c5]@7 ~@5 [a4,c5]@6 b4@4 ~@2 d#5@6 ~@6 d#5@6 ~@6 [a#4,d#5]@7 ~@5 [a#4,d#5]@7 ~@5 [b4,d5], ~@71 d5@24 ~@84 a4 ~@35 e4@22 ~@50 a#4@18 ~@31]/7", // G B5 F F5 E Am D#5 Bm
  F: "[~@11 [b4,d5]@7 ~@5 [e4,b4]@7 ~@5 [e4,b4]@7 ~@5 [a3,d4,g4]@7 ~@5 [a3,d4,g4]@7 ~@5 [a3,d4,f#4]@7 ~@5 [a3,d4,f#4]@7 ~@6]/2", // Bm E5 Dsus4 D
})).s("gm_string_ensemble_1").gain(0.19).pan(0.7)

// chords · drawbar organ · "ORGAN 1"
const drawbar_organ = note(`<
  ~@12 A B C D E F G H A B C D E F I J ~@12 A B C D E F G H A B C D E F I A B C D E F I J ~@8 A B C D E F G H A B C D E
  F I K L
>`.pickRestart({
  A: "[b4,d5,g5]", B: "[b4,d#5,f#5]", C: "[b4,e5,g5]", D: "[c#5,e5,a5]", E: "[g4,c5,e5] [a4,d5,f#5]",
  F: "[b4,d5,f#5] [b4,e5,g5]", G: "[c5,e5,a5]", H: "[c5,f5,a5] [d5,f#5,a5]", I: "[c5,e5,a5] [d5,f#5,a5]",
  J: "[c5,e5,g5] [b4,d5,g5]", K: "[c5,e5,g5]@2 [b4,d5,g5] [a4,d5,g5]", L: "[b4,d5,g5]@13 ~@3",
})).s("gm_drawbar_organ").gain(0.08)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@55 A B C D E F G H ~@23 I J>".pickRestart({
  A: "b4@17 ~ d4@5 ~ b4@5 ~ d5@3 ~@3 b4@3 a4@3 g4@6", B: "b4@21 ~@3 e5@6 b4@5 ~ d#4@5 ~ a4@3 d#4 ~@2",
  C: "b4@19 ~@5 e5@3 d5@3 b4@3 a#4@3 a4@3 g4@2 ~ a4@3 g4@2 ~", D: "b4@4 ~@2 b4@6 g4@5 ~ e4@12 ~@9 e4@3 g4@3 e4 ~@2",
  E: "b4@3 a4@3 g4@4 ~@2 g4@6 e4@3 g4@2 ~ a4@17 ~@7",
  F: "b4@3 d5@3 b4@3 d5@2 ~ f5@3 e5@2 ~ d5@6 b5@15 a5@3 g5@3 d5 ~@2",
  G: "b5@3 a5@3 e5@3 ~@3 e5@18 d5@3 e5@3 d5@3 e5@2 ~ a#4@2 ~ a4@2 ~",
  H: "g4@3 a4@2 ~ b4@3 ~@3 b4@3 a4@3 g4@4 ~@2 g4@19 ~@5", I: "e4@2 d4 c4", J: "[d4,g4]@13 ~@3",
})).s("gm_overdriven_guitar").gain(0.41)

// other · glockenspiel · "GLOCKENSPL"
const glockenspiel = note(`<
  A B C D E F G H I J K L ~@16 A B C D E F G H I J K L ~@23 M N J O P Q R S ~@17
>`.pickRestart({
  A: "g#5@6 ~@6 c#6@5 ~@7 c#6@6 ~@6 c#6@6 ~@6", B: "g#5@5 ~@7 g#5@5 ~@7 g#5@4 ~@9 g#5@3 ~@8", C: "~ g#5@2 ~@21 g5 ~@23",
  D: "f#5@2 ~@22 f5@2 ~@10 c#5 ~@11", E: "g#4 ~@5 g#4 ~@5 g#4 ~@5 g#4 ~@5",
  F: "g#4 ~@11 g#4@2 ~@10 g#4@2 ~@10 g#4@2 ~@10", G: "c#5 ~@5 c#5 ~@5 c#5 ~@5 c#5 ~@5",
  H: "f#4 ~@11 f#4 ~@11 g#4@2 ~@10 a#4 ~@11", I: "d#5 ~@11 d#5@2 ~@10 d#5@2 ~@10 d#5@2 ~@10",
  J: "d5 ~@5 d5 ~@5 d5 ~@5 d5 ~@5", K: "d#5@3 ~@9 d#5@3 ~@9 d#5@2 ~@10 d#5@3 ~@9",
  L: "c#5@4 ~@8 c#5@6 ~@6 c5@3 ~@8 c5@3 ~@10", M: "a4 ~@5 a4 ~@5 a4 ~@5 a4 ~@5",
  N: "a4 ~@11 a4@2 ~@10 a4@2 ~@10 a4@2 ~@10", O: "g4 ~@11 g4 ~@11 a4@2 ~@10 b4 ~@11",
  P: "e5 ~@11 e5@2 ~@10 e5@2 ~@10 e5@2 ~@10", Q: "e5 ~@5 e5 ~@5 e5 ~@5 e5 ~@5",
  R: "e5@3 ~@9 e5@3 ~@9 e5@2 ~@10 e5@3 ~@9", S: "d5@4 ~@8 d5@6 ~@6 c#5@3 ~@8 c#5@3 ~@10",
})).s("gm_glockenspiel").gain(0.1).pan(0.6)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@12 A B C D E F G H A ~@2 I J K G ~@13 A B C D L M G N A B C D O P G ~@16 A B C D Q R S T U V W D J K G ~@2
>`.pickRestart({
  A: "~@18 [g3,b3] ~@2 [g3,b3] ~@2 [b3,d4] ~@2 [b3,d4] ~@2 [g3,b3] ~@17", // G Bm G
  B: "~@18 b3 ~@2 b3 ~@2 f#4 ~@2 b4 ~@2 f#4@2 ~@16", C: "~@18 b3 ~@2 b3 ~@2 g4 ~@2 b4 ~@2 g4 ~@17",
  D: "~@18 c#4 ~@2 c#4 ~@2 e4 ~@2 e4 ~@2 c#4@16 ~@2",
  E: "~@6 g3@5 ~@2 b3@5 a3@2 ~@6 f#4@22, ~@12 a3@2 ~@10 a3@23 ~, ~@25 d4@23",
  F: "~@6 d4@2 ~@4 e4@3 ~@3 e4@17 d4 e4@3 d4@2 ~ b3 ~ a3 ~@3", G: "g3 ~@2",
  H: "~@6 a4@2 g4@2 e4 d4@3 ~@4 g4@3 ~@4 a4@17 ~@6", I: "~@21 c#4 ~@2 e4 ~@2 e4 ~@2 c#4@16 ~@2",
  J: "~@13 b3@5 a3@2 ~@6 f#4@10 ~@12, ~@2 a3 ~, ~@25 d4@11 ~@12", K: "~@12 e4@3 ~@3 e4@17 d4 e4@3 d4@2 ~ b3 ~ a3 ~@3",
  L: "~@12 g3@2 ~ a3 ~@2 c4 ~@7 f#4@22, ~@24 a3@23 ~, ~@25 d4@23",
  M: "~@6 a3 ~@2 b3 ~@2 d4 ~@2 e4 ~@2 f#4@6 e4@10 ~ d4 e4@3 d4@2 ~ b3 ~ a3 ~@3",
  N: "~@6 a4@2 ~ e4 ~ d4@3 ~@4 d4@6 [d4,f#4]@17 ~@7, ~@4 g4 ~@4 g4 ~@14", O: "~@12 a3@3 ~@3 c4@5 ~@2 d4@11 ~@12",
  P: "~@12 g3@2 ~ a3 ~@2 b3@2 ~ d4 ~@3 f#4@3 ~@2 e4@3 ~@3 d4 e4@4 ~ d4 ~@5",
  Q: "~@12 g3@2 ~@4 c4 ~@7 f#4@22, ~@24 a3@23 ~, ~@25 d4@23", R: "~@5 g3 b3 ~@5 d4 ~@5 [d4,f#4]@6 [d4,g4]@12 ~@5 d4@7",
  S: "c4@3 ~@5", T: "~@5 a4@7 d4@3 ~@3 d4@6 [d4,f#4]@17 ~@7, ~@9 g4 ~@14",
  U: "~@18 g3 ~@2 g3 ~@2 b3 ~@2 b3@2 ~ g3 ~@17", V: "~@18 b3 ~@2 b3@2 ~ d#4 ~@2 a4@2 ~ d#4 ~@17",
  W: "~@18 g3 ~@2 g3 ~@2 b3 ~@2 b3 ~@2 g3 ~@17",
})).s("gm_electric_guitar_muted").gain(0.39)

// other · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@12 A B C D E F G H A B C D E I J K ~@12 A B C D E I G H A B C D E I G A B C D E I J L ~@8 A B C D E I G H A B C D E
  I J ~@2
>`.pickRestart({
  A: "g3 ~@2 b3 ~@2 d4 ~@2 g4 ~@2 b4 ~@11", B: "b3@3 ~@3 d#4@3 ~@3 f#4@3 ~@3 b4@2 ~@4 d#5 ~@23",
  C: "e3@3 ~@3 g3@3 ~@3 b3@3 ~@3 e4@2 ~@4 g4 ~@23", D: "a3@4 ~@2 c#4@3 ~@3 e4@2 ~@4 a4@2 ~@4 c#5 ~@23",
  E: "c4@3 ~@3 e4@3 ~@3 g4@3 ~@3 c5@2 ~@4 d4@3 ~@3 f#4@3 ~@3 a4@3 ~@3 d5 ~@5",
  F: "b3@4 ~@2 d4@3 ~@3 f#4@3 ~@3 b4 ~@5 b3@3 ~@3 e4@3 ~@3 g4@3 ~@3 b4@2 ~@4",
  G: "a3@4 ~@2 c4@3 ~@3 e4@3 ~@3 a4@2 ~@4 c5 ~@23",
  H: "f4@2 ~@4 a4@3 ~@3 c5@3 ~@3 f5@2 ~@4 d4@3 ~@3 f#4@3 ~@3 a4@3 ~@3 d5 ~@5",
  I: "b3@4 ~@2 d4@3 ~@3 f#4@3 ~@3 b4@2 ~@4 b3@3 ~@3 e4@3 ~@3 g4@3 ~@3 b4@2 ~@4",
  J: "a3@4 ~@2 c4@3 ~@3 e4@3 ~@3 a4@2 ~@4 d4@2 ~@4 f#4@2 ~@4 a4@2 ~@4 d5 ~@5",
  K: "c4 ~@5 e4@3 ~@3 g4@3 ~@3 c5 ~@5 d4 ~@23", L: "c4 ~@5 e4@3 ~@3 g4@3 ~@3 c5 ~@5 d4@2 ~@22",
})).s("gm_electric_guitar_clean").gain(0.31).pan(0.2)

// other · piano · "A.PIANO 2"
const piano = note("<A B C D ~@23 E A B C D ~@56>".pickRestart({
  A: "b5@6 g5@2 ~ d6@35 ~@4", B: "a5@6 f#5@3 d6@37 ~@2", C: "a5@2 b5 c6@5 g#5@2 a5 b5@5", D: "a5@23 ~ d5@21 ~@3",
  E: "~@6 c6@2 ~@4 b5 ~@11",
})).s("gm_piano").gain(0.36)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@12 A@3 B C D E F A@3 B C D G H ~@12 A@3 B C D E F A@3 B C D G A@3 B C D G H ~@8 A@3 B C D E F A@3 B C D G I J
>`.pickRestart({
  A: "[~ a5 g5, b5@47 ~]/3", B: "[e5,a5]", C: "[g5,c6]@23 ~ [a5,d6]@24", D: "d6@24 e6@23 ~, b5", E: "[c6,e6]@47 ~",
  F: "[f5,a5]@11 ~ [f#5,a5]@11 ~", G: "[c6,e6] [a5,d6]", H: "c6@12 b5@11 ~, g5@23 ~",
  I: "[c6,e6]@23 ~ [b5,d6]@12 [a5,c6]@12", J: "[b5,g6]@13 ~@3",
})).s("gm_string_ensemble_2").gain(0.1)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2_2 = note("<~@11 A@6 B@8 C@3 ~@11 A@6 B@8 D@7 C@3 ~@7 A@6 B@8 E@4>".pickRestart({
  A: "[~@47 [b3,d4,g4]@48 [b3,d#4,f#4]@48 [g3,b3,e4]@48 [a3,c#4,e4]@48 [g3,c4,e4]@24 [a3,d4,f#4]@24 [b3,d4,f#4]]/6", // G B Em A C D Bm
  B: "[~@23 [g3,b3,e4]@24 [a3,c4,e4]@48 [c4,f4]@24 [d4,f#4]@24 [b3,d4,g4]@48 [b3,d#4,f#4]@48 [g3,b3,e4]@48 [a3,c#4,e4]@48 [g3,c4,e4]@24 [a3,d4,f#4]@24 [b3,d4,f#4], ~@95 a3@48 ~@241]/8", // Em Am F5 D G B Em A …
  C: "[~@23 [g3,b3,e4]@24 [c4,e4]@22 ~@2 [d4,f#4]@24 [c4,e4,g4]@22 ~@2 [b3,d4,g4]@23 ~@2, ~@47 a3@45 ~@52]/3", // Em C D C G
  D: "[~@23 [g3,b3,e4]@24 [a3,c4,e4]@24 [f#3,a3,d4]@24 [b3,d4,g4]@48 [b3,d#4,f#4]@48 [g3,b3,e4]@48 [a3,c#4,e4]@48 [g3,c4,e4]@24 [a3,d4,f#4]@24 [b3,d4,f#4]]/7", // Em Am D G B Em A C …
  E: "[~@23 [g3,b3,e4]@24 [c4,e4]@22 ~@2 [d4,f#4]@24 [g3,c4,e4]@23 ~ [g3,b3,d4]@11 ~ [g3,a3,c4]@9 ~@3 [g3,b3]@40 ~@9, ~@47 a3@45 ~@100]/4", // Em C D C G Am7 G
})).s("gm_string_ensemble_2").gain(0.16).pan(0.7)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_2 = note(`<
  A B C D ~@12 E F G H ~@3 I J K G ~ A B C D ~@12 L M G N ~@4 O P G ~@23 Q ~@4 J K G ~@2
>`.pickRestart({
  A: "b5@2 g5 d6@13", B: "a5@2 f#5 d6@13", C: "a5@6 b5@3 c6@14 ~ g#5@6 a5@3 b5@14 ~", D: "a5@2 g5 g4",
  E: "~@6 g3@5 ~@2 b3@5 a3@2 ~@6 f#4@22, ~@12 a3@2 ~@10 a3@23 ~, ~@25 d4@23",
  F: "~@6 d4@2 ~@4 e4@3 ~@3 e4@17 d4 e4@3 d4@2 ~ b3 ~ a3 ~@3", G: "g3 ~@2",
  H: "~@6 a4@2 g4@2 e4 d4@3 ~@4 g4@3 ~@4 a4@17 ~@6", I: "~@15 c#4@8 ~",
  J: "~@13 b3@5 a3@2 ~@6 f#4@13 ~@9, ~@2 a3 ~, ~@25 d4@11 ~@12", K: "~@12 e4@3 ~@3 e4@17 d4 e4@3 d4@2 ~ b3 ~ a3 ~@3",
  L: "~@12 g3@2 ~ a3 ~@2 c4 ~@7 f#4@22, ~@24 a3@23 ~, ~@25 d4@23",
  M: "~@6 a3 ~@2 b3 ~@2 d4 ~@2 e4 ~@2 f#4@6 e4@10 ~ d4 e4@3 d4@2 ~ b3 ~ a3 ~@3",
  N: "~@6 a4@2 ~ e4 ~ d4@3 ~@4 d4@6 [d4,f#4]@17 ~@7, ~@4 g4 ~@4 g4 ~@14", O: "~@12 a3@3 ~@3 c4@5 ~@2 d4@11 ~@12",
  P: "~@12 g3@2 ~ a3 ~@2 b3@2 ~ d4 ~@3 f#4@3 ~@2 e4@3 ~@3 d4 e4@4 ~ d4 ~@5",
  Q: "~@5 a4@7 d4@3 ~@3 d4@6 [d4,f#4]@17 ~@7, ~@9 g4 ~@14", // D
})).s("gm_overdriven_guitar").gain(0.16).pan(0.4)

// drums · kick
const kick = s("bd").struct(`<
  ~@12 A@7 B C@7 A ~@4 D@7 E C@7 F C F B C@3 F A F@3 B G C A ~ D@2 E D@2 B H C@3 F B C F E C F C@3 F C I E
>`.pickRestart({
  A: "x!2", B: "x ~@3 x ~@2 x", C: "x ~@2 x!2 ~@3", D: "x ~@6 x", E: "x", F: "x ~@2 x!2 ~@2 x", G: "x ~@5 x ~ x ~@6 x",
  H: "x ~@4 x ~@2", I: "x ~ x!2",
})).gain(0.43)

// drums · rim
const rim = s("rim").struct("<~@28 [~ x ~ x]!5 [~@3 x]!7 ~@23 [~@3 x]!7 ~@18>").gain(0.24)

// drums · snare
const snare = s("sd").struct("<~@12 A@15 ~@13 A@7 B A@6 B A@6 C ~@8 D A@7 E A@7 ~@2>".pickRestart({
  A: "~ x ~ x", B: "~@12 x ~@22 x!2 ~@11", C: "~@2 x ~@3 x!2", D: "~@35 x!2 ~@11", E: "~@4 x ~@2 x!2 ~@7",
})).gain(0.38)

// … 35 more lines