Strudelify

Baila (Sexy Thing)

Zucchero

KeyG minorTempo121 bpm
0:00/0:00
// Baila (Sexy Thing) — Zucchero
// 121 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 121 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(121/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(`<
  ~@5 A@2 B A C A D A B A E A B A F A G A H A I A I A J K L A L M N O P Q R S T Q U L A F A G A V A W A X A Y K L A L M
  N O P Q R L T Q U L P Q R L T Q U L Z AA Z AB Z AC AD AE AF ~ AF ~ AF ~ AG AH P Q R L T Q U L P Q R L T Q U L AI AJ AK
  AL AM AN AO AP AQ
>`.pickRestart({
  A: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~", B: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ c2@2 d2@2",
  C: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ f2@2 gb2@2 g2@2", D: "g1 ~ g1 ~ g1 ~ g1 ~ g1@2 g2@2 g1@2 g2@2",
  E: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ f1@2 gb1@2 g1@2", F: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ d2@2 g2@2",
  G: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2@2 d2@2", H: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ e1@2 f1@2 gb1@2",
  I: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ d2@2 g2@2", J: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ bb1@2 c2@2",
  K: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", L: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~",
  M: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1@2", N: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  O: "d2 ~ g1 ~ d2 ~ g1 ~ d2 ~ d2 ~@5", P: "g1 ~ g1 ~ g1@2 g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  Q: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", R: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1@2",
  S: "a1 ~ a1 ~ a1 ~ a1 ~ f1 ~ f1 ~ f1 ~ f1 ~", T: "g1 ~ g1 ~ g1@2 g1 ~ g1 ~ g1 ~ g1 ~ g1@2",
  U: "bb1 ~ bb1 ~ bb1@2 bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~", V: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ c2@2 f2@2 g2@2",
  W: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g2@2 g1@2 g2@2", X: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ c2@2 db2@2 d2@2",
  Y: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ bb1@2 b1@2", Z: "g1 ~ g1 ~ g1 ~ g1@3 ~ d2 ~ eb2@2 f2@2",
  AA: "c2 ~ g1 ~ c2 ~ c2 ~ c2@2 d2 ~ f2@2 g2@2", AB: "c2 ~ g1 ~ g1 ~ g1 ~ c2@2 d2 ~ f2@2 g2@2",
  AC: "c2 ~ g1 ~ g1 ~ g1 ~ g1@2 g1 ~ c2@2 d2@2", AD: "g1 ~ g1 ~ g1 ~ g1@2 g1@2 d2 ~ eb2@2 f2@2",
  AE: "c2 ~ g1 ~ g1 ~ g1 ~ g1@2 g1 ~ g1@2 ~@2", AF: "g1 ~", AG: "d2 ~", AH: "~@10 d2@5 ~",
  AI: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ c2 ~", AJ: "c2 ~ c2 ~ c2 ~ c2 ~ c2@2 e1@2 f1@2 gb1@2", AK: "g1!7 d2",
  AL: "c2 ~ c2@2 c2@2 c2@2 c2@2 e1@2 f1@2 gb1@2", AM: "g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 c2 ~", AN: "c2!8",
  AO: "g1 f1", AP: "e1", AQ: "~@2 d1@2 d1 ~@7 g1@3 ~",
})).s("gm_electric_bass_finger").gain(0.66)

// chords · synth strings 1
const synth_strings_1 = note("<~@29 A B C D@5 E@8 F@4 ~@7 A B C D@5 E@16 F@8 ~@8 E@16 F@4 G@4 H>".pickRestart({
  A: "~ [bb3,d4,f4]", B: "[g3,c4,eb4]", C: "[a3,c4,f4]",
  D: "[g3@16 ~@32 [gb3,d4]@18 ~@2 [gb3,a3,c4,d4]@2 ~@2 [a3,c4,d4]@2 [gb3,a3,c4,d4] ~@5, [bb3,d4]@16 [a3,c4]@17 ~@7, ~@16 f3@32 ~@24 gb3 ~@7]/5", // D D7 Bb Am
  E: "[d4 eb4 d4 [a3,c4], bb3@3 ~, g3 f3]/4", F: "[[bb3,d4] [c4,e4] [bb3,d4] [c4,e4], g3]/4",
  G: "[[bb3,d4]@2 [c4,e4]@2 ~ f3 [e3,g3]@2, g3@5 ~@3, ~ [bb3,d4]]/4", H: "~@12 [bb3,d4,g4] ~@3",
})).s("gm_synth_strings_1").gain(0.29).pan(0.3)

// chords · soprano sax
const soprano_sax = note(`<
  ~@37 A B C ~@2 D E ~@20 A B C ~@2 D E ~ A D E ~@2 B C ~@9 F ~ F ~ F ~@3 A B C ~@2 D E G H D E ~@2 B C ~@10
>`.pickRestart({
  A: "bb3!2 ~@6", B: "~@8 eb4@2 [eb4,g4] ~ [eb4,g4] ~ [eb4,g4] ~, ~@8 g4 ~@7", C: "[d4,f4] ~@7",
  D: "~@8 [eb4,g4]@2 [eb4,g4] ~ [eb4,g4] ~ [eb4,g4]@2", E: "~ [d4,f4]@2 ~@5", F: "[g3,g4] ~", G: "~@14 g3 ~",
  H: "bb3 f3 ~@6",
})).s("gm_soprano_sax").gain(0.47).pan(0.3)

// chords · rock organ
const rock_organ = note(`<
  ~@23 A@3 ~ B@3 ~@5 C D E@8 F@4 ~ G ~@5 H@2 I J@2 K@2 L M@4 E@12 F@8 N ~ N ~ N ~ O P E@16 F@4 Q@4 R
>`.pickRestart({
  A: "[~@10 gb6 ~@32 db7 c7 ~ bb6 f6, ~@5 g6@8 ~@8 c7 ~ g6, ~@11 g7@11 ~@2]/3",
  B: "[~@10 [d5,f5,bb5] ~@19 [g6,c7]@18, ~@7 [e5,g5,c6]@17]/3", C: "[a5,d6,g6]@15 ~",
  D: "[a5,d6,g6]@2 ~@2 [a5,d6,g6]@2 ~@2 [a5,d6,g6] ~ [a5,d6,g6]@2 ~@2 [a5,g6] ~, ~@7 d6", // Dsus4 A7
  E: "[d5 eb5 d5 [a4,c5], bb4@3 ~, g4 f4]/4", F: "[[bb4,d5] [c5,e5] [bb4,d5] [c5,e5], g4]/4",
  G: "~@2 c7 ~@3 [e6,g6,c7]@7 bb6 g6 ~", H: "[~ eb5, g4, ~ bb4@3]/2", I: "[a4,c5,f5]", J: "[g4 f4, [bb4,d5]]/2",
  K: "[[a4,c5] [gb4,a4,c5], f5]/2", L: "[gb4,a4,c5,f5]@2 ~@2 [gb4,a4,c5,f5]@2 ~@6 [d4,gb4,a4]@2 f5 d5",
  M: "[d5 ~@15 eb5@16 d5@16 [a4,c5]@16, bb4@3 ~, g4 f4]/4", N: "[bb4,d5,g5]@3 ~@5", O: "[gb4,a4,c5,f5]@3 ~@5",
  P: "~@5 [gb4,a4,c5,f5]@3", Q: "[[bb4,d5]@2 [c5,e5]@2 [bb4,d5] [f4,bb4] [g4,bb4,e5]@2, g4@5 d5@3]/4",
  R: "~@2 f5 [a4,d5] ~@8 [bb4,d5,g5]@2 ~@2, ~ gb4 ~@6", // D5 Gm
})).s("gm_rock_organ").gain(0.32).pan(0.3)

// other · overdriven guitar
const overdriven_guitar = note(`<
  ~@80 A B C D E@2 F G ~ H I J@2 K L M ~@8 N@2 O@2 P@2 Q R S T S U V W X Y ~
>`.pickRestart({
  A: "~@4 [d5,g5]@9 ~@3, ~@4 f5 ~@11", B: "bb3@2 f3@2 ~@2 [d5,g5]@9 ~, ~@4 bb3@11 ~", C: "~ d5@4 g5 d5@2",
  D: "c5!2 bb4 g4@2 f4 bb4 g4",
  E: "[d5 [d5,f5] ~ d5@3 d5 [d5,f5] ~ d5@3 d5 [d5,f5] ~ d5@3 d5 [d5,f5] f5 ~@3 d5@2 d5@2 bb4@2 g4@2, ~@2 f5@2 ~@4 f5@2 ~@4 f5@2 ~@5 f5@5 ~@6]/2", // Dm
  F: "f5@2 f5@2 f5 g4 bb4 c5", G: "c5@2 c5@2 bb4 ~ g4@8 ~@2", H: "~@2 c5 g4", I: "g4 ~",
  J: "[~@4 [d5,bb5]@8 [c5,a5]@2 [bb4,g5]@7 ~@9 g4 ~, ~@4 [c5,a5] ~@27]/2", // Gm F Eb F
  K: "bb4@2 [f3,f4] ~ [bb3,bb4]@4 [f3,f4]@2 [bb3,bb4] ~ [g3,g4]@4", L: "~@6 eb5@3 ~ d5@4 c5@2",
  M: "f5@10 g5@3 ~@3, d5@13 ~@3", N: "[~@10 bb4@2 g4 ~ bb4@6 bb4@2 g4@4 f4@6]/2", O: "[~@4 d5 f5 d5 f5@5 ~@4]/2",
  P: "[~@8 bb4@2 bb4@4 c5@6 bb4@2 g4@3 ~@7]/2", Q: "~@4 bb3@3 ~ g4@2 g4@2 bb4@2 c5@2",
  R: "c5 ~@3 bb4@2 c5@4 bb4@2 g4@2 bb4@2", S: "~@4 f4@2 d4@2 f4 ~ f4@2 d4@4", T: "f4@2 f4@2 d4@2 f4@2 f4 ~ f4@2 d4@4",
  U: "f4 ~ f4@2 d4@2 f4@2 f4@2 d4@2 c4@2 d4@2", V: "~@4 [a5,bb5]@2 d6 ~ [a5,bb5]@2 ab5@2 g5@3 ~",
  W: "g4@2 f4@2 d4@2 f4@2 f4 ~ f4@2 d4@2 f4@2", X: "[g3,bb3] [f3,bb3]", Y: "[e3,bb3]@15 ~",
})).s("gm_overdriven_guitar").gain(0.46)

// chords · distortion guitar
const distortion_guitar = note(`<
  ~@18 A@2 B@2 ~@8 C D E F D G H I J K L M J K N A@2 B@2 ~@8 C D E F D G H I J K L M J K N I J K L M J K N O@2 P Q R@2 P
  Q S ~ S ~ S ~ T U I J K L M J K N I J K L M J K N O@2 P Q R@2 V W X
>`.pickRestart({
  A: "[[db4,d4]@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4 ~ [g3,c4]@4 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@2 [g3,c4]@4]/2", // Dmaj7 C5
  B: "[[db4,d4,e4,f4]@2 [d4,f4]@2 [d4,f4]@2 [d4,f4]@2 [d4,f4]@2 [d4,f4]@2 [d4,f4] ~ [g3,c4,e4]@4 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@4]/2", // Dm C
  C: "~@4 [g3,c4,eb4] ~@7 [g3,c4,eb4] ~@3", D: "~@4 [a3,c4,f4] ~@7 [a3,c4,f4] ~@3",
  E: "~@4 [g3,bb3,d4] ~@7 [g3,bb3,d4] ~@3", F: "~@4 [f3,bb3,d4] ~@7 [f3,bb3,d4] ~@3", G: "[d3,a3,c4]!8",
  H: "[d3,a3,c4] ~@3 [d3,a3,c4] ~@3 [d3,a3,c4]@2 [d3,a3,c4] ~@3 [d3,a3,c4] ~", // D7
  I: "g3!5 [g3,bb3,d4,g4]!2 [g3,bb3,eb4], ~@3 [bb3,d4,g4]@2 ~@3", // Gm Eb Gm
  J: "[bb3,eb4]@2 [bb3,f4]@2 bb3 ~ bb3@2 bb3@2 bb3@2 bb3@2 [bb3,f4]@2, ~@3 f4@2 f4@2 ~", // Eb5 Bb5
  K: "[bb3,d4,f4]!3 bb3!2 [bb3,d4,f4] bb3!2, ~@3 [d4,f4]@2 ~ [d4,f4]@2", // Bb Dm
  L: "[a3,c4,f4] a3!4 [a3,c4,f4]!2 a3, ~@3 [c4,f4]@2 ~@3", // F F5
  M: "[g3,bb3,d4]!3 g3!2 [g3,bb3,d4,g4]!2 [g3,bb3,eb4], ~@3 [bb3,d4,g4]@2 ~@3", // Gm Eb Gm
  N: "[a3,c4,f4]!3 a3!2 [a3,c4,f4]!2 a3, ~@3 [c4,f4]@2 ~@3", // F F5
  O: "[[g3,bb3,d4]@4 [bb3,d4]@3 [c4,e4]@3 [g3,c4,e4]@2 [g3,c4,e4] [g3,c4,e4]@3, ~@2 g3@3 ~@3]/2", // Gm Bb C
  P: "[g3,bb3,d4]@3 g3@2 ~ [bb3,d4]@2, ~@3 [bb3,d4]@3 ~@2, ~@5 g3@3", // Gm Bb
  Q: "[g3,c4,e4]@3 g3@2 ~ [c4,e4]@2, ~@3 [c4,e4]@3 ~@2, ~@5 g3@3", // C
  R: "[[bb3,d4]@4 [bb3,d4]@3 [c4,e4]@3 [g3,c4,e4]@2 [g3,c4,e4] [g3,c4,e4]@3, g3 ~@7 g3@12 ~@12]/2", S: "[g2,d3] ~",
  T: "[d3,a3] ~", U: "~@5 [d3,a3]@3", V: "[g3,bb3,d4]@3 ~ [bb3,d4]@4", W: "[e3,bb3]@15 ~",
  X: "~ [d3,a3,d4]@2 ~@3 [g2,d3,g3] ~", // D5 G5
})).s("gm_distortion_guitar").gain(0.32).pan(0.2)

// chords · distortion guitar
const distortion_guitar_2 = note(`<
  ~@18 A@2 B@2 ~@15 C D E F C D E F A@2 B@2 ~@15 C D E F C D E F C D E F C D E F G H I J G H I J K ~ K ~ K ~ L M C D E F
  C D E F C D E F C D E F G H I J G H N O P
>`.pickRestart({
  A: "[[e4,f4]@2 f4@2 f4@2 f4@2 f4@2 f4@2 f4 ~ e4@4 e4@2 e4@2 e4@2 e4@2 e4@2 e4@4]/2", // Fmaj7
  B: "[[a3,bb3]@2 bb3@2 bb3@2 bb3@2 bb3@2 bb3@2 bb3 ~ g3@4 g3@2 g3@2 g3@2 g3@2 g3@2 g3@4]/2", // Bbmaj7
  C: "~@2 [bb3,d4] [bb3,d4]@2 [bb3,d4]!3", D: "~ [bb3,eb4]@2 [bb3,eb4]@2 ~@3", E: "~@4 [d4,f4]@3 ~@3 [d4,f4]@2 ~@4",
  F: "[c4,f4]@3 ~@3 [c4,f4]@4 [c4,f4]@2 [c4,f4]@2 ~@2", G: "[g2,d3]", H: "[c3,g3]@15 ~", I: "[g2,d3]@5 ~ [g2,d3]@10",
  J: "[c3,g3]@7 ~", K: "[g2,d3,g3] ~", L: "[gb3,a3,f4] ~", M: "~@5 [gb3,a3,f4]@3", N: "g3 f3", O: "e3@15 ~",
  P: "~ d3@2 ~@3 [g3,d4,g4] ~", // G5
})).s("gm_distortion_guitar").gain(0.34).pan(0.9)

// other · melodic tom
const melodic_tom = note(`<
  ~@22 A B A B A@3 C A C A C A C@2 A C A C A C A C A C A C A B A B A@3 C A C A C A C@2 A C A C A C A C A C A C A C A C A
  C A C A C A C ~@8 A C A C A C A C A C A C A C A C A C A C A C ~@3
>`.pickRestart({
  A: "c3 ~ c3 ~@5 c3 ~ c3 ~@5", B: "c3 ~ c3 ~@5 c3 ~ c3 ~@3 c3 ~", C: "c3 ~ c3 ~@3 c3 ~ c3 ~ c3 ~@5",
})).s("gm_melodic_tom").gain(0.25)

// chords · epiano2
const epiano2 = note(`<
  ~ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE@4 AF AG AH AI AJ AK AL AM AN AO R S T U AP AQ AR
  AS AT AU AV AW AD AE@4 AF AG AH AI AJ AK AL AM AN AO AH AI AJ AK AL AM AN AO R S T U R S T U ~@8 AH AI AJ AK AL AM AN
  AO AH AI AJ AK AL AM AN AO R S T U R S AX AY AZ
>`.pickRestart({
  A: "~@7 [g3,bb3,f4]", B: "g2@2 g3 ~ [g3,bb3,d4] ~ g3 ~ [g3,bb3,d4] ~ [g3,c4,e4] ~ g2@2 g3 ~, ~@2 g2 ~ g2 ~@3",
  C: "[g3,bb3,d4] ~ [g3,bb3,d4] ~ [g3,bb3,d4] ~@3 g2@2 g3 ~ [g2,d4,f4]@2 g3@2, g2 ~ g2 [g3,c4,e4]@2 ~@3", // Gm G7 C
  D: "g2@2 g3 ~ [g2,d4,f4]@2 g3 ~ g2@2 [bb3,d4,f4] ~ g2@2 g3 ~", // G7 Bb
  E: "[g2,d4,f4]@2 ~@2 [g2,c4,e4]@2 g3 ~ [b3,d4] ~ [g3,c4,e4]@2 g2@2 [bb3,d4]@2, ~@4 g2 ~@3", // G7 C Bm C Bb
  F: "g2@2 g3 ~ [g3,bb3,f4] ~ g3 ~ g2@2 [bb3,f4]@2 g2@2 g3 ~, ~@4 g2@2 ~@2 g3 ~@7", // Gm7 Bb5
  G: "g2@2 g3 ~ [g3,bb3,f4] ~ g3 ~ g2@2 [c4,e4]@2 g2@2 [bb3,d4]@2, ~@4 g2@2 ~@2 g3 ~ eb4 ~@3 [g3,db4] ~", // Gm7 C Bb Gdim
  H: "g2@2 g3 ~ [g2,c4]@2 g3 ~ g2@2 [g3,d4] ~ g2@2 [g3,bb3] ~, ~@4 g3 ~@3 g3 ~@3 g3 ~@3", // C5 G5 Gm
  I: "g2@2 ~@2 [g3,f4] ~ g3 ~ g2@2 [c4,e4]@2 g2@2 [bb3,d4]@2, ~@4 g2@2 ~@2 g3 ~ g3 ~ g3 ~ g3 ~", // G7 C Bb
  J: "g2@2 g3 ~ [g3,bb3,f4] ~ g3 ~ g2@2 [g3,d4,f4] ~ [g2,g3]@2 [g3,d4,f4] ~, ~@4 g2@2 ~@2 g3 ~@7", // Gm7 G7 G G7
  K: "g2@2 g3 ~ [g3,d4,f4] ~ g3 ~ g2@2 g3 ~ [g3,c4,e4] ~ [g3,d4] ~, g3 ~@3 g2@2 [c4,e4]@4 ~@6, ~@8 g3 ~@3 g2@2 ~@2", // G7 C G5 C
  L: "g2@2 g3 ~ [g2,bb3,d4,f4]@2 g3 ~ g2@2 [g3,bb3,d4,f4] ~ g2@2 [g3,bb3,d4,f4] ~, g3 ~@3 g3 ~@3 g3 ~@3 g3 ~@3", // Gm7
  M: "g2@2 g3 ~ [g3,d4,f4] ~ g3 ~ g2@2 g3 ~ [g2,d4,f4]@2 g3@2, g3 ~@3 g2@2 [c4,e4]@4 ~@6, ~@8 g3 ~@3 g3 ~@3", // G7 C
  N: "g2@2 g3 ~ [g3,bb3,f4] ~ g3 ~ g2@2 [bb3,f4]@2 [g2,d4]@2 [g3,d4] ~, ~@4 g2@2 ~@2 g3 ~@7", // Gm7 Bb5 G5
  O: "[g2,f4]@2 g3 ~ [g2,bb3]@2 g3 ~ [g3,bb3,d4] ~ [c4,e4]@2 g2@2 [c4,e4]@2, bb3 ~@3 [g3,f4] ~@3 g2@2 ~@4 [g3,eb4] ~", // G7 Gm C G7 Cm
  P: "[g3,bb3,d4] ~ g3 ~ [bb3,d4] ~ g3 ~ g2@2 [d4,f4]@2 [g2,d4]@2 [g3,bb3,d4] ~, g2@2 ~@2 g2@2 ~@2 bb3 ~ g3 ~ [g3,bb3] ~@3", // Gm Bb Dm G5 Gm
  Q: "g2@2 g3 ~ [g2,bb3,d4,f4]@2 g3 ~ g2@2 [g3,e4] ~ g2@2 g3 ~, g3 ~@3 g3 ~@3 g3 ~@3 g3 ~@3", // Gm7 C
  R: "g2@2 g3 ~ [bb3,d4] ~ g3 ~ g2@2 [bb3,d4] ~ g2@2 g3 ~, ~@4 g2@2 ~@2 g3 ~@7", // Bb
  S: "[g2,d4]@2 ~@2 [g3,c4] ~ [g3,c4,e4]@2 g2@2 [g3,c4] ~ [g2,d4]@2 g3@2, g3 ~@3 g2@2 ~@6 [g3,f4] ~@3", // G5 C5 C C5 G5 G7
  T: "g2@2 g3 ~ [d4,f4] ~ g3 ~ g2@2 [d4,f4] ~ g2@2 g3 ~, ~@2 g2 ~@5", // Dm
  U: "[g2,e4]@2 ~@2 [g3,c4,e4] ~@3 g2@2 [eb4,eb5] [e4,e5] [g2,c5]@3 ~, [g3,c4] ~@3 g2@2 ~@10", // C Eb E C5
  V: "g2@2 g3 ~ [g3,bb3,f4] ~ g3 ~ g2@2 bb3@2 [g2,g3]@2 g3 ~, ~@4 g2@2 ~@2 g3 ~ g3 ~@5", // Gm7 G
  W: "[g3,c4,e4] ~ g3 ~ [g3,c4,e4] ~ g3 ~ g2@2 d4@2 g2@2 [g3,d4] ~, g2@2 ~@2 g2@2 ~@2 g3 ~ g3 ~ g3 ~@3", // C G5
  X: "g2@2 g3 ~ [g3,bb3,d4,f4] ~ g3 ~ g2@2 [bb3,d4,f4]@2 g2@2 [g3,bb3,d4,f4] ~, g3 ~@3 g2@2 ~@2 g3 ~ g3 ~ g3 ~@3", // Gm7 Bb Gm7
  Y: "g2@2 g3 ~ [g3,bb3,d4] ~ g3 ~ [g2,bb3,d4]@2 [c4,e4]@2 g2@2 [g3,c4,e4] ~, g3 ~@3 g2@2 ~@2 g3 ~ g3 ~ g3 ~@3", // Gm C
  Z: "[bb3,d4] ~ g3 ~ [g3,bb3,f4] ~ g3 ~ g2@2 [bb3,f4] ~ g2@2 [g3,bb3,f4] ~, g2@2 ~@2 g2@2 ~@2 g3 ~@7", // Bb Gm7 Bb5 Gm7
  AA: "g2@2 g3 ~ [g2,f4]@2 g3 ~ g2@2 [c4,e4]@2 g2@2 [c4,e4]@2, g3 ~@3 [g3,bb3] ~@3 g3 ~@5 [g3,eb4] ~", // G7 C Gm Cm
  AB: "[g3,bb3,d4] ~ g3 ~ [g2,d4,f4]@2 g3 ~ g2@2 [bb3,d4,f4]@2 g2@2 [g3,bb3,d4,f4] ~, g2@2 ~@2 bb3 ~@5 g3 ~ g3 ~@3", // Gm G7 Bb Gm7
  AC: "[g2,bb3,d4]@2 g3 ~ [g2,bb3,d4]@2 [c4,e4]@2 [g2,bb3,d4]@2 [c4,e4]@2 [g2,bb3,d4]@2 g3 ~, g3 ~@3 g3 ~ g3 ~ g3 ~ g3 ~ g3 ~@3", // Gm C Gm C Gm
  AD: "g3@3 ~@3 g3@3 ~ [g3,bb3,c4,eb4]@3 ~ [bb3,c4,eb4] ~, [bb3,c4,eb4]@5 ~@2 g3", // Cm7
  AE: "[~@2 f3@2 ~@2 f3@2 ~@2 [a3,c4,f4]@2 f3@2 [g3,bb3,d4]@6 [g3,bb3,d4]@3 ~@3 [g3,bb3,d4]@2 ~@2 [f3,bb3,d4]@4 ~@2 [f3,bb3,d4]@3 ~@3 [f3,c4,d4]@3 ~ [f3,bb3,c4]@4 ~@2 [f3,a3,c4]@3 ~@3 [f3,a3,c4,f4]@3 ~ f3@2, ~ [a3,c4,f4] ~@14]/4", // F Gm Bb Dm7 Fsus4 F
  AF: "~@2 [d3,gb3,a3,c4]@2 ~@2 [d3,a3,c4,f4]@3 ~ [a3,c4] ~ [c4,f4]@2 d3@2, ~@10 d3@2 a3 ~ a3 ~", // D7 Dm7 Am F5
  AG: "[d3,a3,c4,f4]@2 ~@2 [d3,a3,c4,f4]@2 ~@2 [d3,a3,c4,f4] ~ [d3,a3,c4,f4]@2 ~@2 [d3,a3,c4,f4] ~", // Dm7
  AH: "~@4 d4@2 c4@2 ~@2 [g3,c4] ~@3 [eb3,g3,bb3]@2, ~@2 [g3,bb3]@2 ~ bb3 ~@2", // C5 Eb Gm
  AI: "~@2 g3!2 ~ [g3,bb3,eb4] ~@2, ~ [bb3,eb4] ~@2", AJ: "~@4 [f3,bb3,d4]@2 c4 ~@7 [f3,bb3,c4]@2",
  AK: "[f3,a3,c4]@2 ~@2 [f3,a3,c4]@2 ~@2 [c3,f3,a3] ~ [c3,f3,a3] ~@3 [f3,a3,c4] ~", // F
  AL: "~@4 [g3,bb3,d4]@2 c4 ~@3 [g3,bb3,c4]@2 ~@2 [eb3,g3,bb3]@2", AM: "~ [g3,bb3,f4]!2 ~@5",
  AN: "~@6 c4 ~@3 [f3,bb3,d4]@2 ~@2 [f3,bb3,c4]@2, ~ [f3,bb3,d4] ~@2", // Bb Fsus4 Bb
  AO: "~@2 d4 c4 ~@2 [f3,a3,d4] [f3,a3,c4], ~ [f3,a3] ~@2", AP: "g2 ~ [g2,d4,f4] g3 g2 [bb3,d4] g2 g3",
  AQ: "g2@2 g3 ~ [g2,c4,e4]@2 g3 ~ g2@2 [c4,e4]@2 g2@2 [bb3,d4]@2, ~@4 g3 ~@3 g3 ~ g3 ~ g3 ~ g3 ~", // C Bb
  AR: "g2@2 g3 ~ [g2,d4,f4]@2 g3@2 g2@2 [d4,f4]@2 g2@2 c4@2, g3 ~@7 g3 ~ g3 ~ g3 ~ g3 ~", // G7 Dm
  AS: "g2@2 g3 ~ [g2,c4,e4]@2 g3 ~ g2@2 [c4,e4,g4]@2 g2@2 g3 ~, g3 ~@3 g3 ~@3 g3 ~ g3 ~ g3 ~@3", // C
  AT: "g2@2 g3 ~ [g2,bb3,d4]@2 g3 ~ g2@2 [bb3,f4]@2 g2@2 [bb3,f4]@2, ~@4 g3 ~@3 g3 ~@3 g3 ~@3", // Gm Bb5
  AU: "g2@2 g3 ~ [g2,c4,e4]@2 g3 ~ g2@2 [c4,e4]@2 g2@2 [bb3,d4,f4]@2, g3 ~@3 g3 ~@3 g3 ~@5 g3 ~", // C Bb
  AV: "g2@2 g3 ~ [g2,f4]@2 g3 ~ g2@2 [g3,f4] ~ [g3,d4] ~ [g3,bb3,f4] ~, g3 ~@9 bb3@2 g2@2 ~@2", // G7 G5 Gm7
  AW: "[g2,c4,e4]@2 g3 ~ [g2,c4,e4]@2 g3 ~ [g3,c4,e4] ~ [c4,e4]@2 g2@2 [g3,c4] ~, g3 ~@3 g3 ~@3 g2@2 g3 ~ g3 ~ e4@2", // C C5
  AX: "[bb3,d4]@7 ~ [f3,bb3,d4]@7 ~, g3 ~@15", AY: "[bb3,d4,g4]@13 ~@3", AZ: "~@6 [bb3,d4,g4] ~",
})).s("gm_epiano2").gain(0.38).pan(0.7)

// other · electric guitar muted
const electric_guitar_muted = note("<~@30 A B C D E F G ~@20 A B C D E F G ~@57>".pickRestart({
  A: "[c4,eb4]@2 ~@2 [c4,eb4]@3 ~ [c4,eb4]@2 [c4,eb4]@3 ~ [c4,eb4] ~", // Cm
  B: "[a3,c4]@2 [a3,c4]@2 [a3,c4]@3 ~ [a3,c4]@2 [a3,c4]@3 ~ [a3,c4] ~", // Am
  C: "g3@2 g3@2 g3@2 g3 ~ g3@2 g3@2 ~@2 g3 [ab3,a3]", D: "bb3@5 ~ bb3 ~ bb3@6 ~@2", E: "c4@5 ~ c4 ~ c4@2 c4@4 ~@2",
  F: "d3@2 d3@3 ~ d3@2 d3 ~ d3@3 ~ d3@2", G: "d3@2 ~@2 d3@2 ~@2 d3 ~ d3@2 ~@2 d3 ~",
})).s("gm_electric_guitar_muted").gain(0.41).pan(0.1)

// chords · piano
const piano = note(`<
  ~@29 A B C@2 ~@5 D E ~@2 F@2 ~@5 G@3 ~@4 A B C@2 ~@5 D E ~@2 F@2 ~@2 F@2 ~@2 D E ~@18 D E ~@2 F@2 ~@2 F@2 ~@2 D H ~@10
>`.pickRestart({
  A: "~@7 d4", B: "eb4 ~", C: "[~@2 eb4@3 d4 eb4@3 d4@4 ~@3]/2", D: "~ [eb4,g4]", E: "[d4,f4] ~",
  F: "[~@4 [eb4,g4]@5 [d4,f4]@4 ~@3]/2", G: "[d4@2 bb3@2 d4@2 bb3@3 d4 bb3 d4@3 bb3@4 ~@6]/3", H: "[d4,f4]@3 ~@5",
})).s("gm_piano").gain(0.05)
// … 65 more lines

More by Zucchero