Strudelify
Stanotte stai con me cover art

1998 · La mia risposta

Stanotte stai con me

Laura Pausini

KeyF majorTempo96 bpm
0:00/0:00
// Stanotte stai con me — Laura Pausini
// 96 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 94 bars on a 24-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): guitar program 26.
setcpm(96/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.

// other · piano
const piano = note("<~@2 A@8 ~@52 B ~ B ~ B ~@27>".pickRestart({
  A: "[~@12 [f5,f6]@3 [g5,g6]@3 [a5,a6]@3 [g5,g6]@9 [e5,e6]@3 [c5,c6]@8 [a4,a5]@4 [d5,d6]@6 ~@9 [f5,f6]@3 [g5,g6]@3 [a5,a6]@3 [g5,g6]@6 [c6,c7]@11 ~@10]/4", // F G A G E C A D …
  B: "~@12 c6@3 ~@6 c6@2 ~, ~@11 f6@2 ~@2 ab6@8 ~, ~@12 c7@11 ~, ~@18 f6@5 ~",
})).s("gm_piano").gain(0.55).pan(0.8)

// other · piano · soft notes
const piano_soft = note("<~@62 [~@5 c6!2 ~] ~ [~@5 c6!2 ~] ~ [~@5 c6!2 ~] ~@27>").s("gm_piano").gain(0.35).pan(0.8)

// bass · electric bass finger
const bass = note(`<
  ~ A B C B C B C B C D E F G H I J K L M N O P Q J K R@2 ~@2 D E F G H I J K L M N O P Q J K S@2 T U V W X Y Z AA AB AC
  AD AE AF AG AH AI AH AI AH AI AJ AK AL AM AN AO AP AQ AR AS AL AM AN AO AP AQ AR AS AL AM AN AO AP AQ AT ~
>`.pickRestart({
  A: "bb1@5 ~ bb1@5 ~ bb1@5 ~ bb1@3 ~@3", B: "bb1@2 ~@9 bb1 bb1@2 ~@4 f2@2 ~@3 bb1", C: "c2@2 ~@4 g2@2 ~@3 c2!2 ~@11",
  D: "bb1@3 ~@3 bb1@2 ~@3 bb1 bb1@3 ~@3 f2@3 ~ bb1@2", E: "c2@3 ~@8 c2 c2@3 ~@9",
  F: "a1@2 ~ a1@3 a2 ~@4 a1!2 ~@2 a1 ~@5 db2@3", G: "d2@4 ~@7 d2!2 ~@2 d2 ~@8",
  H: "bb1@8 ~@7 f2 ~@2 f2@3 bb1@3, ~@11 bb1@6 ~@7", I: "c2@5 ~ c2@2 ~@3 c2!2 ~@2 c2@3 c3@2 ~@4",
  J: "eb2@5 ~ eb2@2 ~@3 eb2 eb2@2 ~ eb2@3 eb2@3 bb1@3", K: "~@6 a2 ~@4 a2!2 ~@2 a2@3 ~ a2 ~@4, a1@9 ~@9 a1@2 ~@4",
  L: "bb1@3 ~@2 bb1!2 ~@11 bb1@2 ~ bb1@2 ~", M: "a1@6 a2@2 ~@3 db2 d2@5 ~ d2 ~@5", N: "bb1@4 ~ bb1 ~@5 bb1!2 ~@2 bb1@9",
  O: "c2@8 ~@3 c2!2 ~@11", P: "bb1@6 f2@2 ~@2 bb1@4 ~ bb1 ~@8", Q: "c2@5 ~ c2 ~@4 c2!2 ~@2 c2 ~@8",
  R: "[bb1@21 c2@2 ~]/2", S: "[f1@5 ~]/2", T: "bb1@6 bb2@3 bb1@10 ~@4 bb1", U: "g1@6 g2@5 g1@5 ~@8",
  V: "c2@9 ~@2 c2 ~@9 c3@3, ~ c2", W: "f2@10 ~ f1 ~@3 f1@3 f2@4 ~@2", X: "e2@10 ~ e2!2 ~@2 e2@8 bb1",
  Y: "a1@11 ~ b1@6 b2@4 ~@2, ~@11 a2@2 ~@11", Z: "c2@3 ~@2 c2!2 ~@11 c2@2 ~ c2@2 ~",
  AA: "b1@6 b2@2 ~@3 eb2 e2@5 ~ e2 ~@5", AB: "c2@4 ~ c2 ~@5 c2!2 ~@2 c2@9", AC: "d2@8 ~@3 d2!2 ~@11",
  AD: "c2@6 g2@2 ~@2 c2@4 ~ c2 ~@8", AE: "d2@5 ~ d2 ~@4 d2!2 ~@2 d2 ~@8",
  AF: "f2@5 ~ f2@2 ~@3 f2 f2@2 ~ f2@3 f2@3 c2@3", AG: "~@6 b2 ~@4 b2!2 ~@2 b2@3 ~ b2 ~@4, b1@9 ~@9 b1@2 ~@4",
  AH: "db2@6 db3@2 ~@3 db2!2 ~@2 db2@5 ~ db2@3", AI: "c2@9 eb2@2 e2 f2@2 ~ f2@3 f1@3 f2 ~@2",
  AJ: "gb2@6 gb1@4 ~ gb2!2 ~@2 gb2@3 gb1@3 gb2@2 ~", AK: "g2@11 g1 c2@2 ~ c2@6 g2 ~@2",
  AL: "db2@3 ~@2 db2!2 ~@11 db2@2 ~ db2@2 ~", AM: "c2@6 c3@2 ~@3 e2 f2@5 ~ f2 ~@5",
  AN: "db2@4 ~ db2 ~@5 db2!2 ~@2 db2@9", AO: "eb2@8 ~@3 eb2!2 ~@11", AP: "db2@6 ab2@2 ~@2 db2@4 ~ db2 ~@8",
  AQ: "eb2@5 ~ eb2 ~@4 eb2!2 ~@2 eb2 ~@8", AR: "gb2@5 ~ gb2@2 ~@3 gb2 gb2@2 ~ gb2@3 gb2@3 db2@3",
  AS: "~@6 c3 ~@4 c3!2 ~@2 c3@3 ~ c3 ~@4, c2@9 ~@9 c2@2 ~@4", AT: "gb2@5 ~ gb2@2 ~@3 gb2 gb2@2 ~ gb2@3 ~@6",
})).s("gm_electric_bass_finger").gain(0.43)

// chords · electric guitar muted
const electric_guitar_muted = note(`<
  ~ A B C D E B C D E F G H I J K L M N O P Q R S L T ~@4 F G H I J K L M N O P Q R S L T ~@8 U V W X Y Z AA AB AC AD AC
  AD AC AD AE AF AC AD AG AH AI AJ AE AF AC AD AG AH AI AJ AE AF AC AD AG AH AI AJ AE AF
>`.pickRestart({
  A: "~@7 f5, ~@20 d5@3 ~", B: "~@6 bb3 ~@4 bb3 ~@2 bb3 ~@3 bb3 ~@5",
  C: "~@3 d4 ~@2 d4 ~@4 c4 ~@2 c4@2 ~ bb3 c4@3 bb3 ~@2",
  D: "~@6 [f3,bb3] ~@2 f3 ~ [bb3,d4] ~@2 [bb3,d4] ~@3 c4@3 bb3 ~@2, ~@18 bb3 ~@5", // Bb5 Bb
  E: "~@6 d4@2 ~@3 c4 ~@2 c4 ~@3 e4 ~@2 c4 ~@2", F: "bb3@2 bb3 ~@6 f3@2 ~@3 f3 ~@3 [f3,bb3] ~@5",
  G: "~@3 g3 ~@2 g3 ~@3 g3 ~@2 g3 ~@4 g3 ~@5", H: "g3!2 ~@2 a3 ~@7 a3@2 ~@2 g3@4 ~ a3 ~@2",
  I: "[a3,d4] ~@2 [a3,d4] ~@8 [a3,c4]!2 ~@3 [a3,c4] ~@6", J: "bb3!2 ~@13 bb3 ~@8", K: "g3@4 ~ g3 ~@3 g3!2 ~@7 g3 ~@5",
  L: "[g3,bb3] ~@8 bb3 bb3@2 ~@6 [bb3,d4]@2 ~@4, ~@3 f3 ~@4", M: "[g3,d4]@8 ~ g3 ~@4 [g3,db4] ~@3 [g3,db4] ~@5, b3 ~@3",
  N: "[a3,d4]@4 ~ [a3,d4] ~@7 a3 ~@4 a3@3 f3@2 ~", O: "~@6 g3 ~@3 g3 ~@2 g3@2 ~@3 g3@3 f3 ~@2",
  P: "bb3@3 ~@2 bb3 ~@3 g3 ~ g3 ~@2 f3 ~@3 f3@2 ~ g3 ~@2", Q: "~@6 g3 ~@4 g3 ~@2 [b3,c4] ~@3 g3 ~@5",
  R: "f3@3 ~@3 f3 ~@3 f3 ~@3 f3 ~@3 f3@2 ~ f3@2 ~", S: "~@6 g3@2 ~@2 c4 ~@2 c4@2 ~ g3 ~ g3@3 f3 ~@2",
  T: "[g3,d4]@8 ~ [g3,a4] ~ bb4@2 ~ [g3,db4] ~@3 [g3,db4] ~@5, b3@6 ~@5 a4@8 ~@5", // G5 Gsus2 Gdim
  U: "[b3,e4]@4 ~ [b3,e4] ~@7 b3 ~@4 b3@3 g3@2 ~", V: "~@6 a3 ~@3 a3 ~@2 a3@2 ~@3 a3@3 g3 ~@2",
  W: "c4@3 ~@2 c4 ~@3 a3 ~ a3 ~@2 g3 ~@3 g3@2 ~ a3 ~@2", X: "~@6 a3 ~@4 a3 ~@2 [db4,d4] ~@3 a3 ~@5",
  Y: "g3@3 ~@3 g3 ~@3 g3 ~@3 g3 ~@3 g3@2 ~ g3@2 ~", Z: "~@6 a3@2 ~@2 d4 ~@2 d4@2 ~ a3 ~ a3@3 g3 ~@2",
  AA: "[a3,c4] ~@8 c4 c4@2 ~@6 [c4,e4]@2 ~@4, ~@3 g3 ~@4", // Am C
  AB: "[a3,e4]@8 ~ [a3,b4] ~ c5@2 ~ [a3,eb4] ~@3 [a3,eb4] ~@5, db4@6 ~@5 b4@8 ~@5", // A5 Asus2 Adim
  AC: "[c4,f4]@4 ~ [c4,f4] ~@7 c4 ~@4 c4@3 ab3@2 ~", AD: "~@6 bb3 ~@3 bb3 ~@2 bb3@2 ~@3 bb3@3 ab3 ~@2",
  AE: "[bb3,db4] ~@8 db4 db4@2 ~@6 [db4,f4]@2 ~@4, ~@3 ab3 ~@4", // Bbm Db
  AF: "[bb3,f4]@8 ~ [bb3,c5] ~ db5@2 ~ [bb3,e4] ~@3 [bb3,e4] ~@5, d4@6 ~@5 c5@8 ~@5", // Bb5 Bbsus2 Bbdim
  AG: "db4@3 ~@2 db4 ~@3 bb3 ~ bb3 ~@2 ab3 ~@3 ab3@2 ~ bb3 ~@2", AH: "~@6 bb3 ~@4 bb3 ~@2 [d4,eb4] ~@3 bb3 ~@5",
  AI: "ab3@3 ~@3 ab3 ~@3 ab3 ~@3 ab3 ~@3 ab3@2 ~ ab3@2 ~", AJ: "~@6 bb3@2 ~@2 eb4 ~@2 eb4@2 ~ bb3 ~ bb3@3 ab3 ~@2",
})).s("gm_electric_guitar_muted").gain(0.3).pan(0.3)

// chords · epiano1
const epiano1 = note(`<
  A@2 B@8 C D E@2 F G H@2 I J K L M@2 H@2 N@2 O@2 C D E@2 F G H@2 I J K L M@2 H@2 P@2 Q R P@2 S T U V W X Y@2 Z@2 AA AB
  AA AB AA AB AC@2 AA AB AD AE AF@2 AC@2 AA AB AD AE AF@2 AC@2 AA AB AD AE AF@2 AG ~
>`.pickRestart({
  A: "[~@14 c6 b5 a5 g5 f5 ~ d5 c5 b4 ~@7 a4@13 ~@5, ~@6 d5@10 ~@3 e5@2 ~@2 a4@5 d5@18 ~@2, ~@8 a5@5 d6@2 ~@11 c5@20 ~@2, ~@11 f6@4 ~@33, ~@12 e6@3 ~@15 g5@7 ~@11]/2",
  B: "[[bb4,d5]@13 ~@29 [d5,g5]@4 ~@2, [bb2,f3,c5,f5]@23 g3@2 ~@11 g3@10 ~@2, ~@13 [bb4,d5]@11 [c3,g4]@22 ~@2, ~@13 f4@8 f4@3 [c5,d5,e5]@18 ~@6, ~@18 bb3@7 ~@23]/2", // Bb G5 Bbsus2 Bb C5 C
  C: "[bb2,f3,a3,c4,d4,f4]", D: "e4@6 ~@3 g4@2 ~, [c3,d4]@11 ~, g4@3 ~, g3@2 ~, ~@6 [e4,c5]@5 ~",
  E: "[g3@12 ~@6 g4@3 f4@15 ~@6 c5@4 ~@2, [a2,e4,c5]@21 [d3,a3]@26 ~, ~@18 [c4,f4]@5 ~, ~@9 d5@2 ~]/2", // Am D5 F5
  F: "~@5 [f4,a4]@3, [bb2,f3,d4], f4@5 ~@3, ~@3 c5@5", // F Bb
  G: "~@18 e4@3 g4 ~@2, [c3,g4,c5]@11 ~, e4@15 d4@7 ~@2, ~@9 g3@13 ~@2, ~@6 c4@5 ~", // C5
  H: "[~@9 d4@3 d4@9 ~@10 a3@5 ~@6 [g3,b3,e4]@4 ~@2, [bb3,d5]@24 [a2,g4,b4]@13 ~@11, eb3@19 ~@2 d4@16 ~@11, [g4,bb4]@12 [f4,g4,bb4]@13 ~@11 [a2,db4]@10 ~@2]/2", // Em Bb Em Gm Gm7 A
  I: "~@7 a3, [bb2,f3,d5], [f4,a4]@3 [f4,a4]@5, ~@7 a3@8 ~@3 d4@6", // Bb F
  J: "g3@2 g3 ~@3 [f4,d5] ~, [a2,e4,a4,c5]@3 [d3,a4]@4 ~, g4 ~@8 f4@9 ~@6, ~@5 a3@2 ~", // Dm Am D5
  K: "~@11 [g4,c5]@13, [bb2,f3,a3,d4,f4,a4]", L: "[e4,c5]@6 d5@3 c4@2 ~, [c3,g4]@11 ~, ~@6 [e4,c5]@5 ~",
  M: "[[d4,f4]@10 ~@29 [c4,e4]@6 ~@3, [bb2,f3,a4]@8 [c3,g4]@7 ~, ~@10 [a3,c4,d4,f4]@14 e4@15 ~@9, ~@6 c5@9 ~, ~@11 d4@4 ~]/2", // Dm C Bbmaj7 C5 Dm7
  N: "[[bb2,f3,a3,d4,f4,g4,a4,c5]@21 [c3,e4,g4,c5]@2 ~]/2", // Bbmaj7 C
  O: "[~@32 c7@7 ~@9, [a3,c4,e4,f4,a4]@5 ~, ~@9 c6@11 ~@4, ~@29 f6@11 ~@8]/2", // Fmaj7
  P: "[eb4@9 eb4@3 g4@9 eb5@2 ~, [f2,g3,bb3]@47 ~, ~@18 bb4@29 ~, ~@24 [f3,eb4]@23 ~]/2", // Gm7 F7
  Q: "~@7 a3, [bb2,f3,c5]@3 [d4,f4,a4], a3 d5, [d4,f4,a4]@11 f5@13, ~@3 [a5,c6]@5", // Bbsus2 Dm Am
  R: "[c4,a4]@3 g3@2 ~ [d4,g4] ~, [g2,f4]@7 ~, ~@3 bb4@4 ~, ~@3 d4@3 ~@2, ~@5 g3@2 ~", // F G5 G7
  S: "d4@3 ~@4 e3, e3@7 ~, a4@5 a4@3, e4!2, ~@3 d4@5",
  T: "e3@2 ~@7 a4@3 ~@6 [a3,gb5]@3 ~@3, [db5,a5]@4 [b2,b4,eb5]@3 ~", // D Gbm B
  U: "~@7 b3, [c3,g3,e5], [g4,b4]@3 [g4,b4]@5, ~@7 b3@8 ~@3 e4@6", // C G
  V: "a3@2 a3 ~@3 [g4,e5] ~, [b2,gb4,b4,d5]@3 [e3,b4]@4 ~, a4 ~@8 g4@9 ~@6, ~@5 b3@2 ~", // C Bm E5
  W: "~@11 [a4,d5]@13, [c3,g3,b3,e4,g4,b4]", X: "[gb4,d5]@6 e5@3 d4@2 ~, [d3,a4]@11 ~, ~@6 [gb4,d5]@5 ~",
  Y: "[[e4,g4]@10 ~@29 [d4,gb4]@6 ~@3, [c3,g3,b4]@8 [d3,a4]@7 ~, ~@10 [b3,d4,e4,g4]@14 gb4@15 ~@9, ~@6 d5@9 ~, ~@11 e4@4 ~]/2", // Em D Cmaj7 D5 Em7
  Z: "[~@9 e4@3 e4@9 ~@10 b3@5 ~@6 [a3,db4,gb4]@4 ~@2, [c4,e5]@24 [b2,a4,db5]@13 ~@11, f3@19 ~@2 e4@16 ~@11, [a4,c5]@12 [g4,a4,c5]@13 ~@11 [b2,eb4]@10 ~@2]/2", // Gbm C Gbm Am Am7 B
  AA: "~@7 c4, [db3,ab3,f5], [ab4,c5]@3 [ab4,c5]@5, ~@7 c4@8 ~@3 f4@6", // Db Ab
  AB: "bb3@2 bb3 ~@3 [ab4,f5] ~, [c3,g4,c5,eb5]@3 [f3,c5]@4 ~, bb4 ~@8 ab4@9 ~@6, ~@5 c4@2 ~", // Db Cm F5
  AC: "[~@9 f4@3 f4@9 ~@10 c4@5 ~@6 [bb3,d4,g4]@4 ~@2, [db4,f5]@24 [c3,bb4,d5]@13 ~@11, gb3@19 ~@2 f4@16 ~@11, [bb4,db5]@12 [ab4,bb4,db5]@13 ~@11 [c3,e4]@10 ~@2]/2", // Gm Db Gm Bbm Bbm7 C
  AD: "~@11 [bb4,eb5]@13, [db3,ab3,c4,f4,ab4,c5]", AE: "[g4,eb5]@6 f5@3 eb4@2 ~, [eb3,bb4]@11 ~, ~@6 [g4,eb5]@5 ~",
  AF: "[[f4,ab4]@10 ~@29 [eb4,g4]@6 ~@3, [db3,ab3,c5]@8 [eb3,bb4]@7 ~, ~@10 [c4,eb4,f4,ab4]@14 g4@15 ~@9, ~@6 eb5@9 ~, ~@11 f4@4 ~]/2", // Fm Eb Dbmaj7 Eb5 Fm7
  AG: "~@3 f4 [ab4,bb4,db5]@4, [db4,f5], gb3@19 ~@5, [bb4,db5]@4 f4@3 ~", // Bbm7 Db Bbm
})).s("gm_epiano1").gain(0.27)

// chords · epiano1 · soft notes
const epiano1_soft = note(`<
  ~ A ~ B ~ B ~ B ~ B ~ C D ~@2 E F ~ G ~@4 H F ~@3 I@2 ~ C D ~@2 E F ~ G ~@4 H F ~@2 J ~@3 J K ~ L ~@4 M N ~ O ~ O ~ O
  ~ P ~ O ~@4 Q P ~ O ~@4 Q P ~ O ~@4 Q P ~
>`.pickRestart({
  A: "~@19 a4@4 ~, ~@13 g5@9 ~@2", B: "~@9 [c5,e5]@2 ~", C: "~@8 g3@3 ~", D: "~@4 g3@3 ~", E: "~@10 d4@5 ~@9",
  F: "f4@12 ~@7 eb3@5", G: "~@5 a3@2 ~", H: "~@7 g3@14 ~@3", I: "[~@13 e6@7 ~@4, ~@3 e5@7 ~@2, ~@2 f5@3 ~]/2",
  J: "~@9 g4@2 ~", K: "~@3 d5", L: "~@5 b3@2 ~", M: "~@7 a3@14 ~@3", N: "g4@12 ~@7 f3@5", O: "~@5 c4@2 ~",
  P: "ab4@12 ~@7 gb3@5", Q: "~@7 bb3@14 ~@3",
})).s("gm_epiano1").gain(0.16)

// chords · pad new age
const pad_new_age = note(`<
  ~@2 A B C D E B C D ~@12 F G ~@2 H@2 I@2 ~@8 J K@2 ~ F G ~@2 L@2 ~@2 L@2 M@2 N O@2 ~ P Q ~@2 R S R S R T ~@2 R U@2 ~ V
  W X@2 R U@2 ~ V W X@2 R U@2 ~ V W Y@2
>`.pickRestart({
  A: "[d4,f4], c4@11 ~, bb3@5 ~", B: "e4@3 c5, g4, c4 ~@2", C: "[bb3,f4,a4]", D: "~@3 c5, [c4,e4,g4]",
  E: "~@2 a4 ~@21, [d4,f4], c4@11 ~, bb3@5 ~", F: "[bb3,d4,a4], f4@7 ~", G: "~@18 c5@5 ~, [c4,e4,g4]@23 ~",
  H: "[[d4,f4,a4]@11 ~, c4@5 ~@19]/2", // Dm
  I: "[[f4,a4] [d3,a3,d5]@4 ~@8 g5 f5 [d5,e5] ~ c5 ~ g5 f5 e5 d5 c5 a5 g5 f5 e5 ~ c5 ~ g5 f5 e5 ~ c5 ~@12, d4@35 ~@13, ~@12 a5@2 ~@4 a5@2 ~@3 [d3,a3,f4,a4]@24 ~, ~@28 d5@6 d5@13 ~, ~@15 a5 ~@8]/2", // F D5 Dsus2 Dm
  J: "d4@5 ~@2 [a3,d4], [f4,a4], a3@11 ~@13", K: "[g4@17 ~@7 f4@21 ~@3, e4@12 ~@6 a4@25 ~@5]/2",
  L: "[bb3@5 ~@7 [f3,bb3]@11 ~, f2@23 ~, [g4,bb4]@43 ~@5, eb4@35 ~@13]/2", // Bb5 Gm
  M: "[e4@2 d4 ~ db4@2 [b2,eb4,gb4,b4]@2, a4@3 ~, ~@3 e4@3 ~@2]/2", N: "e4@5 ~@2 [b3,e4], [g4,b4], b3@11 ~@13",
  O: "[a4@17 ~@7 g4@21 ~@3, gb4@12 ~@6 b4@25 ~@5]/2", P: "[c4,e4,b4], g4@7 ~", Q: "~@18 d5@5 ~, [d4,gb4,a4]@23 ~",
  R: "f4@5 ~@2 [c4,f4], [ab4,c5], c4@11 ~@13", S: "bb4@17 ~ c5@6, g4 ~", T: "bb4@17 ~ c5@5 ~, g4 ~",
  U: "[bb4@17 ~@7 ab4@21 ~@3, g4@12 ~@6 c5@25 ~@5]/2", V: "[db4,f4,c5], ab4@7 ~", W: "~@18 eb5@5 ~, [eb4,g4,bb4]@23 ~",
  X: "[db4@15 ~@2 db4@3 ab4@4 [g2,d4]@9 ~@3 e4@11 ~, bb4@47 ~, f4@9 c3 ~@2, gb2@23 ~ c5@23 ~]/2", // G5
  Y: "[db4@15 ~@2 db4@3 ab4@4 ~@24, bb4@47 ~, f4@3 ~, gb2@23 ~@25]/2",
})).s("gm_pad_new_age").gain(0.24)

// chords · pad new age · soft notes
const pad_new_age_soft = note("<~@27 A B@2 ~@8 C ~@8 D ~@3 D ~@2 E ~@7 F ~ F ~ F ~@3 F ~@7 F ~@7 F ~@7>".pickRestart({
  A: "~@14 bb3@5 ~@5", B: "[~ [f4,a4]@22 d5@5 ~@20]/2", C: "~@17 d4@2 ~@5",
  D: "~@19 [g4,bb4]@3 ~@2, ~@12 [eb4,eb5]@11 ~", E: "~@17 e4@2 ~@5", F: "~@17 f4@2 ~@5",
})).s("gm_pad_new_age").gain(0.14)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@32 A@2 B C D E ~@16 F G H I J K L M N O N O N O P Q N O R S T U P Q N O R S T U P Q N O R S T U P V
>`.pickRestart({
  A: "[[a2,c4,e4,a4]@5 ~ [e4,g4] ~@8 [e4,g4,c5] ~@2 g3 ~@5 [d3,f4,a4]@7 ~@17, ~@5 [a2,c4,e4,g4]@2 ~@16 a3@2 ~@23]/2", // Am Em C Dm Am7
  B: "[f3,d4,f4,a4]@5 [f3,a3,d4,f4,a4]!2 ~@8 [f3,a3,d4,f4,a4] ~@4 f3@4", // Dm
  C: "[e4,g4]@5 g4!2 ~@5 c4@3 [e4,g4]@3 c4 ~@5, c3@7 ~@17, g3 ~@4 [g3,e4]@3 ~@16", // Em C
  D: "[d4,g4,bb4]@5 g4 [bb3,g4]@2 ~ d4 ~@8 bb3@5 ~, eb3@8 ~@7 [g4,bb4]@8 ~, ~@5 [d4,bb4]@3 ~@4 bb3@6 ~@6, ~@15 d4@5 ~@4", // Gm Eb Gm
  E: "[b3,d4,g4]@5 [b3,d4]@4 b3@2 ~ g3@2 [b3,db4,g4] ~@3 [b3,db4,g4] ~@5, g3@3 ~@5, ~@5 g4 ~@18", // G Bm Dbm7b5
  F: "[e3,e4,g4,b4]@6 [b3,e4,g4,b4] ~@2 [e4,g4,b4] ~@4 [e3,e4,g4,b4] ~@6 b3@3, ~@3 [e4,g4,b4]", // Em
  G: "[d4,gb4]@6 [d4,gb4]@2 ~ a3 ~@4 [e4,g4] ~@3 [e4,g4]@3 g3 ~@2, a4@5 ~@7", // D Em
  H: "~@5 e4@2 ~@4 [e4,g4] e3 ~ [e4,g4]@4 [e3,e4]@5 ~", I: "g4@5 ~ [e4,g4]@6 ~@9 g3@2 ~, ~@12 a4@11 ~, ~@18 e4@5 ~",
  J: "[e4,g4]@6 [e4,g4]@5 ~ g3 ~@2 [e4,g4,ab4,b4] ~@4 e4@3 ~, b4@11 [e4,g4,b4]@2 ~@5 g3@5 ~", // Em E Em
  K: "[d4,gb4,a4]@6 [d4,gb4,a4]@4 ~ [d4,a4] ~@2 [e4,g4] ~@6 a3@2 ~, d3@10 ~@8 [d4,gb4,a4]@5 ~", // D D5 Em D
  L: "[a3,c4]@6 [a3,c4]@2 ~ [c4,e4,a4]@3 f3 ~ [c4,e4,a4] ~@6 f3@3, [f2,e4]@4 ~@5 [c4,e4,a4]@3", // Am Fmaj7 Am
  M: "[e4,a4]@5 ~ [e4,b4]@4 ~@4 [e4,b4] ~@9, d4 ~@7, b4 ~@23", // A5 E5
  N: "[f3,f4,ab4,c5]@6 [c4,f4,ab4,c5] ~@2 [f4,ab4,c5] ~@4 [f3,f4,ab4,c5] ~@6 c4@3, ~@3 [f4,ab4,c5]", // Fm
  O: "[eb4,g4]@6 [eb4,g4]@2 ~ bb3 ~@4 [f4,ab4] ~@3 [f4,ab4]@3 ab3 ~@2, bb4@5 ~@7", // Eb Fm
  P: "[bb3,db4]@6 [bb3,db4]@2 ~ [db4,f4,bb4]@3 gb3 ~ [db4,f4,bb4] ~@6 gb3@3, [gb2,f4]@4 ~@5 [db4,f4,bb4]@3", // Bbm Gbmaj7 Bbm
  Q: "[f4,bb4]@5 ~ [f4,c5]@4 ~@4 [f4,c5] ~@9, eb4 ~@7, c5 ~@23", R: "~@5 f4@2 ~@4 [f4,ab4] f3 ~ [f4,ab4]@4 [f3,f4]@5 ~",
  S: "ab4@5 ~ [f4,ab4]@6 ~@9 ab3@2 ~, ~@12 bb4@11 ~, ~@18 f4@5 ~", // Fm
  T: "[f4,ab4]@6 [f4,ab4]@5 ~ ab3 ~@2 [f4,ab4,a4,c5] ~@4 f4@3 ~, c5@11 [f4,ab4,c5]@2 ~@5 ab3@5 ~", // Fm F Fm
  U: "[eb4,g4,bb4]@6 [eb4,g4,bb4]@4 ~ [eb4,bb4] ~@2 [f4,ab4] ~@6 bb3@2 ~, eb3@10 ~@8 [eb4,g4,bb4]@5 ~", // Eb Eb5 Fm Eb
  V: "[f4,bb4]@5 ~@19, eb4 ~@7, c5 ~@23", // Bb5
})).s("gm_electric_guitar_clean").gain(0.27).pan(0.7)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~@32 A B@2 ~ C D ~@18 E ~ F G ~@12 H ~ I J ~@4 H ~ I J ~@4 H ~ I J ~@2
>`.pickRestart({
  A: "~@20 e4 ~@3", B: "[~@24 a3@5 ~@19, ~@23 e4@8 ~@17]/2", C: "~@11 eb3@3 eb3@4 ~@2 d4@4, ~@18 eb3@5 ~",
  D: "~@2 g4 ~@5", E: "~@17 e3 ~@6", F: "~@11 g3@2 ~@8 b3@2 ~, ~@20 [g4,b4]@3 ~", G: "~@17 a3 ~@6", H: "~@17 f3 ~@6",
  I: "~@11 ab3@2 ~@8 c4@2 ~, ~@20 [ab4,c5]@3 ~", J: "~@17 bb3 ~@6",
})).s("gm_electric_guitar_clean").gain(0.13).pan(0.7)

// drums · kick
const kick = s("bd").struct("<~ A B C B C B C B C@17 D E F D C@16 D E G@2 C@44>".pickRestart({
  A: "x ~@4 x!2 ~@5 x ~@4 x!2 ~@5", B: "x ~@4 x ~@6 x ~@11", C: "x ~@4 x ~@6 x ~@4 x ~@6", D: "x", E: "~ x ~@4 x ~",
  F: "x ~@5 x ~@8 x ~@4 x ~@3", G: "x ~ x ~@2 x ~@2",
})).gain(0.45)

// drums · snare
const snare = s("sd").struct("<~ A B@7 C B@16 D E F D G B@15 D E H@2 B@35 C B@7 C>".pickRestart({
  A: "~@20 x!2 ~@2", B: "~ x ~ x", C: "~@6 x ~@10 x!2 ~@5", D: "~@6 x ~@16 x", E: "x ~@2 x ~@2 x ~",
  F: "~@6 x ~@4 x ~@12", G: "x!2 ~ x", H: "~@6 x ~@3 x!2 ~@12",
})).gain(0.45)

// drums · low tom
const low_tom = s("lt").struct("<~@29 [~@2 x] ~@64>").gain(0.5)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A B C B C B C B D E F E F E F E F E F E F E F E F E F G H E F E F E F E F E F E F E F E F E F G@2 E F E F E F E F E
// … 46 more lines

More by Laura Pausini