Strudelify

Musica e

Ramazzotti

KeyF majorTempo123 bpm
0:00/0:00
// Musica e — Ramazzotti
// 123 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 305 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(123/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("<~@206 A B@4 C@32 ~@62>".pickRestart({
  A: "a4 g4", B: "[f4@2 e4@3 f4@11]/4", C: "[bb3 a3 f3 bb3 a3 f3 f4@3 bb3@2 a3 f3@4]/2",
})).s("gm_piano").gain(0.05)

// bass · fretless bass
const bass = note(`<
  ~@55 A@2 B C D@2 E C F G H@2 I J K@2 L@2 M@2 N@2 O P Q R S T U V W X Y@2 Z AA AB@2 AC AD AE AF AG AH AI AJ AK C AL@2
  AK C AM@2 ~@18 AM@2 AN@2 AO@2 AP@2 AQ@2 AR AS AT@2 AU AV AW@2 AL@2 AW@2 AM@2 AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK
  BL BM AQ@2 AR AS AT@2 AU AV AW@2 AL@2 AW@2 BN@2 BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG CH CI CJ CK
  CL@3 CM@2 CN@4 CM@6 CO@2 AN@2 CO@2 AN@2 CO@2 AN@2 CM@2 CP@4 CQ@3 CR CS@2 CT@2 CU@2 CV@2 CW@2 CX@2 CY@2 CZ@6 DA@2 DB DC
  DD@2 DE@2 DF@2 DG@2 DH@2 DI DJ DK DL DM@2 F DN DO@2 DK DL DM@2 F DN DP@2 DQ@2 DR@2 DS@5 ~
>`.pickRestart({
  A: "[~@3 c2@5]/2", B: "ab1", C: "g1", D: "c2/2", E: "ab1@15 ~", F: "bb1", G: "~@2 bb1@2 f2@2 g2@2 bb2@3 ~ f2@2 f2@2",
  H: "[d2@26 f1 ~ f1@3 ~]/2", I: "g1@7 c2", J: "f2@15 ~", K: "[c2@7 f2]/2", L: "[bb2@23 ~ f2@7 ~]/2",
  M: "[d2@22 ab1 ~ ab1@7 ~]/2", N: "[g1@23 ~ g1@8]/2", O: "c2@11 ~ c2@4", P: "b1@15 ~", Q: "bb1@11 ~ bb1@3 ~",
  R: "a1@12 eb1@2 f1 ~", S: "ab1@12 eb2 ~ f2@2", T: "ab2 eb2", U: "g1@11 ~ g1@4", V: "f2@7 ~ f2@7 ~",
  W: "c2@11 ~ g1@3 ~", X: "a1@7 d2", Y: "[e2@20 d3@3 ~ a2@3 ~ e2@4]/2", Z: "d2@11 ~ f1 ~ gb1@2",
  AA: "g1@11 ~ g1@2 a1@2", AB: "[c2@14 g2@8 c2 ~ b1@8]/2", AC: "a1@12 a1@2 g1 ~", AD: "gb1@6 b1 d2", AE: "e2@13 ~ e2 ~",
  AF: "a2@5 ~ a2@2 g2@4 e2@3 ~", AG: "d2@11 ~ d2@2 a1@2", AH: "g1@5 g2 d2 g2", AI: "ab1@11 ~ ab1@4", AJ: "a1 g1",
  AK: "f1", AL: "[a1@3 g1]/2", AM: "a1/2", AN: "f1/2", AO: "g1/2", AP: "[a1@21 ~ b2@4 g2@2 e2@4]/2",
  AQ: "[a1@21 ~ a1 ~ a1@7 ~]/2", AR: "f1@13 ~ f1@2", AS: "~@4 f1@9 ~ f1 gb1", AT: "[g1@10 d2 e2 g2@2 e2@2]/2",
  AU: "a1@7 e2", AV: "a2@4 e2@2 a1@2 g1@7 ~", AW: "[f1@3 g1]/2", AX: "a1@2 a1@2 ~@8 e2@2 a1 ~", AY: "g1@13 ~ g1 ~",
  AZ: "f1 ~ f1 ~@7 a1@2 g1@2 f1@2", BA: "e1@12 a1@2 c2 ~", BB: "d2 ~ d2 ~@7 d2@6", BC: "c2@6 e1 a1",
  BD: "g1@2 g1 ~@7 g1@2 d2@4", BE: "g2@3 d2 g1@2 a1 b1", BF: "a1 ~ a1 ~@7 a1 ~ d1@2 e1@2", BG: "g1@6 d2@6 g2@2 d2 ~",
  BH: "f1 ~ f1 ~@7 f1 ~ g1@2 f1 ~", BI: "e1@6 a1 c2", BJ: "d2 ~ d2 ~@9 d2@4", BK: "c2@10 e1 ~ g1@2 ~@2",
  BL: "g1@9 ~ g1@2 d2@4", BM: "f2@6 c2@2 a2@4 g2@2 d2 ~", BN: "[a1@23 ~@3 d1 ~ d1@3 ~]/2", BO: "d1@13 ~ d1@2",
  BP: "gb1@13 ~ gb1@2", BQ: "g1@11 ~ e1@2 g1 ~", BR: "a1@8 a2@2 e2@2 a1@3 ~", BS: "d2@13 ~ d2 ~", BT: "gb1@15 ~",
  BU: "g1@14 g1 ~", BV: "a1@2 a1 ~ a1 ~ a1 ~ a1 ~ a1@2 e1@2 a1 ~", BW: "bb1@4 bb2@3 eb2", BX: "bb1@4 bb2@3 bb1",
  BY: "c2@14 c2 ~", BZ: "d2 ~ d2 ~ d2@4 c3@7 ~", CA: "eb2@11 ~ bb1@4", CB: "g1@13 ~ g1@2", CC: "ab1@13 ~ ab1 ~",
  CD: "bb1 ~ bb1@2 bb1 ~ bb1@2 bb1 ~ bb1@2 bb1 ~ bb1@2", CE: "a1@13 ~ a1@2", CF: "c2 ~ a1 ~ a1@3 ~ a1@2 ~ a1@2 a1@2 ~",
  CG: "bb1@13 ~ bb1@2", CH: "c2 db2", CI: "d2@5 ~ d2 ~ a2@2 g2 ~ f2 ~ d2 ~", CJ: "a1@13 ~ a1 ~", CK: "bb1@15 ~",
  CL: "c2/3", CM: "[f2@31 ~]/2", CN: "[f2@63 ~]/4", CO: "f2/2", CP: "[f1@63 ~]/4", CQ: "f1/3",
  CR: "~@8 eb2@2 ~ bb1@4 g1", CS: "[f1@31 ~]/2", CT: "[eb1@31 ~]/2", CU: "[bb1@23 ~ ab1@8]/2",
  CV: "[f1@24 ab1@4 ab1@3 ~]/2", CW: "[f1@3 eb2]/2", CX: "[eb1@29 ~ eb1 g1]/2", CY: "[bb1@31 ~]/2", CZ: "[f1@95 ~]/6",
  DA: "[f2@21 ~ g2 ~ g2@3 ~ f2@3 ~]/2", DB: "eb2@13 ab2@2 ~", DC: "db3@5 ~ db3@2 ab2@8", DD: "[db2@29 ~ db2@2]/2",
  DE: "[eb2@18 g1@2 bb1@2 c2@2 eb2@4 c2@2 eb2 ~]/2", DF: "[f2@21 ~ bb2@2 ab2@4 f2@4, ~@22 ab2 ~@9]/2",
  DG: "[eb2@27 ~ eb2@4]/2", DH: "[db2@11 db2 ab2 bb2 ab2 db2]/2", DI: "c2@13 ~ g1@2", DJ: "c2@4 c2@3 ~",
  DK: "f1@11 ~ f1@3 ~", DL: "f1@13 ~ f1 ~", DM: "[g1@27 ~ g1@2 ab1@2]/2", DN: "bb1@7 ~ bb1@7 ~",
  DO: "[f1@6 g1@5 ~ ab1@6 bb1@6 c2@3 ~ eb2@4]/2", DP: "[f2@5 ~ c2@5 ~ f1@10 eb2@2 f2@8]/2", DQ: "[db2@11 ab1 eb2@4]/2",
  DR: "[f2@3 eb2]/2", DS: "[db1@79 ~]/5",
})).s("gm_fretless_bass").gain(0.62)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@2 A@6 B@2 C@4 D@8 E@3 ~@30 F@2 G H I@3 ~@3 J@2 K@2 L@4 M N O@2 P@3 Q@5 R S T@2 U@2 V@2 W@4 X@2 Y Z ~@26 AA@4 AB@6
  AC@2 AD@4 ~ AE AF@6 ~@6 AG@2 AH AI AJ AK@2 AL@3 AM@2 AN@6 AO@4 AP@2 AQ@2 AR@4 AS@4 AT@2 AU AV AW@2 AX@2 AY@2 AZ BA BB
  BC BD BE@3 BF@2 ~@32 BG@2 BH@2 BI@2 BJ@4 BK@4 BL@6 ~@16 BM@2 BN@4 BO@2 BM@2 BP@4 BQ@2 ~@2 BR BS BT@6
>`.pickRestart({
  A: "[f2 bb2 [eb3,g3], ab3@2 ~, ~ d4@2]/6", B: "[c3,g3]/2", C: "[f2 [bb2,d4], [ab3,ab4]]/4",
  D: "[~ g3 c3@2 f2@2 bb2@2, eb4@3 ~, eb3 c4@3, ~ [bb3,g4]@3 [ab3,ab4]@4]/8", E: "[g3@13 ~@3]/3", F: "[~@3 g3@5]/2",
  G: "ab3", H: "[bb3,f4]", I: "[g4@2 ab4, c4]/3", J: "[c4,f4]/2",
  K: "[[d3,d4,d5]@2 [eb3,eb4,eb5] [f3,f4,f5], b3, g3@23 ~@9]/2", L: "[g3,g4,g5]/4", M: "[ab4,ab5]",
  N: "[c5,c6] [c4,c5]", O: "[[b3,b4]@31 ~]/2", P: "[[c4,c5] [b3,b4] [bb3,bb4], eb4]/3",
  Q: "[[d4,f5,d6] [g5,eb6] [bb3,bb5]@4 [b3,d4,b5]@4, a3@16 g6@63 ~, ~ eb4@5 ~@4]/5", // Dm Cm Bb Bm
  R: "[c4,c5]@3 [d4,d5] [e4,e5]@2 [g4,g5]@2", S: "[a4,a5]@3 [b4,b5] [a4,a5]@2 [e4,e5]@2", T: "[[g4,g5]@7 [e4,e5]]/2",
  U: "[[g4,g5]@3 [e4,e5] [g4,g5]@2 [e4,e5] [a4,a5]@3 [g4,g5]@2 [d4,d5]@2 [c4,c5]@2]/2", // G E G E A G D C
  V: "[[d4,d5] [e4,e5]@8 e5 g5 e6 d6 d5 g5 d6]/2", W: "[[c4,c6]@4 [b3,b5]@2 [a3,a5]@2 g5@7 e5, e4, ~ b3]/4",
  X: "[g5@3 e5 g5@2 e5 a5@2 g5@7, [a3,c4]]/2", Y: "ab5@3 a5@2 b5@3, [ab3,b3]", Z: "a3@8 g3@7 ~, [c4,c6]",
  AA: "[[a3,d4,e4] [f3,c4], g3]/4", AB: "[~ e4@2, [a3,d4]]/6", AC: "[f3,c4]/2",
  AD: "[~@32 e4@23 ~ [g2,b3]@8, [a3,d4]]/4", AE: "~ [b3,d4]",
  AF: "[[c4,e4]@24 ~@8 [f3,c4,a4]@24 [d4,b4]@8 [c4,e4,c5]@31 ~, ~@24 a3@71 ~]/6", AG: "[~@5 d5 g5 d6, g4@31 ~, ~ b3]/2",
  AH: "[a3,c4,e4,e6]", AI: "d6@3 g5, [g3,b3,d4]", AJ: "c6@6 b5 a5, [f3,a3,c4,e4]",
  AK: "[[b3,g4,g5] c5 [d3,f4,f5]@2, e3 ~, ~ c4@3]/2", AL: "[[b3,b4] [c4,c5] [d4,d5]@3 ~, g3@5 ~]/3", AM: "[a3,d4,e4]/2",
  AN: "[[f3,c4]@4 ~@4 e4@3 [g3,b3], g3@21 ~@11, ~@4 [a3,d4]@7 ~]/6", // F5 G D5
  AO: "[[f3,a3,c4,a4]@24 [g3,b3,d4,b4]@7 ~ [a4,c5]@12 [b4,d5]@4 [c5,e5]@4 [e5,a5]@4 b5@2 c6 b5 a5@2 b5@2, ~@31 e4@25 ~@8, ~@4 [a3,c4]@3 [g3,b3,d4]]/4", // F G Am Bm C A5 Am G
  AP: "[[f3,a3,c4,c6]@3 [g3,b3,d4,d6]]/2", AQ: "[[a3,c4,e4,e6]@3 ~]/2",
  AR: "[d4@2 db4@2 ~@2 gb4 [db4,e4], a3@47 ~@17, ~@4 d4@3 ~]/4", // Dbm
  AS: "[d4@16 db4@16 ~@16 gb4@8 [db4,e4]@7 ~, a3@3 ~, ~@4 d4@3 ~]/4", AT: "[[eb4,bb4] [d4,g4], bb3]/2",
  AU: "[ab3,c4,ab4]", AV: "[bb3,d4]@15 ~", AW: "[g5@10 bb5@3 eb6@3 f6@7 bb5@8 ~, bb3, eb4@15 ~ d4@16]/2",
  AX: "[eb6@10 eb5@2 bb5@2 eb6@2 bb5 ~@3 f6 ~@3 bb5 ~ d5@2 f5 ~ bb4@2, eb4@24 d4@7 ~, c4@16 [bb3,f4]@15 ~]/2", // Bb5
  AY: "[~@7 [a4,a5], a3, ~ c4]/2", AZ: "[d5,d6]@3 [f5,f6], [bb3,d4]", BA: "[c4,a5,a6] [db4,g5,g6], e4",
  BB: "[d4,f4,f5,f6]", BC: "[c4,e4,e5]", BD: "[bb3,d4,d5]", BE: "[c4,e4,e5]/3", BF: "[[f4,f5]@31 ~]/2", BG: "f3/2",
  BH: "eb3/2", BI: "bb3/2", BJ: "[[f5,f6]@6 [g5,g6] [a5,a6], f3]/4", BK: "[eb3 bb3, [bb5,bb6]]/4",
  BL: "[[c6,c7]@95 ~, f3@31 ~]/6", BM: "[ab3@11 g3@3 f3@2, [c4,f4,c6]]/2",
  BN: "[bb5@28 eb6@4 f6@28 g5@3 ~, bb3@63 ~, [eb3,eb4]@32 db4@31 ~]/4", // Eb
  BO: "[[f3,ab3]@3 [g3,bb3]@3 [ab3,c4]@3 bb3@3 c4@4, ab5@31 ~, ~@9 eb4@7]/2", // Fm Gm Ab
  BP: "[bb5@7 eb6 f6@6 db6@2, bb3@63 ~, [eb3,eb4]@32 db4@31 ~]/4", BQ: "[[ab3,c4,f4,c6]@3 ~]/2", BR: "~@3 [bb3,g4,bb4]",
  BS: "[ab4,c5]@4 [c5,f5]@4 g5@2 ab5 g5 f5@2 g5@2, c4 bb3, ~@2 bb4 g4", BT: "[f3,ab3,db4,f4,ab5]/6",
})).s("gm_string_ensemble_2").gain(0.4)

// chords · string ensemble 2 · soft notes
const string_ensemble_2_soft = note("<A@6 B@8 ~@6 C@5 ~@30 D@3 E F@3 G@3 ~@78 H@8 ~@6 I@2 ~@146>".pickRestart({
  A: "[[c3,bb3,g4] ab4@2, c4, eb4@2 ~]/6", B: "[f4@31 ~ c4@96, [bb3,bb4] ~, ~ eb4@2 ~]/8",
  C: "[~@64 b3@7 ~@9, d4@71 ~@9, ~@32 g5@41 ~@7]/5", D: "[~ [c4,eb4]@3]/3", E: "d4", F: "eb4/3",
  G: "[[d4,f4,bb4], g4 ~@2]/3", H: "[[f3,c4]@3 ~@4 [b3,d4] ~@3 b3 ~@4, g3@127 ~, a3 ~@3]/8",
  I: "[[g3,d4], d5@19 ~@13, c4 ~]/2", // G5
})).s("gm_string_ensemble_2").gain(0.25)

// chords · piano
const piano_2 = note(`<
  A@4 B@4 C@2 D@4 E F G@2 H@2 I@4 ~ J@2 K L M@2 N O@3 P@2 Q@2 R@4 S@2 T@2 U V W X Y@2 Z@2 AA@2 AB AC AD@2 AE AF@3 AG@2
  AH@2 AI@4 AJ@2 AK@2 U V AL AM AN@2 AO@2 AP AQ AR@2 AS AT AU AV AW AX AY@2 AZ@2 BA BB BC BD BE@2 BF BG BH@2 ~ BI BJ BK
  BL BM BN BO BP BQ BR@8 ~@7 BS BT@2 BU@2 BV ~@19 BW BX BY BZ CA CB ~@2 BT@2 BU@2 BV ~@19 CC CD CE@2 CF CG CH CI CJ CK
  CL CM CN CO CP ~@66 CQ CR@2 ~@2 CS@2 CT CU CV CW CX CY CZ@2 CT CU CV CW CX CY DA@2 DB@2 DC@2 DD@6
>`.pickRestart({
  A: "[bb3@4 ~@12 [c4,eb4,g4]@8 [c4,eb4,g4]@7 ~@9 [c4,eb4,ab4]@8 ~@8 eb4@8, c2 f2, [c4,eb4,g4]@8 [c4,eb4,g4]@8 ~@15 c4@8 ~@9 [c4,ab4]@16, ~@4 bb3@8 bb3@8 ~@11 ab3@5 ab3@8 ~@8 ab3@12, ~@4 [eb4,ab4] ~ eb4 ~]/4", // Cm Ab Cm Fm Ab5
  B: "[[c4,d4]@8 ~@8 d4@8 d4@7 ~@9 [bb3,d4]@8 ~@14 g3@2, [bb1,bb2]@31 eb2@32 ~, ~@31 bb3@5 g3@8 ~@14 g3@2 f4@4, ~@31 g3 d4@8 ~@8 d4@16, ~ g4]/4", // Csus2 Bb
  C: "[[g3,bb3,eb4]@2 g3!2 g3!2 [bb3,eb4] [bb3,eb4,g4], c2, ~ [bb3,eb4] [bb3,eb4] g3]/2", // Eb Eb5 Eb Eb5
  D: "[[c4,eb4]@8 bb3@4 bb3@4 [ab3,c4,eb4]@8 [ab3,c4,eb4]@7 ~ [c4,d4,ab4]@8 [c4,d4,ab4]@8 ~@14 f2@2, f2 bb1, bb3@4 ~@4 [c4,eb4]@8 ~@15 ab3@13 ~@4 [c4,d4,ab4]@8 [c4,d4,ab4]@8, ~@13 ab3@2 ab3]/4", // Cm Ab Dm7b5 Cm Dm7b5
  E: "[eb2,ab3,c4,eb4,ab4]", F: "[eb2,g3,bb3,eb4]@11 ~ [d1,d2,f3,bb3,d4]@4",
  G: "[[g3,bb3,eb4]@2 eb4@2 [eb4,g4]!2 [bb3,eb4] [g3,bb3,eb4], c1, ~ g3@2 g4, ~@2 bb3@3 d5@3, ~ [c2,c5]]/2", // Eb Eb5 Eb C
  H: "[[bb3,c4,eb4] [c4,eb4] c4 [c4,eb4], f2, ~@2 bb3 ~ ab3 ~ ab3 ~]/2", // Cm7 Cm
  I: "[[ab3,c4,d4]@4 d4@4 d4@4 d4@3 ~ [g1,g3]@16, bb1@15 g4@16 ~, ~@31 [c4,d4]@32 ~]/4", J: "[c2,g3,c4]/2",
  K: "[ab1,ab2,c4]", L: "g1", M: "c2/2", N: "[ab1,bb3,c4]",
  O: "[~@11 f3, ~@15 bb3@32 ~, ~@15 c4@16 ~ c4@16, ~ [bb1,f4]@2, ~@5 d4]/3", P: "[d2,ab3,c4,f4]/2", Q: "[g1,b3]/2",
  R: "[~@8 eb4@4 g3 ~ [bb3,c4,eb4,g4] [c3,bb3,c4,eb4,g4], c2@31 ~, [g3,c4,eb4]@16 ~@8 c3@3 c3@3 ~@2, ~ d4@2 [d4,f4], ~@13 g3@3]/4", // Cm7 Cm Dm
  S: "[[ab3,c4,f4]@3 [d3,f3,ab3,c4], d2]/2", T: "[g1,g2,f3,g3,b3]/2", U: "[c2,g3,c4,eb4]", V: "[b1,g3,b3,eb4]",
  W: "[bb1,bb3,eb4]", X: "[a1,c4]", Y: "[ab1,ab2,c4]/2", Z: "[g1,f3,b3]/2", AA: "[~@3 [c2,c4,eb4,g4]@5]/2",
  AB: "[bb3,c4,eb4]!2, ab1@7 ~", AC: "[f3,bb3]!2, g1@7 ~", AD: "[[c4,eb4]!2 ~ c4, c2, g3 ~ g3 ~@3 g3 ~]/2",
  AE: "[ab3,bb3,c4,eb4] [bb3,c4,eb4], ab2, ab1@7 ~", // Ab Cm7
  AF: "[[f3,bb3]@8 [d3,bb3]@7 ~@25 d4@8, g1@15 bb1@28 ~@5, d3@4 ~@4 f3@6 ~ bb3@32 ~, ~@15 c4@16 ~ c4@16, ~ f4@2]/3", // Bb5 Gm
  AG: "[[ab3,c4]@3 [f3,ab3,c4], [d2,f4]]/2", AH: "[g1,f3,g3,b3]/2",
  AI: "[~@12 f4@2 [bb3,c4,eb4,g4]!2, c2@31 ~, [g3,c4,eb4]@4 eb4@3 ~, ~@2 d4@4 ~ c3]/4", // Cm7 Cm
  AJ: "[[ab3,c4,f4]@3 [f3,ab3,c4], d2]/2", AK: "[g2,f3,g3,b3,d4,f4]/2", AL: "[bb1,g3,bb3,eb4]", AM: "[a1,a3,eb4]",
  AN: "[ab1,g3,ab3,bb3,c4,eb4]/2", AO: "[g1,f3,g3,b3,d4,f4]/2", AP: "[c4,d4,e4,g4]", AQ: "[g3,a3,c4,e4]",
  AR: "[[g3,b3,e4]@3 [g3,b3,e4]]/2", AS: "[f3,g3,a3,c4]!2", AT: "[a3,c4,f4,g4]", AU: "[g3,c4,d4,e4]",
  AV: "[g3,c4,e4] [g3,b3,d4]", AW: "[g3,a3,c4,e4]!2", AX: "[gb3,a3,c4,e4]", AY: "[[g3,b3,e4]@7 [g3,b3,e4,e5]]/2",
  AZ: "[g5@3 e5 g5@2 e5 a5@2 g5@7, [f3,g3,a3,c4]]/2", BA: "[b4,ab5]@6 [c5,a5]@4 [d5,b5]@5 ~",
  BB: "[e5,c6]@7 ~ [g2,g3,a3,b3]@8", BC: "[f2,f3,g3,a3]", BD: "[g1,g3,a3]",
  BE: "[[a1,a3,c4]@3 [g1,b3], ~@24 a3@3 ~@5]/2", BF: "[f1,f3]", BG: "[g1,g3,b3]", BH: "[a1,e3,a3,c4]/2",
  BI: "~@3 b4, ~ e4@3, ~ a4", BJ: "~@3 e5, c5", BK: "~@3 d5, d5@3 ~, ~@2 c5@3 c5@3, ~@3 b4@5", BL: "~@3 c5, a4",
  BM: "~@3 b4, b4@3 ~, ~@2 a4@3 a4@3, ~@3 g4@5", BN: "~@3 a4, f4", BO: "~@3 g4, g4@3 ~, ~@2 f4@3 f4@3, ~@3 e4@5",
  BP: "g3@2 g3 g3@2 g3 [g3,c4,d4]@2, [c4,d4]@3 [c4,d4]@3 ~@2", // Gsus4 Csus2
  BQ: "~@12 b4@3 ~, [g3,b3,d4]@15 ~, ~@6 e4@9 ~, ~@8 a4@7 ~", // G
  BR: "[~@12 e5@2 ~@2 d5@2 ~@2 c5@2 ~@6 d5@2 ~@14 c5@2 ~@2 b4@2 ~@2 a4@2 ~@6 b4@2 ~@14 a4@2 ~@2 g4@2 ~@2 f4@2 ~@6 g4@2 g4@33 ~, c5@20 ~@2 c5@4 c5@4 ~@16 c5@16 ~@26 e4@7 ~@33, ~@14 e5@16 ~@26 g4@6 f4@22 ~@2 f4@4 f4@5 ~@33, ~@9 d5@5 ~@11 b4@5 ~@11 g4@5 ~@18, ~@24 b4@6 a4@22 ~@2 a4@4 a4@4 ~@16 a4@17 ~@33]/8",
  BS: "~ [d4,a4]!3", BT: "[d4@2 g4@2 e4@2 e4@4 g4@2 e4 ~@3 g4@16, a4@5 ~ a4@7 ~ [e4,a4]@18]/2",
  BU: "[a4@5 ~ e4@4 g4@2 e4 ~@15 a3@2 c4@2, d4@2 ~@4 a4@7 ~ [e4,a4]@16 ~@2, ~@8 g4@7 ~]/2", BV: "d4@15 ~",
  BW: "[a3,c4,e4]", BX: "b3!2, [g3,a3,d4]", BY: "~@7 a4, [f3,a3,c4,e4], ~ c5, ~@3 b4", BZ: "~ c4@3, g4",
  CA: "[a3,c4,d4,f4]", CB: "[c4,d4,e4,g4,b4]", CC: "[g3,bb3,eb4]!2", CD: "[bb3,d4,g4]!2",
  CE: "[[c4,eb4,ab4]@8 ~@8 [f4,bb4]@2 [f4,bb4]@2 [f4,bb4]@2 [f4,bb4]@2 [f4,bb4]@2 [f4,bb4]@2 [f4,bb4]@2 [f4,bb4] ~, ~@8 [c4,eb4,ab4]@23 ~, ~@16 bb3@15 ~]/2", // Ab Bb5 Ab
  CF: "[g3,bb3,eb4]@2 ~ [g4,bb4,eb5], ~ [g3,bb3,eb4]", CG: "[g4,bb4,d5]", CH: "[ab3,c4,eb4]!2",
  CI: "[bb3,eb4,g4]@8 [bb3,d4,f4]@7 ~", CJ: "[a3,d4,e4]", CK: "[e3,g3,a3,c4]@7 ~ [e3,g3,a3,c4]@8", CL: "[f3,bb3,d4]",
  CM: "[c4,e4] [g3,db4,e4]", CN: "[a3,c4,d4,f4]!2", CO: "[c4,e4,a4]!2", CP: "[d4,f4,bb4]", CQ: "~@3 [ab4,c5]",
  CR: "[[g4,bb4]@23 ~@9]/2", CS: "[~@8 f3@7 ~ ab3@6 g3@2 g3@7 ~, c3@31 ~]/2", CT: "[ab3,c4,f4]!2",
  CU: "[c4,f4]@2 [c4,f4] [c4,f4,ab4], ~ ab3", CV: "[bb3,eb4,bb4]!2", CW: "[eb4,bb4]!2, ~@2 bb3 ~", CX: "[bb3,db4,f4]!2",
  CY: "[bb3,db4,f4] [db4,f4], ~@2 bb3 ~", CZ: "[[f1,f3]@6 [g1,g3]@6 [ab1,ab3]@6 [bb1,bb3]@6 [c2,c4]@4 [eb2,eb4]@3 ~]/2",
  DA: "[[ab3,c4]@6 ~ g3, ~@3 [eb2,eb3,bb3]]/2", DB: "[[db2,db3,f3,ab3,db4]@3 [eb2,eb3,g3,bb3]]/2",
  DC: "[c4@5 [c4,f4,ab4] [eb2,eb3,bb3,eb4,g4]@2, [f2,f3,ab3]@3 ~]/2", DD: "[[db2,db3,f3,ab3,db4]@7 ~]/6",
})).s("gm_piano").gain(0.5).pan(0.3)

// chords · piano · soft notes
const piano_soft = note(`<
  ~ A B@2 C D E@2 ~@2 F ~ B@2 ~@4 G H I J ~@2 K L@2 M N O@2 P Q@3 ~@2 R@2 ~@10 S T U@2 V@2 ~@2 W X Y Z AA AB@3 ~@37 AC
  AD@2 AE AF AG@2 ~@28 AH ~@31 AH ~@110 AI ~ AJ ~ G ~@3 AI ~ AJ ~ G ~@12
>`.pickRestart({
  A: "~ bb3@2 bb3", B: "[~@3 ab3@2 ~@3]/2", C: "ab3 [ab3,c4,d4]", D: "[ab3,c4]!2",
  E: "[~@10 g3@3 ~@3, ~@3 g3@2 ~@3, ~ bb3]/2", F: "~ bb3 ~@2", G: "~@3 bb3", H: "~ ab3 ~ ab3", I: "~ [ab3,c4]",
  J: "[ab3,c4]@8 [ab3,c4]@7 ~", K: "[g2,f3,g3,b3]@15 ~, g1 ~", L: "eb4/2", M: "[ab3,bb3,eb4]", N: "[g2,d3,f3,bb3,d4]",
  O: "[g3,c4,eb4]/2", P: "[ab3,eb4]", Q: "[f3@14 f3@21 ~ f3@8 ~@4, [g1,d3,bb3] ~@2]/3", R: "[f3,g3]/2", S: "g3",
  T: "[a3,eb4]", U: "[ab3,bb3,eb4]/2", V: "[g2,g3]/2", W: "ab3@4 ab3@2 ~ ab1, ~@3 ab3", X: "d3@4 d3@2 ~ g1, ~@3 d3",
  Y: "~ g3 ~ g3", Z: "g3!2 ~ g3, [c4,eb4] eb4", AA: "~@4 ab3@2 ~ ab1, ~@3 ab3", AB: "[~ d3 ~@9 bb1, ~@7 f3@16 ~]/3",
  AC: "[d3,b3]", AD: "[e3@3 g3]/2", AE: "[c3,a3,c4]", AF: "[d3,d4]", AG: "e4/2", AH: "~@2 g4@2 e4 ~@11", AI: "ab3 ~",
  AJ: "bb3@2 ~ bb3",
})).s("gm_piano").gain(0.29).pan(0.3)

// other · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@24 A@3 B C@2 D E F G ~ H@2 D I@3 ~@2 J@3 K@2 L@2 M@2 N O P@2 Q R S@2 D R T O ~ U@2 V W X@2 ~@2 Y@3 Z@2 AA@2 AB@3
  AC@2 ~@16 AD AE AF ~ AG AH@3 ~@33 AI@4 AJ AK@5 AL AM AN@2 AO@3 AP AQ AR AS@2 AT@3 AU AV AW AX AY AZ BA@2 BB BC BD ~@2
  BE BF@2 ~@8 BG BH BI BJ BK@2 BL BM ~@4 BN BO BP BQ BR@2 BS@2 BT@30 BU@2 BV@2 BW BX BY BZ CA@2 CB CC CD@2 CE CF@4 ~@2
  CG CH@6 CI@2 CJ@3 CK CL@2 CM@2 CN@2 CO@2 CP CQ CR@2 CS CT CU@2 CV CW CX CY@3 CZ ~@2 DA@2 ~@3
>`.pickRestart({
  A: "[~@8 g3 ~ bb3@2 c4@2 c4@21 ~@11 g3 ~]/3", B: "eb4 ~ eb4 ~ d4 ~ d4 ~ c4@2 bb3 ~ eb4@4",
  C: "[~@2 eb4 ~ d4 ~ d4 ~ c4@2 bb3@4 d4@4 c4@13 ~]/2", D: "~@7 g3", E: "eb4 ~ eb4 ~ d4 ~ d4@2 c4 ~ bb3 ~ eb4@4",
  F: "~@2 eb4 ~ d4 ~ d4 ~ c4@2 bb3@6", G: "d4@15 ~", H: "[f4@23 ~@9]/2",
  I: "[g4@3 ~ f4@2 eb4@4 d4@4 d4@4 ~ eb4@2 ~ eb4@16 ~@10]/3", J: "[f4@19 ~ g4@2 f4@3 ~ eb4@4 d4@16 g3@2]/3",
  K: "[g4@3 ~ f4@2 eb4@4 d4@3 ~ d4@4 eb4@2 ~ eb4@8 ~ eb4@2]/2", L: "[f4@3 ~ eb4@2 d4@3 ~ c4@3 ~ eb4@15 ~ eb4@2]/2",
  M: "[f4@2 eb4 d4@2 c4@2 eb4@9]/2", N: "~ eb4", O: "d4", P: "[~@4 g3 bb3 c4 c4@7 ~@2]/2", Q: "~@7 bb3",
  R: "eb4@2 eb4@2 d4 ~ d4@2 c4@2 bb3@2 eb4@4", S: "[~@2 eb4@2 d4 ~ d4@2 c4@2 bb3@4 d4@4 c4@2 c4@12]/2",
  T: "~@2 eb4@2 d4 ~ d4@2 c4@2 bb3@6", U: "f4/2", V: "~@13 g3@3", W: "g4@2 ~@2 f4@3 eb4@4 ~ d4@3 ~",
  X: "[d4@3 eb4@2 ~ eb4@24 ~@2]/2", Y: "[f4@19 ~ g4@2 f4@4 eb4@4 f4@8 e4@6 ~@2 g3@2]/3",
  Z: "[g4@3 ~ f4@2 eb4@3 ~ d4@3 ~ d4@4 eb4@2 ~ eb4@8 ~ eb4@2]/2", AA: "[f4@4 eb4@2 d4@3 ~ c4@4 eb4@15 ~ eb4@2]/2",
  AB: "[f4@4 eb4@2 d4@3 ~ c4@4 eb4@25 ~ eb4@8]/3", AC: "[d4@31 ~]/2", AD: "d4 e4 d4 c4@2 ~@3",
  AE: "~@8 d4@2 ~ e4@2 d4@2 ~", AF: "c4@7 ~", AG: "d4 e4 d4 c4@3 ~@2", AH: "[~@8 d4@3 e4@2 ~ d4@34]/3",
  AI: "[~@8 b3@3 c4@2 ~ d4@6 a3@17 ~@3 b3@2 ~ c4@2 ~ d4@5 a3@13]/4", AJ: "~@4 b3 c4 d4@2",
  AK: "[~ a3@20 ~@3 b3@3 c4@3 d4@4 ~ a3@17 e3@3 ~ a3 ~ b3@3 ~ c4@4 c4@2 ~@6 e4@2 e4 ~ e4 ~]/5",
  AL: "d4 ~ d4 ~ c4 ~ c4@2 b3@2 c4@2 d4@2 a3@2", AM: "~@2 a3@2 ~@6 c4 ~ c4 ~ c4 ~",
  AN: "[b3 ~ b3@2 a3 ~ a3 ~ g3 ~ a3@2 b3@2 f3@4 f3@2 ~@6 a3 ~ a3 ~ a3@2]/2",
  AO: "[g3 ~ g3@2 f3 ~ f3 ~ e3 ~ f3@2 g3 ~ g3@19 ~ c4@5 ~ c4@3 ~ bb3@3 ~]/3", AP: "bb3@5 ~ bb3@3 ~ e4@5 ~",
  AQ: "d4@4 c4@2 b3@3 ~ d4@6", AR: "a3@5 ~ a3@3 ~ c4 ~ c4 ~ c4@2",
  AS: "[b3 ~ b3 ~ a3 ~ a3 ~ g3 ~ b3@4 f3@7 ~ f3@3 ~ a3 ~ a3 ~ a3@2]/2",
  AT: "[g3 ~ g3 ~ f3 ~ f3@2 e3@2 f3 ~ g3@2 g3@19 ~@3 d4@3 ~ d4@3 ~ d4@3 ~]/3", AU: "d4@2 c4@2 a3 ~ d4@4 c4@2 a3 ~ d4@2",
  AV: "c4@3 ~ d4@3 ~ d4@3 ~ d4@3 ~", AW: "d4@2 c4@2 a3 ~ d4@3 ~ c4@2 a3 ~ d4 ~", AX: "c4@5 ~ a3 c4",
  AY: "d4 ~ d4 ~ e4 ~ g3@5 ~ a3 ~ c4 ~", AZ: "d4 ~ d4 ~ e4@2 g3@4 d4@5 ~",
  BA: "[d4@2 c4 ~ a3 ~ d4@3 ~ c4@2 a3 ~ d4@4 c4@4 c4 ~ b3@2 ~ c4@2 ~ d4@2]/2", BB: "~ a3@7",
  BC: "~@6 c4 ~ b3@2 ~ c4@2 ~ d4@2", BD: "~ c4@13 ~@2", BE: "~@6 c4@2 b3@2 ~ c4@2 ~ d4@2",
  BF: "[~@2 b3 ~ a3@20 ~@8, ~ c4@22 ~@9]/2", BG: "eb4@7 ~ eb4@2 ~ f4@2 g4@2 ~", BH: "d4@7 ~ d4@2 ~ eb4@2 ~ f4@2",
  BI: "c4@11 ~ eb4@3 ~", BJ: "g4@8 f4@7 ~", BK: "[eb4@6 ~@2 eb4@2 f4@2 g4@2 ~ bb4@2 g4@3 ~@4 d4@2 ~ eb4@2 f4@2 ~]/2",
// … 355 more lines

More by Ramazzotti