Strudelify

Le Cose Che Vivi

Laura Pausini

KeyA minorTempo75 bpm
0:00/0:00
// Le Cose Che Vivi — Laura Pausini
// 75 bpm, 4/4, key A minor. 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: Full arrangement: all 82 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(75/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 · fretless bass
const bass = note(`<
  ~@8 A B C D E F G H I B J D K L M N K L M N O P Q R S T U V O W@2 X Y Z AA AB Y Z AA AB AC AD AE AF AG AH AI AJ AK AL
  AM AN AK AL AM AN AK AL AM AN AK AL AM AN AO AL AM AN AK AL AM AN AP@2
>`.pickRestart({
  A: "f1", B: "d2@15 ~", C: "a#1", D: "c2", E: "c#2", F: "f2@15 ~", G: "f#2", H: "g#2", I: "f2", J: "d#2",
  K: "f1@5 ~@2 f1 ~ c1 f1@3 ~ c1 c#1", L: "d1@5 ~@2 d1 ~ c1 d1@4 f1 f#1", M: "g1@5 ~@2 g1 ~ d1 g1@3 ~ a#1 ~",
  N: "c2@5 ~@2 g1 c1@4 c2@4", O: "g1@5 ~ g1 ~ g1@5 ~ d1 d#1", P: "e1@5 ~ e1 ~ e1@4 d1@4",
  Q: "c1@5 ~ c1 ~ c1@5 ~ c1 c#1", R: "d1@5 ~ d1 ~ d1@3 d1 d2@4", S: "d#2@5 ~ d#2 ~ d#2@5 ~ a#1 a1",
  T: "g1@5 ~ g1 ~ g1@5 ~ g1@2", U: "g#1@5 ~ g#1 ~ g#1@5 ~ g#1 a1", V: "a#1@5 ~ a#1 ~ a#1@3 a#1 a#1@4",
  W: "[e1@5 ~ e1 ~ e1@4 ~@2 f1@7 ~ f1 ~ f1@4 ~ g1 c2 c#2]/2", X: "d2@5 ~ d2 ~ d1@3 d1 d2@4",
  Y: "g1@5 ~@2 g1 ~ d1 g1@3 ~ d1 d#1", Z: "e1@5 ~@2 e1 ~ d1 e1@4 g1 g#1", AA: "a1@5 ~@2 a1 ~ e1 a1@3 ~ c2 ~",
  AB: "d2@5 ~@2 a1 d1@4 d2@4", AC: "e2@6 b2@6 e2@3 ~", AD: "d#2@6 ~ d#2 b2@6 d#2@2", AE: "d2@5 ~ d2@6 d3@2 d2@2",
  AF: "c#2@3 c#3@2 a2@2 c#2", AG: "c2@4 ~@2 c2@2 c2@5 ~ d2 c2", AH: "b1@5 ~ b1@2 e1@5 ~ e1@2",
  AI: "a1@4 a1@3 a1!2 ~ a1@3 ~ a1@2", AJ: "d2@3 ~ d2@2 ~ d2 e2 d2 e2@3 ~ e2 b1", AK: "a1@5 ~@2 a1 ~ e1 a1@3 ~ e1 f1",
  AL: "f#1@5 ~@2 f#1 ~ e1 f#1@4 a1 a#1", AM: "b1@5 ~@2 b1 ~ f#1 b1@3 ~ d2 ~", AN: "e2@5 ~@2 b1 e1@4 e2@4",
  AO: "a1@2 a1!2 c#1@2 c#1!2 e1@2 e1!2 a1@2 g#1@2", AP: "[~ a1@18 ~@13]/2",
})).s("gm_fretless_bass").gain(0.64)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@7 A@2 B C D E F G H I J K L M@2 N O M@2 N O P Q R S T U H V W X@2 S Y@2 Z AA Y@2 Z AA ~@8 AB@2 AC AD AB@2 AC AD AB@2
  AC AD AB@2 AC AD AB@2 AC AD AB@2 AC AE@3
>`.pickRestart({
  A: "[~@18 f3@2 f3@2 [f2,f3]@2 [f2,f3]@2 [f2,f3]@2 [f2,f3,a3,c4,f4]@2 [f2,f3,a3,c4,f4]!2, ~@7 f2 [c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2, ~@15 [c3,f3,a3]@3 f2@4 ~@10]/2", // F F5 F
  B: "[d3,a3,c4,f4]@4 d3@2 d3@2 [d3,a3]@2 [d3,a3]@2 [d3,a3,c4,f4]@2 [d3,a3,c4,f4] [d3,a3,c4], ~ [a3,c4,f4] [c4,f4] ~", // Dm7 D5 Dm7 D7 F F5
  C: "[f3,a#3,c4,f4]@4 f3@2 f3@2 [f3,a#3]@2 [f3,a#3]@2 [f3,a#3,c4,f4]@2 [f3,a#3,c4,f4] [f3,a#3,c4], ~ [a#3,c4,f4] [c4,f4] ~", // Fsus4 A#5 Fsus4 A#sus2 F5
  D: "[g3,a#3,f4,g4]@4 g3@2 g3@2 [g3,a#3]@2 [g3,a#3]@2 [g3,a#3,e4,g4]@2 [g3,a#3,e4,g4] [g3,a#3,e4], ~ [a#3,f4,g4] [e4,g4] ~", // Gm7 Gm Edim Gm7 Em
  E: "[g#3,c#4,f4,g#4]@4 g#3@2 g#3@2 [g#3,c#4]@2 [g#3,c#4]@2 [g#3,c#4,f4,g#4]@2 [g#3,c#4,f4,g#4] [g#3,c#4,f4], ~ [c#4,f4,g#4] [f4,g#4] ~", // C# C#5 C# Fm
  F: "[f3,g#3,c4,f4]@4 f3@2 f3@2 [f3,g#3]@2 [f3,g#3]@2 [f3,g#3,c4,f4]@2 [f3,g#3,c4,f4] [f3,g#3,c4], ~ [g#3,c4,f4] [c4,f4] ~", // Fm F5
  G: "[f#3,a#3,c#4,f#4]@4 f#3@2 f#3@2 [f#3,a#3]@2 [f#3,a#3]@2 [f#3,a#3,c#4,f#4]@2 [f#3,a#3,c#4,f#4] [f#3,a#3,c#4], ~ [a#3,c#4,f#4] [c#4,f#4] ~", // F# F#5
  H: "[g#3,c4,d#4,g#4]@4 g#3@2 g#3@2 [g#3,c4]@2 [g#3,c4]@2 [g#3,c4,d#4,g#4]@2 [g#3,c4,d#4,g#4] [g#3,c4,d#4], ~ [c4,d#4,g#4] [d#4,g#4] ~", // G# G#5
  I: "[f3,a3,c4,f4]@4 f3@2 f3@2 [f3,a3]@2 [f3,a3]@2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] [f3,a3,c4], ~ [a3,c4,f4] [c4,f4] ~", // F F5
  J: "d3@2 d3@2 d3@2 d3@2 [d3,a3]@2 a3@2 [a3,c4,f4]@2 [a3,c4,f4] [d3,a3,c4], [a3,c4,f4]!2 [c4,f4] ~, ~@10 d3@5 ~", // D5 F D7 F F5
  K: "[d#3,a#3,d#4,g4]@4 d#3@2 d#3@2 [d#3,a#3]@2 [d#3,a#3]@2 [d#3,a#3,d#4,g4]@2 [d#3,a#3,d#4,g4] [d#3,a#3,d#4], ~ [a#3,d#4,g4] [d#4,g4] ~", // D# D#5 D# D#5 D#
  L: "c3@2 c3@2 c3@2 c3@2 [c3,a#3]@2 a#3@2 [a#3,e4,g4]@2 [a#3,e4,g4] [c3,a#3,e4], [a#3,f4,g4]!2 [e4,g4] ~, ~@10 c3@5 ~", // C7 Edim C7 Gm7 Em
  M: "[[f3,a3,c4,f4] f3 f3@2 [f3,a3,c4,f4]@2 [f3,a3] [f3,a3,c4,f4] [f3,a3,c4] f3 f3@2 [f3,a3,c4,f4]@2 [f3,a3] ~ d3 [d3,a3,c4,f4]@3 [d3,a3,c4,f4]@2 [d3,a3,c4] ~ [d3,a3] d3 d3@2 [d3,a3,c4,f4]@2 [d3,a3,c4,f4]!2, ~ [a3,c4,f4]@3 ~@5 [a3,c4,f4]@3 ~@3 [f3,a3,c4,f4]@2 ~@6 [d3,a3,c4,f4]@2 [a3,c4,f4]@3 ~@4]/2", // F Dm7 D7 D5 Dm7 F Dm7 F
  N: "[f3,a#3,d4] f3 f3@2 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4] ~ [f3,a#3] f3 f3@2 [f3,a#3,d4,f4]@2 [f3,a#3,d4,f4]!2, ~ [a#3,d4,f4]@3 ~@3 [f3,a#3,d4,f4]@2 [a#3,d4,f4]@3 ~@4", // A# A#5 A#
  O: "[f3,a#3,d4,g4] f3 f3@2 [f3,a#3,d4,g4]@2 [f3,a#3,d4,g4]!2 [f3,a#3,d4] f3 f3@2 [f3,a#3,d4,g4]@2 [a#3,d4,g4] [f3,a#3], ~ [a#3,d4,g4]@3 ~@5 [a#3,d4,g4]@3 ~@4", // Gm7 A# Gm7 Gm A#5 Gm
  P: "~@2 g3@2 g3@2 g3@2 g3@2 g3@2 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]!2, [g3,b3,d4]@3 ~ [b3,d4,g4]@4 [b3,d4,g4]@4 ~@4, ~ g4@2 ~@13", // G
  Q: "[e3,b3,d4,g4]@4 e3@2 e3@2 [e3,b3]@2 [e3,b3]@2 [e3,b3,d4,g4]@2 [e3,b3,d4,g4] [e3,b3,d4], ~ [b3,d4,g4] [d4,g4] ~", // Em7 E5 Em7 E7 G G5
  R: "[g3,c4,d4,g4]@4 g3@2 g3@2 [g3,c4]@2 [g3,c4]@2 [g3,c4,d4,g4]@2 [g3,c4,d4,g4] [g3,c4,d4], ~ [c4,d4,g4] [d4,g4] ~", // Gsus4 C5 Gsus4 Csus2 G5
  S: "[a3,c4,g4,a4]@4 a3@2 a3@2 [a3,c4]@2 [a3,c4]@2 [a3,c4,f#4,a4]@2 [a3,c4,f#4,a4] [a3,c4,f#4], ~ [c4,g4,a4] [f#4,a4] ~", // Am7 Am F#dim Am7 F#m
  T: "[a#3,d#4,g4,a#4]@4 a#3@2 a#3@2 [a#3,d#4]@2 [a#3,d#4]@2 [a#3,d#4,g4,a#4]@2 [a#3,d#4,g4,a#4] [a#3,d#4,g4], ~ [d#4,g4,a#4] [g4,a#4] ~", // D# D#5 D# Gm
  U: "[g3,a#3,d4,g4]@4 g3@2 g3@2 [g3,a#3]@2 [g3,a#3]@2 [g3,a#3,d4,g4]@2 [g3,a#3,d4,g4] [g3,a#3,d4], ~ [a#3,d4,g4] [d4,g4] ~", // Gm G5
  V: "[a#3,d4,f4,a#4]@4 a#3@2 a#3@2 [a#3,d4]@2 [a#3,d4]@2 [a#3,d4,f4,a#4]@2 [a#3,d4,f4,a#4] [a#3,d4,f4], ~ [d4,f4,a#4] [f4,a#4] ~", // A# A#5
  W: "[g3,b3,d4,g4]@4 g3@2 g3@2 [g3,b3]@2 [g3,b3]@2 [g3,b3,d4,g4]@2 [g3,b3,d4,g4] [g3,b3,d4], ~ [b3,d4,g4] [d4,g4] ~", // G G5
  X: "[e3@2 e3@2 e3@2 e3@2 [e3,b3]@2 b3@2 [b3,d4,g4]@2 [f3,c4,f4,a4]@5 ~ f3@2 f3@2 [f3,c4]@2 [f3,c4]@2 [f3,c4,f4,a4]@2 [f3,c4,f4,a4] [f3,c4,f4], [b3,d4,g4]!2 [d4,g4] ~@2 [c4,f4,a4] [f4,a4] ~, ~@5 e3@2 ~@9]/2", // E5 G F F5 F F5 G G5 …
  Y: "[[g3,b3,d4,g4] g3 g3@2 [g3,b3,d4,g4]@2 [g3,b3] [g3,b3,d4,g4] [g3,b3,d4] g3 g3@2 [g3,b3,d4,g4]@2 [g3,b3] ~ e3 [e3,b3,d4,g4]@3 [e3,b3,d4,g4]@2 [e3,b3,d4] ~ [e3,b3] e3 e3@2 [e3,b3,d4,g4]@2 [e3,b3,d4,g4]!2, ~ [b3,d4,g4]@3 ~@5 [b3,d4,g4]@3 ~@3 [g3,b3,d4,g4]@2 ~@6 [e3,b3,d4,g4]@2 [b3,d4,g4]@3 ~@4]/2", // G Em7 E7 E5 Em7 G Em7 G
  Z: "[g3,c4,e4] g3 g3@2 [g3,c4,e4,g4]@2 [g3,c4,e4,g4] ~ [g3,c4] g3 g3@2 [g3,c4,e4,g4]@2 [g3,c4,e4,g4]!2, ~ [c4,e4,g4]@3 ~@3 [g3,c4,e4,g4]@2 [c4,e4,g4]@3 ~@4", // C C5 C
  AA: "[g3,c4,e4,a4] g3 g3@2 [g3,c4,e4,a4]@2 [g3,c4,e4,a4]!2 [g3,c4,e4] g3 g3@2 [g3,c4,e4,a4]@2 [c4,e4,a4] [g3,c4], ~ [c4,e4,a4]@3 ~@5 [c4,e4,a4]@3 ~@4", // Am7 C Am7 Am C5 Am
  AB: "[[c#4,e4,a4] [c#4,e4,a4]@3 [c#4,e4,a4]@2 c#4 [c#4,e4,a4] [c#4,e4] [c#4,e4,a4]@3 [c#4,e4,a4]@2 c#4 [c#4,e4,a4]@2 [c#4,e4,a4]@3 [c#4,e4,a4]@2 [c#4,e4] ~ c#4 [c#4,e4,a4]@3 [c#4,e4,a4]@2 [c#4,e4,a4]!2, ~@23 [c#4,e4,a4]@2 ~@7]/2", // A C#m A C#m A
  AC: "[d4,f#4] [d4,f#4,a4]@3 [d4,f#4,a4]@2 [d4,f#4,a4] ~ d4 [d4,f#4,a4]@3 [d4,f#4,a4]@2 [d4,f#4,a4]!2, ~@7 [d4,f#4,a4]@2 ~@7", // D
  AD: "[d4,f#4,b4] [d4,f#4,b4]@3 [d4,f#4,b4]@2 [d4,f#4,b4]!2 [d4,f#4] [d4,f#4,b4]@3 [d4,f#4,b4]@2 [d4,f#4,b4] d4", // Bm D Bm
  AE: "[[d4,f#4,b4] [d4,f#4,b4]@3 [d4,f#4,b4]@2 [d4,f#4,b4]!2 [d4,f#4] [d4,f#4,b4]@3 [a3,d4,f#4,b4]@2 ~@2 [a3,d4] [a2,e3,a3,c#4,e4,a4]@18 ~@13, ~@15 [d4,f#4,b4]@2 ~@31]/3", // Bm D Bm Bm7 D5 A Bm
})).s("gm_acoustic_guitar_steel").gain(0.15)

// other · pad metallic
const pad_metallic = note("<c6 a5 c6 a5 ~@78>").s("gm_pad_metallic").gain(0.14).pan(0.2)

// chords · lead 8 bass lead
const lead_8_bass_lead = note("<~@4 A B C D A B C D E F G H F I J K ~@62>".pickRestart({
  A: "[f2,c3,a3]", B: "[d2,a2,c4]", C: "[a#1,f2,c4]", D: "[c2,g2,a#3,f4] [c2,g2,a#3,e4]", E: "[c#2,g#2]", F: "[f2,c3]",
  G: "[f#2,c#3]", H: "[g#2,d#3]", I: "[d2,a2]", J: "[d#2,a#2]", K: "[c2,g2]!2",
})).s("gm_lead_8_bass_lead").gain(0.21)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  A@4 ~@8 B C D E F@2 G H I@2 J@2 I@2 J@2 K@2 L M N O P Q R@3 S T@2 U@2 T@2 U@2 V W X Y Z AA AB AC AD@2 AE@2 AD@2 AE@2
  AD@2 AE@2 AD@2 AE@2 AD@2 AE@2 AD@2 AF@4
>`.pickRestart({
  A: "[f2 d2 f2 d2, [f3,a3,c4,f4]]/4", B: "[g#3,c#4,f4]", C: "[g#3,c4,f4]", D: "[a#3,c#4,f#4]", E: "[c4,d#4,g#4]",
  F: "[a3,c4,f4]", G: "[a#3,d#4,g4]", H: "f4 e4, [a#3,g4]", I: "[f4 d4, [c5,a5,f6]]/2", J: "[g4 c4, [d5,a#5,f6]]/2",
  K: "[[g3,b3,d4]@31 ~]/2", L: "[c4,e4,g4]@15 ~", M: "[a3,d4,g4]@15 ~", N: "[g3,a#3,d#4]@15 ~", O: "[g3,a#3,d4]@15 ~",
  P: "[g#3,c4,d#4]@15 ~", Q: "[a#3,d4,f4]@15 ~", R: "[[b3,d4,g4]@29 ~ [a3,c4,f4]@17 ~]/3", S: "[g3,d4,a4]@15 ~",
  T: "[g4 e4, [d5,b5,g6]]/2", U: "[a4 d4, [e5,c6,g6]]/2",
  V: "[b4,e5,g5] ~@3 [b4,e5,g5] ~@3 [b4,e5,g5] ~@3 [b4,e5,g5]@4", // Em
  W: "[b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5] ~@3 [b4,d#5,f#5]@4", // B
  X: "[b4,d5,f5] ~@3 [b4,d5,f5] ~@3 [b4,d5,f5] ~@3 [b4,d5,f5]@4", // Bdim
  Y: "[a4,c#5,e5] ~@3 [a4,c#5,e5] ~@3 [a4,c#5,e5] ~@3 [a4,c#5,e5]@4", // A
  Z: "[a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5]@4", AA: "[b3,a4,d5,g5] [e4,b4,d5,g5]",
  AB: "[d4,d5]@2 [d#4,d#5] [e4,e5], [g4,b4]", AC: "[e4,g4,c5,e5] [f#4,a4,d5,f#5]", AD: "[a4 f#4, [e5,c#6,a6]]/2",
  AE: "[b4 e4, [f#5,d6,a6]]/2", AF: "[b4@16 e4@17 [a4,e5,c#6,a6]@18 ~@13, [f#5,d6,a6]@33 ~@31]/4",
})).s("gm_string_ensemble_1").gain(0.39)

// chords · epiano2
const epiano2 = note(`<
  ~@9 A@2 ~ B C D E F G H I J K L M J K L M ~@2 N ~ O P Q R S T@2 U V W X Y V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK
  AH AI AJ AK AH AI AJ AK AH AI AJ AK AH AI AJ AK AH AI AJ AK AL@2
>`.pickRestart({
  A: "[~@7 [a#3,c4,f4]@8 ~]/2", B: "[f3,g#3,c#4]@15 ~", C: "[f3,g#3,c4]@13 ~ [f3,g#3,c4]@2", D: "[f#3,a#3,c#4]",
  E: "[g#3,c4,d#4]@15 ~", F: "[f3,a3,c4]@15 ~", G: "[f3,a3,c4]@13 ~ [f3,a3,c4]@2", H: "[d#3,g3,a#3]",
  I: "f3 e3, [g3,c4]@15 ~", J: "[a3,c4,f4]@3 [a3,c4,f4], f2", K: "[f3,a3,c4]@3 [a3,c4,f4], d2",
  L: "[f3,a#3,d4]@3 [a#3,d4,f4], g2", M: "[f3,a#3,d4]@3 [a#3,d4,f4], c2", N: "[c4,d4,g4]", O: "[g3,a#3,d#4]@15 ~",
  P: "[g3,a#3,d4]@13 ~ [g3,a#3,d4]@2", Q: "[g#3,c4,d#4]", R: "[a#3,d4,f4]@15 ~", S: "[g3,b3,d4]@15 ~",
  T: "[[g3,b3,d4]@13 ~ [f3,a3,c4]@18]/2", U: "g3 f#3, [a3,d4]@15 ~", V: "[b3,d4,g4]@3 [b3,d4,g4], g2",
  W: "[g3,b3,d4]@3 [b3,d4,g4], e2", X: "[g3,c4,e4]@3 [c4,e4,g4], a2", Y: "[g3,c4,e4]@3 [c4,e4,g4], d2",
  Z: "[b3,e4,g4]@3 [b3,e4,g4]", AA: "[b3,d#4,f#4]@3 [b3,d#4,f#4]", AB: "[b3,d4,f4]@3 [b3,d4,f4]",
  AC: "[a3,c#4,e4]@3 [a3,c#4,e4]", AD: "[a3,c4,e4]@11 ~ [a3,c4,e4]@3 ~", AE: "[g3,a3,d4]@7 ~ [b3,d4,g4]@7 ~",
  AF: "[g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d#4]@3 ~ [g3,b3,e4]@3 ~", // G Gaug Em
  AG: "[g3,c4,e4]@3 ~ [g3,c4,e4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@4", AH: "[c#4,e4,a4]@3 [c#4,e4,a4], a2",
  AI: "[a3,c#4,e4]@3 [c#4,e4,a4], f#2", AJ: "[a3,d4,f#4]@3 [d4,f#4,a4], b2", AK: "[a3,d4,f#4]@3 [d4,f#4,a4], e2",
  AL: "[~ [a2,c#4,e4,a4]@18 ~@13]/2", // A
})).s("gm_epiano2").gain(0.33)

// chords · epiano2 · soft notes
const epiano2_soft = note("<~@8 A B ~ C ~@16 D@2 ~ E ~@50>".pickRestart({
  A: "[a3,c4,f4]", B: "[a3,c4,f4]@13 ~@3", C: "[a#3,c4,f4] [a#3,c4,e4]", D: "[b3,d4,g4]", E: "[c4,d4,g4] [c4,d4,f#4]",
})).s("gm_epiano2").gain(0.21)

// other · overdriven guitar
const overdriven_guitar = note("<~@67 A B@2 ~ C D E F G H I@2 J@2 ~>".pickRestart({
  A: "~@15 e4", B: "[c#5 c#5@13 ~ b4@3 f#4 e4 a4 f#4!2 e4 f#4@5 ~@3]/2", C: "f#4@5 ~ f#4@2 e4@4 e4 f#4 a4 f#4",
  D: "c#5@4 e5@2 b4 a4 a4@4 ~@4", E: "~@2 f#5 f#5@3 f#5 c#5 e5 b4@2 f#4 e5 a4@3", F: "~@2 f#4@3 a4 ~ f#4 b4@8",
  G: "f#5@5 f#5@2 f#5@5 e5@2 f#5 e5", H: "f#5@3 e5@3 f#5@3 e5@3 f#5@2 e5@2",
  I: "[b5@3 a5@3 b5@3 a5@3 f#5 e5 c#5 c#5@2 a4 a4@4 ~@3 c#4 e4 c#4 f#4 ~ g#4 ~, ~@18 f#4 ~@13]/2",
  J: "[a4 c#5 a4 ~ d5 b4!3 c#5 e5 c#5 ~ c#5@15 ~@5]/2",
})).s("gm_overdriven_guitar").gain(0.46)

// chords · epiano2
const epiano2_2 = note("<A@8 B@8 C@5 ~@7 D@8 E@2 F@3 ~@41>".pickRestart({
  A: "[~@127 c4, f2 f3 f2 f3 f2 f3 f2 f3 d2 f3 d2 f3 d2 f3 d2 f3 f2 f3 f2 f3 f2 f3 f2 f3 d2 f3 d2 f3 d2 f3 d2 f3 f2 f3 f2 f3 f2 f3 f2 f3 d2 f3 d2 f3 d2 f3 d2 f3 a#1 f3 a#1 f3 a#1 f3 a#1 f3 c2 f3 c2 f3 c2 f3 c2 f3, ~ c3@2 g3@2 c3@2 c4@2 c3@2 g3@2 c3@2 c4@2 a2@2 g3@2 a2@2 c4@2 a2@2 g3@2 a2@2 c4@2 c3@2 g3@2 c3@2 c4@2 c3@2 g3@2 c3@2 c4@2 a2@2 g3@2 a2@2 c4@2 a2@2 g3@2 a2@2 c4@2 c3@2 g3@2 c3@2 c4@2 c3@2 g3@2 c3@2 c4@2 a2@2 g3@2 a2@2 c4@2 a2@2 g3@2 a2@2 c4@2 f2@2 g3@2 f2@2 c4@2 f2@2 g3@2 f2@2 c4@2 g2@2 g3@2 g2@2 c4@2 g2@2 g3@2 g2@3]/8",
  B: "[~@127 d#4, f2 f3 f2 f3 f2 f3 f2 f3 d2 f3 d2 f3 d2 f3 d2 f3 a#1 f3 a#1 f3 a#1 f3 a#1 f3 c2 f3 c2 f3 c2 f3 c2 f3 c#2 f3 c#2 f3 c#2 f3 c#2 f3 f2 f3 f2 f3 f2 f3 f2 f3 f#2 f#3 f#2 f#3 f#2 f#3 f#2 f#3 g#2 g#3 g#2 g#3 g#2 g#3 g#2 g#3, ~ c3@2 g3@2 c3@2 c4@2 c3@2 g3@2 c3@2 c4@2 a2@2 g3@2 a2@2 c4@2 a2@2 g3@2 a2@2 c4@2 f2@2 g3@2 f2@2 c4@2 f2@2 g3@2 f2@2 c4@2 g2@2 g3@2 g2@2 c4@2 g2@2 g3@2 g2@2 c4@2 g#2@2 g#3@2 g#2@2 c#4@2 g#2@2 g#3@2 g#2@2 c#4@2 c3@2 g#3@2 c3@2 c4@2 c3@2 g#3@2 c3@2 c4@2 c#3@2 g#3@2 c#3@2 c#4@2 c#3@2 g#3@2 c#3@2 c#4@2 d#3@2 a#3@2 d#3@2 d#4@2 d#3@2 a#3@2 d#3@3]/8",
  C: "[~@63 c4@3 ~@14, f2@2 f3@2 f2@2 f3@2 f2@2 f3@2 f2@2 f3@2 d2@2 f3@2 d2@2 f3@2 d2@2 f3@2 d2@2 f3@2 d#2@2 f3@2 d#2@2 f3@2 d#2@2 f3@2 d#2@2 f3@2 c2@2 f3@2 c2@2 f3@2 c2@2 f3@2 c2@2 f3@3 ~@15, ~ c3@2 g3@2 c3@2 c4@2 c3@2 g3@2 c3@2 c4@2 a2@2 g3@2 a2@2 c4@2 a2@2 g3@2 a2@2 c4@2 a#2@2 g3@2 a#2@2 a#3@2 a#2@2 g3@2 a#2@2 a#3@2 g2@2 g3@2 g2@2 c4@2 g2@2 g3@2 g2@3 ~@16]/5",
  D: "[~@127 f4, g2 g3 g2 g3 g2 g3 g2 g3 e2 g3 e2 g3 e2 g3 e2 g3 c2 g3 c2 g3 c2 g3 c2 g3 d2 g3 d2 g3 d2 g3 d2 g3 d#2 g3 d#2 g3 d#2 g3 d#2 g3 g2 g3 g2 g3 g2 g3 g2 g3 g#2 g#3 g#2 g#3 g#2 g#3 g#2 g#3 a#2 a#3 a#2 a#3 a#2 a#3 a#2 a#3, ~ d3@2 a3@2 d3@2 d4@2 d3@2 a3@2 d3@2 d4@2 b2@2 a3@2 b2@2 d4@2 b2@2 a3@2 b2@2 d4@2 g2@2 a3@2 g2@2 d4@2 g2@2 a3@2 g2@2 d4@2 a2@2 a3@2 a2@2 d4@2 a2@2 a3@2 a2@2 d4@2 a#2@2 a#3@2 a#2@2 d#4@2 a#2@2 a#3@2 a#2@2 d#4@2 d3@2 a#3@2 d3@2 d4@2 d3@2 a#3@2 d3@2 d4@2 d#3@2 a#3@2 d#3@2 d#4@2 d#3@2 a#3@2 d#3@2 d#4@2 f3@2 c4@2 f3@2 f4@2 f3@2 c4@2 f3@3]/8",
  E: "[~@15 c4, g2 g3 g2 g3 g2 g3 g2 g3 e2 g3 e2 g3 e2 g3 e2 ~, ~ d3@2 a3@2 d3@2 d4@2 d3@2 a3@2 d3@2 d4@2 b2@2 a3@2 b2@2 d4@2 b2@2 a3@2 g3@3]/2",
  F: "[~@31 d4@3 ~@14, f2@2 g3@2 f2@2 g3@2 f2@2 g3@2 f2@2 g3@2 d2@2 g3@2 d2@2 g3@2 d2@2 g3@2 d2@2 g3@3 ~@15, ~ c3@2 a3@2 c3@2 c4@2 c3@2 a3@2 c3@2 c4@2 a2@2 a3@2 a2@2 d4@2 a2@2 a3@2 a2@3 ~@16]/3",
})).s("gm_epiano2").gain(0.15)

// chords · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~@28 A B C D E F G H I J@2 K A B L D A B L D M N O P Q R S T U V W X U V W X U V W X U V W X U V W X U V W X Y@2
>`.pickRestart({
  A: "[g2,d3,g3,b3]", B: "[e2,b2,g3,b3]", C: "[c3,g3,c4,e4]", D: "[d3,a3,c4,g4]", E: "[d#3,a#3,g4]", F: "[d3,a#3,g4]",
  G: "[d#3,c4,g#4]", H: "[f3,d4,a#4]", I: "[g2,d3,b3]", J: "[[e2,d3,b3]@13 ~ [f2,c3,a3]@16 ~@2]/2", K: "[d3,c4,a4]",
  L: "[a2,g3,c4,e4]", M: "~@3 e4@5, e3@7 ~, ~@2 g3@13 ~, ~ b3@3", N: "~@6 f#4@9 ~, d#3@7 ~, ~@2 f#3@13 ~, ~@4 b3@11 ~",
  O: "~@6 f4@9 ~, d3@7 ~, ~@2 f3@13 ~, ~@4 b3@11 ~", P: "~@6 e4@9 ~, c#3@7 ~, ~@2 e3@13 ~, ~@4 b3@11 ~",
  Q: "~@6 e4@9 ~, c3@7 ~, ~@2 e3@13 ~, ~@4 a3@11 ~", R: "[b2,g3,b3,d4]@7 ~ [e3,b3,d4,g4]@8",
  S: "[d3,g3,b3,d4]@2 [d#3,g3,b3,d#4] [e3,g3,b3,e4]", T: "[d3,g3,c4,e4] [e3,a3,d4,f#4]", U: "[a2,e3,a3,c#4]",
  V: "[f#2,c#3,a3,c#4]", W: "[b2,a3,d4,f#4]", X: "[e3,b3,d4,a4]", Y: "[~ [a2,e3,a3,c#4]@18 ~@13]/2",
})).s("gm_overdriven_guitar").gain(0.25)

// drums · kick
const kick = s("bd").struct("<~@8 A@9 B@2 C D@8 E@9 F G H D@8 A I J K A I A L D@23 B M ~>".pickRestart({
  A: "x ~@5 x ~ x ~@6 x", B: "x ~@6 x!2 ~@6 x", C: "x ~@10 x ~@3 x", D: "x ~@6 x!2 ~@5 x ~", E: "x ~@2 x!2 ~@3",
  F: "x ~@2 x!2 ~@2 x", G: "~@3 x!2 ~@3", H: "x ~@5 x ~ x ~@2 x ~@4", I: "x ~@3 x ~@2 x", J: "x ~@7 x ~@6 x",
  K: "x ~@7 x ~ x!2 ~@2 x ~", L: "x ~@6 x ~@2 x ~@2 x ~@2", M: "~ x ~@14",
})).gain(0.72)

// drums · snare
const snare = s("sd").struct("<~@8 A@11 B A@19 C A@15 D A@24 ~@2>".pickRestart({
  A: "~ x ~ x", B: "~@8 x ~@3 x!2 ~@2", C: "~@4 x ~@7 x!2 ~@2", D: "~ x!2 ~",
})).gain(0.8)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@8 A B@3 A B@3 A B@3 C D@2 E C D@2 E C D@2 E C D@2 E C B@2 F C D@2 E C D@2 E C D@2 E C D C@3 D@2 E C D@2 E C D@2 E C
  D@2 E C D@2 E C D@2 E ~@2
>`.pickRestart({
  A: "~ x!6 ~", B: "x!7 ~", C: "~ x!7", D: "x!8", E: "x!6 ~@2", F: "~ x!5 ~@2",
})).gain(0.32)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@8 A@12 B C@2 D B C@2 D B C@2 D B C@2 E B A@2 F B C@2 D B C@2 D B C@2 D C@3 G B C@2 D B C@2 D B C@2 D B C@2 D B C@2 D
  B C@2 D ~@2
>`.pickRestart({
  A: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@2", B: "~@3 x ~ x ~ x ~ x ~ x ~ x ~ x", C: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x",
  D: "~ x ~ x ~ x ~ x ~ x ~ x ~@4", E: "~ x ~ x ~ x ~ x ~ x ~@6", F: "~@3 x ~ x ~ x ~ x ~ x ~@4",
  G: "~@3 x ~ x ~ x ~@8",
})).gain(0.16)

// drums · low tom
const low_tom = s("lt").struct("<~@19 A ~@7 A ~@7 B ~@3 C ~@7 A ~@7 A ~@7 A ~@3 A ~@11 C ~ D>".pickRestart({
  A: "~@7 x", B: "~@3 x", C: "~@15 x", D: "~@3 x ~@12",
})).gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct("<~@19 A ~@7 B ~@7 C ~@3 D ~@7 E ~@7 C ~@7 E ~@3 E ~@11 E ~ F>".pickRestart({
  A: "~@4 x!2 ~ x ~@8", B: "~@13 x ~@2", C: "~@11 x ~@4", D: "~@7 x", E: "~@11 x ~ x ~@2", F: "~@3 x ~@12",
})).gain(0.64)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@23 A ~@3 B ~@3 A ~@3 C ~@2 C B ~@3 A ~@3 B ~@3 C D ~@6 A ~@3 B ~@3 B ~@3 A ~@3 A ~@3 B ~ E
>`.pickRestart({
  A: "~@6 x!2", B: "~@3 x", C: "~@7 x", D: "x", E: "~@3 x ~@12",
})).gain(0.48)

// … 19 more lines

More by Laura Pausini