Strudelify

Paura d'amare

Masini

KeyF minorTempo82 bpm
0:00/0:00
// Paura d'amare — Masini
// 82 bpm, 4/4, key F minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (2/4 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 14 "delay+coro" acoustic guitar steel (copy of ch 13 "delay" acoustic guitar steel, 0.25 beats late)
// note: Full arrangement: all 109 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82/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 · "bass"
const bass = note(`<
  A B C D E F C D E G H I J F@2 D E K@2 L M N O P Q R S T U V W X Y Z AA AB AC AD AE P AF R S T U AG AH AI AJ AK AL AM@2
  AN@2 AO AP AQ AR AS AT AQ AU AV AW AX AY AZ BA BB BC@5 BD BE BF BG BH BI BJ BK@2 AS BL BM X AS@2 BM X AS BL BM X AS@2
  BM X AS BL BM X AS@2 BM X BN
>`.pickRestart({
  A: "~@12 d2@2 db2 [a1,bb1,b1,c2]", B: "g1, ab1 ~@15", C: "eb1", D: "c1", E: "ab1", F: "g1",
  G: "g1 ~ g2 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~", H: "eb1 ~ eb2 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~ eb1 ~",
  I: "c1 ~ c2 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~", J: "ab1@15 ~", K: "a1", L: "d1", M: "bb1",
  N: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1@4", O: "b0 ~ b0 ~ b0 ~ b0 ~ b0 ~ b0 ~ b0 ~ b0 ~",
  P: "e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~", Q: "c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1@6", R: "db2@15 e1", S: "a1@14 a1 ~",
  T: "gb1@7 ~", U: "d2", V: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ d2@2 g1 ~ d2@2", W: "g1 eb2 g1 eb2 g1 eb2 g1 eb2",
  X: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", Y: "ab1 eb2 ab1 eb2 ab1 eb2 ab1 eb2",
  Z: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ e2@2 a1 ~ e2@2", AA: "a1 f2 a1 f2 a1 f2 a1 f2",
  AB: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~", AC: "bb1 f2 bb1 f2 bb1 f2 bb1 f2",
  AD: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ gb2@2 b1 ~ gb2@2", AE: "b1 g2 b1 g2 b1 g2 b1 g2", AF: "c2 g2 c2 g2 c2 g2 c2 g2",
  AG: "b1 ~ b1 ~ b1 ~ b1 ~ g2 ~ g2 ~ g2 ~ g2 ~", AH: "b1 ~ b1 ~ b1 ~ b1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  AI: "e2 ~ e2 ~ e2 ~ e2 ~ g2 ~ g2 ~ g2 ~ g2 ~", AJ: "e2 ~ e2 ~ e2 ~ e2 ~ c1 ~ c1 ~ c1 ~ c1 ~",
  AK: "c1 ~ c1 ~ c1 ~ c1 ~ eb2 f2 gb2 ~ eb2 ~ eb2 ~", AL: "b1 ~ b1 ~ b1 ~ b1 ~ eb2 f2 gb2 ab2 eb2 ~ eb2 ~",
  AM: "b1 ~ b1 ~ b1 ~ b1 ~ ab1 bb1 b1 ~ ab1 ~ ab1 ~", AN: "[~@13 b1 e2 b1 e2@8 f1 ~ f1 ~ f1 ~ f1 ~, e1@23 ~@9]/2",
  AO: "f1 ~ f1 ~ f1 ~ f1 ~ db1 ~ db2 ~ db1 ~ db2 ~", AP: "db1 ~ db2 ~ db1 ~ db2 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  AQ: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ c2 ~ c2 ~ c2 ~ c2 ~", AR: "c2 ~ c2 ~ c2 ~ c2 ~ f1 ~ f1 ~ f1 ~ f1 ~",
  AS: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~", AT: "f1 ~ f1 ~ f1 ~ f1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  AU: "c2 ~ c2 ~ c2 ~ c2 ~ a1 ~ a1 ~ a1 ~ a1 ~", AV: "a1 ~ e2@2 a1 ~ e2@2 a1@2 f2@2 a1@2 f2@2",
  AW: "a1@2 f2@2 a1@2 f2@2 d2 ~ d2 ~ d2 ~ d2 ~", AX: "d2 ~ d2 ~ d2 ~ d2 ~ bb1@2 f2@2 bb1@2 f2@2",
  AY: "bb1@2 f2@2 bb1@2 f2@2 b1 ~ b1 ~ b1 ~ b1 ~", AZ: "b1 ~ gb2@2 b1 ~ gb2@2 b1@2 g2@2 b1@2 g2@2",
  BA: "b1@2 g2@2 b1@2 g2@2 e1 ~ e1 ~ e1 ~ e1 ~", BB: "e1 ~ e1 ~ e1 ~ e1 ~ c2@2 g2@2 c2@2 g2@2",
  BC: "[c2@2 g2@2 c2@2 g2@2 db2@15 e1 a1@14 a1 ~ gb1@14 ~@2 d2@16 b1 ~ b1 ~ b1 ~ b1 ~]/5",
  BD: "g2 ~ g2 ~ g2 ~ g2 ~ b1 ~ b1 ~ b1 ~ b1 ~", BE: "g1 ~ g1 ~ g1 ~ g1 ~ e2 ~ e2 ~ e2 ~ e2 ~",
  BF: "g2 ~ g2 ~ g2 ~ g2 ~ e2 ~ e2 ~ e2 ~ e2 ~", BG: "c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~ c1 ~",
  BH: "eb2 f2 gb2 ~ eb2 ~ eb2 ~ b1 ~ b1 ~ b1 ~ b1 ~", BI: "eb2 f2 gb2 ab2 eb2 ~ eb2 ~ b1 ~ b1 ~ b1 ~ b1 ~",
  BJ: "ab1 bb1 b1 ~ ab1 ~ ab1 ~ b1 ~ b1 ~ b1 ~ b1 ~", BK: "[ab1 bb1 b1 ~ ab1 ~ ab1 ~@14 b1 e2 b1 e2@8, ~@8 e1@23 ~]/2",
  BL: "db1 ~ db2 ~ db1 ~ db2 ~ db1 ~ db2 ~ db1 ~ db2 ~", BM: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  BN: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~@7",
})).s("gm_fretless_bass").gain(0.4)

// chords · lead 2 sawtooth · "synt 1"
const lead_2_sawtooth = note("<~ A B C D A B C E A B C ~@13 F G H I A B C E J K L M N O P Q F G H I ~@64>".pickRestart({
  A: "[d4,g4,bb4] ~ [d4,g4,bb4] ~ [d4,g4,bb4] ~ [d4,a4,bb4] ~ [d4,a4,bb4] ~ [d4,a4,bb4] ~ [d4,g4,bb4] ~ [d4,g4,bb4] ~", // Gm Bbmaj7 Gm
  B: "[eb4,g4,bb4] ~ [eb4,g4,bb4] ~ [eb4,g4,bb4] ~ [eb4,a4,bb4] ~ [eb4,a4,bb4] ~ [eb4,a4,bb4] ~ [eb4,g4,bb4] ~ [eb4,g4,bb4] ~", // Eb
  C: "[g4,c5,eb5] ~ [g4,c5,eb5] ~ [g4,c5,eb5] ~ [g4,d5,eb5] ~ [g4,d5,eb5] ~ [g4,d5,eb5] ~ [g4,c5,eb5] ~ [g4,c5,eb5] ~", // Cm Ebmaj7 Cm
  D: "[bb4,c5,eb5]@15 ~", // Cm7
  E: "[ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~ [ab4,d5,eb5] ~ [ab4,d5,eb5] ~ [ab4,d5,eb5] ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~", // Ab
  F: "[ab4,db5,e5] ~ [ab4,db5,e5] ~ [ab4,db5,e5] ~ [ab4,db5,e5] ~ [ab4,db5,eb5] ~ [ab4,db5,eb5] ~ [ab4,db5,e5] ~ [ab4,db5,e5] ~", // Dbm Absus4 Dbm
  G: "[a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,eb5] ~ [a4,db5,eb5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~", // A Ebm7b5 A
  H: "[a4,db5,gb5] ~ [a4,db5,gb5] ~ [a4,db5,gb5] ~ [a4,db5,gb5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,gb5] ~ [a4,db5,gb5] ~", // Gbm A Gbm
  I: "[a4,d5,gb5] ~ [a4,d5,gb5] ~ [a4,d5,gb5] ~ [a4,d5,gb5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~", // D C
  J: "[e4,a4,c5] ~ [e4,a4,c5] ~ [e4,a4,c5] ~ [e4,b4,c5] ~ [e4,b4,c5] ~ [e4,b4,c5] ~ [e4,a4,c5] ~ [e4,a4,c5] ~", // Am Cmaj7 Am
  K: "[f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,b4,c5] ~ [f4,b4,c5] ~ [f4,b4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~", // F
  L: "[a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,e5,f5] ~ [a4,e5,f5] ~ [a4,e5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~", // Dm Fmaj7 Dm
  M: "[bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,e5,f5] ~ [bb4,e5,f5] ~ [bb4,e5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~", // Bb
  N: "[gb4,b4,d5] ~ [gb4,b4,d5] ~ [gb4,b4,d5] ~ [gb4,db5,d5] ~ [gb4,db5,d5] ~ [gb4,db5,d5] ~ [gb4,b4,d5] ~ [gb4,b4,d5] ~", // Bm Dmaj7 Bm
  O: "[g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,db5,d5] ~ [g4,db5,d5] ~ [g4,db5,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~", // G
  P: "[b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,gb5,g5] ~ [b4,gb5,g5] ~ [b4,gb5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~", // Em Gmaj7 Em
  Q: "[c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,gb5,g5] ~ [c5,gb5,g5] ~ [c5,gb5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~", // C
})).s("gm_lead_2_sawtooth").gain(0.14).pan(0.6)

// chords · synth strings 1 · "synt 1"
const synth_strings_1 = note(`<
  ~@49 A@2 B@2 C D@8 E F G H I J K L M N O P Q ~@4 R@2 S@3 T U V W T U V W T U V W T U V W T U V W T U V W X
>`.pickRestart({
  A: "[~@2 [bb3,gb4,gb5]@2 [f4,f5] eb5 [bb3,gb4,gb5]@2, ~@2 eb4@3 eb4@3, ~@2 b3 ~]/2", // Ebm F Ebm
  B: "[[f4,f5] [eb4,eb5] [ab4,ab5]@2 [gb4,gb5] [f4,f5] [ab4,ab5]@2, b3 [b3,eb4]@3]/2", C: "[b3,e4]",
  D: "[~@4 [ab4,ab5]@3 [g4,g5]@3 [ab4,ab5]@2 [ab4,ab5]@3 [g4,g5]@3 [ab4,ab5]@2 [db5,db6]@3 [c5,c6]@3 [db5,db6]@2 f4@4 e4@4 [ab4,ab5]@3 [g4,g5]@3 [ab4,ab5]@2 [ab4,ab5]@3 [g4,g5]@3 [ab4,ab5]@2 [db5,db6]@3 [c5,c6]@3 [db5,db6]@2 [g3,c4,f4,c5,c6]@4, ~ [ab3,c4,f4]@2 [ab3,db4,f4]@2 [bb3,db4,f4]@2 [g3,c4,c5,c6]@2 [ab3,c4,f4]@2 [ab3,db4,f4]@2 [bb3,db4,f4]@2 ~]/8", // Ab G Ab G Ab Db C Db …
  E: "e4@8 [e4,a4,c5] ~ [e4,a4,c5] ~ [e4,a4,c5] ~ [e4,b4,c5] ~", // Am Cmaj7
  F: "[e4,b4,c5] ~ [e4,b4,c5] ~ [e4,a4,c5] ~ [e4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,b4,c5] ~", // Cmaj7 Am F
  G: "[f4,b4,c5] ~ [f4,b4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [a4,e5,f5] ~", // F Dm Fmaj7
  H: "[a4,e5,f5] ~ [a4,e5,f5] ~ [a4,d5,f5] ~ [a4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,e5,f5] ~", // Fmaj7 Dm Bb
  I: "[bb4,e5,f5] ~ [bb4,e5,f5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [gb4,b4,d5] ~ [gb4,b4,d5] ~ [gb4,b4,d5] ~ [gb4,db5,d5] ~", // Bb Bm Dmaj7
  J: "[gb4,db5,d5] ~ [gb4,db5,d5] ~ [gb4,b4,d5] ~ [gb4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,db5,d5] ~", // Dmaj7 Bm G
  K: "[g4,db5,d5] ~ [g4,db5,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [b4,gb5,g5] ~", // G Em Gmaj7
  L: "[b4,gb5,g5] ~ [b4,gb5,g5] ~ [b4,e5,g5] ~ [b4,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,gb5,g5] ~", // Gmaj7 Em C
  M: "[c5,gb5,g5] ~ [c5,gb5,g5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [ab4,db5,e5] ~ [ab4,db5,e5] ~ [ab4,db5,e5] ~ [ab4,db5,e5] ~", // C Dbm
  N: "[ab4,db5,eb5] ~ [ab4,db5,eb5] ~ [ab4,db5,e5] ~ [ab4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~", // Absus4 Dbm A
  O: "[a4,db5,eb5] ~ [a4,db5,eb5] ~ [a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,gb5] ~ [a4,db5,gb5] ~ [a4,db5,gb5] ~ [a4,db5,gb5] ~", // Ebm7b5 A Gbm
  P: "[a4,db5,e5] ~ [a4,db5,e5] ~ [a4,db5,gb5] ~ [a4,db5,gb5] ~ [a4,d5,gb5] ~ [a4,d5,gb5] ~ [a4,d5,gb5] ~ [a4,d5,gb5] ~", // A Gbm D
  Q: "[g4,c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~@9", // C
  R: "[[bb3,gb4,gb5]@2 [f4,f5] eb5 [bb3,gb4,gb5]@2 [f4,f5] [eb4,eb5], eb4@3 eb4@4 ~, ~ b3 ~ b3]/2", // Ebm F Ebm F Eb
  S: "[[ab4,ab5]@2 [gb4,gb5] [f4,f5] ~@2 [b3,e4]@6, [b3,eb4] ~, ~@4 [ab4,ab5]@3 ~@5]/3", // Ab Gb F E5 B Ab
  T: "[ab4,ab5]@3 [g4,g5]@3 [ab4,ab5]@2, [ab3,c4,f4]", U: "[ab4,ab5]@3 [g4,g5]@3 [ab4,ab5]@2, [ab3,db4,f4]",
  V: "[db5,db6]@3 [c5,c6]@3 [db5,db6]@2, [bb3,db4,f4]", W: "f4 e4, [g3,c4,c5,c6]",
  X: "[ab4,ab5]@6 [g4,g5]@6 ab4 ~@3, [ab3,c4,f4]@3 ~", // Ab G Fm
})).s("gm_synth_strings_1").gain(0.14).pan(0.6)

// chords · overdriven guitar · "guit. 1"
const overdriven_guitar = note(`<
  A B C D E F C D G H I J K ~@11 L M N O P Q R S T U V W X Y Z AA AB M N O P AC@2 AD AE@5 AF AG@8 AH@8 AI@5 AJ AK@2 AL
  AM@2 AN@3 AO@2 AP AQ AR M AP AL AO@2 AP AQ AR M AP AL AO@2 AP AQ AR M AS ~@2
>`.pickRestart({
  A: "~@12 d3@2 ~ [bb2,b2,c3]", B: "[ab2,a2] ~@15, g2", C: "eb3", D: "c3", E: "ab2", F: "g2", G: "ab2@15 [b2,c3]",
  H: "[g3,d4,g4] ~@3 g4@2 g4@9 ~", I: "[eb3,bb3,eb4] ~@3 eb4@2 eb4@6 eb4@3 ~", J: "[g3,c4]@2 ~@2 c4@2 c4@6 c4@3 ~",
  K: "[ab2,eb3]", L: "~@12 [a3,b3,c4] ~ [g3,a3,b3] [c3,e3,f3]", M: "[db3,ab3]", N: "[a2,e3]", O: "[gb2,db3]",
  P: "[d3,a3]", Q: "[g2,d3] ~ [g2,d3]@4 [g2,d3]@2", R: "[eb3,bb3]@3 ~ [eb3,bb3]@7 ~ [eb3,bb3]@4",
  S: "[c3,g3]@2 ~@2 [c3,g3]@7 ~ [c3,g3]@4", T: "[ab2,eb3]@3 ~ [ab2,eb3]@7 ~ [ab2,eb3]@4",
  U: "[a2,e3] ~ [a2,e3]@4 [a2,e3]@2", V: "[f3,c4]@3 ~ [f3,c4]@7 ~ [f3,c4]@4", W: "[d3,a3]@2 ~@2 [d3,a3]@7 ~ [d3,a3]@4",
  X: "[bb2,f3]@3 ~ [bb2,f3]@7 ~ [bb2,f3]@4", Y: "[b2,gb3] ~ [b2,gb3]@4 [b2,gb3]@2",
  Z: "[g3,d4]@3 ~ [g3,d4]@7 ~ [g3,d4]@4", AA: "[e3,b3]@2 ~@2 [e3,b3]@7 ~ [e3,b3]@4",
  AB: "[c3,g3]@3 ~ [c3,g3]@7 ~ [c3,g3]@4", AC: "[b2,gb3] [g2,d3]", AD: "[e3,b3] [g2,d3]",
  AE: "[[e3,b3]@8 [c3,g3]@15 ~ bb3@8 b3@8 bb3@8 b3@8 ab2@8 b2@8 ab2@8, ~@3 eb3@2 eb3@2 eb3@3]/5", AF: "[e2,b2]",
  AG: "[~@8 [f3,c4]@15 ~ ab3@16 [bb2,f3]@16 [c3,g3]@16 [f3,c4]@16 [db3,ab3]@16 [bb2,f3]@16 [c3,g3]@8, ~@23 db3@17 ~@88]/8", // F5 Bb5 C5 F5 Db5 Bb5 C5
  AH: "[~@8 [a2,e3]@2 ~@2 [a2,e3]@8 [a2,e3]@4 [f3,c4]@3 ~ [f3,c4]@7 ~ [f3,c4]@4 [d3,a3]@2 ~@2 [d3,a3]@7 ~ [d3,a3]@4 [bb2,f3]@3 ~ [bb2,f3]@7 ~ [bb2,f3]@4 [b2,gb3]@2 ~@2 [b2,gb3]@8 [b2,gb3]@4 [g3,d4]@3 ~ [g3,d4]@7 ~ [g3,d4]@4 [e3,b3]@2 ~@2 [e3,b3]@7 ~ [e3,b3]@4 [c3,g3]@3 ~ [c3,g3]@4]/8", // A5 F5 D5 Bb5 B5 G5 E5 C5
  AI: "[~ [c3,g3] [db3,ab3]@4 [a2,e3]@4 [gb2,db3]@4 [d3,a3]@4 [b2,gb3]@2]/5", AJ: "[g2,d3] [b2,gb3]",
  AK: "[g2,d3] [e3,b3]", AL: "[c3,g3]@15 ~", AM: "bb3 b3, eb3", AN: "[ab2@8 b2@8 ab2@8 [e2,b2]@23 ~, eb3 ~]/3",
  AO: "[[f3,c4]@15 ~ ab3@16, ~@15 db3@17]/2", AP: "[bb2,f3]", AQ: "[c3,g3]", AR: "[f3,c4]", AS: "f3",
})).s("gm_overdriven_guitar").gain(0.11)

// chords · overdriven guitar · "guit. 1" · soft notes
const overdriven_guitar_soft = note("<A B C D E F G H I J K@2 ~@12 L ~@81 M N O>".pickRestart({
  A: "~@14 db3 ~, ~@3 f3", B: "d3", C: "bb3", D: "g3", E: "~@14 d3 [a2,bb2,b2,c3,db3], eb3", F: "d3, ab2 ~@15",
  G: "bb3@15 d3", H: "g3, db3 ~@15", I: "~@14 d3 [a2,bb2,db3], eb3", J: "[ab2,a2] ~@15", K: "[~@15 c3@2 ~@15]/2",
  L: "~@10 [c3,db3,d3] [eb3,e3,f3,gb3,g3,ab3] ~@3 d3", M: "bb2", N: "[c3,g3]@15 ~", O: "[f3,c4]@8 ~@7 [db3,ab3]",
})).s("gm_overdriven_guitar").gain(0.05)

// chords · synth brass 1 · "synt 2"
const synth_brass_1 = note(`<
  ~@45 A@2 B C D E F ~@2 G H I J K H I J L ~@11 M N O@2 P Q@2 ~@3 R I@2 S R I@2 S R I@2 S R I@2 S R I@2 S T U ~@3
>`.pickRestart({
  A: "[b3,d4,gb4] ~ [b3,d4,gb4] ~ [b3,d4,gb4] ~ [b3,d4,gb4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~", // Bm G
  B: "[b3,e4,g4] ~ [b3,e4,g4] ~ [b3,e4,g4] ~ [b3,e4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~", // Em G
  C: "[b3,e4,g4] ~ [b3,e4,g4] ~ [b3,e4,g4] ~ [b3,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~", // Em C
  D: "[c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [eb4,gb4] ~ [eb4,gb4] ~ [eb4,gb4] ~ [eb4,gb4] ~", // C Ebm
  E: "[b3,f4] ~ [b3,f4] ~ [b3,eb4] ~ [b3,eb4] ~ [eb4,gb4] ~ [eb4,gb4] ~ [eb4,gb4] ~ [eb4,gb4] ~", // Bdim B Ebm
  F: "[b3,f4] ~ [b3,f4] ~ [b3,eb4] ~ [b3,eb4] ~@9", G: "~@8 [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~",
  H: "[c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~", // F5 Db
  I: "[db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~", // Db
  J: "[db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~", // Db F5
  K: "[c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~", // C F5
  L: "[c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~@9", M: "~@8 [b3,d4,gb4] ~ [b3,d4,gb4] ~ [b3,d4,gb4] ~ [b3,d4,gb4] ~",
  N: "[b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,gb4] ~ [b3,d4,gb4] ~ [b3,d4,gb4] ~ [b3,d4,gb4] ~", // G Bm
  O: "[b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,e4,g4] ~ [b3,e4,g4] ~ [b3,e4,g4] ~ [b3,e4,g4] ~", // G Em
  P: "[c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~", // C
  Q: "[eb4,gb4] ~ [eb4,gb4] ~ [eb4,gb4] ~ [eb4,gb4] ~ [b3,f4] ~ [b3,f4] ~ [b3,eb4] ~ [b3,eb4] ~", // Ebm Bdim B
  R: "[c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~", // F5
  S: "[c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~", // F5 C
  T: "[c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ c4 ~ c4 ~ c4 ~ c4 ~", U: "~@2 db4 ~@13",
})).s("gm_synth_brass_1").gain(0.1)

// chords · synth brass 1 · "synt 2" · soft notes · Db F5 C F5
const synth_brass_1_soft = note(`<
  ~@104
  [~@8 f4 ~ f4 ~ f4 ~ f4 ~]
  [[db4,f4] ~ f4 ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~]
  [[db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~ [db4,f4] ~]
  [[c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~]
  [[c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~@3]
>`).s("gm_synth_brass_1").gain(0.02)

// chords · rock organ · "hammond"
const rock_organ = note("<~ A@2 B@2 ~@4 C@3 ~@97>".pickRestart({
  A: "[~@3 a6@3 g6@2 ~@3 a6@3 g6@2, bb6]/2", B: "[~@3 d7@3 ~@2 bb6@8, eb7, ~@3 c7@5]/2",
  C: "[[bb4,g5]@3 [c5,a5]@3 ~@5 [f5,a5]@3 ~@5 [d5,f5]@3 ~@2, d5@8 eb5@11 ~@5, ~@3 bb4@5 c5@4, ~@6 g5@5 ~@3 g5@10]/3", // Eb F Dm
})).s("gm_rock_organ").gain(0.1).pan(0.6)

// chords · percussive organ · "hammond"
const percussive_organ = note("<~@13 A@4 B@4 C@4 D@4 A@4 B@4 C@4 E@4 F@5 ~@12 G@8 H@8 I ~@30>".pickRestart({
  A: "[d5 ~ g5 ab5, [a4,bb4] d5, ~@16 eb5@47 ~]/4", B: "[e5 ~ a5 bb5, [b4,c5] e5, ~@16 f5@47 ~]/4",
  C: "[gb5 ~ b5 c6, [db5,d5] gb5, ~@16 g5@47 ~]/4", D: "[ab4@15 ~@33 d5@16, db5@3 ~, e5@4 gb5@3 ~, ~ a4@3]/4",
  E: "[ab4@15 ~@33 d5@16, db5@3 ~, e5 gb5, ~ a4@3]/4",
  F: "[gb5 g5 gb5 ~ e6 d6 e6 [e5,c6]@2 ~, b5@7 ~@3, d6@2 ~@3, ~@3 g5@4 ~@3]/5", // C
  G: "[~ e5@2 ~@2 a5@2 bb5@2 gb5@2 ~@2 b5@2 c6, ~ [b4,c5]@4 e5@4 [db5,d5]@4 gb5@3, ~@24 f5@47 ~@17 g5@40]/8", // Cmaj7 Dmaj7
  H: "[~@8 ab4@15 ~@33 d5@16 gb5@8 g5@8 gb5@8 ~@8 e6@8 d6@8 e6@8, ~ db5@6 ~@2 d6@4 ~@3, ~ e5@4 gb5@4 b5@7, ~@3 a4@6 ~@3 g5@4]/8",
  I: "[e5,c6]", // C
})).s("gm_percussive_organ").gain(0.07).pan(0.6)

// chords · overdriven guitar · "guit. 2"
const overdriven_guitar_2 = note("<~@9 A B C D@8 ~@34 E F@6 G@8 ~@14 H I J K L M N@8 O@8 P Q ~@2>".pickRestart({
  A: "~@4 bb4@2 bb4@6 bb4@3 ~", B: "~@4 g4@2 g4@6 g4@3 ~", C: "~@2 eb4 eb4@3 eb4@2", D: "[~@3 bb4@61]/8",
  E: "~@3 ab5 g5@4",
  F: "[f5@8 eb5@6 db5@10 f5@11 eb5 f5@3 g5 f5@6 [g5,g6]@5 [eb5,e5,f5,gb5] [b4,c5,db5,d5] ~@9 c5 eb5@5 f5 g5 ~ ab5 bb5@4 c6@2 ab5@4 bb5 f5 [g5,ab5,bb5] [db5,f5]!2 c5 db5 f5@4 eb5 db5 [eb5,f5], ~@52 bb4@35 bb4@9, ~@27 ab5@5 ~@16]/6", // G Gm Db Ebsus2
  G: "[c5 [c5,f5] bb4 f5 c5@3 g4 c5@2 ~ c5 f5 c5 ~ c5 c6@7 ~@105, ~@3 bb4@4 bb4@121, ~@5 e5 ~ g5 ~@56]/8", H: "~@7 ab5",
  I: "g5@6 c5 f5@8 ~", J: "eb5@4 ab4@2 db5@7 db6@3", K: "c6@5 e5 ~ f5@2 bb5@6 db5",
  L: "c5 e5 ~ e5 f5 e5 g5 e5 bb5@6 ~@2", M: "ab5@5 ~ c5 eb5@5 f5 g5 ~ ab5",
  N: "[bb5@4 c6@2 ab5@4 bb5 f5 [g5,ab5,bb5] [db5,f5]!2 c5 db5 f5@4 eb5 db5 [eb5,f5] c5 [c5,f5] bb4 f5 c5@3 g4 c5@2 e5@2 f5 c5 g5@2 c6@7 ~ c6@11 ~ c6@4 db6@16 bb5@6 db5@4 bb5@4 eb5@2 ~ g5@12 ~ c5@3 ab5@2 ~ g5@2 c5 f5 c5 ~ f5 c5 ~@2 ab4@2, ~@15 bb4@11 ~ bb4@4 bb4@94 bb4@3, ~@115 c5@2 ~@11]/8", // Gm Db Ebsus2 F5
  O: "[c5@2 ~@2 ab4 ~@2 c5 ab4@7 ~ f4@7 f5@4 f5 ~ f5!3 f5@8 f5@7 ~ ab5@6 c5 f5@8 ~ eb5@4 ab4@2 db5@7 db6@3 c6@5 e5 ~ f5@2 bb5@6 db5 c5 e5 ~ e5 f5 e5 g5 e5 bb5@6 ~@2 ab5@5 ~ c5 eb5@5 f5 ~@3, ~ bb4@2 bb4@61]/8",
  P: "bb5@2 ~ ab5@2 ~@3", Q: "~ f5@5 ~@10",
})).s("gm_overdriven_guitar").gain(0.29)

// chords · overdriven guitar · "guit. 2" · soft notes
const overdriven_guitar_soft_2 = note("<~@58 A ~@32 B ~@4 C ~@7 D E@2 F ~>".pickRestart({
  A: "~@4 a4 ~@11", B: "~@3 c5 ~@3 c5 ~@8", C: "~@4 gb5 ~@11", D: "~@13 g5 ~ ab5",
  E: "[~@4 c6@2 ~@4 bb5 f5 [g5,ab5,bb5] [db5,f5]!2 c5 ~@5 eb5 db5 [eb5,f5] c5 [c5,f5] bb4 f5 c5@3 g4, ~@15 bb4@11 ~ bb4@4 ~]/2", // Gm Db Ebsus2 F5
  F: "c5@2 ~ c5 f5 c5 ~ c5 c6@7 ~, ~ e5 ~ g5 ~@4",
})).s("gm_overdriven_guitar").gain(0.16)

// chords · acoustic guitar steel · "guit. 2"
const acoustic_guitar_steel = note("<~@13 A B C D E F G H I J K L ~@4 M N O P Q R S T U V W X ~@68>".pickRestart({
  A: "~ d4@3, a3@7 ~, ~ bb3@7", B: "~ eb4@3, a3@7 ~, ~ bb3@6 ~", C: "~ g4@3, d4@15 ~, ~ eb4@7",
// … 115 more lines

More by Masini