Strudelify

Un qualunque posto fuori o dentro di te

Gatto Panceri

KeyA majorTempo103 bpm
0:00/0:00
// Un qualunque posto fuori o dentro di te — Gatto Panceri
// 103 bpm, 4/4, key A 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 114 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 26, guitar program 27.
setcpm(103/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 · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@2 A B C@3 ~ D E@2 F@2 G@2 H@2 I@2 J K L M N@2 O P Q ~@4 R S T@2 U@3 V W X ~@10 Y Z AA AB AC AD@2 AE ~ Z Q AF AG ~@2
  AH@2 Y ~@2 AI AJ AK AL@2 ~@13 AM@2 ~@3 AN@2 AO AP@2 AQ@4 AR AS@2 AT AU@5 ~
>`.pickRestart({
  A: "d3@3 ~@5", B: "f#2@15 ~", C: "[~@3 [f#2,d3,f#3]@16 ~@5, e2@2 ~]/3", D: "~@3 c#4@3 c#4@2",
  E: "[b3@6 ~@6 c#5@3 ~@17, ~@5 c#4@8 ~@3]/2", F: "[[b3,e4]@3 ~@2 g#4@6 ~@5]/2",
  G: "[[b3,e4]@6 ~@13 c#4@12 ~, ~@15 [a2,e3]@16 ~, ~@16 b3@15 ~]/2", H: "[~@20 a3@11 ~, ~@11 b2@11 ~@10]/2",
  I: "[~@3 [c#4,e4]@13]/2", J: "~@3 e4@11 ~@2", K: "~@3 e4@9 e3@4",
  L: "c#4 ~@7 c#4@8, ~ d4@9 ~@6, ~@3 f#4@9 ~@4, ~@3 b3@5", M: "~@3 f#4@4 ~@3 c#3@5 ~, c#4@7 ~@9", N: "~@3 e4@3 ~@10",
  O: "~@3 e4@2 ~@11", P: "~@3 e4@4 ~@5 e4@4, ~ d4, ~@5 b3@3", Q: "~@3 e4@12 ~", R: "~@3 f#4@3 ~@10", S: "b3@15 ~",
  T: "[~@4 e4@2 ~@8 b3@7 ~ c#4@6 c#4@2 e4 ~, ~@3 e4@2 ~@3]/2",
  U: "[~@10 c#4@3 ~ e4@17 ~ b3@15 ~, ~@4 a3@9 ~@18 a2@17, ~@31 e3@7 ~@10]/3", V: "d3@6 ~@6 e4@3 ~", W: "~ c#4@14 ~",
  X: "d3@5 ~@11", Y: "b3@3 ~@5", Z: "~@3 e4@7 e4@6", AA: "~@3 e4, ~@3 e4@9 ~@4, ~@10 a3@5 ~",
  AB: "~@3 c#4@4 ~, c#4@3 ~@5, ~ d4@13 ~@2, ~@3 f#4@9 ~@4", AC: "~@3 f#4@2 ~@11, c#4@5 ~@11", AD: "~@10 e4@5 ~",
  AE: "~@7 e4", AF: "~@6 c#4@9 ~, ~@3 f#4@12 ~", AG: "~@3 f#4@3 ~@10, c#4@3 ~@5",
  AH: "[~@6 c#4@9 e2@16 ~, ~@15 e3@13 ~@4, ~@15 b2@11 ~@6]/2", AI: "~@12 b3@3 ~", AJ: "~@3 f#4@5 ~@8", AK: "~@2 b3@5 ~",
  AL: "[d#4@6 d#4@5 ~@3 d#4@4 d#4@2 [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4]@2 [f#3,b3,d#4] ~]/2", // B
  AM: "[~@3 b3@2 e4@27, ~@2 g#3@3 ~@27]/2", AN: "[~@15 [c#3,f#3]@7 ~@10]/2", AO: "~@4 b3@11 ~, ~@2 a3@13 ~",
  AP: "[~@2 e4 ~@6 a3@4 ~@3, ~ a3@4 ~ e4@4 ~@6, ~@14 b3@7 ~@11]/2",
  AQ: "[~@6 e4@8 ~ [e2,e3]@32 ~@13 e4@4, ~@47 a2@7 e3@9 ~, ~@47 e3@5 a3@11 ~, ~@48 b3@15 ~, ~@48 a3@2 c#4@13 ~]/4", // E
  AR: "[e3,g#3,b3]@3 ~@3 b3 a3, ~@6 [f#2,f#3,a3,d4]@9 ~", // E D
  AS: "[g#3@11 ~ b3@4 ~@4 g#3@2 ~@6 e4@2 d4@2, ~@6 e4@5 ~@5, ~@12 g#3@8 ~@2 [f#2,d3,f#3,a3]@9 ~, ~@8 b3@3 ~@5]/2", // D
  AT: "~@6 c#4@9 ~, b3@7 ~, e4@2 e4@5 ~, ~ c#4@2 ~@5",
  AU: "[[g#3,b3,e4]@6 e4@8 ~@4 d4@6 ~@28 b4@27 ~, ~@3 [d3,f#3,a3]@9 f#2@12 e5@16, ~@14 e4@11 c#3@32 ~@23, ~@13 [f#3,a3]@16 ~@11, ~@7 c#4@8 ~@5]/5", // E D F#m
})).s("gm_electric_guitar_jazz").gain(0.17).pan(0.1)

// chords · electric guitar jazz · soft notes
const electric_guitar_jazz_2 = note("<~@29 [~@13 e3@3] ~@45 [~@11 d#4 d#4@2 ~@2] [f#3!2 ~@6] ~@37>")
  .s("gm_electric_guitar_jazz").gain(0.1).pan(0.1)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@2 B C D@2 E@2 F G H I@2 J K L M N@2 E O P Q M R S T U V W@2 X Y K Z AA AB AC K AD AE AD AF AG AH@2 AI AF AG AH@2 AF
  AJ O@2 AK V AL@2 AM@2 AN O AB V M AO@2 AP AQ V W AR AS K AT@2 AF AG AH@2 AI AF AG AH AU AV AW AX AW AY@2 AZ BA BB BC
  BD BE BF BG BH BI@3 ~@10
>`.pickRestart({
  A: "[~@11 e3@3 e4@2, ~@15 e3@7 ~@10, ~@15 a3@3 c#4@9 ~@5, ~@16 b3@11 ~@5, ~@20 a3@7 ~@5]/2",
  B: "[e3,g#3,b3]@6 [f#3,a3,d4]@5 ~ [d#4,e4]@2 d4@2", C: "~@3 e4, [e3,g#3,b3]",
  D: "[[d3,g#3,b3]@5 ~@2 e4@25, ~@5 f#3@26 ~, ~@3 [a3,c#4]@13]/2", // G#dim A
  E: "[c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4] ~", // F#m C#sus4
  F: "d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 [d4,f#4,b4] ~, ~ [f#4,b4]@2 [f#4,b4]@2 [f#4,b4]@2 ~", // Bm B5
  G: "d4@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [b3,e4,g#4]@4 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~", // D E
  H: "[c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4] ~ [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~", // C#sus4 F#m
  I: "[c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~", // C#sus4 F#m
  J: "[c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~, ~@4 g#4@11 ~", // C#sus4 F#5 F#m
  K: "[c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4] ~", // A
  L: "[d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4] ~ [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [e4,g#4]@2 [e4,g#4]@2, ~@3 b3", // D E
  M: "[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~ [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~", // E F#m
  N: "[[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~ [d4,f#4,a4]@2 [d4,f#4,a4]@24]/2", // E D
  O: "[c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~ [c#4,g#4]@2 [c#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4] ~, ~@3 f#4@2 ~@3", // F#m C#5 C#sus4
  P: "[d4,f#4,b4]@2 [d4,f#4,b4]@2 [d4,f#4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,a4] ~, ~@4 b4@11 ~", // Bm D D5
  Q: "[d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4] ~ [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2", // D E
  R: "[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~ [c#4,a4]@2 [c#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~, ~@3 f#4@2 ~@3", // E F#m
  S: "[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~ [c#4,f#4,a4]@2 [c#4,a4]@2 [c#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~, ~@2 f#4 ~", // E F#m
  T: "[b3,e4,g#4]!4 [g#2,e3,b3,e4]@4", // E
  U: "[c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~", // A F#m
  V: "[d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4] ~ [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~", // D E
  W: "[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~ [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4] ~", // E A
  X: "[b3,g#4]@2 [b3,g#4]@2 [b3,e4,g#4] ~ [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4] ~, e4 ~@3", // E A
  Y: "[c#4,f#4]@2 [c#4,f#4]@2 [c#4,f#4,a4] ~ [d#4,f#4,b4]@2 [d#4,f#4,b4]@2 [d#4,f#4,b4]@2 [d#4,f#4,b4]@2 [d#4,f#4,b4] ~, a4 ~@3", // F#5 F#m B
  Z: "[d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~", // D F#m
  AA: "[c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4] ~ [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4] ~", // A D
  AB: "[d4,f#4,b4]@2 [d4,f#4,b4]@2 [d4,f#4,b4]@2 [d4,f#4,b4]@2 [d4,f#4,b4]@2 [d4,f#4,b4]@2 [d4,f#4,b4]@2 [d4,f#4,b4] ~", // Bm
  AC: "[b3,e4,g#4]", // E
  AD: "[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~ [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4] ~", // E D
  AE: "[c#4,a4]@2 [c#4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4] ~, e4 ~@3", // F#m A
  AF: "[c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4] ~", // F#m
  AG: "[c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~", // C#
  AH: "[d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~", // D
  AI: "[c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~", // A
  AJ: "[c#4,e4,a4]@5 ~ [b3,e4,g#4]@10", // A E
  AK: "[f#4,a4,b4]@2 [f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [d4,f#4,a4,b4] ~, d4 ~@3", // B7 Bm7
  AL: "[[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~ [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,a4] ~ [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~ [c#4,a4]@2 [c#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~, ~@14 f#4@7 ~ f#4@4 ~@6]/2", // E F#m E F#m
  AM: "[[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [c#4,a4]@2 [c#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,a4] ~ [b3,g#4]@2 [b3,g#4]@2 [b3,e4,g#4] ~ [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4]@2 [c#4,f#4]@2, ~@6 f#4@4 ~@4 f#4@7 ~@7 a4@4, ~@4 e4 ~@3]/2", // E F#m E F#m F#5
  AN: "[c#4,a4]@2 [c#4,a4]@2 [c#4,f#4,a4] ~ [c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4]@2 [c#4,f#4,g#4] ~, f#4 ~@3", // F#m C#sus4
  AO: "[g#4@2 g#4@2 [b3,e4,g#4] ~ [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 f#4@2 [d4,f#4,b4]@2 [d4,f#4,b4]@2 [d4,f#4,b4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4] ~, [b3,e4]@2 ~@5 [c#4,a4]@4 ~@5]/2", // E F#m Bm D E5 F#m
  AP: "[b3,e4,g#4]!8", // E
  AQ: "[c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,a4]@2 [c#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~, ~@3 f#4@2 ~@3", // A F#m
  AR: "[e4,g#4]@2 [e4,g#4]@2 [b3,e4,g#4] ~ [c#4,a4]@2 [c#4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4] ~, b3@2 ~ e4@2 ~@3", // E F#m A
  AS: "[c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~ f#4@2 [d#4,f#4,b4]@2 [d#4,f#4,b4]@2 [d#4,f#4,b4]@2 [d#4,f#4] ~, ~@3 [c#4,a4]@4 ~", // F#m B D#m F#m
  AT: "[[f#4,b4]@2 [f#4,b4]@2 [f#4,b4]@2 [f#4,b4]@2 [f#4,b4]@2 [f#4,b4]@2 [f#4,b4]@2 [f#4,b4]@17 ~]/2", // B5
  AU: "[d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [c#4,f#4,a4] ~", // D F#m
  AV: "~@2 [c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4] ~ [c#4,f#4,a4]@2", // F#m
  AW: "[b3,e4,g#4]@5 ~ [c#4,f#4,a4]@2 ~@8", AX: "[b3,e4,g#4]@5 ~ [c#4,f#4,a4] ~@9",
  AY: "[[b3,e4,g#4]@5 ~ [c#4,f#4,a4]@26]/2", // E F#m
  AZ: "[c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4] ~ f#4@2 f#4@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~, ~@3 [c#4,a4]@2 ~@3", // A F#m
  BA: "[d4,f#4,a4]@2 [d4,f#4,a4]@2 [d4,f#4,a4] ~ [b3,e4,g#4]@2 [b3,g#4]@2 [b3,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~, ~@2 e4 ~", // D E
  BB: "[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4] ~ [c#4,e4]@2 [c#4,e4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,a4] ~, ~@3 a4@2 ~@3", // E C#m A F#m
  BC: "[b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [c#4,a4]@2 [c#4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4] ~, ~@3 e4@2 ~@3", // E F#m A
  BD: "[c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~ [d#4,f#4,b4]@2 [d#4,f#4,b4]@2 [d#4,f#4,b4]@2 [d#4,f#4,b4]@2 [d#4,f#4] ~", // F#m B D#m
  BE: "[c#4,e4]@2 [c#4,e4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4] ~, a4 ~@3", // C#m A
  BF: "[d4,f#4]@2 [d4,f#4]@2 [d4,f#4,a4] ~ [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~, a4 ~@3", // D F#m
  BG: "[c#4,e4,a4]@4 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4]@2 [c#4,e4,a4] ~", // A
  BH: "[d4,f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [d4,f#4,a4,b4]@2 [f#4,a4] ~", // Bm7 F#m
  BI: "[[b3,e4,g#4]@11 ~@5]/3", // E
})).s("gm_acoustic_guitar_steel").gain(0.2).pan(0.8)

// chords · epiano2
const epiano2 = note("<~@3 A B@2 ~@26 C@2 D ~@5 E@2 ~@31 C@2 F@2 ~@9 G H I J K@2 ~@4 C@2 D ~@15>".pickRestart({
  A: "~@2 [e3,b4]@2 [e3,b4] c#5 [c#3,e5]@2, g#4@11 ~@5, e3 ~@3, ~@2 a4@9 ~@5", // E5 C#m
  B: "[[d3,e4,g#4,b4]@3 [d3,c#4,f#4,a4]@13]/2", C: "[~@6 b4@4 c#5@2 g#5@2 a5@4 e5@2 g#5@2 a5@2 c#5@2 g#5@2 a5@3 ~]/2",
  D: "[d5,f#5,a5]", E: "[~ a4 b4 e4@2 ~ e5@10, g#4@6 ~@4 c#5@21 ~]/2", F: "[b4,d#5,f#5,a5]/2",
  G: "~@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4]@2 [f#4,a4]@2 [c#4,f#4,a4]@2 [c#4,f#4,a4] ~ [c#4,a4] ~, ~@8 c#4 ~@5 f#4@2", // F#m
  H: "[b3,e4,g#4]@5 ~ [c#4,f#4,a4]@2 ~@8", I: "[b3,e4,g#4]@5 ~ [f#4,a4]@2 ~@8, ~@6 c#4 ~@9",
  J: "[b3,e4,g#4]@3 [f#4,a4] ~@4, ~@6 c#4 ~@9", K: "[[b3,e4,g#4]@5 ~ [a3,c#4,e4,a4]@26]/2",
})).s("gm_epiano2").gain(0.37).pan(0.8)

// bass · synth bass 2
const bass = note(`<
  ~@6 A B C D E F A F G H I J@2 K L M N O P O Q R H S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP K AQ
  AR AS AT AU K AV K AW M AX O AY AZ BA G BB BC BD V W BE BF BG BH BI BJ BK BL BM BN BO BP BQ@3 BR@2 G H BS T BT W BU@2
  BV BW@2 BX BY@2 BZ CA CB@6
>`.pickRestart({
  A: "f#1@13 ~ f#1 ~", B: "f#1", C: "b1", D: "a1@6 e2@9 ~", E: "f#1@14 f#1 ~", F: "f#1@15 ~", G: "a1@5 ~ a1@9 ~",
  H: "d1@5 ~ e1@10", I: "e1 ~ e1@2 ~@2 f#1@9 ~", J: "[e1@5 ~ d1@26]/2", K: "f#1@5 ~ f#1@7 ~ f#1 ~", L: "f#1@9 ~ c#1@6",
  M: "b1@5 ~ b1@9 ~", N: "a1@3 e2@3 ~ e2", O: "f#1@5 ~ f#1@9 ~", P: "f#1@5 ~ f#1@4 c#1@6",
  Q: "f#1@5 ~ f#1 ~ g#1@4 e1@4", R: "a1@4 ~@2 a1@7 ~ a1 ~", S: "e1 ~ e1@4 a1@9 ~", T: "e1@5 ~ a1@10",
  U: "e1 ~ e1@4 a1@10", V: "f#1@5 ~ f#1 ~ b1@4 g#1@4", W: "a1@3 c#1@3 a1 c#1", X: "d1@6 f#1@8 a1 ~", Y: "a1@3 d1@4 ~",
  Z: "b1@5 ~ b1@6 d1@4", AA: "e1", AB: "a1@3 a1@5", AC: "e1@6 f#1@6 ~@2 f#1 ~", AD: "a1 e1 f#1 a1",
  AE: "e1@6 d1@6 ~@2 e1 f1", AF: "f#1@2 f#1@2 ~@2 f#1@8 ~ c#1", AG: "c#1@2 c#1@2 ~@2 c#1@6 ~@2 c#1!2",
  AH: "d1@2 d1@2 ~@2 d1@7 ~@2 d1", AI: "d1@2 d1@2 ~@3 e1 e1@2 e1@2 ~@3 a1", AJ: "a1 ~ a1@2 ~@2 a1!4 e1@2 c#1 ~ e1 f1",
  AK: "f#1@2 f#1@2 ~@2 f#1@2 f#1@6 ~ c#1", AL: "c#1@2 c#1@2 ~@2 c#1!4 e1@2 c#1 ~ c#1!2",
  AM: "d1@2 d1@2 ~@2 d1@2 d1@5 ~ d1!2", AN: "d1 ~ d1@2 ~@3 e1 e1@2 e1@2 ~@3 e1",
  AO: "f#1@2 f#1 ~@3 f#1!2 f#1@2 f#1@2 c#1@2 f#1@2", AP: "a1@3 e1@5", AQ: "f#1@5 ~ f#1 ~ c#1@4 a1@4",
  AR: "b1@5 ~ b1@8 f#1 ~", AS: "a1@5 ~ c#2 ~ c#1@4 e1@3 ~", AT: "f#1@5 ~ f#1@6 ~@2 f#1 ~",
  AU: "f#1@5 ~ f#1 ~ c#1@4 e1@4", AV: "f#1@6 d1@9 ~", AW: "f#1@5 ~ f#1@10", AX: "a1@5 ~ c#1 ~@3 c#1@2 e1@2 f1@2",
  AY: "f#1@5 ~ f#1@6 a1@2 f#1@2", AZ: "b1@6 a1@7 ~ e1 ~", BA: "e1@7 ~ b1@4 e2@3 ~", BB: "d1@5 ~ e1@6 ~@2 e1!2",
  BC: "e1 ~ e1@3 ~ a1@9 ~", BD: "e1@3 a1@5", BE: "b0", BF: "~@2 b0@2 b0@2 b0 ~ b0 ~ b0 ~ b0 ~ e1 f1",
  BG: "f#1@2 f#1@2 ~@2 f#1@7 ~ c#1!2", BH: "c#1@2 c#1@2 ~@2 c#1@7 ~ c#1!2", BI: "d1@2 d1@2 ~@2 d1@2 d1@6 ~ d1",
  BJ: "d1@2 d1@2 ~@3 e1 e1@2 e1@2 ~@2 e1!2", BK: "a1@2 a1 ~@3 a1!4 e1@2 c#1@2 e1 f1",
  BL: "f#1@2 f#1@2 ~@2 f#1 ~ f#1@7 c#1", BM: "c#1@2 c#1 ~@3 c#1!4 f1@2 c#1@3 c#1", BN: "d1@2 d1@2 ~@2 d1@8 ~ d1",
  BO: "d1@2 d1@2 ~@3 e1 e1@2 e1@2 ~@2 f#1@2", BP: "~@2 f#1@2 f#1 ~ f#1@2 f#1@2 f#1@2 f#1 ~ f#1@2", BQ: "e1@3 f#1 ~@4",
  BR: "[e1@3 d1@13]/2", BS: "e1 ~ e1@3 ~ a1@10", BT: "f#1@5 ~ a1 ~ b1@4 g#1@2 g#1@2",
  BU: "[d1@6 f#1@8 a1@8 c#1@8 c#1 ~]/2", BV: "b1@11 ~ d1@4", BW: "[e1@7 ~]/2", BX: "a1", BY: "[e1@3 f#1@13]/2",
  BZ: "e1@3 d1@4 e1", CA: "f#1@3 c#2@3 g#2@2", CB: "[e2@6 ~@19 f#1@56 ~@15, ~@6 d2@23 ~@67]/6",
})).s("gm_synth_bass_2").gain(0.64)

// other · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  ~@14 A B C@2 ~@9 D E ~@5 F G H@2 ~@33 I J ~@19 K L ~ M N ~ O P Q R ~@12
>`.pickRestart({
  A: "~@10 a4 b4 c#5 d5 e5 c#5", B: "d5@2 ~ f#4@2 b4 g#4@9 ~, ~ a4 ~@6", C: "[~@10 b4 a4 b4 ~ a4 a4@2 a4@12 ~@3]/2",
  D: "~@7 a3", E: "a3@3 b3@3 g#3@9 ~", F: "~@11 a4 b4 ~ a4 b4", G: "~ [b4,c5] c#5@2 a4@12",
  H: "[~@5 c#5 e5@2 d5@2 c#5 [c#5,d5]@2 b4@18 ~]/2", I: "~@14 a4 c#5", J: "b4@3 c#5 a4@4", K: "~@10 a4!2 a4@2 a4 g#4",
  L: "f#4@7 ~@9", M: "~@14 a3 g#3", N: "f#3@7 ~@9", O: "~@3 d4!2 e4 d4!3 ~@2 d4!2 e4 f#4 g#4",
  P: "a4 g#4 f#4 e4!2 f#4@10 c#5", Q: "e5 ~@2 [f5,f#5] ~@2 b4 ~ b4 c#5 ~ d5 c#5 b4 a4 ~", R: "[g4,g#4] e5@12 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.39).pan(0.6)

// other · acoustic guitar steel · soft notes
const acoustic_guitar_steel_3 = note("<~@98 [d4!3 ~@6 d4!2 ~@5] ~@15>")
  .s("gm_acoustic_guitar_steel").gain(0.22).pan(0.6)

// other · pad new age
const pad_new_age = note(`<
  ~@17
  [g#4 ~ a4 b4 ~ e5 c#5@3 ~@7]
  ~@12
  [g#4 e4 a4 b4 ~ e5 c#5@10]
  ~@27
  [~@10 a4 b4 ~ e5 g#4 ~]
  ~@55
>`).s("gm_pad_new_age").gain(0.22)

// chords · percussive organ
const percussive_organ = note("<~@19 A@2 B@2 C@2 D@2 ~@26 A@2 B@2 C@2 D@2 ~@53>".pickRestart({
  A: "[~@8 [a4,c#5,f#5]@17 ~@7]/2", B: "[~@8 [d5,f#5,b5]@15 ~@9]/2", C: "[~@4 [a4,c#5,f#5]@7 ~@5]/2",
  D: "[~@8 [c#5,f#5,a5]@15 ~@9]/2", // F#m
})).s("gm_percussive_organ").gain(0.31).pan(0.7)

// chords · electric guitar clean
const electric_guitar_clean = note("<~@39 A@2 ~@49 B@2 ~@11 C D@4 ~ E@4 ~>".pickRestart({
  A: "[~ b3, ~@15 e3@7 ~@10]/2", B: "[~@3 e4@13]/2", C: "~@12 b3@3 ~",
  D: "[~@16 e4@14 ~ e3@7 ~@10 c#4@12 g#4@4, ~@15 b3@15 ~ g#3@5 ~@10 a3@14 ~@4]/4", E: "[~@11 c#4@52 ~, ~@9 f#3@54 ~]/4",
})).s("gm_electric_guitar_clean").gain(0.26).pan(0.8)

// other · electric guitar clean
const electric_guitar_clean_2 = note("<~@42 A B C D E A B C F G ~@25 A B C D H A B C I J K L@2 M@2 ~@22>".pickRestart({
  A: "f#2 ~ c#3@2 g#3@2 c#3@2 a3@2 g#3@2 c#3@2 b2@2", B: "c#3 ~ g#3@2 d#4@2 g#3@2 f4@2 d#4@2 c#4@2 g#3 ~",
  C: "d3@2 a3@2 e4@2 a3@2 f#4@2 d4@2 a3 ~@3", D: "g#4@2 e4@2 b3 ~ f#4@2 d4@2 a3@2 ~@2 a3@2",
  E: "~@6 c#4@2 b3@2 a3@2 b3@2 a3 ~", F: "g#4@2 e4@2 b3 ~ f#4@2 d4@2 f#4@2 ~@4", G: "~ c#3 g#3 a3 g#3 f#3 c#3 f#3",
  H: "~@2 e3@2 a3@2 d4@2 c#4@2 b3@2 a3@2 b3 ~, ~@6 c#4 ~@9", I: "g#4@2 e4@2 b3 ~ f#4@2 d4@2 a3 ~ a3 ~ a3 ~",
  J: "~@2 f#2@2 f#2 ~ f#2@2 f#2 ~ f#2 ~ f#2 ~ f#2 ~", K: "e2@6 f#2 ~@9", L: "e2@3 f#2 ~@4", M: "[e2@3 d2@13]/2",
})).s("gm_electric_guitar_clean").gain(0.48).pan(0.6)

// chords · lead 5 charang
const lead_5_charang = note("<~@42 A B C D E F G H I J ~@62>".pickRestart({
  A: "[f#5,a5]@2 [c#5,f#5,a5] ~@3 [c#5,a5] ~ [c#5,f#5,a5]@2 [c#5,f#5,a5] ~@3 [c#5,f#5] ~, c#5 ~@15", // F#m F#5
// … 116 more lines

More by Gatto Panceri