Strudelify
Ci pensero domani cover art

1978 · Boomerang

Ci pensero domani

Pooh

KeyF majorTempo113 bpm
0:00/0:00
// Ci pensero domani — Pooh
// 113 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 124 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(113/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 · ocarina
const ocarina = note("<A@2 B@2 ~@120>".pickRestart({
  A: "[bb2,bb3,d4,f4,a4]/2", B: "[[a2,a3,e4,g4], c4@15 ~]/2",
})).s("gm_ocarina").gain(0.25)

// chords · electric guitar jazz
const electric_guitar_jazz = note("<~@4 A@2 B@2 ~@116>".pickRestart({
  A: "[[bb2,bb3,d4,f4,a4]@31 ~]/2", B: "[[a2,a3,c4,e4,g4]@31 ~, eb4 ~@31]/2",
})).s("gm_electric_guitar_jazz").gain(0.25)

// chords · acoustic guitar steel · Bb C7
const acoustic_guitar_steel = note("<~@8 [bb2@7 bb2, [bb3,c4,d4,f4]] [[bb2,g3,c4,e4]] ~@114>")
  .s("gm_acoustic_guitar_steel").gain(0.25)

// chords · tinkle bell
const tinkle_bell = note("<~@9 A B C D E F G H I@2 J K L M N@2 ~@99>".pickRestart({
  A: "~@5 g4@3, ~@3 c5@5", B: "e4@5 e4@3, [a2,c4], g3@7 ~",
  C: "f4@6 [f4,a4]@2 [f4,a4]@2 [e4,g4] ~ d4 ~ a3 ~, d3@13 ~@3, d4@5 ~@3, a3 ~@3", // F Em
  D: "d4@5 d4@3, [c4,f4], bb2@7 ~, bb3@3 ~@5", E: "~@7 bb2, c4, bb2@7 ~, e4@4 ~ g4@3, ~@3 c5@5",
  F: "g3@6 ~@6 e4@3 ~, a2@15 ~, e4@3 ~, c4@10 c4@5 ~, ~@6 g3@9 ~",
  G: "a3@4 ~@2 a4@2 [f4,a4]@2 [e4,g4] ~ d4 ~ a3 ~, d3@13 ~@3, d4@11 ~@5, f4 ~, ~@4 a3@7 ~@5", // F Em
  H: "~@10 bb4@5 ~, [g2,f3]@15 ~, bb4@5 ~@3, d4@6 d4@9 ~, ~@4 f4@11 ~", // G7
  I: "[[db4,e4] ~ a3!2 ~@2 [e4,g4] ~@7 a3@2, a2@2 [d3,d4,f4,a4] [c3,e4,f4,a4], a3@2 ~ e4@2 [d4,f4]@2 ~@9, ~ [db4,e4]@2 db4@4 ~@9, ~@4 a3@3 a3@3 a3@4 ~@2]/2", // Dbm Em Dm Fmaj7 Dm Dbm
  J: "b3@4 ~@2 d4@4 [d4,g4]@5 ~, [b2,f4,a4]@15 ~, d4@3 ~@5, ~ b3 ~@2", // G5 Bm7b5
  K: "bb3@5 ~@2 bb2, [c4,d4,f4], bb2@7 ~, ~@5 bb3@3", L: "a3 ~@11 c4@4, [a2,f4], c4@3 ~, ~@3 f3@5, ~@5 a3@3",
  M: "~@6 c4@4 [bb3,d4]@4 g3 ~, [g2,g4], [g3,bb3,d4]@5 ~@3", // Bb G Gm
  N: "[a3@2 ~ [b3,d4]@2 e4@2 ~ d4@2 d4 [e4,g4]@2 [f4,a4]@2 ~, a2@31 ~, db4@6 ~@4 db4@2 ~@2 e3@17 ~, ~@4 a3@11 ~ [a3,f4]@6 [a3,db4]@9 ~]/2", // Bm Em F Dm A
})).s("gm_tinkle_bell").gain(0.22)

// chords · tinkle bell · soft notes
const tinkle_bell_soft = note("<~@10 A B C D ~@2 E ~@2 F ~@3 G ~@100>".pickRestart({
  A: "~@7 g3", B: "~ a3@2 ~", C: "~@7 bb2, ~@3 bb3@5", D: "~@2 e4!2", E: "~@14 db4 ~", F: "~@8 b3@6 b2 ~",
  G: "~@12 db4@3 ~",
})).s("gm_tinkle_bell").gain(0.13)

// chords · piano
const piano = note("<~@40 A@2 B@2 ~@80>".pickRestart({
  A: "[a3@2 ~ [b3,d4]@2 db4!2 ~ d4@2 d4 [e4,g4]@2 [f4,a4]@2 ~, a2@31 ~, db4@6 ~@4 e4@4 e3@17 ~, ~@4 a3@11 ~ [a3,f4]@6 [a3,db4]@9 ~]/2", // Bm Em F Dm A
  B: "[[bb3,d4,a4]@31 ~]/2", // Bbmaj7
})).s("gm_piano").gain(0.25)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@44 A@2 B@2 A@2 C D E F G H I J K L@2 M N O P Q@2 B@2 A@2 B@2 A@2 ~@49
>`.pickRestart({
  A: "[[a3,c4,g4]@31 ~]/2", B: "[[bb3,d4,a4]@31 ~]/2", C: "[bb3,c4,d4,f4], bb2@7 ~",
  D: "~@5 g4@3, [bb2,g3,c4,e4], ~@3 c5@5", E: "e4@5 e4@3, [a2,c4], g3@7 ~",
  F: "f4@6 [f4,a4]@2 [f4,a4]@2 [e4,g4]@2 d4 ~ a3 ~, d3@13 ~@3, d4@5 ~@3, a3 ~@3", // F Em
  G: "d4@5 d4@3, [c4,f4], bb2@7 ~, bb3@3 ~@5", H: "~@7 bb2, c4, bb2@7 ~, e4@4 ~ g4@3, ~@3 c5@5",
  I: "g3@6 ~@6 e4@3 ~, a2@15 ~, e4@3 ~, c4@10 c4@5 ~, ~@6 g3@9 ~",
  J: "a3@4 ~@2 a4@2 [f4,a4]@2 [e4,g4] ~ d4 ~ a3 ~, d3@13 ~@3, d4@11 ~@5, f4 ~, ~@4 a3@7 ~@5", // F Em
  K: "~@10 bb4@5 ~, [g2,f3]@15 ~, bb4@5 ~@3, d4@6 d4@9 ~, ~@4 f4@11 ~", // G7
  L: "[[db4,e4] ~ a3!2 ~@2 [e4,g4] ~@7 a3@2, a2@2 [d3,d4,f4,a4] [c3,e4,f4,a4], a3@2 ~ e4@2 [d4,f4]@2 ~@9, ~ [db4,e4]@2 db4@4 ~@9, ~@4 a3@3 a3@3 a3@4 ~@2]/2", // Dbm Em Dm Fmaj7 Dm Dbm
  M: "d4@6 d4@4 [d4,g4]@5 ~, [b2,f4,a4]@15 ~, b3 ~@3", N: "bb3@5 ~@2 bb2, [c4,d4,f4], bb2@7 ~, ~@5 bb3@3",
  O: "a3 ~@11 c4@4, [a2,f4], c4@3 ~, ~@3 f3@5, ~@5 a3@3", P: "~@6 c4@4 [bb3,d4]@4 g3 ~, [g2,g4], [g3,bb3,d4]@5 ~@3",
  Q: "[a3@2 ~ [b3,d4]@2 e4@2 ~ d4@2 d4 [e4,g4]@2 [f4,a4]@2 ~, a2@31 ~, db4@6 ~@4 db4@2 ~@2 e3@17 ~, ~@4 a3@11 ~ [a3,f4]@6 [a3,db4]@9 ~]/2", // Bm Em F Dm A
})).s("gm_electric_guitar_clean").gain(0.25)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note("<~@50 A ~ B C D E ~@2 F ~@2 G ~@3 H ~@58>".pickRestart({
  A: "~@7 bb2", B: "~@7 g3", C: "~ a3@2 ~", D: "~@7 bb2, ~@3 bb3@5", E: "~@2 e4!2", F: "~@14 db4 ~",
  G: "~@2 b3@2 b3@3 b2", H: "~@12 db4@3 ~",
})).s("gm_electric_guitar_clean").gain(0.13)

// chords · fretless bass
const fretless_bass = note(`<
  ~@75 A B C D E F G H A B C I E F G H J K@2 L M N O P@2 Q@2 R@2 Q@2 R@2 Q@2 R@2 Q@2 R@2 Q@2 R@2 Q@2 R@2
>`.pickRestart({
  A: "[bb3,c4,d4,f4], bb2@7 ~", B: "~@5 g4@3, [bb2,g3,c4,e4], ~@3 c5@5", C: "e4@5 e4@3, [a2,c4], g3@7 ~",
  D: "f4@6 [f4,a4]@2 [f4,a4]@2 e4@2 d4 ~ a3 ~, d3@13 ~@3, d4@10 g4 ~@5, a3 ~@3", // F
  E: "d4@5 d4@3, [c4,f4], bb2@7 ~, bb3@3 ~@5", F: "~@7 bb2, c4, bb2@7 ~, e4@4 ~ g4@3, ~@3 c5@5",
  G: "g3@6 ~@6 e4@3 ~, a2@15 ~, e4@3 ~, c4@10 c4@5 ~, ~@6 g3@9 ~",
  H: "a3@4 ~@2 a4@2 [f4,a4]@2 [e4,g4] ~ d4 ~ a3 ~, d3@13 ~@3, d4@11 ~@5, f4 ~, ~@4 a3@7 ~@5", // F Em
  I: "f4@6 [f4,a4]@2 [f4,a4]@2 [e4,g4] ~ d4 ~ a3 ~, d3@13 ~@3, d4@5 ~@3, a3 ~@3", // F Em
  J: "~@10 bb4@5 ~, [g2,f3]@15 ~, bb4@5 ~@3, d4@6 d4@9 ~, ~@4 f4@11 ~", // G7
  K: "[[db4,e4] ~ a3!2 ~@2 [e4,g4] ~@7 a3@2, a2@2 [d3,d4,f4,a4] [c3,e4,f4,a4], a3@2 ~ e4@2 [d4,f4]@2 ~@9, ~ [db4,e4]@2 db4@4 ~@9, ~@4 a3@3 a3@3 a3@4 ~@2]/2", // Dbm Em Dm Fmaj7 Dm Dbm
  L: "d4@6 d4@4 [d4,g4]@5 ~, [b2,f4,a4]@15 ~, b3 ~@3", M: "bb3@5 ~@2 bb2, [c4,d4,f4], bb2@7 ~, ~@5 bb3@3",
  N: "a3 ~@11 c4@4, [a2,f4], c4@3 ~, ~@3 f3@5, ~@5 a3@3", O: "~@6 c4@4 [bb3,d4]@4 g3 ~, [g2,g4], [g3,bb3,d4]@5 ~@3",
  P: "[a3@2 ~ [b3,d4]@2 e4@2 ~ d4@2 d4 [e4,g4]@2 [f4,a4]@2 ~, a2@31 ~, db4@6 ~@4 db4@2 ~@2 e3@17 ~, ~@4 a3@11 ~ [a3,f4]@6 [a3,db4]@9 ~]/2", // Bm Em F Dm A
  Q: "[[bb3,d4,a4]@31 ~]/2", R: "[[a3,c4,g4]@31 ~]/2",
})).s("gm_fretless_bass").gain(0.25)

// chords · fretless bass · soft notes
const fretless_bass_soft = note("<~@75 A ~ B C D E ~@2 A ~ B C D E ~@2 F ~@2 G ~@3 H ~@25>".pickRestart({
  A: "~@7 bb2", B: "~@7 g3", C: "~ a3@2 ~", D: "~@7 bb2, ~@3 bb3@5", E: "~@2 e4!2", F: "~@14 db4 ~",
  G: "~@4 b3@4 b3@6 b2 ~", H: "~@12 db4@3 ~",
})).s("gm_fretless_bass").gain(0.13)

// chords · piano
const piano_2 = note(`<
  A@2 B@2 C@2 D@2 ~@32 E F G@2 H@2 I@2 J@2 ~@15 E F K@2 L@2 M@2 N@2 ~@23 E F O@4 P@2 Q@2 R@4 S@2 Q@2 T@4 U@2 Q@2
>`.pickRestart({
  A: "[[bb3,d4]@6 [bb3,d4,g4]@2 d4@4 d4@2 ~@8 g4@2 [d4,f4]@3 d4@2 [d4,g4]@3, bb2, [f4,a4]@4 [bb3,f4]@3 [bb3,d4,f4,a4]@5 bb4@4, ~@27 [f4,a4]@5]/2", // Bb Gm Dm G5 F Bb5 Bbmaj7 F
  B: "[[c4,g4]@6 ~@6 a3@2 a3@6 a3@2 [a3,c4,f4]@2 [a3,c4]@3 [a3,c4]@2 [a3,c4,f4]@3, a2@7 [a2,g4]@9, a3@3 ~@5, ~@6 f4@8 ~@10 f4@5 ~@3, ~@8 c4@6 c4@8 ~@5 e4@5]/2", // C5 F Am F A7
  C: "[[bb3,d4]@6 ~@6 d4@2 ~@15 g4@3, bb2, a4@7 a4@5 [d4,f4,bb4]@4, ~@3 [bb3,g4]@4 bb3@9, ~@6 d4@2 f4@6 d4@8 g4@5 a4@5]/2", // Bb Eb
  D: "[~@6 a3 [a3,c4,g4]@8 ~, a2@15 ~, g4@7 ~@9, a3@4 c4@3 ~@9, c4@3 f4@4 ~@9]/2", // Am7
  E: "~@12 d4@2 a3 ~, a2@15 ~, db4@6 db4@9 ~, a3@2 a3@3 a3@2 ~, ~@2 e3@13 ~",
  F: "~@12 [db4,g4]@3 ~, a2@15 ~, e4@3 [db4,f4]@3 ~@2, ~@2 e3@13 ~, ~@4 a3@6 a3@5 ~", // Dbdim Db
  G: "[bb3@6 [bb3,g4]@2 ~@4 d4@2 ~@8 g4@2 d4@3 d4@2 [d4,g4]@3, [d4,f4,a4]@4 [bb3,f4]@3 [bb3,d4,a4]@5 bb4@4, ~@27 a4@5]/2", // Eb G5 Dm Bb5 Bbmaj7
  H: "[[c4,g4]@6 ~@6 a3@2 ~@8 [c4,f4]@2 c4@3 c4@2 [c4,f4]@2 ~, a3@12 ~@8 a3@11 ~, ~@6 f4@8 g4@17 ~, ~@8 c4@6 c4@8 ~@2 f4@5 ~@3, ~@27 e4@5]/2", // C5 F5
  I: "[bb3@6 ~@6 d4@2 ~@15 g4@3, a4@14 a4@13 a4@5, d4@6 ~ d4@5 [d4,bb4]@4, ~@3 [bb3,g4]@4 ~@9, ~@8 f4@6 ~@8 g4@7 ~@3]/2", // Gm Eb
  J: "[~@6 a3 [c4,g4]@8 ~, g4@7 ~@9, a3@3 ~@5, c4@4 c4@3 ~@9, ~@3 f4@4 ~@9]/2", // C5
  K: "[d4@6 [d4,g4]@2 d4@4 d4@2 ~@8 g4@2 d4@3 d4@2 [d4,g4]@3, [bb3,f4,a4]@4 f4@3 [bb3,d4,a4]@5 bb4@4, ~@27 a4@5]/2", // G5 Bbmaj7
  L: "[[c4,g4]@6 ~@6 a3@2 ~@8 [c4,f4]@2 c4@3 c4@2 [c4,f4]@2 ~, ~@6 f4@8 g4@17 ~, ~@8 c4@6 c4@8 ~@2 f4@5 ~@3, ~@20 a3@11 ~, ~@27 e4@5]/2", // C5 F5
  M: "[d4@6 ~@6 d4@2 ~@15 g4@3, [bb3,a4]@7 bb3@9, ~@6 g4@8 a4@13 a4@5, ~@3 d4@3 ~ d4@5 [d4,bb4]@4, ~@8 f4@6 ~@8 g4@7 ~@3]/2", // Bbmaj7 Gm
  N: "[~@6 a3 [a3,g4]@8 ~, g4@7 ~@9, a3@3 ~@5, c4@4 c4@3 ~@9, ~@3 f4@4 ~@9]/2", // A7
  O: "[bb3@4 ~@2 [d4,g4]@2 d4@4 d4@2 bb3@4 ~@4 g4@2 [d4,bb4]@2 ~ [d4,a4]@2 g4@2 ~@5 a3@2 ~@6 a3@2 ~@4 a3@2 c4@2 [c4,f4]@2 c4@3 c4@2 [c4,f4]@2 ~, a4@4 ~@3 a4@5 ~@7 f4@4 g4@9, d4@6 ~@2 f4@6 ~@6 d4@4 ~@5 d4@16 ~@11 f4@5 ~@3, ~@2 bb3@2 ~@5 bb3@3 ~@4 [c4,g4]@3 a3@3 ~@4 a3@6, ~@40 c4@6 c4@6 ~@7 e4@5]/4", // G5 Gm D5 F5 C5
  P: "[d4@6 [bb3,d4,g4]@2 bb3@4 [bb3,d4]@2 ~@6 d4@2 g4 ~ [d4,bb4]@2 ~ [d4,a4]@2 [d4,g4]@2 ~, a4@8 f4@6 a4@9 ~@9, ~@7 d4@3 ~@6, ~@18 bb3@5 ~@9]/2", // Gm Bb Gm D5 G5
  Q: "[[c4,g4]@6 [a3,f4] ~ a3@3 ~ a3@2 ~@6 c4@2 [c4,f4]@2 [c4,f4]@2 ~ [c4,e4]@2 [c4,f4]@2 ~, ~@4 c4@3 g4@4 ~@5, ~@7 c4@2 a3@2 ~@5, ~ a2]/2", // C5 Dm F5 C F5
  R: "[bb3@4 ~@2 [d4,g4]@2 d4@4 [bb3,d4]@2 ~@8 g4@2 [d4,bb4]@2 ~ [d4,a4]@2 g4@2 ~@5 a3@2 ~@6 a3@2 ~@4 a3@2 c4@2 [c4,f4]@2 c4@3 c4@2 [c4,f4]@2 ~, a4@4 ~@3 a4@5 ~@7 f4@4 g4@9, d4@6 ~@2 f4@6 d4@6 d4@4 ~@5 d4@16 ~@11 f4@5 ~@3, ~@2 bb3@2 ~@5 bb3@3 ~@4 [c4,g4]@3 a3@3 ~@4 a3@6, ~@40 c4@6 c4@6 ~@7 e4@5]/4", // G5 Bb Gm D5 F5 C5
  S: "[d4@6 [d4,g4]@2 bb3@4 [bb3,d4]@2 ~@6 d4@2 g4 ~ [d4,bb4]@2 ~ [d4,a4]@2 [d4,g4]@2 ~, [bb3,a4]@8 f4@6 a4@9 ~@9, ~@7 d4@3 ~@6, ~@8 bb2@5 ~@3, ~@18 bb3@5 ~@9]/2", // G5 Bb Gm D5 G5 Bbmaj7
  T: "[bb3@4 ~@2 [d4,g4]@2 d4@4 [bb3,d4]@2 bb3@4 ~@4 g4@2 [d4,bb4]@2 ~ [d4,a4]@2 g4@2 ~@5 a3@2 ~@6 a3@2 ~@4 a3@2 c4@2 [c4,f4]@2 c4@3 c4@2 [c4,f4]@2 ~, a4@4 ~@3 a4@5 ~@7 f4@4 g4@9, d4@6 ~@2 f4@6 ~@6 d4@4 ~@5 d4@16 ~@11 f4@5 ~@3, ~@2 bb3@2 ~@5 bb3@3 ~@4 [c4,g4]@3 a3@3 ~@4 a3@6, ~@40 c4@6 c4@6 ~@7 e4@5]/4", // G5 Bb Gm D5 F5 C5
  U: "[d4@6 [d4,g4]@2 bb3@4 [bb3,d4]@2 ~@6 d4@2 g4 ~ [d4,bb4]@2 ~ [d4,a4]@2 [d4,g4]@2 ~, a4@8 f4@6 a4@9 ~@9, ~@7 d4@3 ~@6, ~@8 bb2@5 ~@3, ~@18 bb3@5 ~@9]/2", // G5 Bb Gm D5 G5
})).s("gm_piano").gain(0.64).pan(0.6)

// chords · piano
const piano_3 = note(`<
  ~@7 A B C D E F G D H F I J K L M@3 A N@4 F O P Q R S T@2 U V W@3 X Y Z@2 AA AB AC@2 AD@4 AE AF AG AH AI@2 AJ@2 AK AL
  AM@3 AN@2 AO AP AQ AR AS AT AU@4 ~@3 AV AW@4 AX AY AZ BA BB BC BD@2 BE AL BF@3 AN@2 AO AP BG BH BI BJ ~@16
>`.pickRestart({
  A: "~@13 e5 f5 ~", B: "d5@3 ~@7 e5@2 f5@2 g5@2", C: "~@2 g5@2 a5 ~ g5@4 e5 ~ d5@2 c5@2",
  D: "~@6 c5 ~ c5@2 g5@2 e5 ~ f5@2, ~@14 e5 ~", E: "~@2 d5@2 ~@6 e5@2 f5 ~ d5@2", F: "~@6 d5 ~ d5@2 e5@2 f5@2 g5@2",
  G: "~@2 g5@2 a5 ~ g5@4 e5@2 d5@2 c5@2", H: "~ d5 ~@3 e5 f5 d5", I: "~@2 g5@3 ~ g5@3 ~ a5@2 ~@2 a4 ~",
  J: "a5@4 f5@2 g5@3 ~ a5@3 ~ g5@2, ab5 ~@9 g5 ~@5", K: "f5@2 d5@2 ~@10 d5 ~", L: "d5@3 ~@3 bb4 ~ bb4 ~ c5@2 d5@2 c5@2",
  M: "[~@2 f5@2 ~ c5@2 ~ bb4@2 ~ a4@2 a4 bb4@4 c5@3 ~@3 bb4@3 ~ a4@2 a4@16 ~@2, ~@30 g4 ~@17]/3",
  N: "[d5@3 ~@3 d5 ~ d5@2 e5@2 f5@2 g5@2 ~@2 g5@2 a5 ~ g5@4 e5@2 d5 ~ c5@2 ~@6 c5 ~ c5@2 g5@2 e5!2 f5@2 ~@2 d5@2 ~@6 e5@2 f5@2 d5@2, c4@63 ~, [f3,bb3]@16 g3@32 f3@15 ~, c5 ~@63]/4", // Bb5
  O: "~@2 g5@2 a5 ~ g5@3 ~ e5@2 d5 ~ c5@2", P: "~@6 c5 ~ c5@2 g5 ~ e5 ~ f5@2, ~@14 e5 ~",
  Q: "~ d5 ~@3 e5 f5 d5, f3@13 ~@3, ~@2 c5 ~@11 c5 ~", R: "~@6 d5!2 d5@2 e5@2 f5 ~ g5@2, [f3,bb3,d4]",
  S: "~@2 g5@3 ~ g5@3 g5 a5@2 ~@2 a4 ~, [g3,db4]", // Gdim
  T: "[a5@3 ~ f5@2 g5@3 ~ a5@3 ~ g5@2 f5@2 d5@2 ~@10 d5 ~, [a3,d4], ~@10 g5 ~@21]/2", // D5
  U: "d5@3 ~@3 bb4@2 bb4 ~ c5@2 d5@2 c5@2", V: "~@2 f5@2 ~ c5@2 ~ bb4@2 ~ a4@2 ~@3",
  W: "[bb4@3 ~ c5@2 bb4@2 ~@2 a4@3 ~ a4@24 ~@10, ~@14 g4 ~@33]/3", X: "g5 a5@3 ~@2 g5@2 f5@3 ~ d5 ~ a5@2",
  Y: "~@6 g5@2 bb5@2 ~ a5@2 ~ g5@2", Z: "[g5@4 ~@2 f5@2 c5@3 ~ a4@2 g5@4 ~@4 f5@2 f5@2 ~ e5@2 f5@2 ~, ~@14 f5 ~@17]/2",
  AA: "a5@5 ~ g5@2 f5@2 ~@2 d5@2 a5@2", AB: "~@2 a5 ~@3 g5@2 bb5@3 a5@2 g5@2 ~",
  AC: "[g5@5 ~ f5@2 c5@2 ~@2 a4 ~ g5@5 ~@10 e5 f5 ~, ~@14 f5 ~@17]/2",
  AD: "[~@6 d5@2 d5 ~ e5@2 f5 ~ g5@2 ~@2 g5@2 a5 ~ g5@3 ~ e5@2 d5 ~ c5@2 ~@6 c5 ~ c5 ~ g5@2 e5 ~ f5@2 ~ c5 d5@2 ~@6 e5@2 f5 c5 d5@2, c4@63 ~, [f3,bb3]@16 g3@32 f3@15 ~, ~@46 e5 ~@17]/4", // Bb5
  AE: "~@6 d5 ~ d5@2 e5@2 f5 ~ g5@2", AF: "~@2 g5@2 a5 ~ g5@3 ~ [d5,e5] ~ d5 ~ c5@2",
  AG: "~@6 c5!2 c5@2 g5@2 e5!2 f5@2", AH: "~ c5 d5@3 ~@5 e5@2 f5@2 d5@2, f3@13 ~@3",
  AI: "[~@5 d5 ~ d5 d5@2 e5@2 f5@2 ~@4 g5@3 ~ g5@3 ~ a5@2 ~@2 a4 ~, [f3,bb3,d4] [g3,db4], ~@7 g5@2 ~@7]/2", // Bb Gdim
  AJ: "[a5@4 f5 ~ g5@3 ~ a5@3 ~ g5@2 f5@2 d5 ~@11 d5@2, [a3,d4], ~@10 g5 ~@21]/2", // D5
  AK: "d5@3 ~@3 bb4 ~ bb4 ~ c5 ~ d5@2 c5@2", AL: "~@2 f5@2 ~ c5@2 ~ bb4@2 ~ a4@2 ~ bb4@2",
  AM: "[~@2 c5@3 ~ bb4@3 ~ a4@3 ~ a4@21 ~@13]/3", AN: "[a5@4 ~@2 g5@2 f5@3 ~ d5@2 a5@4 ~@4 g5@2 bb5@2 ~ a5@2 g5@2 ~]/2",
  AO: "f5 g5@4 ~ f5@2 c5@3 ~ a4 ~ g5@2, ~@14 f5 ~", AP: "~@6 f5@2 f5@2 ~ e5@2 f5@2 ~", AQ: "a5@3 g5 f5 ~ d5 a5",
  AR: "~@2 a5@2 ~@2 g5@2 bb5@2 ~ a5@2 g5@2 ~", AS: "g5@5 ~ f5@2 c5@3 ~ a4 ~ g5@2, ~@14 f5 ~", AT: "~@2 g5 ~@13",
  AU: "[[f3,bb3]@16 g3@32 f3@15 ~, c4@63 ~]/4", AV: "f3@12 e5 ~ f5@2",
  AW: "[d5@3 ~@3 d5!2 d5@2 e5@2 f5 ~ g5@2 ~@2 g5@2 a5 ~ g5@4 e5 ~ d5 ~ c5@2 ~@6 c5 ~ c5@2 g5@2 e5 ~ f5@2 ~@2 d5@2 ~@6 e5@2 f5 ~ d5@2, c4@63 ~, [f3,bb3]@16 g3@32 f3@15 ~, ~@46 e5 ~@17]/4", // Bb5
  AX: "~@3 d5!2 e5 f5 g5", AY: "~@2 g5@2 a5 ~ g5@4 [d5,e5] ~ d5 ~ c5@2", AZ: "~@6 c5 ~ c5 ~ g5@2 e5!2 f5@2",
  BA: "~@2 d5@2 ~@6 e5@2 f5 c5 ~@2, f3@13 ~@3", BB: "~@6 d5 ~ d5 ~ e5@2 f5 ~ g5@2, [f3,bb3,d4]",
  BC: "~@2 g5@3 ~ g5@3 ~ a5@3 ~ a4@2, [g3,db4]", // Gdim
  BD: "[a5@4 f5 ~ g5@3 ~ a5@3 ~ g5@2 f5 ~ d5@2 ~@10 d5 ~, [a3,d4], ~@10 g5 ~@21]/2", // D5
  BE: "d5@3 ~@3 bb4@2 bb4@2 c5 ~ d5 ~ c5@2", BF: "[~@2 c5@3 ~ bb4@3 ~ a4@3 ~ a4@24 ~@10, ~@14 g4 ~@33]/3",
  BG: "a5@4 ~@2 g5@2 f5@3 ~ d5 ~ a5@2", BH: "~@2 a5 ~ g5 ~ g5 ~ bb5@2 ~ a5@2 g5@2 ~",
  BI: "g5@4 ~@2 f5@2 c5@3 ~ a4 ~ g5@2, f5 ~@13 f5 ~", BJ: "~ g5 ~@6",
})).s("gm_piano").gain(0.35).pan(0.4)

// chords · piano · soft notes
const piano_soft = note("<~@10 A ~@18 B@4 ~@17 C ~@3 D@4 ~@6 E ~@14 F@4 ~@3 G H@4 ~@2 I ~@30>".pickRestart({
  A: "~@4 c5 ~@11", B: "[[f3,bb3] g3@2 ~, c4@61 ~@3]/4", C: "d5@3 ~@13",
  D: "[[f3,bb3]@16 g3@32 ~@13 c5 ~@2, c4@61 ~@3]/4", E: "~@14 g4 ~", F: "[[f3,bb3]@16 g3@32 ~@15 c5, c4@61 ~@3]/4",
  G: "~@2 c5 ~@10 c5 ~@2", H: "[[f3,bb3]@16 g3@32 ~ c5 ~@12 d5@2, c4@61 ~@3]/4", I: "g5 ~@15",
})).s("gm_piano").gain(0.2).pan(0.4)

// bass · piano
const bass = note(`<
  ~@7 A B C D E B F G H I J K L M N I O@2 P Q R S P T U H V W X Y Z AA AB AC AD AE AF AG AH AI AJ AG AK P Q R S P T U H
  V W X Y Z AA AB AC AD AE AF AG AH AI AJ AG AK P Q R S P T U H P Q R S P T U H V W X Y Z AA AB AC AD AE AF AG AH AI AJ
  AG AK AE AF AG AH AI AJ AG AK AE AF AG AH AI AJ AG AK
>`.pickRestart({
  A: "~@6 c2 ~ c3 ~ a2 ~ f2 ~ c2 ~", B: "bb1@13 ~ bb1 ~", C: "bb1@6 g1 ab1", D: "a1@13 ~ a1 ~",
  E: "d2@6 a1 ~ d2@2 c2@3 ~ a1@2", F: "bb1@10 g1 ~ bb1@4", G: "a1@13 ~ c2@2", H: "d2@6 a1 ~ d2@2 c2@2 ~@2 a1@2",
  I: "~@3 g2@3 g1 ab1, g1@11 ~@5", J: "a1@6 a2@8 a1 ~", K: "d2@4 c2@3 a1", L: "b1@10 d2 ~ g1@2 a1@2", M: "bb1",
  N: "a1@4 c2 ~ a2@2 ~@2 f2@2 c2@2 a1@2", O: "[a1@6 e2@4 a2 ~@3 a2@12 e2@4 ~@2]/2", P: "bb1@12 ~@2 bb1 ~",
  Q: "bb1@10 g1 ~ c2@2 bb1@2", R: "a1@8 ~@2 a1 ~ c2@2 db2@2", S: "d2@9 ~ c2@2 ~@2 a1@2",
  T: "bb1@2 f2 ~ bb2 ~ bb2@4 g2@2 bb1@2 ~@2", U: "a1@4 ~ a1 c2 db2", V: "g1@5 ~ g2@6 g1@2 ab1@2",
  W: "a1@6 a2@3 ~ db3@3 ~ a2@2", X: "d2@6 a1 ~ c2@6 a1 ~", Y: "b1@3 g1@2 b1 d2 g2", Z: "bb2@6 bb1@8 bb2 ~",
  AA: "a2 f2 a1@3 a2 a1 ab1", AB: "g1@5 ~ g2@4 d2@2 bb1 ~ g1 ~", AC: "a1@6 a2@7 ~ a1 ~",
  AD: "a2@2 e2 ~ db2 ~ a1@4 a2@4 ~@2", AE: "bb1@5 ~ bb1 ~ bb2@7 ~", AF: "bb1@5 ~ bb1 ~ bb2@2 ~ f2@2 bb1@2 ~",
  AG: "a1@5 ~ a1 ~ f2@5 ~ a1 ~", AH: "a1@4 f1 ~ a1@3 ~ c2@2 f2@3 ~", AI: "bb1@5 ~ bb1 ~ bb2@5 ~ bb1 ~",
  AJ: "bb1@6 f2 ~ bb2@3 f2@2 bb1@2 ~", AK: "a1@2 f1@3 ~ a1@3 ~ c2@2 f2@3 ~",
})).s("gm_piano").gain(0.51)

// chords · piano
const piano_4 = note(`<
  ~@25 A@2 B C A@2 D E F G H I ~@13 A@2 B C A@2 D E F G H I ~@13 A@2 B C A@2 D E A@2 B C A@2 D E F G H I ~@29
>`.pickRestart({
  A: "[d4@2 e4@2 f4@2 d4@2 e4@2 f4@2 d4@2 e4@2 f4@2 d4@2 e4@2 f4@2 d4@2 e4@2 f4@2 g4 ~, bb3@31 ~]/2",
  B: "~ [c4,e4,g4]@2 ~", C: "[a3,d4,f4]@13 ~@3", D: "~@2 [a3,c4,e4,g4]@3 ~@3", E: "[a3,d4,f4]@3 ~",
  F: "d4 e4 f4 d4 e4 f4 d4 e4, bb3", G: "f4 e4 f4 g4 e4 f4 g4@2", H: "d4@7 ~ c4@8, [f4,a4]", I: "[b3,d4,g4]@7 ~",
})).s("gm_piano").gain(0.37).pan(0.6)
// … 139 more lines

More by Pooh