Strudelify
Orgoglio e dignita cover art

Una giornata uggiosa

Orgoglio e dignita

Battisti

KeyB majorTempo131 bpm
0:00/0:00
// Orgoglio e dignita — Battisti
// 131 bpm, 4/4, key B 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: Full arrangement: all 137 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(131/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 · electric bass finger
const bass = note(`<
  ~ A@2 B@2 C@2 D@2 E@2 F G H I@2 G H J K L M N O P Q R S T U V W X Y Z K L M N O P Q R S T U V W X Y Z AA AB AC AD AE
  AF AG AH AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ AK AL AM AN AO AP AQ AR AS AT
  BA BB BC BD BE BF AC BG BH BI BJ BK BL BM AC BG BH BI BJ BK BN BO BP BQ@2 BO BP BR BN BO BP BQ@2 BO BP BR BS@6
>`.pickRestart({
  A: "g#1/2", B: "f1/2", C: "a#1/2", D: "c#2/2", E: "c#1/2",
  F: "g#1@3 ~ g#1@2 ~@4 g#1@2 g#1@3 ~ g#1@2 g#1@2 g1@2 f#1@2", G: "f1@4 f1@2 ~@4 f1 ~ f1@4 f1 ~ f1@2 g1@2 g#1@2",
  H: "a#1@3 ~ a#1@2 ~@4 a#1@2 a#1@3 ~ a#1@2 a#1@2 g1@2 f1@2",
  I: "[d#1@4 d#1@2 ~@4 d#1 ~ d#1@4 d#1 ~ d#1@2 f1@2 g#1@6 g#1@2 ~@4 g#1@2 g#1@3 ~ g#1@2 g#1@2 g1@2 f#1@2]/2",
  J: "d#1@4 d#1@2 ~@4 d#1 ~ d#1@4 d#1 ~ d#1@2 f1@2 g1@2", K: "g#1@2 g#1 ~ d#1 f1 g#1 ~@4 d#1",
  L: "g#1@2 g#1 ~ d#1 f1 g#1 ~@3 d#2 e2", M: "f2@2 f2 ~ c2 d#2 f2 ~@4 f2", N: "f2@2 f2 ~ c2 d#2 f2 ~@3 f2 c2",
  O: "a#1@2 a#1 ~ f1 g#1 a#1 ~@4 a#1", P: "a#1@2 a#1 ~ f1 g#1 a#1 ~@3 a#1 c2", Q: "c#2@2 c#2 ~ g#1 a#1 c#2 ~@4 g#1",
  R: "c#2@2 c#2 ~ g#1 a#1 c#2 ~@3 c#2 a#1", S: "c2@2 c2 ~ g1 a#1 c2 ~@3 d#2 e2", T: "f2@2 f2 ~ c2 e2 f2 ~@3 f2 c2",
  U: "a#1@2 a#1 ~ f1 g#1 a#1 ~@3 c#2 a#1", V: "d#2@2 d#2 ~ a#1 g1 d#1 ~@3 d#2 e2", W: "f2@2 f2 ~ c2 d#2 f2 ~@4 a#1",
  X: "d#2@2 d#2 ~ d#2 f2 d#2 ~@4 a#1", Y: "d#2@2 d#2 ~ d#2 a#1 d#2 ~@4 a#1", Z: "d#2@2 d#2 ~@2 a#1 d#2 ~ d#2 ~@2 g1",
  AA: "a#1@5 ~ f1@2 g#1@2 a1@2 a#1@5 ~ f1@2 g#1@2 a1@2", AB: "a#1@5 ~ f1@2 g#1@2 a1@2 a#1@5 ~ a#1@2 a#1@2 a#1@2",
  AC: "c2@5 ~ g1@2 a#1@2 b1@2 c2@5 ~ g1@2 a#1@2 b1@2", AD: "c2@5 ~ g1@2 a#1@2 b1@2 c2@5 ~ g#1@2 a#1@2 c2@2",
  AE: "c#2@5 ~ g#1@2 a#1@2 c2@2 c#2@5 ~ g#1@2 a#1@2 c2@2", AF: "c#2@5 ~ g#1@2 a#1@2 c2@2 d#2@5 ~ a#1@2 d#2@2 e2@2",
  AG: "f2!4", AH: "f2@3 f2@3 f2@3 f2@2 ~", AI: "d#2!4", AJ: "d#2@3 d#2@3 d#2@3 d#2@2 ~",
  AK: "a#1@2 a#1 ~ f1 g1 a#1 ~@4 f1", AL: "a#1@2 a#1 ~ f1 g1 a#1 ~@3 f2 f#2", AM: "g2@2 g2 ~ d2 f2 g2 ~@4 g2",
  AN: "g2@2 g2 ~ d2 f2 g2 ~@3 g2 d2", AO: "c2@2 c2 ~ g1 a#1 c2 ~@4 c2", AP: "c2@2 c2 ~ g1 a#1 c2 ~@3 c2 d2",
  AQ: "d#2@2 d#2 ~ a#1 c2 d#2 ~@4 a#1", AR: "d#2@2 d#2 ~ a#1 c2 d#2 ~@3 d#2 c2", AS: "d2@2 d2 ~ a1 c2 d2 ~@3 f2 f#2",
  AT: "g2@2 g2 ~ d2 f#2 g2 ~@3 g2 d2", AU: "c2@2 c2 ~ g1 a#1 c2 ~@3 d#2 c2", AV: "d#1@2 d#2 ~ d#2!2 d#1 ~ d#2 ~@2 d#2",
  AW: "d2@2 d2 ~ a1 c2 d2 ~@4 d2", AX: "g2@2 g2 ~ d2 f2 g2 ~@4 d2", AY: "c2@2 c2 ~ c2!2 d2 ~@4 d2",
  AZ: "d#2@2 d#2 ~@2 d#2 f2 ~ f2 ~@2 f2", BA: "f2@2 f2 ~ c2 d#2 f2 ~@4 c2", BB: "f2@2 f2 ~ c2 a1 f1 ~@3 f2 f#2",
  BC: "g2@2 g2 ~ d2 f2 g2 ~@4 c2", BD: "f2@2 f2 ~ f2 g2 f2 ~@4 c2", BE: "f2@2 f2 ~ f2 c2 f2 ~@4 c2",
  BF: "f2@2 f2 ~@2 c2 f2 ~ f2 ~@2 a1", BG: "c2@5 ~ g1@2 a#1@2 b1@2 c2@5 ~ c2@2 c2@2 c2@2",
  BH: "d2@5 ~ a1@2 c2@2 c#2@2 d2@5 ~ a1@2 c2@2 c#2@2", BI: "d2@5 ~ a1@2 c2@2 c#2@2 d2@5 ~ a#1@2 c2@2 d2@2",
  BJ: "d#2@5 ~ a#1@2 c2@2 d2@2 d#2@5 ~ a#1@2 c2@2 d2@2", BK: "d#2@5 ~ a#1@2 c2@2 d2@2 f2@5 ~ c2@2 f2@2 f#2@2",
  BL: "g2!4", BM: "g2@3 g2@3 g2@3 g2@2 ~", BN: "g1@3 ~ g1@2 ~@4 g1@2 g1@3 ~ g1@2 g1@2 f#1@2 f1@2",
  BO: "e1@4 e1@2 ~@4 e1 ~ e1@4 e1 ~ e1@2 f#1@2 g1@2", BP: "a1@3 ~ a1@2 ~@4 a1@2 a1@3 ~ a1@2 a1@2 f#1@2 e1@2",
  BQ: "[d1@4 d1@2 ~@4 d1 ~ d1@4 d1 ~ d1@2 e1@2 g1@6 g1@2 ~@4 g1@2 g1@3 ~ g1@2 g1@2 f#1@2 f1@2]/2",
  BR: "d1@4 d1@2 ~@4 d1 ~ d1@4 d1 ~ d1@2 e1@2 f#1@2", BS: "[g1@61 ~@11]/6",
})).s("gm_electric_bass_finger").gain(0.64)

// bass · synth bass 1
const bass_2 = note(`<
  ~@11 A B C D A B C ~ E F G H I J K L M N O P Q R S T E F G H I J K L M N O P Q R S T U V W X Y Z AA AB U V W X Y Z AA
  AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AH AR AS AE AF AG AH AI AJ AK AL AM AN AT AU AV AW AX AY W AZ BA BB BC
  BD BE BF W AZ BA BB BC BD BG BH BI BJ BG BH BI ~ BG BH BI BJ BG BH BI ~ BK@6
>`.pickRestart({
  A: "g#2!10 g2 f#2", B: "f2!10 g2 g#2", C: "a#2!10 g2 f2", D: "d#2!10 f2 g#2", E: "g#2!4 d#2 f2 g#2!4 d#3 d#2",
  F: "g#2!4 d#2 f2 g#2!4 d#2 e2", G: "f2!4 c2 d#2 f2!2 d#3 f2 d#3 f2", H: "f2!4 c2 d#2 f2!5 c2",
  I: "a#2!4 f2 g#2 a#2!2 f3 a#2 f3 a#2", J: "a#2!4 f2 g#2 a#2!2 f3 a#2!2 c3", K: "c#3!4 g#2 a#2 c#3!5 g#2",
  L: "c#3!4 g#2 a#2 c#3!5 a#2", M: "c3!4 g2 a#2 c3!4 d#3 e3", N: "f3!2 ~@4 f3!2 ~@4", O: "a#2!4 f2 g#2 a#2!4 c#3 a#2",
  P: "d#3!4 a#2 g2 d#2!5 e2", Q: "f2!4 c2 d#2 f2!5 a#1", R: "d#2!5 f2 d#2!5 a#1", S: "d#2!5 a#1 d#2!5 a#1",
  T: "d#2!5 a#1 d#2!5 g1", U: "a#1!3 f1 g#1 a1 a#1!3 f1 g#1 a1", V: "a#1!3 f1 g#1 a1 a#1!6",
  W: "c2!3 g1 a#1 b1 c2!3 g1 a#1 b1", X: "c2!3 g1 a#1 b1 c2!3 g#1 a#1 c2", Y: "c#2!3 g#1 a#1 c2 c#2!3 g#1 a#1 c2",
  Z: "c#2!3 g#1 a#1 c2 d#2!3 a#1 d#2 e2", AA: "f2!12", AB: "f2!7 f2@2 f2!3", AC: "d#2!12", AD: "d#2!7 d#2@2 d#2!3",
  AE: "a#2!4 f2 g2 a#2!4 f3 f2", AF: "a#2!4 f2 g2 a#2!4 f2 f#2", AG: "g2!4 d2 f2 g2!2 f3 g2 f3 g2",
  AH: "g2!4 d2 f2 g2!5 d2", AI: "c3!4 g2 a#2 c3!2 g3 c3 g3 c3", AJ: "c3!4 g2 a#2 c3!2 g3 c3!2 d3",
  AK: "d#3!4 a#2 c3 d#3!5 a#2", AL: "d#3!4 a#2 c3 d#3!5 c3", AM: "d3!4 a2 c3 d3!4 f3 f#3", AN: "g3!2 ~@4 g3!2 ~@4",
  AO: "c3!4 g2 a#2 c3!4 d#3 c3", AP: "d#2!2 d#3!4 d#2!2 d#3!4", AQ: "d2!4 a1 c2 d2!6", AR: "c2!6 d2!6",
  AS: "d#2!6 f2!6", AT: "f3!4 c3 d#3 f3!4 ~ c3", AU: "f3!4 c3 a2 f2!5 f#2", AV: "g2!4 d2 f2 g2!5 c2",
  AW: "f2!5 g2 f2!5 c2", AX: "f2!5 c2 f2!5 c2", AY: "f2!5 c2 f2!5 a1", AZ: "c2!3 g1 a#1 b1 c2!6",
  BA: "d2!3 a1 c2 c#2 d2!3 a1 c2 c#2", BB: "d2!3 a1 c2 c#2 d2!3 a#1 c2 d2", BC: "d#2!3 a#1 c2 d2 d#2!3 a#1 c2 d2",
  BD: "d#2!3 a#1 c2 d2 f2!3 c2 f2 f#2", BE: "g2!12", BF: "g2!7 g2@2 g2!3", BG: "g2!10 f#2 f2", BH: "e2!10 f#2 g2",
  BI: "a2!10 f#2 e2", BJ: "d2!10 e2 g2", BK: "[g2@61 ~@11]/6",
})).s("gm_synth_bass_1").gain(0.29)

// chords · lead 3 calliope
const lead_3_calliope = note("<~@11 A@8 ~@96 B@3 C@5 B@3 D@5 E@6>".pickRestart({
  A: "[[a#3,d#4,g4,a#4,d#5,g5]@18 [a#3,d#4,g4,a#4,g5]@3 ~ [c4,d#4,g#4,c5,g#5]@19 ~ [c4,d#4,g#4,c5,d#5,g#5]@3 ~ [c#4,f4,g#4,c#5,f5,g#5]@27 ~@3 [f4,g#4,c5,f5,g#5,c6]@3 ~@3 [f4,g#4,c5,f5,g#5,c6]@3 ~@3 [f4,g#4,c5,f5,g#5,c6]@4 ~@2 [d#4,g4,a#4,d#5,g5,a#5]@19 ~ [d#4,g4,a#4,d#5,g5,a#5]@3 ~ [c4,f4,g#4,c5,f5,g#5]@19 ~ [c4,g#4,c5,f5,g#5]@3 ~ [c#4,g#4,c#5,f5,g#5]@27 ~@3 [f4,c5,f5,g#5,c6]@2 ~@4 [f4,g#4,c5,f5,g#5,c6]@2 ~@4 [f4,g#4,c5,f5,g#5,c6]@3 ~@5, ~@18 d#5@22 ~@98 f4@31 ~@3 g#4 ~@19, ~@142 d#4 ~@49]/8", // D# G# C# Fm D# Fm C# Fm
  B: "[[d4,f#4,a4,d5,f#5]@18 [d4,f#4,a4,f#5]@3 ~ [d4,g4,b4,g5]@19 ~ [d4,g4,b4,d5,g5]@3 ~ [e4,g4,c5,e5,g5]@26, ~@9 d5@11 ~@16]/3", // D G C
  C: "[~@4 [g4,b4,e5,g5,b5]@3 ~@3 [g4,b4,e5,g5,b5]@3 ~@3 [g4,b4,e5,g5,b5]@4 ~@2 [f#4,a4,d5,f#5,a5]@19 ~ [f#4,a4,d5,f#5,a5]@3 ~ [e4,g4,b4,e5,g5]@19 ~ [g4,b4,e5,g5]@3 ~ [g4,c5,e5,g5]@27 ~@3 [b4,e5,g5,b5]@2 ~@4 [g4,b4,e5,g5,b5]@2 ~@4 [g4,b4,e5,g5,b5]@3 ~@5, ~@66 e4@31 ~@3 g4 ~@19]/5", // Em D Em C Em
  D: "[~@4 [g4,b4,e5,g5,b5]@3 ~@3 [g4,b4,e5,g5,b5]@3 ~@3 [g4,b4,e5,g5,b5]@4 ~@2 [f#4,a4,d5,f#5,a5]@19 ~ [f#4,a4,d5,f#5,a5]@3 ~ [e4,g4,b4,e5,g5]@19 ~ [g4,b4,e5,g5]@3 ~ [g4,c5,e5,g5]@27 ~@3 [b4,e5,g5,b5]@2 ~@4 [g4,b4,e5,g5,b5]@2 ~@4 [g4,b4,e5,g5,b5]@7 ~, ~@66 e4@31 ~@3 g4 ~@19]/5", // Em D Em C Em
  E: "[[f#4,a4,d5,f#5,a5]@41 ~@7]/6", // D
})).s("gm_lead_3_calliope").gain(0.49)

// chords · pad sweep
const pad_sweep = note("<~@69 A@2 B@2 C@2 D@2 E F G H I J K@2 ~@52>".pickRestart({
  A: "[d3,f3,a#3]/2", B: "[a3 a#3@3, [d3,f3]]/2", C: "[[d#3,g3,a#3], f3 ~@7]/2", D: "[[f#3,a#3,d4] [f#3,a#3,d#4]@3]/2",
  E: "[f3,a3,c4]", F: "[d4,g4,a#4] [c4,f4,a4] [a#3,d4,g4] [a3,c4,f4]", G: "[g3,a#3,d#4]", H: "[f#3,a#3,c4]",
  I: "[d3,f3,a3]", J: "[d3,g3,a#3]", K: "[[d#3,g3,c4] [f3,a3] [g3,a#3] [g3,a#3,d#4], ~ d4@2 ~]/2",
})).s("gm_pad_sweep").gain(0.51).pan(0.6)

// chords · synth strings 1
const synth_strings_1 = note("<~@101 A@2 B@2 C@2 D@2 A@2 B@2 C@2 ~@22>".pickRestart({
  A: "[d3@4 d3 d#3 d3@4 d3 d#3 d3@4 d3 d#3 d3@6, [g3,a#3]]/2", B: "[e3@4 e3 f3 e3@4 e3 f3 e3@4 e3 f3 e3@6, [a3,c4]]/2",
  C: "[[d#3,g3,a#3]@3 [f3,a3,c4]]/2", D: "[g3,b3,d4]/2",
})).s("gm_synth_strings_1").gain(0.44)

// chords · piano
const piano = note(`<
  ~ A@4 B@2 C@2 D@2 ~@8 E@2 F@2 G@2 H@2 I J K L M N O P E@2 F@2 G@2 H@2 I J K L M N O P Q@2 R S T U V@2 W@2 R S X Y V@2
  Z@2 AA@2 AB@2 AC@2 AD@2 AE AF AG AH AI AJ AK AL AA@2 AB@2 AC@2 AD@2 AM AF AN AO AP AQ AR AS AT@2 AU AV AW AX AY@2 AZ@2
  AU AV BA BB ~@22
>`.pickRestart({
  A: "[~@27 [g5,a#5]@4 ~ [d#5,g5]@4 g5@12 ~@24 [g5,a#5]@4 g5@4 a#4@4 [g4,a#4]@4 [d#4,g4,a#4]@7 ~, g5@4 g5@23 d#6@27 d#5@2 a#4@20 d#5@4 g5@4 d#5@11 ~, ~@2 g#5@34 d#5@12 g5@2 g#5@45 ~, ~@6 d#5@4 d#5@22 a#5@26 d#5@18 a#5@19 ~, ~@8 a#4@28 a#4@16 g5@20 d#6@23 ~]/4", // Gm D# Gm D#
  B: "[~@25 [f5,g#5]@3 [c#5,f5]@4 g#4@4 [f4,g#4,c5]@11 ~, ~@2 f4@20 f6@6 g#5@4 [c#5,f5]@15 ~, ~@4 g#4@16 g#6@27 ~, ~@6 c5@19 c6@22 ~, ~@8 c#5@2 g#5@2 f5@2 g#5@2 c6@2 c#6@29 ~]/2", // Fm C# Fm C#
  C: "[~@23 e4, a#5@2 a#5@3 a#5@3 c#5 e5 a#4 c#5 g#4 a#4 e4 g#4 c#4 e4 a#3 c#4 g#3 a#3 c#4@2, ~ e6@23, ~ c#6@7, ~@4 g#5@2 e5 g#5@17]/2",
  D: "[c#4@2 ~@2 a#3@2 [e3,a#3]@2 [e3,a#3]@2 [a#3,c#4]@2 [a#3,c#4]@2 [e3,a#3]@2 ~@2 c#3@3 c#3@3, a#4@2 [e3,g#3,a#3], ~@4 g#4@43 ~, ~ c#4@2 c#4 c#3@3 c#4@5, ~@2 e4@3 e3 e4@6]/2", // Edim A#m Edim A#m7b5
  E: "[[g3,c4,d#4]@17 ~ [d#3,g3,c4]@3 [d#3,g3,a#3]@3, g#2@16 ~ g#2@7]/2", // Cm D#
  F: "[[c3,f3,g#3]@37 ~@5 [g#3,c4,d#4]@5 ~, f2]/2", G: "[[a#1,g#3,c#4,f4]@20 ~ [g#3,c#4,f4]@3, ~@5 a#2]/2",
  H: "[c#2,g#3,d#4,e4]/2", I: "[d#3,g3,c4]@7 ~@2 [a#3,d#4,g4]@2 ~, c2",
  J: "c4@7 c4 ~ [g#3,c4,d#4]@3, f2, [d#4,g#4]@17 ~@7", K: "f3@16 ~@2 f3@5 ~, [a#1,g#3,c#4], ~@16 a#2@7 ~",
  L: "[f3,g#3]@18 [c#3,f3,a#3]@5 ~, d#2, d#4@7 ~@5", M: "[f2,d#3,g#3,c4]@3 [f2,g#3,c4,f4]",
  N: "[g#3,c4,d#4]@8 ~ [d#3,g#3,c4]@3, d#2@7 ~ d#2@4", O: "[d#2,f3,d#4]@15 ~@3 [c#3,f3,a#3]@5 ~, g#3@16 d#2@7 ~",
  P: "[d#2,g3,a#3,d#4]", Q: "[[c#4,f4,g#4,c5]@21 [c4,c5] [c#4,c#5] [c4,c5]@11 [d#4,d#5] [f4,f5] [d#4,d#5]@11 ~]/2",
  R: "[g4,a#4,d5]@20 ~@2 [d4,d5] [d#4,d#5], d#4@3 ~", S: "[d4,d5]@11 ~ [g3,a#3,d4]@5 ~ [g3,a#3,d4]@5 ~",
  T: "[f3,g#3,c4]@11 ~ [f3,g#3,c4]@10 ~@2", U: "[c#2,f3,g#3]@12 [d#2,g3,a#3,d#4]@11 ~, c#4@5 ~@7", V: "[f2,a3,c4,f4]/2",
  W: "[[c#4,f4,g#4,c5]@21 [c4,c5] [c#4,c#5] [c4,c5]@11 ~@2 [c3,c4]@6 ~ c#4@5, ~@42 c#3@5 ~]/2", // C#maj7 C C# C
  X: "[f3,g#3,c4]@3 ~@8 f4, ~@3 g#5@6 f4@2 ~, ~ f5@2, ~@5 c#5@2 c#5@5, ~@3 g#4!3", // Fm
  Y: "[c#2,f3,g#3,c#4]@12 [d#2,g3,a#3,d#4]@11 ~", Z: "[d#2,g3,a#3,d#4]/2",
  AA: "[[a3,d4,f4]@17 ~ [f3,a3,d4]@3 [f3,a3,c4]@3, a#2@16 ~ a#2@7]/2", AB: "[[d3,g3,a#3]@37 ~@5 [a#3,d4,f4]@5 ~, g2]/2",
  AC: "[[c2,a#3,d#4,g4]@20 ~ [a#3,d#4,g4]@3, ~@5 c3]/2", AD: "[d#2,a#3,f4,f#4]/2",
  AE: "[f3,a3,d4]@7 ~@2 [c4,f4,a4]@2 ~, d2", AF: "d4@7 d4 ~ [a#3,d4,f4]@3, g2, [f4,a#4]@17 ~@7",
  AG: "g3@16 ~@2 g3@5 ~, [c2,a#3,d#4], ~@16 c3@7 ~", AH: "[f#3,c4]@17 ~ [f#3,c4,d#4]@5 ~, d#2@23 ~, f4@7 ~@5",
  AI: "[d2,f3,a3,c4]@3 [d2,f3,a3,c4]", AJ: "[g3,a#3,d4]@8 ~ [g3,a#3,d4]@3, g2@7 ~ g2@4",
  AK: "~ [d#3,g3,c4] ~ [f3,a3,d4], c2@12 d2@11 ~", AL: "~ [g3,a#3,d4] ~ [g3,a#3,d#4], d#2 f2",
  AM: "[f3,a3,d4]@7 ~@2 [c4,f4,a4]@2 ~, d2@23 ~", AN: "g3@16 ~@2 g3@5 ~, [f2,a#3,d#4], ~@16 c3@7 ~",
  AO: "[g3,a#3]@18 [d#3,g3,c4]@5 ~, f2, f4@7 ~@5", AP: "[g2,f3,a#3,d4]@3 [g2,a#3,d4,g4]",
  AQ: "[a#3,d4,f4]@8 ~ [f3,a#3,d4]@3, f2@7 ~ f2@4", AR: "[f2,g3,f4]@15 ~@3 [d#3,g3,c4]@5 ~, a#3@16 f2@7 ~",
  AS: "[f2,a3,c4,f4]", AT: "[[d#4,g4,a#4,d5]@21 [d4,d5] [d#4,d#5] [d4,d5]@11 [f4,f5] [g4,g5] [f4,f5]@11 ~]/2",
  AU: "[a4,c5,e5]@20 ~@2 [e4,e5] [f4,f5], f4@3 ~", AV: "[e4,e5]@11 ~ [a3,c4,e4]@5 ~ [a3,c4,e4]@5 ~",
  AW: "[g3,a#3,d4]@11 ~ [g3,a#3,d4]@10 ~@2", AX: "[d#2,g3,a#3]@12 [f2,a3,c4,f4]@11 ~, d#4@5 ~@7", AY: "[g2,b3,d4,g4]/2",
  AZ: "[[d#4,g4,a#4,d5]@21 [d4,d5] [d#4,d#5] [d4,d5]@11 ~@2 [d3,d4]@6 ~ d#4@5, ~@42 d#3@5 ~]/2", // D#maj7 D D# D
  BA: "[g3,a#3,d4]@3 ~@8 g4, ~@3 a#5@6 g4@2 ~, ~ g5@2, ~@5 d#5@2 d#5@5, ~@3 a#4!3", // Gm
  BB: "[d#2,g3,a#3,d#4]@12 [f2,a3,c4,f4]@11 ~", // D# F
})).s("gm_piano").gain(0.64)

// chords · epiano1
const epiano1 = note(`<
  ~@11 A B C ~ A B C ~@17 D@2 E@2 F G H I D E F J K@2 L M@2 ~@17 N@2 O@2 P@2 Q@2 R S T U V W X@2 Y@2 Z@2 AA AB AC AD Y Z
  AA AE AF@2 AG AH@2 ~@13 AI AJ AK ~ AI AJ AK ~ AI AJ AK ~ AI AJ AK ~ AL@6
>`.pickRestart({
  A: "~@3 [g4,c5,d#5]@2 [d#4,g4,c5] ~@6", B: "~@3 [g#4,c5,f5]@2 [f4,g#4,c5] ~@6",
  C: "~@3 [g#4,c#5,f5]@2 [f4,g#4,c#5] ~@6", D: "~@3 [g5,a#5,d#6]@2 [d#5,g5,c6] ~@6",
  E: "~@3 [g#5,c6,f6]@2 [d#5,g#5,c6] ~@6", F: "~@3 [g#5,c#6,f6]@2 [f5,g#5,c#6] ~@6",
  G: "~@3 [g#5,c6,d#6]@2 [f5,g#5,c#6] ~@6", H: "~@3 [g#5,c#6,e6]@2 [e5,g#5,c#6] ~@6",
  I: "~@3 [g#5,c6,d#6]@2 [e5,g#5,c#6] ~@6", J: "~@3 [g5,a#5,d#6]@2 [g5,a#5,c#6] ~@6",
  K: "~@3 [g#5,c6,d#6]@2 [d#5,g#5,c6] ~@6", L: "~@3 [g5,a#5,d#6]@2 [g5,g#5,c#6] ~@6",
  M: "[~@3 d#6 a#5 d#5@2 ~ d#5 a#5 d#5 a#4@2 ~@11]/2", N: "[d3,f3,a#3]/2", O: "[a3 a#3@3, [d3,f3]]/2",
  P: "[[d#3,g3,a#3], f3 ~@7]/2", Q: "[[f#3,a#3,d4] [f#3,a#3,d#4]@3]/2", R: "[f3,a3,c4]",
  S: "[d4,g4,a#4] [c4,f4,a4] [a#3,d4,g4] [a3,c4,f4]", T: "[g3,a#3,d#4]", U: "[f#3,a#3,c4]", V: "[d3,f3,a3]",
  W: "[d3,g3,a#3]", X: "[[d#3,g3,c4] [f3,a3] [g3,a#3] [g3,a#3,d#4], ~ d4@2 ~]/2", Y: "~@3 [a5,c6,f6]@2 [f5,a5,d6] ~@6",
  Z: "~@3 [a#5,d6,g6]@2 [f5,a#5,d6] ~@6", AA: "~@3 [a#5,d#6,g6]@2 [g5,a#5,d#6] ~@6",
  AB: "~@3 [a#5,d6,f6]@2 [g5,a#5,d#6] ~@6", AC: "~@3 [a#5,d#6,f#6]@2 [f#5,a#5,d#6] ~@6",
  AD: "~@3 [a#5,d6,f6]@2 [f#5,a#5,d#6] ~@6", AE: "~@3 [a5,c6,f6]@2 [a5,c6,d#6] ~@6",
  AF: "~@3 [a#5,d6,f6]@2 [f5,a#5,d6] ~@6", AG: "~@3 [a5,c6,f6]@2 [a5,a#5,d#6] ~@6",
  AH: "[~@3 f6 c6 f5@2 ~ f5 c6 f5 c5@2 ~@11]/2", AI: "~@3 [f#4,b4,d5]@2 [d4,f#4,b4] ~@6",
  AJ: "~@3 [g4,b4,e5]@2 [e4,g4,b4] ~@6", AK: "~@3 [g4,c5,e5]@2 [e4,g4,c5] ~@6", AL: "[[d4,a4,b4]@41 ~@7]/6",
})).s("gm_epiano1").gain(0.44).pan(0.4)

// chords · piano
const piano_2 = note("<~ A@4 B@2 C@2 ~@128>".pickRestart({
  A: "[[a#3,d#4,g4]@15 ~]/2", B: "[[c#4,f4,g#4]@15 ~]/2", C: "[[c#4,e4,g#4,a#4]@15 ~]/2",
})).s("gm_piano").gain(0.48).pan(0.3)

// chords · percussive organ
const percussive_organ = note(`<
  ~@11 A B C D A B C D E F G H I J K L M N O P Q@2 R S E F G H I J K L M N O P Q@2 R S T U V W X Y Z@2 AA U V W X Y Z@2
  AB@2 ~@16 AC AD AE AF AG AH AI AJ AK AL AM AN AO@2 AP AQ V AR AS AT AU AV AW@2 AX AR AS AT AU AV AY AZ BA BB AY AZ BA
  BB AY AZ BA BB AY AZ BA BB BC@6
>`.pickRestart({
  A: "~@6 [g4,c5,d#5]@3 ~ [g4,c5,d#5]@2 ~@4 [d#4,g4,c5]@8", B: "~@6 [g#4,c5,f5]@3 ~ [g#4,c5,f5]@2 ~@4 [f4,g#4,c5]@8",
  C: "~@6 [g#4,c#5,f5]@3 ~ [g#4,c#5,f5]@2 ~@4 [f4,g#4,c#5]@8", // C#
  D: "~@4 [f4,g#4,c5]@3 ~@3 [f4,g#4,c5]@3 ~@3 [f4,g#4,c5]@3 ~@5", // Fm
  E: "[g4,c5,d#5]@3 ~ [g4,c5,d#5]@2 ~@4 [d#4,g4,c5]@5 ~ [d#4,g4,c5]@2 ~@6", // Cm
  F: "[g4,c5,d#5]@3 ~ [g4,c5,d#5]@2 ~@4 [d#4,g4,c5]@14", // Cm
  G: "[g#4,c5,d#5]@3 ~ [g#4,c5,d#5]@2 ~@4 [d#4,g#4,c5]@5 ~ [d#4,g#4,c5]@2 ~@6", // G#
  H: "[g#4,c5,d#5]@3 ~ [g#4,c5,d#5]@2 ~@4 [d#4,g#4,c5]@14", // G#
  I: "[g#4,c5,d#5]@3 ~ [g#4,c5,d#5]@2 ~@4 [f4,g#4,c#5]@5 ~ [f4,g#4,c#5]@2 ~@6", // G# C#
  J: "[g#4,c5,d#5]@3 ~ [g#4,c5,d#5]@2 ~@4 [f4,g#4,c#5]@14", // G# C#
  K: "[e4,g#4,c5,d#5]@3 ~ [e4,g#4,c5,d#5]@2 ~@4 [e4,g#4,a#4,c#5]@5 ~ [e4,g#4,a#4,c#5]@2 ~@6", // G# A#m7b5
  L: "[e4,g#4,c5,d#5]@3 ~ [e4,g#4,c5,d#5]@2 ~@4 [e4,g#4,a#4,c#5]@14", // G# A#m7b5
  M: "[g4,a#4,d#5]@3 ~ [g4,a#4,d#5] ~@5 [d#4,g4,c5]@7 ~@3 [a#4,d#5,g5]@2 ~@2", // D# Cm D#
  N: "[c5,f5,g#5] ~ [c5,f5,g#5] ~ f4 ~ [a#4,d#5,g5]@4 ~@2 [g#4,c5,f5] ~ [g#4,c5,f5] ~@3 [g4,a#4,d#5]@5 ~", // Fm D# Fm D#
  O: "[f4,g#4,c#5]@3 ~ [f4,g#4,c#5]@2 ~@4 [f4,g#4,c#5]@7 ~ [f4,g#4,c#5]@5 ~", // C#
  P: "[f4,g#4,c#5]@3 ~ [f4,g#4,c#5]@2 ~@4 [f4,g4,a#4]@7 ~@7", Q: "[d#4,g#4,c5]@3 ~ [d#4,g#4,c5] ~@5 [d#4,g#4,c5]@14",
  R: "[f4,g#4,c#5,d#5]@3 ~ [f4,g#4,c#5,d#5]@2 ~@4 [f4,g#4,c#5]@13 ~", // C#
  S: "[g4,a#4,d#5]@3 ~ [g4,a#4,d#5]@2 ~@4 [g4,a#4,d#5]@14", // D#
  T: "~@2 c4@2 ~@2 [c4,f4,g#4]@7 ~ [c4,f4,g#4]@2 [c#4,f4,g#4]@2 [c4,f4,g#4]@6, [f4,g#4,c5] ~@5", // Fm C# Fm
  U: "~@2 [c4,f4,g#4]@2 [c#4,f4,g#4]@2 [c4,f4,g#4]@7 ~@3 [c4,f4,g#4] ~@5 [c4,f4,g#4] ~", // Fm C# Fm
  V: "~ d4 ~ [d4,g4,a#4]@4 [d4,g4,a#4] [d#4,g4,a#4] [d4,g4,a#4]@3, [g4,a#4,d5] ~@5", // Gm D# Gm
  W: "~ [d4,g4,a#4] [d#4,g4,a#4] [d4,g4,a#4]@3 [d4,g4,a#4]@2 [d4,g4,a#4] [d4,g4,a#4]@3", // Gm D# Gm
  X: "[g#3,c#4,f4]!2 ~ [g#3,c#4,f4]@3 ~ [g#3,c#4,f4] ~ [g#3,c#4,f4]@3", // C#
  Y: "~@2 [g#3,c#4,f4]@2 ~@2 [g#3,c#4,f4]@6 ~@2 [a#3,d#4,g4]@2 ~@2 [a#3,d#4,g4]@2 ~@2 [a#3,d#4,g4] ~", // C# D#
  Z: "f3 ~ [c4,f4,a4]@2 f3 ~ [f4,a4,c5]@2 f3 ~ [c4,f4,a4]@2 f3 ~ [c4,f4,a4]@2 f3 ~ [f4,a4,c5]@2 f3 ~ [c4,f4,a4]@2", // F
  AA: "~ c4 ~ [c4,f4,g#4]@4 [c4,f4,g#4] [c#4,f4,g#4] [c4,f4,g#4]@3, [f4,g#4,c5] ~@5", // Fm C# Fm
  AB: "d#3 ~ [a#3,d#4,g4]@2 d#3 ~ [d#4,g4,a#4]@2 d#3 ~ [a#3,d#4,g4]@2 d#3 ~ [a#3,d#4,g4]@2 d#3 ~ [d#4,g4,a#4]@2 d#3 ~ [a#3,d#4,g4]@2", // D#
  AC: "[a4,d5,f5]@3 ~ [a4,d5,f5]@2 ~@4 [f4,a4,d5]@5 ~ [f4,a4,d5]@2 ~@6", // Dm
  AD: "[a4,d5,f5]@3 ~ [a4,d5,f5]@2 ~@4 [f4,a4,d5]@14", // Dm
  AE: "[a#4,d5,f5]@3 ~ [a#4,d5,f5]@2 ~@4 [f4,a#4,d5]@5 ~ [f4,a#4,d5]@2 ~@6", // A#
  AF: "[a#4,d5,f5]@3 ~ [a#4,d5,f5]@2 ~@4 [f4,a#4,d5]@14", // A#
  AG: "[a#4,d5,f5]@3 ~ [a#4,d5,f5]@2 ~@4 [g4,a#4,d#5]@5 ~ [g4,a#4,d#5]@2 ~@6", // A# D#
  AH: "[a#4,d5,f5]@3 ~ [a#4,d5,f5]@2 ~@4 [g4,a#4,d#5]@14", // A# D#
// … 141 more lines

More by Battisti