Strudelify
Ragazza d'argento cover art

Nel tempo e nell'amore

Ragazza d'argento

Michele Zarrillo

KeyD minorTempo85 bpm
0:00/0:00
// Ragazza d'argento — Michele Zarrillo
// 85 bpm, 4/4, key D minor. 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 103 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(85/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 B C D E F G H A B C D E F G H A B C D E F I J K L M N O P M Q R S T U V A B C D E F W K L M N O P M Q R S X Y Z AA
  AB AC AD AE AF AG AH AI AJ AK@2 AL AM AN V A B C D E F W K L M N O P M Q R S AO AP AQ AR@3 AS AT@4 ~
>`.pickRestart({
  A: "g1@2 ~ g1@3 ~ g1", B: "d2@4 ~@2 d1@9 ~", C: "g1@5 ~ g1@6 d2@4", D: "c2@2 ~ c2@3 ~ d2", E: "g2@2 ~ g2@3 ~ a1",
  F: "bb1@4 ~@2 bb1@2 c2@5 ~ c2@2", G: "d2@2 ~ d2@4 ~", H: "d2@6 d1@9 ~", I: "d2@5 ~ d2@6 ~@2 d2@2",
  J: "d1@6 d1@3 ~ c2@5 ~", K: "f1@4 ~@2 f1@6 ~@2 f1 ~", L: "c2@2 ~ c2@2 d2 e2 g2", M: "g1@4 ~@2 g1@6 ~@2 g1 ~",
  N: "d2@5 ~ d2@3 ~ c2@4 ~@2", O: "f2@2 ~ f1@3 ~ f1", P: "c2@5 ~ c2@4 d2@2 e2@2 g2@2", Q: "d2@4 ~@2 f3@2 e3@2 d3@5 ~",
  R: "g1@5 ~ g1@8 a1@2", S: "bb1@5 ~ bb1@6 bb2 c3 bb2@2", T: "g2@5 ~ c2@6 ~@2 c1@2", U: "d1@2 ~ d2@3 d3@2", V: "d2",
  W: "d2@6 d1@3 ~ c2@5 ~", X: "g2@5 ~ c2@6 ~@2 c2@2", Y: "d2@2 ~ d1@3 ~ d2", Z: "d1@5 ~ d1@7 ~ c2@2",
  AA: "bb1@2 ~ bb1@3 ~ bb1", AB: "~@2 f2 ~ c3@2 bb2@9 ~", AC: "f1@2 ~ f1@4 ~", AD: "f1@3 ~ c2@2 f2@8 ~@2",
  AE: "bb1@2 ~ bb1@4 ~", AF: "bb1@2 f2@2 d2@2 bb1@9 ~", AG: "a1@3 a1@3 e2@2", AH: "a2@5 ~ f3@2 e3@2 a2@6",
  AI: "g1@4 ~@2 g1@7 ~ d2@2", AJ: "g2@2 ~ g1@3 ~@2", AK: "[gb1@5 ~ gb1@5 ~ d2@2 gb2@6 ~@2 gb1@7 ~ gb1@2]/2",
  AL: "bb1@5 ~ bb1@7 ~ f2@2", AM: "bb2@5 ~ bb2@9 ~", AN: "d1@2 ~ d1@5", AO: "g2@2 d3 c3@5", AP: "d1@4 ~@2 d1@9 ~",
  AQ: "d2@2 ~ d2 e2 f2 e2 c2", AR: "[bb1@4 ~@2 bb1@6 bb1@2 ~ a1@2 g1@9 c2@8 d2@4 ~@2 d1@8]/3",
  AS: "~@2 d2@5 ~ a2@3 ~ a2@4", AT: "[d2 d1@13 ~ d2@11 ~@6]/4",
})).s("gm_electric_bass_finger").gain(0.72)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@8 ~@16 B C D E F C D E G H I J K@3 L M N O P Q C D E F C D E G H I J R@4 S T@3 S U V W X Y@3 Z@3 L M N O P Q C D E F
  C D E G H I J AA@3 AB AC AD@3 AE@2 ~
>`.pickRestart({
  A: "[~@16 [bb3,d4,g4]@6 [d4,g4]@9 ~ [f4,a4]@4 ~@2 a4@2 g4@3 ~@17 f4@3 ~ [c4,e4]@5 ~ [g3,c4,e4]@2 g3 ~@7 g3@4 d3@2 ~@6 g2@2 f3 ~ f3@2 ~@2 bb3@2 ~@2 [e3,g3]@2 ~@6 [a3,d4,f4]@16, ~@15 [d3,g3]@6 ~ bb3@7 ~@2 a3@5 ~@10 c5@2 ~@28 c3@3 d3@3 ~@4 g3@7 ~@2 bb2@8 c3@7 c4@2 ~@16, ~@31 d3@3 ~@2 d3@6 ~@2 d3@3 g2@11 ~@5 c3@9 ~@2 g3@5 g2@8 ~@3 d4@6 ~@2 f3@5 ~@3 e3@5 d3@17, ~@32 d4@9 ~@2 a4@5 [f3,bb3,d4]@15 g3@6 ~@3 [c4,e4]@5 ~ [c4,e4]@2 [bb3,d4]@8 bb3@8 [bb3,d4]@5 ~ d4@2 c4@4 g3@4 ~@16]/8", // Gm G5 F C Em Dm G5 Bb …
  B: "~@10 [c4,e4]@4 [g3,c4,e4]!2, ~@9 [c3,g3]@5 ~@2", // C C5
  C: "[c4,f4]@3 ~ [c4,f4]@2 [c4,f4]@4 ~@2 [c4,f4] ~ [c4,f4]@2, ~@3 a3@6 ~ a3@2 ~ a3@3, ~@11 f3@3 ~@2", // F5
  D: "[g3,c4,f4]@3 [g3,c4,f4]@3 [g3,c4,e4]@4 [g3,c4,e4]@2 ~@2 [g3,c4,e4] [c4,e4], ~@6 [c4,e4] ~, ~@13 c3@3", // Csus4 C
  E: "[bb3,d4,g4]@3 ~ [d4,g4]@2 [bb3,d4,g4]@3 bb3 [bb3,d4,g4] ~@2 bb3 [bb3,d4,g4] ~, ~@3 bb3@2 ~@6 [d3,g3]@5, ~@6 [d4,g4] ~", // Gm G5 Gm G5
  F: "[a3,d4,f4]@3 [a3,d4,f4] [a3,d4,f4]@2 [a3,d4,f4]@4 [g3,c4,e4]@4 [g3,c4,e4]!2", // Dm C
  G: "[a3,d4,f4,a4]@2 ~ [f4,a4]@2 ~ [f4,a4]@3 [f4,a4]@2 a3 ~@2 [f4,a4]@2, ~ d3@7, ~@5 a3@3 ~@4 [f4,a4]@2 ~@2, ~@13 a3@3", // Dm F
  H: "~@2 g3 ~ [d4,g4]@2 ~@4 bb3 ~ [d4,g4]!2 [d4,g4]@2, [d4,g4]@3 bb3@2 ~ [d4,g4]@5 g3@5", // G5
  I: "[bb3,d4,f4]@3 f3 [bb3,d4,f4]@2 [bb3,d4,f4]@3 [bb3,d4,f4]@3 d4 [f3,d4]@3, ~@3 [bb3,f4]", // Bb Dm Bb5
  J: "[bb3,d4,g4]@3 [bb3,d4,g4] [bb3,d4,g4]@2 [c4,e4,g4]@4 [c4,e4,g4]@2 [c4,e4,g4] [c4,e4,g4]@3", // Gm C
  K: "[[a3,d4,f4]@3 [a3,d4,f4] ~ d3 [a3,d4,f4]@4 [a3,e4,g4]@5 ~ [a3,d4,f4]@15 ~ [bb3,d4,g4]@3 [bb3,d4,g4] ~@2 [bb3,d4,g4]@4 [bb3,d4,g4] ~@2 [bb3,d4,g4]@3, ~@4 [a3,d4,f4]@2 ~@9 d3@15 ~ [g2,d3,f3]@5 ~@12]/3", // Dm A7 Dm Gm Dm G7
  L: "[a3,d4,f4]@3 [a3,d4,f4] ~@2 [a3,d4,f4]@4 [a3,d4,f4]@3 [a3,d4,f4] ~@2", // Dm
  M: "[g3,bb3,d4]@3 [g3,bb3,d4] ~@2 [g3,bb3,d4]@4 ~ d3!2 [g3,bb3,d4]@3, ~@10 [g3,bb3,d4]@3 ~@3", // Gm
  N: "[g3,c4,e4]@3 [g3,c4,e4] ~@2 [g3,c4,e4]@4 [g3,c4,e4]@2 [c3,e3,g3] [g3,c4,e4]@3", // C
  O: "[bb3,d4,g4]@3 [d3,g3] [bb3,d4,g4]@2 [bb3,d4,g4]@4 [bb3,d4,g4] [d3,g3] [bb3,d4] [bb3,d4,g4] [d3,g3] [bb3,d4,g4]", // Gm G5 Gm G5 Bb Gm G5 Gm
  P: "[f3,bb3,d4]@3 [bb2,d3] [f3,bb3,d4]@4 [g3,c4,e4]@3 [c3,e3] [g3,c4,e4]@4", // Bb C
  Q: "[a3,f4]@3 [a3,f4] ~@2 [a3,f4] ~@3 [c4,e4]@4 [g3,c4,e4]!2, ~@9 [c3,g3]@5 ~@2", // Dm C C5
  R: "[[a3,d4,f4]@3 [a3,d4,f4] ~ d3 [a3,d4,f4]@4 [a3,e4,g4]@5 ~ [a3,d4,f4]@15 ~ d4@2 ~@2 c4 [c4,d4] d4 [c4,d4] c4 d4 [c4,d4] c4 d4 ~ c4 ~@4 c4 ~@4 c4 ~@6 c4, ~@4 [a3,d4,f4]@2 ~@9 d3@16 [bb2,f3]@32 ~, ~ a3, ~@34 c4@2 ~@9 [c4,d4]@2 [c4,d4]@2 c4@2 ~ [c4,d4]@2 c4@2 ~ [c4,d4]@2 c4@2 c4@2 ~, ~@35 d4@2 ~@11 d4@2 d4@2 ~ d4@2 d4@2 ~ d4@2 d4@2 d4@2]/4", // Dm A7 Dm Csus2 Dm Bb5 Csus2
  S: "~ d4 c4 d4 [c4,d4] c4 d4 [c4,d4] c4 [c4,d4] ~ c4 ~@3 d4, [c4,d4] ~@4 d4 [c4,d4] c4, ~@13 d4@2 ~", // Csus2
  T: "[[c4,d4] c4 d4 ~@5 c4 ~ d4 c4 d4 ~ c4 d4 d4@2 ~@2 c4 [c4,d4] d4 [c4,d4] c4 d4 [c4,d4] c4 d4 ~ c4 ~@4 c4 ~@4 c4 ~@6 c4, ~@3 [c4,d4]@2 d4@2 d4@2 ~@7 a3@32, ~@4 c4@2 c4@2 ~ [c4,d4]@2 ~@2 [c4,d4]@2 [bb2,f3]@32 ~, ~@18 c4@2 ~@9 [c4,d4]@2 [c4,d4]@2 c4@2 ~ [c4,d4]@2 c4@2 ~ [c4,d4]@2 c4@2 c4@2 ~, ~@19 d4@2 ~@11 d4@2 d4@2 ~ d4@2 d4@2 ~ d4@2 d4@2 d4@2]/3", // Csus2 Bb5 Csus2
  U: "[c4,d4] c4 d4 ~@5 c4 ~ d4 c4 d4 ~ c4 d4, ~@3 [c4,d4]@2 d4@2 d4@2 ~@7, ~@4 c4@2 c4@2 ~ [c4,d4]@2 ~@2 [c4,d4]@2 ~", // Csus2
  V: "[d4,f4]@3 [d4,f4] ~@2 [d4,f4]@3 [d4,f4] ~@2 [d4,f4] [d4,f4]@3", // Dm
  W: "[d4,f4]@3 [d4,f4] ~@2 [d4,f4] [d4,f4]@3 [d4,f4] ~@2 [d4,f4]@3", // Dm
  X: "[d4,gb4]@3 [d4,gb4] ~@2 [d4,gb4] [d4,gb4]@3 [d4,gb4] ~@2 [d4,gb4]@3", // D
  Y: "[[d4,gb4]@3 [d4,gb4] ~@2 [d4,gb4]@3 [d4,gb4] ~@2 [d4,gb4] [d4,gb4]@2 ~ [f3,a3,d4]@5 ~ [a3,d4] ~@2 [a3,d4]@4 [a3,d4]@2 ~ [bb3,db4,g4]@3 [bb3,db4,g4] ~@2 [bb3,db4,g4]@3 [bb3,db4,g4] ~@3 [bb3,db4,g4]@3, ~@15 bb2@4 ~@12 [e3,g3]@4 ~@13]/3", // D Dm D5 Gdim Em
  Z: "[~@7 a4@2 ~ d4 f4@2 a3 d4 ~ [d4,f4]@15 ~ [bb3,d4,g4]@3 [bb3,d4,g4] ~@2 [bb3,d4,g4]@4 [bb3,d4,g4] ~@2 [bb3,d4,g4]@3, d3@6 d4@2 ~@7 d3@13 ~@3 [g2,d3,f3]@5 ~@12, ~ a3@2 f4@4 ~@41, ~@2 d4@2 ~ a3@3 ~ a3@3 ~@3 a3@15 ~@18]/3", // Dm Gm G7
  AA: "[[a3,d4,f4]@3 [a3,d4,f4] ~ d3 [a3,d4,f4]@4 [a3,e4,g4]@5 ~ [a3,d4,f4]@5 ~ [c4,e4]@9 ~ [bb3,f4]@6 [bb3,f4]@3 [bb3,f4] ~@2 [bb3,f4] ~ [bb3,d4,f4]@2, ~@4 [a3,d4,f4]@2 ~@9 d3@6 c3@8 ~@2 [d3,f3]@7 ~@10, ~@11 g3@4 ~@9]/3", // Dm A7 Dm C Bb5 Bb Dm
  AB: "~ d4@3 ~ [c4,e4]@3, ~ [d3,g3,bb3]@8 [c3,g3]@7", // C Gm C5
  AC: "~ [d4,f4]@3 [d4,f4] ~ a3 [a3,d4,f4], ~ [d3,a3]@6 ~@3 [d4,f4]@4 ~@2", // Dm D5 Dm
  AD: "[a3@2 ~@2 a3@2 [d4,f4] ~ a3 [d4,f4]@8 ~@7, [d4,f4]@3 [d4,f4]@3 ~ [d4,f4]@2 ~@15, ~ a3 ~ a3 ~@8]/3", // Dm
  AE: "[~@3 d4@24 ~@5, ~ [d3,f3]@19 ~@12, ~@2 a3@21 ~@9]/2", // Dm
})).s("gm_acoustic_guitar_steel").gain(0.29).pan(0.3)

// other · pad metallic
const pad_metallic = note(`<
  ~@17 A ~@4 B C ~@4 D@2 E F ~ G H I@3 A ~ J@2 ~ K L@2 ~@2 M@2 E F ~ N@5 ~ O@3 ~@2 P@2 Q@2 R@2 S T U@2 V W X Y Z AA AB
  AC ~@3 AD E F ~ AE AF@4 ~@2 AG AH AI ~ AJ ~@2
>`.pickRestart({
  A: "~@5 [d5,a5]@9 ~@2", B: "~@2 [d5,a5]@3 ~ [g5,c6]@2", C: "[d5,d6]@9 ~@7",
  D: "[~ f5@8 ~@5 c6@9 ~@9, ~@9 g5@9 ~@14]/2", E: "f5@3 e5@3 ~@2", F: "d5@5 ~@3", G: "~@3 a5@5",
  H: "~ d5@9 ~@6, bb3@13 ~@3", I: "[g3@7 c4@8 ~@15 a4@15 ~@3, ~@15 d4@19 ~@14, ~@29 d5@14 ~@5]/3",
  J: "[~@3 [d5,a5]@9 ~@3 [c5,g5]@9 ~@8]/2", K: "~ [c5,g5]@6 ~@5 [g5,c6]@4", L: "[[d5,d6]@7 ~@6 e5@2 f5@7 ~@10]/2",
  M: "[~ [a4,d5]@8 ~ [e5,g5]@3 f5@5 c5@10 ~@4, ~@13 a5@9 ~@10]/2", // D5 Em
  N: "[d5@13 ~ g5@7 f5@7 d5@6 ~@28 a4@15 ~@3, ~@47 d4@19 ~@14, ~@61 d5@14 ~@5]/5", O: "[~@15 [c4,e4]@20 ~@13]/3",
  P: "[[e5,c6]@23 ~ d5@4 e5@4]/2", Q: "[f5@6 d5 e5]/2", R: "gb5/2", S: "a4", T: "g4", U: "[f4@5 ~@3]/2",
  V: "d5@3 ~@9 c5@2 ~@2", W: "a4 ~@3", X: "g5@3 ~@8 a5@3 ~@2", Y: "c5@2 ~@4 d5 ~", Z: "f5@2 ~@6 d5@2 ~ a4@2 ~ g4 ~",
  AA: "f4@2 ~@6 c5@2 ~@2 a4 ~ g4 ~", AB: "f4@2 ~@7 g5@7", AC: "a5@7 ~", AD: "f5@5 ~@11", AE: "d5@13 ~@3",
  AF: "[~@8 f5@4 d5@6 ~@13 d4@19 ~@14]/4", AG: "~ g5 a5@6 ~@8", AH: "~ c5 d5@6 ~@8", AI: "~ g5 a5@7 ~@7",
  AJ: "~ [d3,f4]@2 ~@5", // Dm
})).s("gm_pad_metallic").gain(0.4)

// other · string ensemble 2
const string_ensemble_2 = note("<~@64 A@2 B@2 C@3 D ~@8 E F@2 G H I@2 J K L@3 M@2 N@3 ~@3 O@2 ~>".pickRestart({
  A: "[e4@6 d5 e5]/2", B: "[f5@6 [f5,d6] [g5,e6]]/2", C: "[[a5,gb6]@3 gb5 f5@2, ~ d6]/3", D: "[g5,db6] bb5",
  E: "~@5 [g4,e5]@3", F: "[a4@8 ~@2 e5 d5 e5@2 c5@2, f5@5 ~@3, ~ g4]/2", G: "bb4@11 a4@3 g4@2",
  H: "[d3,d4]@2 [f3,f4] [g3,g4] [a3,a4]@2 [d4,d5]@2", I: "[[c4,c5]@4 [f4,f5]@6 [e4,e5] [d4,d5] [e4,e5]@2 [c4,c5]@2]/2",
  J: "[bb3,bb4]", K: "[d3,d4]@2 [e3,e4] [f3,f4] [a3,a4]@2 [d4,d5]@2", L: "[[d4,d5]@5 [c4,e5]]/3",
  M: "[[f4,d5]@11 [g4,e5]@5]/2", N: "[f4@17 g4@9 [e4,c5]@8 ~@14, d5@13 ~@11]/3", O: "[~ d1@14 ~]/2",
})).s("gm_string_ensemble_2").gain(0.43)

// other · string ensemble 2 · soft notes
const string_ensemble_2_soft = note("<~@58 A@2 B@2 A@2 ~@8 C@2 ~@29>".pickRestart({
  A: "d4/2", B: "c4/2", C: "[a5@19 ~@13]/2",
})).s("gm_string_ensemble_2").gain(0.31)

// other · koto
const koto = note("<~@74 A B C D E F G ~@15 H I H ~@4>".pickRestart({
  A: "d5@3 ~@9 c5@2 ~@2", B: "a4 ~@3", C: "g5@3 ~@9 a5@3 ~", D: "c5@2 ~@4 d5 ~", E: "f5@2 ~@6 d5@2 ~ a4@2 ~ g4 ~",
  F: "f4@2 ~@6 c5@2 ~@2 a4 ~ g4 ~", G: "f4 ~@7", H: "~ a6@2 ~@5, ~@2 g6 ~@13", I: "~ d6@2 ~@5, ~@2 c6 ~@13",
})).s("gm_koto").gain(0.3)

// chords · epiano2
const epiano2 = note(`<
  A@2 B C D E F G@2 H@2 I J K@4 L M N@2 O@2 P@2 Q R S T U V W X Y@2 Z AA@2 L M N@2 O@2 AB Q R S T U V W X Y@2 Z AC@2
  AD@2 AE@2 AF@2 AG@2 AH AI AJ AK AL AM AN@2 L M N@2 O@2 AB Q R S T U V W X Y@2 Z AO@2 AP@2 AQ AR AS@2 ~@3
>`.pickRestart({
  A: "[~@7 d4, ~@15 g2@17, ~@8 d4@3 d4@3 ~@2, ~@8 bb3@2 bb3@3 bb3@3, ~@9 f3@7]/2",
  B: "~@7 a3, d3, ~ a3@3 a3@2 f4@2, ~ d4@3, ~@3 f4@2 a4@3",
  C: "g2 ~@6 bb3, ~ f3@7, ~@2 bb3@3 bb3@2 ~, ~@3 d4@5, ~@3 f4", D: "~@7 g3, c3, ~ g3@5 c4@2, ~ c4 g4@2, ~@3 e4@5",
  E: "~@7 f4, g2@3 f4@4 ~, ~ f3@4 f3@3, ~ bb3@2 bb3", F: "~@3 d4 ~@3 e4, bb2 c3, ~ f3@3 ~ g3@3, ~ bb3 ~ c4",
  G: "[~@2 d4 ~@2 [e4,g4]@2 ~@6 a3@2 ~, d3@15 ~@7 d2@8 ~@2, ~@2 a3@13 ~@17, ~@3 [d4,f4]@4 [d4,f4]@8 ~]/2", // Em Dm
  H: "[g2 ~@2 a4, bb3@7 f3@4 f4@5, d4@5 [a3,d4]@3 ~ a3@7, ~ g2 [d2,d3]@2, ~@3 g3 ~ d4@3]/2", // D5 D
  I: "~@3 f4, g2@5 d4@3, ~ d3@7, ~ f3@3, ~@3 bb3@5", J: "~@3 g3, c3@11 ~@5, e4 [c2,e4], ~ c4@4 c4@3, ~@4 g3@7 ~@5",
  K: "[~@6 a4@8 bb3@2 [bb3,f4]@4 ~@12 [d4,f4]@6 ~@18 g3@2 f3@2 e3 ~@3, [g2,bb3,d4]@14 bb2@10 e4@8 [d2,d3,a3]@6 [d4,f4]@4 [e4,g4]@4 [d4,f4]@11 ~@7, ~@4 f3@10 d4@8 c3@22 d3@8 d3@5 ~@7, ~@22 f4@6 g3@17 ~@5 d2@7 ~@7, ~@26 c4@19 ~@9 a3@7 ~@3]/4", // Bb5 Dm Gm D5 Dm Em Dm
  L: "~@3 g3, [g2,bb3], ~@3 f3@5, ~@5 a3@3", M: "~@5 f4@3, d2 c4, ~ d3@7, ~ a3@3, ~@3 d4@5",
  N: "[~@13 d4@3 ~@10 g3@6, g2@5 f4@3 ~@8, bb3@4 bb3@5 ~ c4@6, a3@3 a3@5 ~ g3@4 ~@3, ~ f3@3 [c3,e4]@4]/2", // C
  O: "[~@10 g2@3 a2@3 ~@6 d4@2 ~@6 e4@2, bb3@19 ~ bb3@4 ~@4 c4@4, g2@5 ~@3 bb2@4 c3@4, g3@8 g3@9 ~ f3@6 ~@2 g3@6, ~@3 d3@2 ~@11]/2",
  P: "[[d2,d4,f4]@5 [e4,g4]@2 [d4,f4]@5 ~ [c2,c4,e4]@3, ~@5 d3@7 ~@4]/2", Q: "~@3 a4@4 f4",
  R: "~@10 g3@5 ~, c3@15 ~, f4@6 e4@9 ~, ~@2 c4@5 ~@9, ~@2 g3@3 ~@3", S: "[g2,a3,bb3]",
  T: "~@3 [a3,f4]@2 [c2,g3,e4]@3, [d2,f3,d4]@5 ~@3", U: "[f2,c4,a4]@6 ~@6 f3@3 ~, ~@6 [a3,c4]@7 ~@3, ~@5 f2@3",
  V: "c4@3 ~@3 c5@2, [c2,f4]@15 ~, ~@6 [c4,e4]@9 ~, ~@10 d5@5 ~", W: "bb4@3 bb4, [g2,d4]",
  X: "d2@5 ~ a3@2, [f4,a4], ~@5 d3@3", Y: "[~@5 g4 d4 ~@7 c4 bb3, g3@25 ~ g3@6, g2@16 bb2@13 ~@3, ~@7 bb3@7 ~@2]/2",
  Z: "~ g4 ~ bb3, g2@4 c2@3 ~, ~ bb3@3 ~ e4@3",
  AA: "[~@2 a3@2 e4@2 d4@4 [e4,g4]@3 ~@3 d2@14 ~@2, d2@13 ~@19, f4@4 d3@5 ~@5 [d4,f4]@6 ~@12]/2", // Em Dm
  AB: "[d4,f4]@4 ~ [c2,c4,e4]@3", // Dm C
  AC: "[~@3 e4@2 ~ d4@4 a3@2 f3 e3 ~@14 f4@4, d2@13 ~@2 d2@14 ~@3, f4 ~@5 d4@2, ~@2 a3@3 d3@5 ~@4 d3@6 ~@6 d3@6]/2",
  AD: "~@3 d4@5, bb2, ~ f3@7, ~ a3@3", AE: "[~@7 c5, f2@18 c4@2 a4@5 d5@7, ~ c3@15, ~ c4@3 f3@4, ~@3 e4@13]/2",
  AF: "[d5@3 ~@11 f4@2, [bb3,a5]@8 ~ bb2@7, ~@3 [a4,d5]@5 ~@8, ~@3 d4@5, ~@7 c4@6 c4@3]/2", // Bbmaj7 D5
  AG: "[~@16 a3@2 ~ a3@2 ~@7 f3@2 ~@2, a2@18 a2@4 a3@3 g3@5 ~@2, ~@2 g3@19 e3@9 ~@2, ~@2 c4@13 ~, ~@3 g4@12 ~]/2",
  AH: "~ f4@2 bb3 f4@2 ~ f4@2 ~@5 bb4@2, g2@5 f4@3, ~@4 bb3@5 bb3@3 ~@4, ~@3 f3@5",
  AI: "~@12 f4@3 ~, a4@4 g2@3 ~, ~@2 f4@7 f3@6 ~, ~@4 d4@6 bb3@5 ~",
  AJ: "~ gb5, gb2@4 gb4 a4 d5 e5@9, ~ a3@15, ~ d4@7, ~@3 e4@13", AK: "~@3 a4@3 g4@2, gb3@3 ~, ~ a5@5 ~@2, ~ d5@2 ~",
  AL: "e4 ~ e4@2 d4@2 a3@9 ~, bb2, ~ f4@15", AM: "~ bb4, db4, ~@4 g4@11 ~",
  AN: "[~@2 e4 ~@5 d2@7 ~, ~ d3@6 a3@8 ~, ~@3 f4@8 ~@5, ~@5 e4@7 ~@4, ~@12 c4@17 ~@3]/2",
  AO: "[[f3,d4]@5 [f3,d4] [g3,e4] [d2,a3,f4]@4 ~@4 c4, d2@6 ~@5 c2@5, ~@11 c4@4 ~, ~@11 e4@3 e4@2, ~@13 f4@3]/2", // Dm C Dm
  AP: "[f4@12 d4@3 bb3@11 g3@6]/2", AQ: "~@3 [e4,g4], ~ [d2,d4,f4]@7", AR: "~@3 [c4,e4], [d4,f4]",
  AS: "[~ [f3,a3]@15, d2]/2", // F
})).s("gm_epiano2").gain(0.35).pan(0.7)

// other · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  A@3 B@4 C ~@22 D ~ E F G ~ H@2 ~@6 I ~@5 D ~ J K@2 ~ L@2 ~@4 M@2 ~@2 N O P Q ~@3 A@3 B@4 C ~ R ~@7 S T U ~ V@3 ~@3 W@3
>`.pickRestart({
  A: "[~@6 a4@2 g4@2 f4@2 e4@2 d4@8 a4@16 a4@2 g4@3 a4@3 c5@2]/3",
  B: "[d4@9 ~@3 f4@3 ~ f4 ~@5 g4@2 g4@2 f4@2 e4@2 d4@8 a4@6 g4 f4 d4@4 ~@4 a4@2 g4@2 f4@2 e4@2 [e4,f4] e4, ~@15 e4@5 ~@44]/4", // Fmaj7
  C: "d4", D: "f5 g5 f5 e5 c5@11 ~", E: "d4 e4@3 e4 f4@8 ~@3", F: "~@3 bb3, ~@5 g3@3", G: "~@3 f3@6 ~@7",
  H: "[~@2 f4@3 g4@3 a4@11 ~@13]/2", I: "~@4 d4 e4 d4 a3 d4@2 c4@6", J: "~@4 d5 e5 d5 a4 f4@4 g4@4",
  K: "[d4@7 ~@7 g5@8 f5@6 d5@4]/2", L: "[~@2 d4 ~@2 [e4,g4]@2 [d4,f4]@7 ~@2, f4@3 [d4,f4]@4 ~@9, ~@2 a3@13 ~@17]/2",
  M: "[~@11 c4@3 d4@2, bb2@7 c5@2 a4@7, c5@5 bb3@5 d5@10 bb2@12, ~ f3@10 ~@5, ~@3 d5@3 c5@6 bb3@10 ~@10]/2",
  N: "~@13 a4 bb4 d5", O: "[a4,f5]@3 [a4,e5] ~@2 c5@6 bb4@2 a4@2, ~@3 e4@5", P: "~@8 a5@3 g5@3 gb5@2",
  Q: "d5 a4 g4 gb4 d4 a3 g3 gb3", R: "~@2 f5 e5 c5 g4@9 ~@2", S: "~@4 bb3 c4 bb3 a3", T: "g3@3 ~@5",
  U: "~@4 d4@2 f4@7 ~@3, f4@5 ~@11, ~ a3@2 ~@5", V: "[~@8 bb3@2 c4@2 d4@3 f4@2 g3@9 e4@8 ~@14]/3",
  W: "[~@3 a3@31 ~@14, ~ [d2,d3]@28 ~@19, ~ f3@15 ~@8]/3", // D
})).s("gm_acoustic_guitar_nylon").gain(0.48).pan(0.2)

// chords · piano
const piano = note(`<
  ~@19 A B C D E@2 F@2 G H I J K L M N O P ~@3 A B C Q R S@2 T H I U@2 V M W@2 X@2 Y@2 Z@2 AA@2 AB AC AD@2 AE@2 AF AG AH
  AI ~@2 A B C Q AJ AK@3 AL AM AN AO AP AQ AR@2 AS@2 AT@5 ~ AU@3
>`.pickRestart({
  A: "~@13 f5@3, ~@5 d5@3", B: "~@3 c5@4 ~, e5@15 ~", C: "~ bb3@6 ~, g2@13 ~@3",
  D: "[f3,d4]@3 ~ c4@4, bb2 ~, ~@6 c3@9 ~", // Dm
  E: "[~@13 [c2,c4,e4]@3, d3@11 a5@3 d6@8 a5@9 ~, ~ a3@14 ~, ~@2 d4@2 d6 d4@10 ~, ~@3 a4@12 ~]/2", // C
  F: "[~@19 e5@9 g4@4, [f2,a3,f4] ~, ~@3 a4@5 ~@8, ~@5 c5@3 f5@6 ~@2, ~@7 c2@7 ~@2]/2", G: "g2@3 g4@4 ~, d4@9 ~@7",
  H: "~@2 a4 a4@2 ~ a4@4 [c2,e4,g4]@6, d2@5 ~@3, d4@5 d4@5 ~@6", I: "~@6 [c4,a4]@7 ~@3, [f2,a3,f4]@13 ~@3",
  J: "~@3 c5, c3, ~@3 e5@5, ~@5 d5@3", K: "[g2,bb4,d5]@6 ~@6 g2@3 ~, ~@3 [g3,d4,bb4]@5",
  L: "~ d4 ~ a4 ~ d5 d5@2, d3, ~ d4@3, ~ a4", M: "~@6 bb4@9 ~, [g2,g4]@15 ~",
  N: "~@7 a4, d6, ~@3 a5@6 a5@7, ~@3 d5@3 d5@2", O: "~@5 a5@3 ~@3 g5@4 ~, ~@2 d6@6 [c6,e6]@7 ~, ~ d5 ~@2",
  P: "~@3 d5, d6, d5@3 d5@3 ~@2, ~@3 a5@6 a5@7", Q: "~@3 f4 ~@3 g4, [bb2,f3,d4] [c2,e4], ~@5 g3@3, ~@3 c4",
  R: "~@2 a3@4 a5 ~@3 [c2,c4,e4]@6, [d2,f4]@3 ~@5", // C Dm
  S: "[~@7 c2 ~@7 g4, [f2,a3,f4]@11 e5@2 c5@3, ~@3 a4@13, ~@5 c5@4 f5@7, ~ c2]/2", T: "~@7 d4@4 ~@5, bb4@11 ~@5",
  U: "[~@12 c5 ~ g2@6 ~@8 g2@3 ~, [c2,f5]@13 ~@19, c3@11 c3@2 bb4@7 ~@12, ~@3 e5@4 ~@9]/2", // F5
  V: "~ d4 ~ a4 ~ [d4,g4]@3, d3, ~@2 d4@3 ~@3, ~ a4", // G5
  W: "[~@18 d6@2 ~ a5@2 ~@7 c5@2, [bb3,f4]@5 ~@3, d6@3 d6@3 d6@3 ~@4 c6@3, ~@3 a5@6 a5@6 a5@5 ~@12]/2", // Bb5
  X: "[d5@4 [f4,a4] [e4,g4]@2 [d4,f4]@9]/2", Y: "[~@6 a4@25 ~, bb1@3 ~, ~@3 d4@21 ~@8]/2",
  Z: "[~@6 e4@21 ~@5, f1@7 ~, ~@3 a3@24 ~@5]/2",
  AA: "[~@7 a4, bb2@9 a4@5 ~@2, f4@3 f4@4 f4@3 d4@6, ~ a3@10 d5@5, ~@3 g4@7 g4@14 ~@8]/2",
  AB: "a3@3 ~@3 a3@3 ~@4 g4@3, ~@3 a3@3 ~@3 e3@7, ~@4 g4@9 ~@3, ~@5 a3@3",
  AC: "a3@2 ~@4 a3@3 ~@4 g4@3, ~ a2@7, ~@3 a3@3 ~@3 [e3,a3]@7, ~@4 g4@9 ~@3", // A5
  AD: "[~@16 [d5,f5]@3 c5@3 ~@8 d4@2, g2@13 g4 a4 bb4@2 ~@2 e5@13, a4@12 bb3@5 ~@15, ~@2 g3@15 ~@15, ~@3 g4@3 d4@11 ~@5 [a4,c5]@10]/2", // Dm Am
  AE: "[~@6 d4 ~, gb2@14 gb5@2 d5@3 a4@2 gb4@7 ~@4, gb4@11 g5@17 ~@4, a4@2 a5@5 ~, ~@3 gb3@11 ~@2]/2",
  AF: "~@7 a4, bb2@8 f5@3 d5@5, ~ f3@7, ~ bb3@3, ~@3 f4@5", AG: "~@12 f4@3 ~, [g4,db5]@7 ~, f4@3 ~, ~ bb4, ~@5 bb3@3",
  AH: "~@3 d5, d3@9 a5@7, ~ a3@7, ~ d4@3, ~@3 d6@5", AI: "[d2,f3,d4]@13 ~@3",
  AJ: "~@3 a5@3 d5@3 ~ [c2,c4,e4]@6, [d2,d6]@3 ~@5", // C D
  AK: "[~@14 c2@2 ~@10 c5@4 ~@9 d4@4 ~@5, [f2,a3,f4]@22 e5@8 g4@2 bb4@11 ~@5, ~@6 a4@25 c5@2 ~@15, ~@5 c5@4 f5@7 ~@8, ~ c2 ~]/3", // F
  AL: "f5@3 e5@3 d5@4 [c3,g4,e5]@6, d3@5 ~@3", AM: "a4@3 c5@2 ~ [c4,a4]@9 ~, f3@5 ~@11",
  AN: "~@5 d5 ~ g2, [c2,f5]@3 c5, c3@4 c3@3 ~, ~@3 e5@4 ~", AO: "~@12 g2@3 ~",
  AP: "~@10 g4@5 ~, [d2,d4]@15 ~, ~@4 d3@11 ~, ~@6 f4@9 ~", AQ: "~@6 bb4@9 ~",
  AR: "[~@7 d5 [bb2,f4,d5]@2 ~ [c3,g4,e5]@5, bb3@5 ~@3, f4@3 a4@2 ~@3, d6@3 d6@7 ~@6, ~@3 a5@6 a5@11 ~@12]/2", // Bb C
  AS: "[d5@8 [f4,a4]@2 [e4,g4]@4 [d4,f4]@8 [c2,e4,c5]@9 ~]/2", // F Em Dm C
  AT: "[[d4,f4]@10 ~@2 c5@3 d5@2 [g2,bb3,g4]@7 ~@2 [c2,g3,e4]@8 ~@32 d5@13 ~, bb2@17 ~@19 d4@26 e5@2 a4@14 ~@2, ~@19 f4@4 d5@10 ~@7, ~@20 g4@5 ~@3 c5@5 ~@7, ~@22 a4@7 a4 f5@3 ~@7]/5", // Dm Gm C
  AU: "[~@2 d2@31 ~@15]/3",
})).s("gm_piano").gain(0.56).pan(0.7)

// chords · pad warm
// … 147 more lines

More by Michele Zarrillo