Strudelify
Una canzone d'amore cover art

La donna il sogno & il grande incubo

Una canzone d'amore

883

KeyF majorTempo84 bpm
0:00/0:00
// Una canzone d'amore — 883
// 84 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 115 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): E.GUITAR.
setcpm(84/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 · "UNA CANZON"
const bass = note(`<
  ~@25 A B C D C E C F G@2 H@2 I J I K I L M N I O I K I L M N A F C F P Q C F R@2 S@2 T@2 U@2 T V U W X Y Z AA AB AC AD
  AE AF AG AH AI AJ AC AK AE AL AM AN AI AJ AO AP AQ X Y Z AA AB AC AD AE AL AM AN AI AJ AO AP AQ AR@2
>`.pickRestart({
  A: "bb1@5 ~ bb1@7 ~ bb1 c2", B: "f1@5 ~ f1@7 ~ d1 ~", C: "eb1@5 ~ eb1@7 ~ eb1 ~", D: "f1@5 ~ f1@8 f1 ~",
  E: "bb1@5 ~ bb1@5 ~ d1@2 d1 ~", F: "f1@5 ~ f1@7 ~ f1 ~", G: "[g1@5 ~ g1@2 ~@2 f1@2 ~@2 eb1@7 ~ eb1@2 f1@4 f1@3 ~]/2",
  H: "[g1@5 ~ g1@2 ~@2 d1@2 ~@2 eb1@7 ~ eb1@2 f1@6 a1@2]/2", I: "bb1@5 ~ bb1 ~ g1@5 ~ g1 ~", J: "f1@5 ~ f1 ~ f1@7 ~",
  K: "f1@5 ~ f1 ~ f1@2 f2 ~ a1@3 ~", L: "f1@5 ~ f1 ~ f1@5 ~ f1 ~", M: "g1@5 ~ g1@7 ~ d2@2", N: "g2@6 g1 ~ g1@4 a1@4",
  O: "f1@5 ~ f1 ~ f1@5 ~ f1@2", P: "eb1@5 ~ eb1@7 ~ f1@2", Q: "bb1@5 ~ bb1@5 ~ d1@3 ~",
  R: "[g1@5 ~ g1@2 ~@2 f1@2 ~@2 eb1@7 ~ eb1@2 f1@5 ~ f1@2]/2",
  S: "[g1@5 ~ g1@2 ~@2 d1@2 ~@2 eb1@7 ~ eb1@2 f1@2 ~ f1@2 ~ f1@2]/2",
  T: "eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~", U: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~",
  V: "eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1@2", W: "g1@2 ~ g1@2 ~ g1@2 ~@8", X: "c2@3 c2 ~@2 c2@7 ~ c2 d2",
  Y: "g1@3 g1 ~@2 g1@5 ~ g1 ~ e1 ~", Z: "f1@3 f1 ~@2 f1@7 ~ f1 ~", AA: "g1@3 g1 ~@2 g1@8 ~ e1",
  AB: "f1@3 f1 ~@2 f1@7 ~ f1 g1", AC: "c2@3 c2 ~@2 c2@5 ~ e1@3 ~", AD: "f1@3 f1 ~@2 f1@8 ~ f1",
  AE: "g1@3 g1 ~@2 g1@3 ~ g1 d2 g2@2 d2@2", AF: "c2@3 c2 ~@2 c2@4 c2 ~@3 c2 d2", AG: "g1@3 g1 ~@2 g1@4 g1@2 ~@2 g1 e1",
  AH: "f1@3 f1 ~@2 f1@4 f1@4 ~ f1", AI: "g1@3 g1 ~ g1 g1@7 ~ g1 ~", AJ: "f1@3 f1 ~@2 f1@4 f1@3 ~ f1 g1",
  AK: "f1@3 f1 ~@2 f1@6 f1 ~ f1@2", AL: "c2@3 c2 ~@2 c2@4 c2@2 ~@2 c2 d2", AM: "g1@3 g1 ~@2 g1@4 g1 ~ g1@2 e1@2",
  AN: "f1@3 f1 ~@2 f1@4 f1@4 f1 gb1", AO: "c2@3 c2 ~@2 c2@5 c2 e1@3 ~", AP: "f1@3 f1 ~@2 f1@4 f1@3 ~ f1 gb1",
  AQ: "g1@3 g1 ~ g1 g1@5 g1 g2 d2 g1@2", AR: "c2/2",
})).s("gm_electric_bass_finger").gain(0.53)

// chords · piano
const piano = note(`<
  ~@9 A B C D E F G@2 A B C D E F G@2 H I J K L H L M N@2 O@2 A B C D E P G@2 A B C D E P G@2 H I J K L H L M N@2 O@2 Q
  R S T Q U V W X Y M Z AA X AA AB X Y M Z AA X AA AB X Y M Z AA X AA AB X Y M Z AA X AA AB X Y M Z AA X AA AB ~@2
>`.pickRestart({
  A: "f3 ~@2 d4 g3 ~@2 g3, bb2 [g2,d4,f4], d4@3 ~@5, bb3!4, ~ f3@3 ~ g3@2 ~", // G7
  B: "f3@2 ~@4 f3 ~ g3@2 g3@2 ~@2 f3@2, f2!2, [a3,c4] [a3,c4,f4] [bb3,eb4] [a3,c4,f4], ~ f3@2 ~@5", // Am F Eb5 F
  C: "f3 ~ d4 bb3 g3 ~@2 g3, [bb2,bb3]@7 ~ [g2,d4,f4]@8, d4 ~ bb3!2, ~@2 f3@5 ~@3 g3@4 ~@2", // Bb G7
  D: "f3@2 f3@2 f3@2 f3 ~ f3@2 ~@4 f3@2, f2!2, [bb3,d4]!2 [a3,c4] [a3,c4,f4], ~@5 f3@2 ~", // Bb Am F
  E: "f3@2 ~@4 bb3 ~ g3@2 ~@4 g3@2, [bb2,bb3]@7 ~ [g2,d4,f4]@8, d4!2 bb3!2, ~@2 f3@5 ~@3 g3@4 ~@2", // Bb G7
  F: "f3 ~@2 f3!3 g3 [f2,g3], f2@4 f2@3 ~, [a3,c4] [a3,c4,f4] [bb3,d4] [bb3,eb4], ~ f3@2 ~@5", // Fsus2 Am F Bb Eb5
  G: "[g3@2 ~@10 bb3@2 g3 ~ [g3,d4,g4,bb4]@3 [f3,c4,f4,a4]@3 [eb3,bb3,eb4,g4]@2 [g2,eb3,bb3,eb4,g4]@4 [a2,f3,c4,f4,a4]@4, g2@15 g2@4 ~@13, d4@8 d4@7 ~@17, bb3 bb3@2 ~@5, ~ g3@2 g3@2 g3@2 ~@9]/2", // Gm F Eb F
  H: "[f3,bb3,d4,f4]@3 [f3,bb3,d4,f4]@5", I: "[f3,a3,c4,f4]@3 [f3,a3,c4,f4]@5",
  J: "[g3,bb3,eb4,g4]@6 [g3,bb3,eb4,g4]@9 ~", K: "[f3,bb3,c4,f4]@6 [f3,a3,c4,f4]@9 ~",
  L: "[g3,bb3,eb4,g4]@3 [g3,bb3,eb4,g4]@5", M: "[a3,c4,f4,a4]@6 [a3,c4,f4,a4]@9 ~",
  N: "[[g3,bb3,d4]@5 ~ [g3,bb3,d4]@2 ~@2 [f3,a3,c4]@2 ~@2 [eb3,g3,bb3]@6 ~@2 [g3,bb3] ~ [f3,a3,c4]@2 ~@2 [f3,a3,c4]@2 ~@2, ~@11 eb3 ~@4]/2", // Gm F Eb Gm F
  O: "[[g3,bb3,d4]@5 ~ [g3,bb3,d4]@2 ~@2 [d3,f3,a3]@2 ~@2 [eb3,g3,bb3]@6 [eb3,g3,bb3]@4 [f3,bb3,c4]@4 [f3,a3,c4]@4]/2", // Gm Dm Eb Fsus4 F
  P: "f3 ~@2 f3!4 [f2,f3], f2@4 f2@3 ~, [a3,c4] [a3,c4,f4] [c4,f4]!2, ~ f3@2 ~@5", // F Am F F5
  Q: "[a3,bb3,eb4]@2 [a3,bb3,eb4]@2 [a3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4] ~", // Eb
  R: "[a3,bb3,eb4]@2 [a3,bb3,eb4]@2 [a3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3] ~, ~@7 eb4", // Eb Gm
  S: "[bb3,c4,f4]@2 [bb3,c4,f4]@2 [bb3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4] ~", // Bbsus2 F
  T: "[bb3,c4,f4]@2 [bb3,c4,f4]@2 [bb3,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4] ~, ~@4 c4 ~@9 f4@2", // Bbsus2 Bb5 F Am
  U: "[a3,bb3,eb4]!3 [g3,bb3,eb4]!5", V: "[bb3,c4,f4]!3 [a3,c4,f4]!5",
  W: "[g3,b3,d4] ~@2 [g3,b3,d4] ~@2 [g3,b3,d4] ~@9", X: "[g3,c4,e4,g4]@3 [g3,c4,e4,g4]@5",
  Y: "[g3,b3,d4,g4]@3 [g3,b3,d4,g4]@5", Z: "[g3,c4,d4,g4]@6 [g3,b3,d4,g4]@9 ~", AA: "[a3,c4,f4,a4]@3 [a3,c4,f4,a4]@5",
  AB: "[b3,d4,g4,b4]@6 [b3,d4,g4,b4]@9 ~", // G
})).s("gm_piano").gain(0.35).pan(0.4)

// chords · drawbar organ · "ORGAN"
const drawbar_organ = note(`<
  A B C D E F G F H ~@8 I J I K I J L@2 M N O P O Q O N R@2 S@2 ~@8 I J I K I J L@2 M N O P O Q O N R@2 T@2 ~@8 U V N W
  N X N V U V N W N X N V U V N W N X N V U V N W N X N V U V N W N X N V Y@2
>`.pickRestart({
  A: "~@12 f2 [g2,a2,b2,c3,d3] [e3,f3,g3,a3,b3,c4,d4,e4,f4] [g4,a4,b4,c5,d5,e5,f5,g5]", B: "[d5,f5,bb5], a5 ~@15",
  C: "[f5,a5,c6]", D: "[eb5,g5,bb5]", E: "[d5,f5,bb5]", F: "[bb4,eb5,g5]", G: "[bb4,d5,f5]", H: "[c5,f5,a5]",
  I: "f5 g5, [bb4,d5]", J: "[a4,c5,f5]@2 [g4,bb4,eb5] [a4,c5,f5]", K: "bb4 a4, [c5,f5]",
  L: "[[g4,bb4,d5]@7 [f4,a4,c5]]/2", M: "[f4,bb4,d5]", N: "[f4,a4,c5]", O: "[eb4,g4,bb4]", P: "bb4 a4, [f4,c5]",
  Q: "[d4,f4,bb4]", R: "[[g4,bb4,d5]@5 [f4,a4,c5]@2 [eb4,g4,bb4]@5 [f4,a4,c5]@4]/2",
  S: "[[g4,bb4,d5]@10 [f4,a4,c5]@4 [eb4,g4,bb4]@10 bb4@3 a4@4 ~, ~@24 [f4,c5]@7 ~]/2", // Gm F Eb F5
  T: "[[g4,bb4,d5]@5 [f4,a4,c5]@2 [eb4,g4,bb4]@5 bb4@2 a4@2, ~@3 [f4,c5]]/2", U: "[g4,c5,e5]", V: "[g4,b4,d5]",
  W: "c5 b4, [g4,d5]", X: "[e4,g4,c5]", Y: "[g4,c5,e5]/2",
})).s("gm_drawbar_organ").gain(0.17).pan(0.6)

// other · rock organ · "ORGAN"
const rock_organ = note("<~@37 A B C D E F G H ~@70>".pickRestart({
  A: "d5@4 f5 eb5 d5 eb5", B: "c5@4 d5 c5 eb5 c5, ~@8 db5 ~@7", C: "d5 bb4 d5 f5 bb5@4, ~@6 e5 ~@9", D: "bb5 c6, f5",
  E: "d6@2 bb5@2 c6@2 bb5 g5 c6@2 bb5@2 g5@2 eb5@2, ~@8 b5 ~@7", F: "f5@7 ~ d5@2 c5@2 bb4@2 c5@2, e5 ~@7 c5 ~@7",
  G: "d5@5 c5 bb4 g4 bb4@6 ~@2", H: "d5@3 c5@3 bb4@2 bb4@2 c5@2 [db5,d5] ~@3",
})).s("gm_rock_organ").gain(0.2).pan(0.6)

// chords · acoustic guitar steel · "A.GUITAR"
const acoustic_guitar_steel = note(`<
  ~@17 A B C D E B F G H I J K L M N O P Q R S T U V W X Y Z AA T U V W X Y Z AB H I J K L M N O P Q R S AC@2 AD@2 AC@2
  AD AE AF AG AH AI AJ AK AL AM AF AG AH AI AJ AK AL AM AF AG AH AI AJ AK AL AM AF AG AH AI AJ AK AL AM AF AG AH AI AJ
  AK AL AM AN@2
>`.pickRestart({
  A: "~@7 f3, d4@3 d4@5, ~ f3@4 f3@2 ~, ~ bb3@2 bb3, ~ f4", B: "~@3 f4 ~ bb3 ~ c4, c4!2 eb4 f4, ~ f3@3 ~@4",
  C: "~@3 d4 ~@3 f3, d4@3 ~ f4@4, ~ f3@3 ~ f3@2 ~, ~ bb3 ~ bb3",
  D: "~@3 d4 ~ f3 ~ f3, d4@3 ~ c4@2 f4@2, ~ f3@3 ~@4, ~ bb3 ~@2",
  E: "~@5 f3 ~ f3, d4@3 d4@3 d4@2, ~ f3@4 ~@3, ~ bb3@2 ~, ~@2 f4 ~",
  F: "~@7 g4, d4@3 d4@3 d4@2, ~ g3@7, ~@2 bb3@3 bb3@3, ~@4 g4@3 ~", G: "[bb3,d4,g4]@3 [a3,c4,f4]",
  H: "[f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!4 [f3,bb3,d4,f4,bb4]@2 ~ [bb3,d4,f4,bb4] [f3,bb3,d4,f4,bb4]!2 [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!2, ~@4 [f3,bb4] ~@3", // Bb Bb5
  I: "[f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2 [c4,f4,a4] [f3,a3,c4,f4,a4] [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!4 [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2", // F
  J: "[eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!2 [eb4,g4,bb4] [eb3,bb3,eb4,g4,bb4] [eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!4 [eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!2", // Eb
  K: "[f3,bb3,c4,f4,bb4]@2 [f3,bb3,c4,f4,bb4]!4 [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!4 [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4] [a3,c4,f4,a4]", // Fsus4 F
  L: "[eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!4 [eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!4 [eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!2", // Eb
  M: "[f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4] [d4,f4,bb4]!2 [bb3,d4,f4,bb4] [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!4 [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!2, ~@3 [f3,bb3]@3 ~@10", // Bb Bb5
  N: "[eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!4 [eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!4 [eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4] [bb3,eb4,g4,bb4]", // Eb
  O: "[f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4] [a3,c4,f4,a4] [f3,a3,c4,f4,a4]!2 [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!3 [a3,c4,f4,a4] [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2", // F
  P: "[d3,g3,d4,g4,bb4]@2 [d3,g3,d4,g4,bb4] [g3,d4,g4,bb4] [d3,g3,d4,g4,bb4] [g3,d4,g4,bb4] [d3,g3,d4,g4,bb4]@2 [d3,g3,d4,g4,bb4] [g3,d4,g4,bb4] [f3,a3,c4,f4,a4]!2 [f3,a3,c4,f4,a4]@2 [eb3,bb3,eb4,g4,bb4]!2", // Gm F Eb
  Q: "[eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4] [bb3,eb4,g4,bb4] [eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!2 [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4] [a3,c4,f4,a4] [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4] [a3,c4,f4,a4]", // Eb F
  R: "[d3,g3,d4,g4,bb4]@2 [d3,g3,d4,g4,bb4]!4 [d3,g3,d4,g4,bb4]@2 [d3,g3,d4,g4,bb4] [g3,d4,g4,bb4] [f3,a3,c4,f4,a4]!2 [f3,a3,c4,f4,a4]@2 [eb3,bb3,eb4,g4,bb4]!2", // Gm F Eb
  S: "[eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!2 [eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!2 [f3,bb3,c4,f4,bb4]@2 [f3,bb3,c4,f4,bb4] [bb3,c4,f4,bb4] ~ f4 [f3,a3,c4,f4,a4]!2, ~@6 [f3,a3,c4,f4,a4] ~", // Eb Fsus4 Bbsus2 F
  T: "[f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4] [bb3,d4,f4,bb4] [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!2 [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!2 [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!2", // Bb
  U: "[f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4] [c4,f4,a4] [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2 [eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4]!2 [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4] [a3,c4,f4,a4]", // F Eb F
  V: "[f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4] [bb3,d4,f4,bb4] [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!2 [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4] [bb3,d4,f4,bb4] [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!2", // Bb
  W: "[f3,bb3,c4,f4,bb4]@2 [f3,bb3,c4,f4,bb4]!2 [f3,bb3,c4,f4,bb4]@2 [f3,bb3,c4,f4,bb4]!2 [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4] [a3,c4,f4,a4] [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2", // Fsus4 F
  X: "[f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4] [bb3,d4,f4,bb4] [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!2 [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4] [f3,bb3,d4,f4] [f3,bb3,d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]!2", // Bb
  Y: "[f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4] [a3,c4,f4,a4] [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2 [eb3,bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4,bb4] [bb3,eb4,g4,bb4] [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2", // F Eb F
  Z: "[d3,g3,d4,g4,bb4]@2 [d3,g3,d4,g4,bb4] [d4,g4,bb4] [d3,g3,d4,g4,bb4]@2 [d3,g3,d4,g4,bb4]!2 [d3,g3,d4,g4,bb4]@2 [d3,g3,d4,g4,bb4] [g3,d4,g4,bb4] [d3,g3,d4,g4,bb4]@2 [d3,g3,d4,g4,bb4] [g3,d4,g4,bb4]", // Gm
  AA: "[d3,g3,d4,g4,bb4]@2 [d3,g3,d4,g4,bb4] [f3,a3,c4,f4,a4]", // Gm F
  AB: "[d3,g3,d4,g4,bb4]@8 [d3,g3,d4,g4,bb4]@2 [d3,g3,d4,g4,bb4]!2 [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2", // Gm F
  AC: "[bb2,eb3,a3,eb4,a4]!3 [bb2,eb3,bb3,eb4,g4,bb4]!5", AD: "[c3,f3,bb3,c4,f4,bb4]!3 [c3,f3,a3,c4,f4,a4]!5",
  AE: "[d3,g3,d4,g4,b4]@2 ~ [d3,g3,d4,g4,b4]@2 ~ [d3,g3,d4,g4,b4]@2 ~@8", // G
  AF: "[e3,g3,c4,e4,c5]@2 [e3,g3,c4,e4,c5] [g3,c4,e4,c5] [e3,g3,c4,e4,c5] [g3,c4,e4,c5] [e3,g3,c4,e4,c5]@2 [e3,c4,e4,c5] [e3,g3,c4,e4,c5] [e3,c4,e4,c5] [g3,c4,e4,c5] [e3,g3,c4,e4,c5]@2 [e3,g3,c4,e4,c5] [g3,c4,e4,c5]", // C
  AG: "[d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!3 [d4,g4,b4] [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!4 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!2", // G
  AH: "[f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!3 [a3,c4,f4,a4] [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2 [c4,f4,a4] [f3,a3,c4,f4,a4] [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4] [f3,a3,c4]", // F
  AI: "[d3,g3,d4,g4,c5]@2 [d3,g3,d4,g4,c5]!3 [g3,d4,g4,c5] [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!3 [g3,d4,g4,b4] [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!2", // Csus2 Gsus4 G
  AJ: "[f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4] [a3,c4,f4,a4] [f3,a3,c4,f4,a4]!2 [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2 [c4,f4,a4] [f3,a3,c4,f4,a4] [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4,a4]!2", // F
  AK: "[c3,e3,g3,c4,e4,c5]@2 [c3,e3,g3,c4,e4,c5] ~ [c4,e4,c5] [c3,e3,g3,c4,e4,c5] [c3,e3,g3,c4,e4,c5]@2 [c3,e3,g3,c4,e4,c5]!4 [c3,e3,g3,c4,e4,c5]@2 [c3,e3,g3,c4,e4,c5]!2, ~@3 [c3,e3,g3,c4,e4,c5]@2 ~@11", // C
  AL: "[c3,f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4] [f4,a4]!2 [f3,a3,c4,f4,a4] [c3,f3,a3,c4,f4,a4]@2 [f4,a4] ~ [c4,f4,a4] [c3,f3,a3,c4,f4,a4] [c3,f3,a3,c4,f4,a4]@2 [c3,f3,a3,c4,f4,a4]!2, ~@3 [c3,f3,a3,c4]@3 ~@3 [c3,f3,a3,c4,f4,a4]@2 ~@5", // F
  AM: "[d3,g3,d4,g4,b4]@2 d3 [d3,g3,d4,g4,b4]!3 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!4 [d3,g3,d4,g4,b4]@2 [d3,g3,d4,g4,b4]!2", // G
  AN: "[[e3,g3,c4,e4,c5]@31 ~]/2", // C
})).s("gm_acoustic_guitar_steel").gain(0.17).pan(0.6)

// chords · electric guitar clean · "E.GUITAR"
const electric_guitar_clean = note("<~@26 A ~@27 A ~@19 B ~@7 B ~@7 B ~@7 B ~@7 B ~@8>".pickRestart({
  A: "~@15 d4", B: "~@15 e4",
})).s("gm_electric_guitar_clean").gain(0.25).pan(0.2)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@44 A ~@20 B C D E C F G H ~@42>".pickRestart({
  A: "bb4@3 a4@3 g4 ~ g4@4 f4@4",
  B: "[bb3,eb4,a4] ~ [bb3,eb4,a4] ~ [bb3,eb4,a4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [bb3,eb4] f4 [bb3,eb4,g4] ~", // Eb Eb5 Eb
  C: "[bb3,eb4,a4] ~ [bb3,eb4,a4] ~ [bb3,eb4,a4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~", // Eb
  D: "[c4,f4,bb4] ~ [c4,f4,bb4] ~ [c4,f4,bb4] ~ [c4,f4,a4] ~ [c4,f4,a4] ~ [c4,f4,a4] ~ [c4,f4,g4]@2 [c4,f4,a4] ~", // Fsus4 F Csus4 F
  E: "[c4,f4,bb4] ~ [c4,f4,bb4] ~ [c4,f4,bb4] ~ [c4,f4,a4] ~ [c4,f4,a4] ~ [c4,f4,a4] ~ [c4,f4,a4] ~ [c4,f4,g4] ~", // Fsus4 F Csus4
  F: "[bb3,eb4,a4] ~ [bb3,eb4,a4] ~ [bb3,eb4,a4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~ [bb3,eb4] f4 [bb3,eb4,g4]@2", // Eb Eb5 Eb
  G: "[c4,f4,bb4] ~ [c4,f4,bb4] ~ [c4,f4,bb4] ~ [c4,f4,a4] ~ [c4,f4,a4] ~ [c4,f4,a4] ~ [f4,a4]@2 [c4,g4] ~, ~@12 c4 ~@3", // Fsus4 F C5
  H: "[b3,d4,g4] ~@2 [b3,d4,g4] ~@2 [b3,d4,g4] ~@9", // G
})).s("gm_string_ensemble_1").gain(0.19)

// other · orchestral harp · "HARP"
const orchestral_harp = note("<~@9 A ~ A ~ A ~ A@3 ~ A ~ A ~ A@2 ~@12 A ~ A ~ A ~ A@3 ~ A ~ A ~ A@2 ~@62>".pickRestart({
  A: "~@10 g3 ~ d4 ~ g4 ~",
})).s("gm_orchestral_harp").gain(0.25)

// drums · kick
const kick = s("bd").struct(`<
  ~@25 A@8 B@2 A C A@15 D A@7 E B@2 A C F@7 G A@7 E A@7 E A@7 E A@7 E A@7 E H ~
>`.pickRestart({
  A: "x ~@2 x ~@3 x", B: "x ~@2 x ~ x ~ x", C: "x ~@2 x ~ x ~@2", D: "x ~@2 x!2 ~@3", E: "x ~@2 x ~@4", F: "x!2",
  G: "x ~@2 x ~@2 x ~@9", H: "x",
})).gain(0.53)

// drums · snare
const snare = s("sd").struct("<~@25 A@7 B A@19 C A@7 B A@3 D A@7 E A@7 B A@7 B A@7 B A@7 B A@7 B ~@2>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "~@4 x ~@7 x!2 ~@2", D: "~@4 x ~@7 x!4", E: "~@2 x ~@2 x ~@10",
})).gain(0.6)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@9 A B A B A B A B A B A B A B A B C D C D C D C D C D C E C D C D C D C D C D C D C D C D C D C D C D C D C D C E C
  D C D C D C F C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D ~@2
>`.pickRestart({
  A: "x!3 ~@13", B: "x!2 ~@14", C: "x!3 ~ x ~ x!2", D: "x ~ x ~ x ~@2 x!3 ~@4 x ~", E: "x ~ x ~ x ~@2 x!3 ~@6", F: "x",
})).gain(0.4)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@25 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A ~ A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B ~@2
>`.pickRestart({
  A: "~@3 x ~@2 x!2 ~@2 x!2 ~@4", B: "~@3 x ~@2 x ~@9",
})).gain(0.2)

// drums · mid tom
const mid_tom = s("mt").struct("<~@32 A ~@19 B ~@7 B ~@5 C@3 ~ C@2 ~@8 B ~@7 B ~@7 B ~@7 B ~@7 B ~@2>".pickRestart({
  A: "~@12 x!3 ~", B: "~@14 x!2", C: "~@8 x!3 ~@5",
})).gain(0.53)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@10 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B
  ~ B ~ B ~@3 B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~@2
>`.pickRestart({
  A: "~ x ~@6", B: "~@5 x ~@2",
})).gain(0.53)

// drums · high tom
const high_tom = s("ht").struct("<~@32 A ~@19 B ~@7 C ~@19 C ~@7 C ~@7 C ~@7 C ~@7 C ~@2>".pickRestart({
  A: "~@8 x!3 ~@5", B: "~@9 x ~@6", C: "~@12 x!2 ~@2",
})).gain(0.6)

// drums · crash
// … 26 more lines

More by 883