Strudelify

Risveglio

Pooh

KeyD majorTempo56 bpm
0:00/0:00
// Risveglio — Pooh
// 56 bpm, 4/4, key D 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: duplicate parts dropped: ch 9 "Track09" electric guitar jazz (copy of ch 4 "Track04" electric guitar jazz, 0.25 beats late); ch 12 "Track12" electric guitar jazz (copy of ch 4 "Track04" electric guitar jazz, 0.5 beats late)
// note: Full arrangement: all 73 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(56/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 · synth strings 1 · "Track01"
const synth_strings_1 = note("<~@23 A B C@8 D E F G H I J I K L ~@10 E F G H I J I K M ~@11>".pickRestart({
  A: "~ c5", B: "~ c5@4 c5@4 ~ a#4@4 a4@4 a4@14",
  C: "[~@3 d4@17 a#4@17 a#4@4 a#4@4 a4@4 ~ g4@4 g4@17 c4@17 f4@16 f4@4 ~ f4@4 e4@4 f4@4 g4@17 g4@17 f4@17 f4@4 f4@4 ~ e4@4 f4@4 g4@17 c5@4 a4@4 f4@4 ~ d4@4 c4@8 c4@3 c4 c5@21]/8",
  D: "c#4@8 c#4@3 c#5@20 ~, ~@11 c#4 ~@20", E: "c5@4 c5!2 a#4 a4", F: "a4 d4", G: "a#4@4 a#4!2 a4 g4", H: "g4 c4",
  I: "f4@4 f4!2 e4 f4", J: "g4!2", K: "g4@4 c5 a4 f4 d4", L: "c4@15 ~", M: "c4",
})).s("gm_synth_strings_1").gain(0.66).pan(0.6)

// bass · electric bass finger · "Track02"
const bass = note(`<
  ~@22 A@2 B C D@2 E F@4 G H I J K L M N O P Q R S T U V W X Y Z H I J K L M N O AA@2 ~@10
>`.pickRestart({
  A: "[~@12 g2@14 g2@4 ~ g3@17 f1@16]/2", B: "~ f1 ~@3 f1@8 ~ f2 d2 c2 b1 a#1 ~@3 a#1@10",
  C: "~@3 a#1@6 f1@2 a#1@8 ~ c2@8 a#2@4", D: "[~@3 c2 ~ c2 ~@3 c2@4 a#1@8 ~ a1@17 f1@8 e1@8 ~ d1@4 a1@2 d2@2]/2",
  E: "d2@8 a2@8 ~ d3@4 d3@2 ~@2 b2@7",
  F: "[~@2 g2@7 ~ g1@2 b1@2 ~ d2@4 g2 ~@3 g2 f2 e2 d2 a#1@2 ~@2 a#1@4 ~ a#2@6 a#1 ~ a#1 ~@3 a#1@4 ~ a#2@7 ~ c3@8 c3@8 ~ c3 ~@3 c3@4 a#2@2 c3@2 ~ c3@2 c3@2 c2@8 a#2@6 c2 ~ c2 ~@4 c2@4 a#1@8]/4",
  G: "a1@8 g2@6 a1 ~ a1@2 ~@2 a1@4 g2@7 ~", H: "f3@2 c3@2 f2@4 f2@7 ~ f1 ~@3 f1@8 ~@2 a#1@2",
  I: "a#1@4 a#1@4 a#1@8 a#1@6 f1@2 a#1@7 ~", J: "c2@8 a#2@6 c2 ~ c2 ~@3 c2@4 a#1@8", K: "a1@16 f1@8 e1@7 ~",
  L: "d1@4 a1@2 d2@2 d2@8 a2@8 d3@3 ~ d3@2 ~@2", M: "b2@2 g2@4 g1 ~ g1@7 ~ g1@2 b1@2 d2@4 g2 ~@3 g2 f2 e2 d2",
  N: "a#1@2 ~@2 a#1@4 a#2@6 a#1 ~ a#1 ~@3 a#1@4 a#2@7 ~", O: "c3@8 c3@8 c3 ~@3 c3@4 a#2@2 c3@2 c3@2 c3@2", P: "c2",
  Q: "d3@27 ~ d3@4", R: "g2@13 ~ g2 g#2", S: "a2", T: "f#2@2 d2 c#2", U: "b1@12 f#2@4 b2@3 ~ b2@3 ~ b2 ~@3 b2@4",
  V: "g#2@8 e2@4 ~ a2 e3 f#3", W: "g3@16 g2@2 g2@2 g2 ~@3 g2@7 ~", X: "g2@2 a2@2 a2@2 a2!2",
  Y: "a3@15 ~ a3@2 e3@2 a2@2 a3@2 e3@2 a2@2 a3@2 a2@2", Z: "g3@2 e3@2 a2@2 g3@4 a2@5 ~ a2 ~ a2@6 a1 ~ a1@5 ~",
  AA: "[c2@9 ~@7]/2",
})).s("gm_electric_bass_finger").gain(0.61)

// chords · string ensemble 2 · "Track03"
const string_ensemble_2 = note(`<
  ~@23 A B C@8 D E F G H I J F K L M N O P Q R S M T@2 U F G H I J F V W@2 X ~@9
>`.pickRestart({
  A: "~@17 [f3,f4,a4,c5]@15", B: "~@9 [a#2,f4,a#4,d5]@7",
  C: "[~@20 [c3,g4,a#4,e5]@33 ~ [f3,a4,c5,f5]@33 ~ [d3,f4,a4,d5]@33 ~ [g4,b4,d5]@33 ~ [a#2,f4,a#4]@33 ~ c3@33 [c3,g4,c5,e5]@32 ~, ~@121 g2@33 ~ d5@33 ~ [f4,a4,c5]@33 ~@34]/8", // C7 F Dm G A#5 C F
  D: "~@16 g4@15 ~, [a2,a4,c#5,e5]@31 ~", E: "~ f4@31, [f3,a4,c5]@31 ~", F: "[a#2,f4,a#4,d5]@31 ~",
  G: "[c3,g4,a#4,e5]@31 ~", H: "[f3,a4,c5,f5]@31 ~", I: "[d3,f4,a4,d5]@31 ~", J: "[g2,g4,b4,d5]@31 ~",
  K: "[c3,f4,a4,c5]@31 ~", L: "[c3,e4,g4,c5]@31 ~", M: "[d3,d4,f#4,a4]@31 ~", N: "[g2,d4,f#4,b4]@31 ~",
  O: "[a2,e4,g4,c#5]@31 ~", P: "[d3,f#4,a4,d5]@31 ~", Q: "[b2,d4,f#4,b4]@31 ~", R: "[e2,e4,g#4,b4]@31 ~",
  S: "[g2,d4,g4,b4]@31 ~", T: "[a4@31 ~ g4@31 ~, [a2,c#4,e4]@63 ~]/2", U: "[f3,f4,a4,c5]@31 ~",
  V: "~ f4@31, [c3,a4,c5]@31 ~", W: "[~ e4@35 ~@28, [c3,g4,c5]@35 ~@29]/2", X: "~@31 a#4",
})).s("gm_string_ensemble_2").gain(0.24)

// chords · string ensemble 2 · "Track03" · soft notes
const string_ensemble_2_soft = note("<A@7 B@6 C@7 D@4 ~@38 E F@8 G ~>".pickRestart({
  A: "[~@30 [d3,d4,f#4,a4]@38 ~ [g2,d4,f#4,b4]@38 ~ [a2,e4,g4,c#5]@38 ~ [d3,f#4,a4,d5]@38 ~ [b2,d4,f#4,b4]@38]/7", // D Gmaj7 A7 D Bm
  B: "[~ [e2,e4,g#4,b4]@38 ~ [g2,d4,g4,b4]@38 ~ [d3,d4,f#4,a4]@38 ~ [a2,c#4,e4,a4]@38 ~ [d3,d4,f#4,a4]@35]/6", // E G D A D
  C: "[~@2 [g2,d4,f#4,b4]@37 ~ [a2,e4,g4,c#5]@37 [d3,f#4,a4,d5]@37 [b2,d4,f#4,b4]@37 ~ [g#4,b4]@37 [g2,d4,g4,b4]@35, ~@151 [e2,e4]@37 ~@36]/7", // Gmaj7 A7 D Bm G#m G E
  D: "[~@2 [d3,d4,f#4,a4]@37 ~@38 g4@35 ~@16, ~@39 a4@37 ~@52, ~@5 [a2,c#4,e4]@9 ~@2]/4", E: "~ [d3,d4,f#4,a4]@7",
  F: "[~@8 [g2,d4,f#4,b4]@35 ~ [a2,e4,g4,c#5]@35 ~ [d3,f#4,a4,d5]@35 ~ d4@35 ~ b4@35 [a2,e4,g4,c#5]@35 ~ [d3,f#4,a4,d5]@33, ~@115 [d3,f#4,a4]@35 ~ [g2,d4,f#4]@35 ~@70]/8", // Gmaj7 A7 D A7 D Gmaj7
  G: "~@3 [d3,f#4,a4,d5]@27 ~@2", // D
})).s("gm_string_ensemble_2").gain(0.16)

// other · electric guitar jazz · "Track04"
const electric_guitar_jazz = note("<A@7 B@3 C@3 D@7 E@2 F@2 ~@27 G H ~@9 I@4 J@7>".pickRestart({
  A: "[~@30 a5@19 b5@9 ~ g5@9 ~ f#5@19 b4@19 ~ g5@19 a5@9 ~ f#5@9 ~ e5@19 a4@19 ~ d5@19 e5@9 ~ c#5@9]/7",
  B: "[~ f#5@19 e5@19 ~ d5@19 e5@9 ~ c#5@9 ~ f#5@17]/3", C: "[~@2 a5@5 f#5@5 d5@5 b4@5 a4@38 a5@19 b5@9 g5@8]/3",
  D: "[~@2 f#5@18 b4@19 g5@19 a5@9 f#5@9 e5@18 ~ a4@18 ~ d5@18 e5@9 ~ c#5@9 f#5@18 ~ e5@18 d5@19 e5@9 c#5@8]/7",
  E: "[~@2 f#5@18 a5@5 f#5@5 d5@4 b4@5 a4@6 ~ a5@12 a4@6]/2", F: "[~ a5@11 a4@6 ~ a5@11 ~ a5@4 a6@13 ~@16]/2",
  G: "a4@4 ~ a5@11", H: "a4@5 ~ a5@10 a5@3 ~ a6@12",
  I: "[~@4 a5@18 b5@9 g5@8 ~ f#5@18 b4@18 g5@17 a5@9 f#5@8 ~ e5@17]/4",
  J: "[~ a4@18 a5@18 b5@9 g5@8 ~ f#5@18 b4@18 g5@18 a5@9 f#5@8 ~ e5@18 a4@9 ~ a5@42 ~@27]/7",
})).s("gm_electric_guitar_jazz").gain(0.33).pan(0.6)

// other · electric guitar jazz · "Track04" · soft notes
const electric_guitar_jazz_2 = note("<~@21 A B C ~@27 D E ~@17 F ~@2>".pickRestart({
  A: "~@7 a4 ~@8", B: "a4@2 ~@17 a4@2 ~@11", C: "~@3 a5 ~@28", D: "~@8 a4 ~@23", E: "~@6 a4 ~@13 a5 ~@11",
  F: "~@26 a4 ~@5",
})).s("gm_electric_guitar_jazz").gain(0.06).pan(0.6)

// chords · piano · "Track05"
const piano = note(`<
  ~@15 A B ~ C ~ D@2 E@2 F@5 G@4 H I J K L M N O P Q R S T U V W X Y Z AA I J AB AC AD N AE P AF@2 ~@7 AG ~@2
>`.pickRestart({
  A: "~@5 a3@7 ~@20", B: "~@8 a3 ~@7", C: "~@12 e4 ~@3", D: "[~@30 a3@9 ~@25]/2",
  E: "[~@8 a3@2 ~@3 [e4,a4]@6 ~@12 a4@6 ~@3 [e4,a4]@6 ~@3 [g4,a4,c5]@4 f4@4 [g4,a4,c5]@4 f4@3, ~@13 g2@35 ~ f3@15]/2", // A5 Am7
  F: "[~ [g4,a4,c5]@5 f4@2 c4@2 ~@4 f4@4 [a4,d5]@4 f4@5 [a4,d5]@4 f4@4 [a4,d5]@5 ~ a#3@2 ~ f4@2 ~@2 f4@2 ~@2 [g4,a#4]@4 e4@4 ~ [g4,a#4]@4 ~@4 [g4,a#4]@4 ~@2 c4@2 ~@5 e4@2 ~@2 [g4,a4,c5]@4 f4@4 [g4,a4,c5]@5 f4@2 ~@2 [g4,a4,c5]@4 ~@2 c4@2 ~@2 c4@2 f4@3 c4@2 [a4,d5]@4 f4@4 [a4,d5]@4 f4@4 ~ [a4,d5]@4 f4@2 d4@2 f4@2 ~@2 f4@2 ~@3 [g3,b4,d5]@4 g4@2, ~@10 [g4,a4,c5]@4 ~@26 f4@4 [a4,d5]@4 ~@4 e4@2 ~@11 e4@4 ~@4 e4@4 g4@4 ~@20 c4@6 f4@4 ~@13 d4@16 ~@7 d4@6 ~@7, ~@12 c4@4 ~@2 a#2@33 ~ c3@26 a#4@6 ~@53 f4@2 ~@6 [a4,d5]@6 ~@2 a4@6 ~, ~@46 a#3@6 ~@15 c4@6 ~@4 e4@2 ~ c4@6 f3@23 ~@2 [e3,g4,a4,c5]@6 ~@3 d3@29 ~@11]/5", // Am7 D5 Gm Am7 D5 G Am7 D5 …
  G: "[~@2 [a4,b4,d5]@4 g4@2 ~@3 d5@4 g4@2 d4@2 ~@2 d4@2 g4@2 a2@2 [a#4,d5]@5 f4@4 [a#4,d5]@4 f4@2 ~@2 [a#4,d5]@5 f4@2 f4@2 ~@2 f4@2 [a#4,d5]@2 a#3@2 [g4,a4,c5]@4 f4@4 ~ [g4,a4,c5]@4 f4@2 ~@2 [a4,c5]@4 f4@2 ~@5 f4@2 [a4,c5]@2 ~@2 [g4,c5]@4 e4@4 [g4,c5]@5 e4@3 ~ c5@4 e4@4 e4@4 c4@2 ~@2, ~@10 [a4,b4]@6 ~@3 [a4,b4,d5]@8 a#2@31 ~@3 f3@29 ~@5 c3@33, ~@27 f4@2 ~@3 a#3@19 ~@2 a#3@4 f4@4 ~@15 c4@8 ~ c5@4 ~@2 g4@4 ~@16 g4@6 ~@3 [g4,c5]@8, ~@44 f4@2 ~@5 [c5,d5]@6 ~@21 g4@2 ~@4 [g4,a4]@3 c4@8 ~@33]/4", // Bm7 A# Am7 Am C5 Asus2 Bm7 C5 …
  H: "[a4,c#5]@2 e4@2 [a4,c#5]@2 e4@2 ~@3 a3 e4 a3 e4 a3, a2 g2, e4 ~@7 [g4,c#5]@4 [g4,c#5]@3 ~, ~@5 e4 ~@2", // A Gdim
  I: "[g4,a4,c5]@2 f4@2 [g4,a4,c5]@2 f4@2 [g4,a4,c5]@2 f4 c4 ~@2 f4@2, f3, ~@6 [g4,a4,c5] ~, ~@13 c4@2 ~", // Am7
  J: "[a4,d5]@2 f4@2 [a4,d5]@2 f4@2 [a4,d5]@2 ~ a#3 f4 ~ f4 ~, a#2, ~@5 f4 [a4,d5] ~, ~@13 a#3@3", // D5
  K: "[g4,a#4]@4 e4@4 [g4,a#4]@4 ~@4 [g4,a#4]@4 ~@3 c5 e4@2 ~@2 e4@2 ~@2, c3@13 ~@3, e4 ~@5 e4@2 ~@2 e4@2 [g4,a#4]@3 ~, ~@7 c4@3 ~ c4 ~ c4@3", // Gm
  L: "[g4,a4,c5]@2 f4@2 [g4,a4,c5]@2 f4 ~ [g4,a4,c5]@2 ~ c4 ~ c4 ~ c4, f3@11 ~ [e3,g4,a4,c5]@3 ~, ~@7 c4@3 f4@2 ~@2 f4@2", // Am7
  M: "[a4,d5]@2 f4@2 [a4,d5]@2 f4@2 [a4,d5]@2 f4 d4 f4 ~ f4 ~, d3@7 ~, ~@2 d4@8 ~@3 d4@3, ~@16 f4@2 ~@6 [a4,d5]@5 ~@3", // D5
  N: "[a4,b4,d5]@2 g4 ~ [a4,b4,d5]@2 g4 ~ [a4,b4,d5]@2 g4 d4 ~ d4 g4 a2, g3@3 [a4,b4,d5]", // Bm7
  O: "[a#4,d5]@2 f4@2 [a#4,d5]@2 f4 ~ [a#4,d5]@2 f4!2 ~ f4 [a#4,d5] a#3, a#2@15 ~, f4 ~ a#3@9 ~ a#3@2 f4@2, ~@16 f4@2 ~@4 [c5,d5]@5 ~@5", // A# Csus2
  P: "[g4,a4,c5]@2 f4@2 [g4,a4,c5]@2 f4 ~ [a4,c5]@2 f4 ~@2 f4 [a4,c5] ~, f3@7 ~, ~@7 c4@4 ~ c4@4, ~@8 g4 ~@2 [g4,a4,c5]@2 ~ g4@2", // Am7 Am Am7
  Q: "~@24 c6@7 ~, c2@16 c5@4 g5@11 ~, ~@4 c4@27 ~, ~@8 e4@23 ~, ~@12 g4@19 ~",
  R: "~@5 d4 ~ d4, d2, ~@2 a3@6 ~ a3@3 ~@4, ~ d4 a4 d5, ~@6 f#4@5 ~@5",
  S: "~@6 f#4 g3 ~@6 f#4@2, g2, b4@15 ~@5 b3@6 b3@6, f#4@8 d4@7 ~ f#4@6 d4@9 ~, ~@2 g3@5 ~@2 g3@3 g3@4",
  T: "~@7 e3 ~@6 e4@2, a2, [c#4,e4]@3 e3@3 e4@3 e3@2 c#4@5, ~@2 a3@6 a4@5 a3@3, ~@8 c#4@12 a3@2 e4@2 e3@7 ~", // C#m
  U: "a3@2 a3 ~@2 d4 [a3,d4,f#4]@2 ~@3 d3 ~@3 c#3, f#2@15 ~ [d2,d4,f#4]@8 [c#2,e4]@8, f#4@3 ~@3 c#4!2, ~@6 f#3@9 ~@3 d3@4 ~@4 c#3@4 ~@2, ~@2 a3 ~ a3 a3@3", // D C#m
  V: "b3@2 ~@5 b2 ~@7 b3, b1, f#4@3 b2@3 f#4@4 b3@2 b2 b3 f#4@2, ~ b3@3 b4@4, ~@4 d4@5 b2@2 d4@5",
  W: "b3@2 ~@5 e3 ~@7 e3, e2, [e4,g#4]@3 e3@3 [e4,g#4]@4 b3@2 e3 b3@3, ~@2 b3@2 b3@5 e3@2 g#4@5, ~@4 b4@3 e4", // E
  X: "~@2 g3 ~ g3@2 ~@4 g3!2 ~ g3 [g3,b3,d4]@2, g2, [b3,d4]@3 d3@3 g3@2 [a3,d4]@3 [b3,d4]@3 ~@2, ~@8 [b3,d4]@6 d3@9 ~ d3@8", // G Bm D5 Bm
  Y: "a3@2 ~@2 a3@2 ~@2 a3@2 ~@3 d4 ~ e4, d2, d4@3 d3@3 a3@2 f#4@6 ~@2, ~@2 a3@2 [d4,f#4]@3 d3@3 a3@2 a3@2 [a3,d4,f#4]@2, ~@16 d4@6 d3@9 ~", // D
  Z: "~@4 a3@2 ~@7 a3 [a3,c#4,e4,a4]@2, a1, [c#4,e4]@3 a2@3 a3@2 a4@6 ~@2, ~ a3 c#4@3 a3 a2@2, ~@4 e4@3 a2@4 c#4@3 ~@2", // A C#m
  AA: "~@5 a3 ~ g2 ~@5 a3 ~ g2, g1, a4@3 ~ [e4,a4]@3 ~, [a3,c#4,e4]@2 a3@2 g2@3 ~@2 g2@2 c#4@3 [a3,c#4,e4,a4]@2, ~ g2@2 c#4@3 [a3,c#4,e4,a4]@2 [a3,c#4]@2 a3@2 g2@3 ~", // A5 A
  AB: "[g4,a#4]@2 e4@2 [g4,a#4]@2 ~@2 [g4,a#4]@2 ~ c4 e4 ~ e4 ~, c3@13 ~@3, e4 ~@5 e4@2 ~@2 e4@2 [g4,a#4]@3 ~, ~@7 c4@3 ~@3 c4@3", // Gm
  AC: "[a4,c5]@2 f4@2 [g4,a4,c5]@2 f4 ~ [g4,a4,c5]@2 ~ c4 ~ c4 ~ c4, f3@11 ~ [e3,g4,a4,c5]@3 ~, g4@3 ~@11 c4@6 f4@4 ~@4 f4@4", // Am Am7
  AD: "[a4,d5]@2 f4@2 [a4,d5]@2 f4@2 [a4,d5]@2 f4 d4 f4 ~ f4 ~, d3@7 ~, ~@2 d4@8 ~@3 d4@3, ~@8 f4 ~@3 [a4,d5]@3 ~", // D5
  AE: "[a#4,d5]@2 f4@2 [a#4,d5]@2 f4 ~ [a#4,d5]@2 f4 [f4,c5] ~ f4 [a#4,d5] a#3, a#2@15 ~, f4 ~ a#3@9 ~ a#3@2 f4@2, ~@8 f4 ~@2 d5@3 ~@2", // A# F5 A#
  AF: "[[c3,e4,g4,c5]@35 ~@29]/2", AG: "~@13 [d4,f#4]@3",
})).s("gm_piano").gain(0.46).pan(0.4)

// chords · piano · "Track05" · soft notes
const piano_soft = note("<A@7 B@6 C@7 D E@3 ~@19 F ~@5 G ~ H I ~@9 J@4 K@7>".pickRestart({
  A: "[~@30 [e4,f#4,a4]@5 d4@4 ~ [e4,f#4,a4]@5 d4@4 ~@5 d4@2 ~ a3@2 [e4,f#4,a4]@3 ~@2 d4@4 ~ f#4@5 d4@5 f#4@5 d4@4 [f#4,b4]@5 d4@3 g3@2 [f#4,b4]@3 ~@2 d4@2 ~@3 [e4,g4]@4 ~ c#4@4 ~@5 c#4@3 ~@2 [e4,g4]@5 c#4@3 a3@2 e4@3 ~@2 c#4@2 ~@3 [e4,f#4]@4 ~ d4@4 ~ [e4,f#4,a4]@5 d4@2 ~@2 [e4,f#4,a4]@5 d4@3 a3@2 ~@3 a3@2 ~@2 a3@2 ~ [f#4,b4]@5 d4@4 ~@5 d4@4 ~ [f#4,b4]@5 d4@2 ~ b3@2 d4@2 ~@3 d4@2 ~@2, ~@30 d3@33 ~@6 g2@34 ~@5 a2@29 c#4@2 ~ a3@7 d3@26 ~@3 [c#3,e4,f#4,a4]@7 ~@3 b2@34 ~@4, ~@50 [e4,f#4,a4]@7 ~@5 a3@4 ~@3 b4@4 ~@6 b4@4 ~@15 d4@2 ~ g3@7 c#4@2 ~@8 [e4,g4]@7 a3@7 ~@5 g4@7 ~@3 a4@5 ~@12 a3@7 ~@10 d4@4 ~@6 b3@19 ~@5 f#4@4 ~@5, ~@196 [f#4,b4]@7 ~@2 d4@2 ~@8 b4@7 ~@2, ~@31 b3]/7", // F#m7 B5 Em Esus2 F#m7 B5 F#m7 Em …
  B: "[~ [f#4,b4]@5 e4@2 ~@7 e4@2 ~@3 [f#4,g#4,b4]@5 e4@2 ~ b3@2 ~@2 b3@2 ~ e4@2 f#2@2 ~ [g4,b4]@5 d4@4 ~ g4@5 d4@2 ~@2 b4@5 d4@2 ~@5 d4@2 ~ [g4,b4]@2 g3@2 ~ [f#4,a4]@5 d4@4 [e4,f#4,a4]@5 d4@2 ~@3 [f#4,a4]@4 ~ d4@2 ~@6 d4@2 [f#4,a4]@2 ~@3 [e4,a4]@5 c#4@4 [e4,a4]@5 c#4@4 ~ [e4,a4]@5 c#4@4 ~ c#4@4 ~ a3@2 ~@7 d4@4 ~ [e4,f#4,a4]@5 d4@4 [e4,f#4,a4]@5 d4@2 a3@2 ~@5 d4@3, ~ e3@31 ~@8 g2@36 ~@42 a2@38 ~@36, ~ g#4@4 ~@5 g#4@7 ~@32 b4@7 ~@3 g4@4 ~@3 b4@7 ~@6 e4@4 ~@15 e4@2 ~@6 [e4,f#4,a4]@4 ~@3 e4@4 ~ c#4@2 ~@27 [e4,a4]@9 ~ [e4,f#4,a4]@7 ~@21 [e4,f#4,a4]@4 ~@3, ~@11 [f#4,b4]@7 ~@12 [f#4,g#4,b4]@9 ~@6 g3@21 ~ a4@4 ~@3 d4@4 ~ a3@14 ~@3 a3@9 ~@3 a3@9 ~ a3@31 ~@38 a3@4 ~, ~@59 d4@2 ~@5 d4@2 ~ g3@4 ~@6 d3@34 ~@44 d3@32 ~@3]/6", // B5 G#m7 G F#m F#m7 F#m A5 F#m7 …
  C: "[~@2 f#4@5 ~@4 f#4@5 d4@4 ~@5 d4@3 g3@2 d4@2 ~@3 d4@2 ~@2 [e4,g4]@4 ~ c#4@4 ~@5 c#4@3 ~@2 [e4,g4]@5 ~@2 a3@2 g4@5 c#4@2 ~@3 [e4,f#4]@4 d4@4 ~ [e4,f#4,a4]@5 d4@2 ~@9 a3@2 ~@3 a3@2 d4@4 ~@6 d4@4 [f#4,b4]@5 d4@4 ~ d4@2 ~@2 d4@2 ~ b3@2 d4@2 ~@3 d4@2 ~@2 [f#4,b4]@5 e4@2 ~@7 e4@2 ~@3 [f#4,g#4,b4]@5 e4@2 b3@2 ~@3 b3@2 ~@2 f#2@2 ~@5 d4@4 ~ [g4,b4]@5 d4@2 ~@2 b4@5 d4@2 a4@3 ~@2 d4@2 [d4,g4,b4]@3, ~@2 g2@32 ~@5 a2@30 ~@8 d3@25 ~@3 [c#3,e4,f#4,a4]@7 ~@2 b2@32 ~@5 e3@30 ~@8 g2@34 ~, ~@2 b4@4 ~ d4@7 ~@7 [f#4,b4,d5]@7 ~@2 [f#4,b4]@4 ~@5 c#4@2 ~@8 [e4,g4]@7 ~@7 c#4@4 e4@4 ~@6 a4@7 ~@11 f#4@7 ~@12 [f#4,b4]@7 ~@12 [f#4,b4]@7 ~@2 b4@7 ~@12 [g#4,b4]@7 ~@21 [g4,b4]@7 ~@11 g4@4 ~@3 b4@7 ~@3, ~@11 b4@4 ~@17 g3@7 ~@17 a3@7 ~@4 c#4@2 ~@24 a3@7 d4@4 ~@14 b3@18 ~@8 b3@7 ~@42 g3@21 ~@3 g3@4 ~@3, ~@96 [e4,a4]@7 ~@39 f#4@4 ~@5 g#4@4 ~@5 f#4@7 ~@12 [f#4,g#4,b4]@9 ~@19 d4@2 ~@5 d4@2 ~@8]/7", // Em Esus2 F#m7 B5 G#m7 G F#m7 Bm …
  D: "g3@2 [f#4,a4]@5 d4@4 [e4,f#4,a4]@5 d4@2 ~@3 [f#4,a4]@4 d4@2 ~ [e4,f#4]@4, ~ d3@15, ~@2 a3@14 ~@2 a3@9 ~@5, ~@2 e4@4 ~@15 e4@2 ~@4 a4@4 ~", // F#m F#m7 F#m Esus2
  E: "[d4@2 ~ [f#4,a4]@2 ~@2 [e4,a4]@5 c#4@4 ~@5 c#4@4 ~ [e4,a4]@5 c#4@4 [e4,a4]@9 ~ c#4@2 ~@2 c#4@4 ~ [e4,a4]@4 c#4@4 ~@5 c#4@3 g3@2 c#4@2 g3@2 c#4@2 g3@2 ~@16, ~@3 e4@4 a2@37 ~@52, ~@7 a3@30 ~@8 g3@24 ~@27, ~@7 c#4@2 ~@8 [e4,a4]@7 ~@11 c#4@4 ~@24 e4@8 ~@25]/3", // F#m A5
  F: "~@11 f#4 ~@4", G: "~@15 a3", H: "~@4 e4@3 ~", I: "~@3 e4@3 ~@10",
  J: "[~@26 d4@3 f#4@2 ~@4 d4@4 ~@14 f#4@3 g3@2 ~@13 f#4@4 ~@16 e3@2 ~@14 e4@4 ~@12 d4@2 [a3,d4,f#4]@3, ~@4 d2@35 ~ g2@35 ~ a2@29 a3@6 a3@5 a3@4 a3@5 ~@3, ~@8 a3@13 ~@3 a3@6 ~@14 g3@11 ~@5 g3@5 d4@11 [c#4,e4]@8 ~ c#4@11 e3@4 c#4@11 ~@7 f#3@10, ~@13 d4@8 ~ a4@8 ~ d5@8 ~ b4@17 ~@5 b3@7 b3@6 ~@5 a3@14 a4@17 f#4@14 ~@3, ~@17 f#4@11 ~@12 f#4@8 ~ d4@8 ~ f#4@8 ~ g3@8 ~@7 e3@7 e4@9 a3@2 e4@3 e3@8 ~ f#2@16]/4", // D C#m
  K: "[~ a3@3 ~@11 d4@4 ~@25 f#4@2 ~@5 d4@4 ~@16 g3@2 ~@13 f#4@4 ~@17 e3@2 ~@4 a3@3 ~@6 e4@4 ~ a3@4 a3@3 ~@4 d4@2 [a3,d4,f#4]@4 ~@14 a4@4 ~ [d2,d5]@35 ~@26, ~ [d4,f#4]@8 ~ d4@4 ~@10 a3@13 ~@2 a3@6 ~@15 g3@9 f#4@4 f#4@7 d4@11 [c#4,e4]@8 ~ c#4@11 e3@5 e4@2 e3@2 a3@6 ~@8 f#3@11 ~@2 d3@6 ~@71, ~@4 d3@6 ~ f#4@8 ~@9 d4@8 ~ a4@8 ~ d5@8 ~ b4@17 ~@6 b3@6 b3@6 ~@6 a3@13 a4@17 ~ f#4@13 ~@5 [d4,f#4]@8 ~@71, ~@6 a3@13 d2@35 ~ g2@35 ~ a2@35 ~ f#2@17 ~@80, ~@33 f#4@9 d4@4 ~@9 f#4@8 ~ d4@8 ~@3 g3@6 ~ g3@8 ~@8 e3@7 e4@11 c#4@11 ~@9 a3@4 ~@5 a3@4 a3@13 ~@62]/7", // D C#m D
})).s("gm_piano").gain(0.08).pan(0.4)

// other · lead 2 sawtooth · "Track06"
const lead_2_sawtooth = note("<~@23 A B C@8 D E F G H I J I K L ~@10 E F G H I J I K M ~@11>".pickRestart({
  A: "~ c7", B: "~ c7@4 c7@4 ~ a#6@4 a6@4 a6@14",
  C: "[~@3 d6@17 a#6@17 a#6@4 a#6@4 a6@4 ~ g6@4 g6@17 c6@17 f6@16 f6@4 ~ f6@4 e6@4 f6@4 g6@17 g6@17 f6@17 f6@4 f6@4 ~ e6@4 f6@4 g6@17 c7@4 a6@4 f6@4 ~ d6@4 c6@8 c6@3 c6 c7@21]/8",
  D: "c#6@8 c#6@3 c#7@20 ~, ~@11 c#6 ~@20", E: "c7@4 c7!2 a#6 a6", F: "a6 d6", G: "a#6@4 a#6!2 a6 g6", H: "g6 c6",
  I: "f6@4 f6!2 e6 f6", J: "g6!2", K: "g6@4 c7 a6 f6 d6", L: "c6@15 ~", M: "c6",
})).s("gm_lead_2_sawtooth").gain(0.28).pan(0)

// other · timpani · "Track11"
const timpani = note("<~@22 [~@14 c2!7 ~@3 c2!8] [c2!17 ~@15] ~@9 [~ c2!6 ~@3 c2!22] ~@18 [~ c2!6 ~@3 c2!22] ~@20>")
  .s("gm_timpani").gain(0.19)

// other · timpani · "Track11" · soft notes
const timpani_soft = note("<~@22 [~@12 c2!2 ~@7 c2!3 ~@8] ~@10 [c2 ~@6 c2!3 ~@22] ~@18 [c2 ~@6 c2!3 ~@22] ~@20>")
  .s("gm_timpani").gain(0.12)

// drums · kick
const kick = s("bd").struct("<~@22 A B C D E F G H I J K L M@8 N M@8 O P Q M Q M Q L Q M N ~@11>".pickRestart({
  A: "~@31 x", B: "~ x!2 ~", C: "~ x ~@3 x ~@12 x ~@13", D: "~@3 x ~@3 x ~@12 x ~@11", E: "~@5 x ~@3 x ~@12 x ~@9",
  F: "~@7 x ~@3 x ~@12 x ~@7", G: "~@8 x ~@4 x ~@11 x ~@6", H: "~@10 x ~@4 x ~@11 x ~@4", I: "~@12 x ~@3 x ~@12 x ~@2",
  J: "~@14 x ~@3 x ~@12 x", K: "~@15 x ~@4 x ~@9 x ~", L: "x ~@7 x ~ x ~@4 x", M: "x ~@3 x!2 ~@2", N: "x",
  O: "x ~@3 x!2 ~ x", P: "x ~@6 x ~@7 x", Q: "x ~@6 x!2 ~ x ~@3 x ~",
})).gain(0.56)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@23 A B C D E F G H I J K L@8 ~@11 M N M N M O K N ~@12>".pickRestart({
  A: "~@21 x ~@10", B: "~@7 x ~@3 x ~@4", C: "~@2 x!2", D: "~@9 x ~@3 x ~@2", E: "~@19 x ~@8 x ~@3",
  F: "~@21 x ~@8 x ~", G: "~@23 x ~@7 x", H: "~@25 x ~@6", I: "~ x ~@25 x ~@4", J: "~@3 x ~@28", K: "~ x ~@6",
  L: "~ x ~@5 x", M: "~@2 x ~@10 x ~@2", N: "~@2 x ~@4 x ~@5 x!2 ~", O: "~@2 x ~@4 x ~@8",
})).gain(0.32)

// drums · snare
const snare = s("sd").struct("<~@23 A B C D E F G H I J K L@8 ~ L@9 M L@8 ~@12>".pickRestart({
  A: "~@5 x ~@19 x ~@6", B: "~@10 x ~@16 x ~@4", C: "~@11 x ~@16 x ~@3", D: "~@13 x ~@16 x ~", E: "~@15 x ~@16",
  F: "x ~@16 x ~@14", G: "~@2 x ~@16 x ~@12", H: "~@4 x ~@16 x ~@10", I: "~@5 x ~@16 x ~@9", J: "~@7 x ~@16 x ~@7",
  K: "~@4 x ~@8 x!2 ~", L: "~ x ~ x", M: "~ x ~@2",
})).gain(0.72)

// drums · low tom
const low_tom = s("lt").struct("<~@23 [~@7 x ~@8] ~@9 [~@12 x!3 ~] ~@18 [~@13 x!2 ~] ~@20>").gain(0.56)

// drums · hihat
const hihat = s("hh").struct("<~@23 A B C D E F G H I J K L K@6 M ~@10 N O@5 L@2 O ~@12>".pickRestart({
  A: "~@21 x ~@3 x ~@3 x ~@2", B: "~ x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x",
  C: "~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3", D: "~ x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~",
  E: "~@2 x ~@4 x ~@3 x ~@3 x ~@3 x ~@8 x ~@3", F: "x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~",
  G: "~@2 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@3 x", H: "~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@3 x ~@2",
  I: "~ x ~@3 x ~@4 x ~@3 x ~@3 x ~@3 x ~@4 x ~@4", J: "~@3 x ~@3 x ~@3 x ~@3 x ~@4 x ~@3 x ~@7", K: "x!8", L: "~ x!7",
  M: "x!7 ~", N: "~@5 x!3", O: "~ x!6 ~",
})).gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct("<~@23 [~@3 x ~@8 x ~ x ~@17] ~@9 [~@8 x!2 ~ x!2 ~@3] ~@18 [~@8 x!2 ~ x ~@4] ~@20>")
  .gain(0.56)

// drums · open hat
const open_hat = s("oh").struct("<~@32 A ~@8 A ~@10 B A@5 ~@2 A C ~@11>".pickRestart({
  A: "~@7 x", B: "~ x", C: "~@7 x!3 ~@22",
})).gain(0.56)

// drums · high tom
const high_tom = s("ht").struct("<~@23 [~ x ~@8 x ~ x ~@19] ~@9 [~@7 x!2 ~@7] ~@18 [~ x] ~@20>").gain(0.56)

// drums · crash
const crash = s("cr").struct("<~@23 A ~@3 B ~@3 C ~ D@2 ~@7 D ~@8 E F D@9 ~@11>".pickRestart({
  A: "~ x", B: "~@3 x", C: "~@31 x", D: "x", E: "x ~@6 x", F: "x!2 ~@2",
})).gain(0.48)

// drums · ride bell
const ride_bell = s("rd").struct("<~@43 [x!8]!8 [~ x!6 ~] [~ x ~ x ~@4] ~@20>").gain(0.48)

stack(
  synth_strings_1, bass, string_ensemble_2, string_ensemble_2_soft, electric_guitar_jazz, electric_guitar_jazz_2, piano,
// … 3 more lines

More by Pooh