Strudelify

Questo amore non si tocca

Gianni Bella

KeyD♭ majorTempo139 bpm
0:00/0:00
// Questo amore non si tocca — Gianni Bella
// 139 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 141 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 29, guitar program 25.
setcpm(139/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(`<
  A B A C D E F A C G H I J K L M N O P Q R S Q T U V W X Y W Z AA N AB AC AD AE AF AG AH AI AJ AK AL AM AN AO N AP AF
  AG AH AI AJ AK AL AM AN AO N AQ AR AS AT AU AV AR AW AX AY AZ BA G BB BC BD BB BE BF BG BE BH BG BI BJ BK AG@2 BK BL
  BM BN BO BP BQ BC BR BK AG@2 BK BL BM BN BO BP BQ BC BD BS@2 BT BU BV ~@2 BK AG@2 BK BL BM BN BO BP BQ BC BD BK AG@2
  BK BL BM BN BO BP BQ BC BD BW
>`.pickRestart({
  A: "f1@2 f2@2 f1@2 f2@2 f1@2 f2@2 f1 ~ f2@2", B: "f1@2 f2@2 f1@2 f2@2 f1@2 f2@2 f1@2 f2 ~",
  C: "f1 f2 f1 f2 f1 f2 f1 f2", D: "f1!7 c2", E: "db2@2 db2@2 db2@2 db2@2 db2@2 db2@2 db2@2 f2 ~", F: "eb2!4 c2!4",
  G: "bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1 ~", H: "bb1@2 bb1@2 bb1@2 gb1@2 gb1@2 gb1@2 gb1@2 gb1 ~",
  I: "gb1!4 ab1!4", J: "f2!4 bb1!4", K: "bb1@2 bb1@2 bb1 ~ bb1@2 bb1@2 bb1@2 bb1@2 bb1@2",
  L: "bb1@2 bb1@2 bb1@2 bb1 ~ gb1@2 gb1@2 gb1@2 gb1@2", M: "gb1!4 db2 db3 db2 db3",
  N: "db2@2 db3@2 db2 ~ db3@2 db2@2 db3@2 db2@2 db3@2", O: "db2@2 db3@2 db2@2 db3 ~ gb1@2 gb1@2 gb1@2 gb1@2",
  P: "gb1!4 ab1 ab2 ab1 ab2", Q: "ab1@2 ab2@2 ab1 ~ ab2@2 ab1@2 ab2@2 ab1@2 ab2@2",
  R: "ab1@2 ab2@2 ab1@2 ab2 ~ db2@2 db2@2 db2@2 db2@2", S: "db2!4 ab1 ab2 ab1 ab2", T: "ab1 ab2 ab1 ab2 db2!4",
  U: "db2!6 gb1!2", V: "ab1!2 a1!2 bb1 bb2 bb1 bb2", W: "bb1@2 bb2@2 bb1 ~ bb2@2 bb1@2 bb2@2 bb1@2 bb2@2",
  X: "bb1 d2 f2 d2 bb1!4", Y: "bb1!5 bb2 bb1 bb2", Z: "bb1 bb2 bb1 bb2 bb1!4", AA: "bb1!4 db2 db3 db2 db3",
  AB: "bb1@2 bb1@2 ab1@2 ab1 ~ gb1@2 gb1@2 gb1@2 gb1@2", AC: "gb1!3 db2 gb2!4", AD: "gb2!5 gb1 ab3 e3",
  AE: "e3@2 ab2@2 ab2@2 e2@2 db2@2 db3@2 db2 ~ db3@2", AF: "db2@2 db3@2 db2 ~ db3@2 ab1@2 ab2@2 ab1 ~ ab2@2",
  AG: "ab1@2 ab2@2 ab1 ~ ab2@2 ab1@2 ab2@2 ab1 ~ ab2@2", AH: "ab1@2 ab2@2 ab1 ~ ab2@2 db2@2 db3@2 db2 ~ db3@2",
  AI: "db2@2 db3@2 db2 ~ db3@2 gb1@2 gb2@2 gb1 ~ gb2@2", AJ: "gb1@2 gb2@2 gb1 ~ gb2@2 b1@2 b2@2 b1 ~ b2@2",
  AK: "b1@2 b2@2 b1 ~ b2@2 e2@2 e3@2 e2 ~ e3@2", AL: "e2@2 e3@2 e2 ~ e3@2 a1@2 a2@2 a1 ~ a2@2",
  AM: "a1@2 a2@2 a1 ~ a2@2 d2@2 d3@2 d2 ~ d3@2", AN: "d2@2 d3@2 d2 ~ d3@2 ab1@2 ab2@2 ab1 ~ ab2@2",
  AO: "ab1@2 c3@2 ab1 ~ c3@2 db2@2 db3@2 db2@2 db3@2", AP: "db2@2 db3@2 db2@2 db3 ~ db2@2 db3@2 db2 ~ db3@2",
  AQ: "db2 db3 db2 db3 f1 f2 f1 f2", AR: "f1@2 f2@2 f1 ~ f2@2 f1@2 f2@2 f1@2 f2@2",
  AS: "f1@2 f2@2 f1@2 f2 ~ f1@2 f1@2 f1@2 f1@2", AT: "f1!3 c2 db2!4", AU: "db2!3 f2 eb2!4", AV: "c2!4 f1 f2 f1 f2",
  AW: "f1@2 f2@2 f1@2 f2 ~ bb1@2 bb1@2 bb1@2 bb1@2", AX: "bb1!7 gb1",
  AY: "gb1@2 gb1@2 gb1@2 gb1 ~ gb1@2 gb1@2 gb1@2 gb1 ~", AZ: "ab1@2 ab1@2 ab1@2 ab1 ~ f2@2 f2@2 f2@2 f2 ~",
  BA: "bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1@2 bb1 ~ bb1@2", BB: "gb1!8",
  BC: "db2@2 db3@2 db2@2 db3@2 db2@2 db3@2 db2 ~ db3@2", BD: "db2 db3 db2 db3 db2 db3 db2 db3",
  BE: "ab1@2 ab2@2 ab1@2 ab2@2 ab1@2 ab2@2 ab1 ~ ab2@2", BF: "ab1 ab2 ab1 ab2 ab1 ab2 ab1 ab2", BG: "db2!8",
  BH: "ab1@2 ab2@2 ab1@2 ab2@2 ab1@2 ab2@2 ab1@2 ab2 ~", BI: "db2!6 ab2@2", BJ: "db2!2 ab3 e3!2 ab2!2 e2",
  BK: "db2@2 db3@2 db2 ~ db3@2 db2@2 db3@2 db2 ~ db3@2", BL: "gb1@2 gb2@2 gb1 ~ gb2@2 gb1@2 gb2@2 gb1 ~ gb2@2",
  BM: "b1@2 b2@2 b1 ~ b2@2 b1@2 b2@2 b1 ~ b2@2", BN: "e2@2 e3@2 e2 ~ e3@2 e2@2 e3@2 e2 ~ e3@2",
  BO: "a1@2 a2@2 a1 ~ a2@2 a1@2 a2@2 a1 ~ a2@2", BP: "d2@2 d3@2 d2 ~ d3@2 d2@2 d3@2 d2 ~ d3@2",
  BQ: "ab1@2 ab2@2 ab1 ~ ab2@2 ab1@2 c3@2 ab1 ~ c3@2", BR: "db2@2 db3@2 db2@2 db3@2 db2@2 db3@2 db2@2 db3 ~",
  BS: "bb1!8", BT: "db2@2 db2@2 db2@2 db2@2 bb1@2 bb1@2 ab1@2 ab1 ~", BU: "gb1!7 db2", BV: "gb2!8", BW: "db2 ~",
})).s("gm_fretless_bass").gain(0.52)

// other · string ensemble 2
const string_ensemble_2 = note(`<
  ~@28 A@2 ~ B@2 ~ C@2 ~@4 D@2 E F G@2 ~@6 D@2 E F G@2 ~@5 H I ~@4 J ~@18 K L M N@2 O ~@6 K L M N@2 O ~@4 P Q R@2 ~@5 K
  L M N@2 O ~@6 K L M N@2 O ~@4
>`.pickRestart({
  A: "[[gb4,eb5,gb5]@2 [f4,d5,f5]@3 ~@3, bb4@5 ~@3]/2", B: "[[gb4,bb4,eb5,gb5]@2 [ab4,db5,f5,ab5]@3 ~@3]/2",
  C: "[[db4,a4,db5,gb5]@5 ~@3]/2", D: "[~ [db4,db5] [eb4,eb5] [e4,e5] [db5,db6]@8 [eb5,eb6]@4]/2",
  E: "[e4,e5] [gb4,gb5] [ab4,ab5]@2", F: "[b4,b5]@3 [db5,db6]@5", G: "[[eb4,eb5]@2 [e4,e5]@2 [a4,a5]@5 ~@7]/2",
  H: "~@10 [db5,db6]!2 [ab4,ab5]!2 [f4,f5]!2", I: "[db4,db5]!2 [ab3,ab4]@2 ~@12",
  J: "~@2 [gb5,gb6]!2 [db5,db6]!2 [bb4,bb5]!2 [gb4,gb5]!2 [db4,db5]@2 ~@4", K: "~@5 [db4,db5] [eb4,eb5] [e4,e5]",
  L: "[db5,db6]", M: "[eb5,eb6]@2 [e4,e5] [gb4,gb5]", N: "[[ab4,ab5]@4 [b4,b5]@3 [db5,db6]@5 [eb4,eb5]@2 [e4,e5]@2]/2",
  O: "[a4,a5]@5 ~@3", P: "~ [gb4,bb4,eb5,gb5]", Q: "[ab4,db5,f5,ab5]@3 ~", R: "[~ [db4,a4,db5,gb5]@3]/2",
})).s("gm_string_ensemble_2").gain(0.29).pan(0.7)

// chords · rock organ
const rock_organ = note(`<
  A B C D ~@3 A B ~@3 E F G H I J K L M N O M ~ P Q R P Q R H I J ~ S@2 ~@7 T ~ U V W ~@7 T ~ U V X Y Z ~@2 K AA Z ~@3
  AB AC ~ AD AE ~ AF AG ~ AH AI ~@2 AJ ~@8 AK ~ AL AM ~@8 AK ~ AL AM ~@15 AK ~ AL AM ~@8 AK ~ AL AN@2
>`.pickRestart({
  A: "~@4 [f4,db5,db6]@2 ~@2 [f4,c5,c6]@3 ~@3 [f4,db5,db6]@2", B: "~@2 [f4,db5,db6]@3 ~ [f4,db5,db6] ~ [f4,c5,c6]@8",
  C: "~@4 [f4,db5,db6]@3 ~ [f4,c5,c6]@4 ~@2 [f4,db5,db6]@2", // Db F5 Db
  D: "~@2 [f4,db5,db6]@3 ~ [db5,db6] ~ [f4,c5,c6]@8, ~@3 f4 ~@4", E: "~@6 [bb3,gb4,gb5] ~",
  F: "[bb3,f4,f5]@3 ~@3 [bb3,gb4,gb5]@3 ~ [bb3,gb4,gb5]@3 ~ [bb3,gb4,gb5] ~", G: "[bb3,f4,f5] ~",
  H: "~@6 [bb4,gb5,gb6] ~", I: "[ab4,f5,f6]@3 ~@3 [bb4,gb5,gb6]@3 ~ [bb4,gb5,gb6]@3 ~ [bb4,gb5,gb6] ~",
  J: "[ab4,f5,f6] ~", K: "~@6 [f4,db5,db6] ~", L: "[eb4,c5,c6]@3 ~@3 [f4,db5,db6]@3 ~ [f4,db5,db6]@3 ~ [f4,db5,db6] ~",
  M: "[eb4,c5,c6] ~", N: "~@6 [e4,db5,db6] ~", O: "[eb4,c5,c6]@3 ~@3 [e4,db5,db6]@3 ~ [e4,db5,db6]@3 ~ [e4,db5,db6] ~",
  P: "~@6 [g4,eb5,eb6] ~", Q: "[f4,d5,d6]@3 ~@3 [g4,eb5,eb6]@3 ~ [g4,eb5,eb6]@3 ~ [g4,eb5,eb6] ~", R: "[f4,d5,d6] ~",
  S: "[~@3 db3@3 ~@2]/2", T: "~ [gb5,d6,a6]", U: "~@6 [a4,gb5,gb6] ~",
  V: "[ab4,e5,e6]@3 ~@3 [a4,gb5,gb6]@3 ~ [a4,gb5,gb6]@3 ~ [a4,gb5,gb6] ~", W: "[ab4,e5,e6] ~",
  X: "[ab4,e5,e6]@8 ~@4 [f4,db5,db6]@3 ~", // Dbm Db
  Y: "[f4,c5,c6]@4 ~@2 [f4,db5,db6]@2 ~@2 [f4,db5,db6]@3 ~ [db5,db6] ~, ~@7 f4", Z: "[f4,c5,c6] ~",
  AA: "[f4,c5,c6]@3 ~@3 [f4,db5,db6]@3 ~ [f4,db5,db6]@3 ~ [f4,db5,db6] ~", // F5 Db
  AB: "~@4 [bb3,gb4,gb5]@2 ~@2 [bb3,f4,f5]@3 ~@3 [bb3,gb4,gb5]@2", // Ebm Bb5 Ebm
  AC: "~@2 [bb3,gb4,gb5]@3 ~ [bb3,gb4,gb5] ~ [bb3,f4,f5]@8", // Ebm Bb5
  AD: "~@4 [bb4,gb5,gb6]@2 ~@2 [ab4,f5,f6]@3 ~@3 [bb4,gb5,gb6]@2", // Ebm Db Ebm
  AE: "~@2 [bb4,gb5,gb6]@3 ~ [bb4,gb5,gb6] ~ [ab4,f5,f6]@8", // Ebm Db
  AF: "~@4 [f4,db5,db6]@2 ~@2 [eb4,c5,c6]@3 ~@3 [f4,db5,db6]@2", // Db Cm Db
  AG: "~@2 [f4,db5,db6]@3 ~ [f4,db5,db6] ~ [eb4,c5,c6]@8", // Db Cm
  AH: "~@4 [e4,db5,db6]@2 ~@2 [eb4,c5,c6]@3 ~@3 [e4,db5,db6]@2", // Dbm Cm Dbm
  AI: "~@2 [e4,db5,db6]@3 ~ [e4,db5,db6] ~ [eb4,c5,c6]@8", AJ: "~ db3@3", AK: "[gb5,d6,a6] ~",
  AL: "~@4 [a4,gb5,gb6]@2 ~@2 [ab4,e5,e6]@3 ~@3 [a4,gb5,gb6]@2", // D Dbm D
  AM: "~@2 [a4,gb5,gb6]@3 ~ [a4,gb5,gb6] ~ [ab4,e5,e6]@8", // D Dbm
  AN: "[~@2 [a4,gb5,gb6]@3 ~ [a4,gb5,gb6] ~ [ab4,e5,e6]@10 ~@14]/2", // D Dbm
})).s("gm_rock_organ").gain(0.42).pan(0.7)

// other · pad warm
const pad_warm = note("<~@26 A@3 ~@6 B@3 ~@46 C@2 ~@29 D@2 ~@24>".pickRestart({
  A: "[~ bb5@8 ~@3]/3", B: "[~ db8@2 ~]/3", C: "[ab5@3 ~]/2", D: "[db8@3 ~]/2",
})).s("gm_pad_warm").gain(0.48)

// other · overdriven guitar
const overdriven_guitar = note("<~@35 A@2 ~@47 B ~@24 C D ~@30>".pickRestart({
  A: "[~@3 [db4,e4]@3 ~@2, ~@11 ab3@12 ~@9]/2", B: "~ [db4,e4]@3, ~@3 ab3@12 ~", C: "~@6 c5 d5",
  D: "~@2 f5@3 ~@3 d5@4 c5@4",
})).s("gm_overdriven_guitar").gain(0.49).pan(0.3)

// chords · piano
const piano = note(`<
  ~@44 A B C@2 D@8 A B C@2 ~@33 E F@3 G H@2 I J K L M E F@3 ~@7 N O@2 N P Q O R E F@3 G H@2 I J K L M E S@2 ~@2
>`.pickRestart({
  A: "~@5 gb4@3", B: "a4 gb4", C: "[e4@2 eb4@3 db4@8 ~@3]/2",
  D: "[~ [e4,ab4]@2 [eb4,ab4]@2 [eb4,ab4]@2 [e4,ab4]@2 [db4,gb4]@2 [b3,gb4]@2 [eb4,ab4]@2 [db4,ab4]]/8", // E Ab5 E Gb5 B5 Ab5 Db5
  E: "~ gb4@3 a4@4", F: "[gb4@4 e4@2 eb4@3 db4@8 ~@7]/3", G: "[db3,ab3,e4]", H: "[[c3,ab3,eb4] [c3,eb4]@2 [c3,eb4]]/2",
  I: "[db3,e4]", J: "[gb3,db4,db5]", K: "[gb3,b3,b4]", L: "[eb3,eb4,ab4]", M: "[eb3,db4]", N: "[e4,ab4]",
  O: "[eb4,ab4]", P: "[db4,gb4]", Q: "[b3,gb4]", R: "[db4,ab4]", S: "[gb4@4 e4@2 eb4@3 db4@3 ~@4]/2",
})).s("gm_piano").gain(0.05)

// other · violin
const violin = note(`<
  ~@40 A@2 B C D@2 ~@6 A@2 B C D@2 ~@5 E F ~@4 G ~@18 H I J K@2 L ~@6 H I J K@2 L ~@13 H I J K@2 L ~@6 H I J K@2 L ~@4
>`.pickRestart({
  A: "[~ db5 eb5 e5 db6@8 eb6@4]/2", B: "e5 gb5 ab5@2", C: "b5@3 db6@5", D: "[eb5@2 e5@2 a5@5 ~@7]/2",
  E: "~@10 [db5,db6]!2 [ab4,ab5]!2 [f4,f5]!2", F: "[db4,db5]!2 [ab3,ab4] ~@13",
  G: "~@2 [gb5,gb6]!2 [db5,db6]!2 [bb4,bb5]!2 [gb4,gb5]!2 [db4,db5] ~@5", H: "~@5 db5 eb5 e5", I: "db6",
  J: "eb6@2 e5 gb5", K: "[ab5@4 b5@3 db6@5 eb5@2 e5@2]/2", L: "a5@5 ~@3",
})).s("gm_violin").gain(0.3).pan(0.3)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@5 B C A@2 D E F G D E H I J K L M N O M P Q R S T R S U I J V W X Y Z AA AB AC AD AE AF AG AH AI AJ Y Z AA AB AC AD
  AE AF AG AH AI AK A@2 AL AM AN A AO D AP AQ D@2 AP AR AS V AT AU P AV AW P AX AY AZ BA BB AZ BC BD BE BF BG BB BH BI
  AZ BA BB AZ BC BD BE BF BG BB BH BI BJ BK B V@2 ~@2 AZ BA BB AZ BC BD BE BF BG BB BH BI AZ BA BB AZ BC BD BE BF BG BB
  BH BI BL
>`.pickRestart({
  A: "[ab3,c4,f4]@2 [ab3,c4,f4]@2 [ab3,c4,f4] ~ [ab3,c4,f4]@2 [ab3,c4,f4]@2 [ab3,c4,f4]@2 [ab3,c4,f4] ~ [ab3,c4,f4]@2", // Fm
  B: "[ab3,db4,f4]@2 [ab3,db4,f4]@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 [ab3,db4,f4]@2 [ab3,db4,f4]@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2", // Db
  C: "[bb3,db4,g4]@2 [bb3,db4,g4]@2 [bb3,db4,g4] ~ [bb3,db4,g4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4] ~ [g3,c4,e4]@2", // Gdim C
  D: "[bb3,db4,f4]@2 [bb3,db4,f4]@2 [bb3,db4,f4] ~ [bb3,db4,f4]@2 [bb3,db4,f4]@2 [bb3,db4,f4]@2 [bb3,db4,f4] ~ [bb3,db4,f4]@2", // Bbm
  E: "[bb3,db4,f4]@2 [bb3,db4,f4]@2 [bb3,db4,f4] ~ [bb3,db4,f4]@2 [bb3,db4,gb4]@2 [bb3,db4,gb4]@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2", // Bbm Gb
  F: "[bb3,db4,gb4]@2 [bb3,db4,gb4]@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4] ~ [c4,eb4,ab4]@2", // Gb Ab
  G: "[a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4] ~ [a3,c4,f4]@2 [bb3,db4,f4]@2 [bb3,db4,f4]@2 [bb3,db4,f4] ~ [bb3,db4,f4]@2", // F Bbm
  H: "[bb3,db4,gb4]@2 [bb3,db4,gb4]@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2 [ab3,db4,f4]@2 [ab3,db4,f4]@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2", // Gb Db Gb
  I: "[ab3,db4,f4]@2 [ab3,db4,f4]@2 [ab3,db4,f4] ~ [bb3,db4,gb4]@2 [bb3,db4,gb4]@2 [bb3,db4,gb4]@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2", // Db Gb
  J: "[ab3,db4,f4]@2 [ab3,db4,f4]@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 [a3,db4,gb4]@2 [a3,db4,gb4]@2 [a3,db4,gb4] ~ [a3,db4,gb4]@2", // Db Gbm
  K: "[a3,db4,gb4]@2 [a3,db4,gb4]@2 [a3,db4,gb4] ~ [a3,db4,gb4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [db4,f4,ab4] ~ [db4,f4,ab4]@2", // Gbm Ab Db
  L: "[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4] ~ [db4,f4,ab4]@2 [db4,f4,ab4]@2 [db4,f4,ab4]@2 [db4,f4,ab4] ~ [db4,f4,ab4]@2", // Ab Db
  M: "[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4] ~ [c4,eb4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4] ~ [db4,e4,ab4]@2", // Ab Dbm
  N: "[db4,e4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4] ~ [db4,e4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [db4,e4,ab4] ~ [db4,e4,ab4]@2", // Dbm Ab Dbm
  O: "[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4] ~ [db4,e4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4] ~ [db4,e4,ab4]@2", // Ab Dbm
  P: "[db4,e4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4] ~ [db4,e4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4] ~ [db4,e4,ab4]@2", // Dbm
  Q: "[db4,e4,ab4]@2 [db4,e4,ab4]@2 [a3,db4,e4] ~ [a3,db4,e4]@2 [d4,f4,bb4]@2 [d4,f4,bb4]@2 [eb4,g4,bb4] ~ [eb4,g4,bb4]@2", // Dbm A Bb Eb
  R: "[d4,f4,bb4]@2 [d4,f4,bb4]@2 [d4,f4,bb4] ~ [eb4,g4,bb4]@2 [eb4,g4,bb4]@2 [eb4,g4,bb4]@2 [eb4,g4,bb4] ~ [eb4,g4,bb4]@2", // Bb Eb
  S: "[d4,f4,bb4]@2 [d4,f4,bb4]@2 [d4,f4,bb4] ~ [d4,f4,bb4]@2 [eb4,gb4,bb4]@2 [eb4,gb4,bb4]@2 [eb4,gb4,bb4] ~ [eb4,gb4,bb4]@2", // Bb Ebm
  T: "[eb4,gb4,bb4]@2 [eb4,gb4,bb4]@2 [eb4,gb4,bb4] ~ [eb4,gb4,bb4]@2 [d4,f4,bb4]@2 [d4,f4,bb4]@2 [eb4,g4,bb4] ~ [eb4,g4,bb4]@2", // Ebm Bb Eb
  U: "[eb4,gb4,bb4]@2 [eb4,gb4,bb4]@2 [eb4,gb4,bb4] ~ [eb4,gb4,bb4]@2 [ab3,db4,f4]@2 [ab3,db4,f4]@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2", // Ebm Db Gb
  V: "[a3,db4,gb4]@2 [a3,db4,gb4]@2 [a3,db4,gb4] ~ [a3,db4,gb4]@2 [a3,db4,gb4]@2 [a3,db4,gb4]@2 [a3,db4,gb4] ~ [a3,db4,gb4]@2", // Gbm
  W: "[a3,db4,gb4]@2 [a3,db4,gb4]@2 [a3,db4,gb4] ~ [a3,db4,gb4]@2 [a3,db4,gb4]@2 [a3,db4,gb4]@2 ~@4", // Gbm
  X: "~@4 [e4,ab4,db5]!2 ~ [e4,ab4,db5]", Y: "[e4,ab4,db5]!2 ~ [e4,ab4,db5] [c4,eb4,ab4]!2 ~ [c4,eb4,ab4]",
  Z: "[c4,eb4,ab4]!2 ~ [c4,eb4,ab4] [c4,gb4,ab4]!2 ~ [c4,gb4,ab4]", // Ab Ab7
  AA: "[c4,gb4,ab4]!2 ~ [c4,gb4,ab4] [e4,ab4,db5]!2 ~ [e4,ab4,db5]", // Ab7 Dbm
  AB: "[e4,ab4,db5]!2 ~ [e4,ab4,db5] [e4,a4,db5]!2 ~ [e4,a4,db5]", // Dbm A
  AC: "[e4,a4,db5]!2 ~ [e4,a4,db5] [eb4,a4,b4]!2 ~ [eb4,a4,b4]", // A B7
  AD: "[eb4,a4,b4]!2 ~ [eb4,a4,b4] [eb4,ab4,b4]!2 ~ [eb4,ab4,b4]", // B7 Abm
  AE: "[eb4,ab4,b4]!2 ~ [eb4,ab4,b4] [db4,e4,a4]!2 ~ [db4,e4,a4]", // Abm A
  AF: "[db4,e4,a4]!2 ~ [db4,e4,a4] [d4,gb4,a4]!2 ~ [d4,gb4,a4]", // A D
  AG: "[d4,gb4,a4]!2 ~ [d4,gb4,a4] [c4,gb4,ab4]!2 ~ [c4,gb4,ab4]", // D Ab7
  AH: "[c4,gb4,ab4]@2 [c4,gb4,ab4]@2 ~@2 [c4,gb4,ab4]@2 [ab3,db4,e4]@2 [ab3,db4,e4]@2 [a3,db4,gb4] ~ [a3,db4,gb4]@2", // Ab7 Dbm Gbm
  AI: "[ab3,db4,e4]@2 [ab3,db4,e4]@2 [ab3,db4,e4] ~ [a3,db4,gb4]@2 [a3,db4,gb4]@2 [a3,db4,gb4]@2 [a3,db4,gb4] ~ [a3,db4,gb4]@2", // Dbm Gbm
  AJ: "[ab3,db4,e4]@2 [ab3,db4,e4]@2 [ab3,db4,e4] ~ [ab3,db4,e4]@2 [e4,ab4,db5]@2 [e4,ab4,db5]@2 ~@2 [e4,ab4,db5]@2", // Dbm
  AK: "[ab3,db4,e4]@2 [ab3,db4,e4]@2 [ab3,db4,e4] ~ [ab3,db4,e4]@2 [ab3,c4,f4]@2 [ab3,c4,f4]@2 [ab3,c4,f4] ~ [ab3,c4,f4]@2", // Dbm Fm
  AL: "[ab3,c4,f4]@2 [ab3,c4,f4]@2 [ab3,c4,f4] ~ [ab3,c4,f4]@2 [ab3,db4,f4]@2 [ab3,db4,f4]@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2", // Fm Db
  AM: "[ab3,db4,f4]@2 [ab3,db4,f4]@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 [bb3,db4,g4]@2 [bb3,db4,g4]@2 [bb3,db4,g4] ~ [bb3,db4,g4]@2", // Db Gdim
  AN: "[g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4] ~ [g3,c4,e4]@2 [ab3,c4,f4]@2 [ab3,c4,f4]@2 [ab3,c4,f4] ~ [ab3,c4,f4]@2", // C Fm
  AO: "[ab3,c4,f4]@2 [ab3,c4,f4]@2 [ab3,c4,f4] ~ [ab3,c4,f4]@2 [bb3,db4,f4]@2 [bb3,db4,f4]@2 [bb3,db4,f4] ~ [bb3,db4,f4]@2", // Fm Bbm
  AP: "[bb3,db4,gb4]@2 [bb3,db4,gb4]@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2 [bb3,db4,gb4]@2 [bb3,db4,gb4]@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2", // Gb
  AQ: "[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4] ~ [c4,eb4,ab4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4] ~ [a3,c4,f4]@2", // Ab F
  AR: "[ab3,db4,f4]@2 [ab3,db4,f4]@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2 [ab3,db4,f4]@2 [ab3,db4,f4]@2 [ab3,db4,f4] ~ [bb3,db4,gb4]@2", // Db Gb Db Gb
  AS: "[bb3,db4,gb4]@2 [bb3,db4,gb4]@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2 [ab3,db4,f4]@2 [ab3,db4,f4]@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2", // Gb Db
  AT: "[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [db4,f4,ab4] ~ [db4,f4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4] ~ [db4,f4,ab4]@2", // Ab Db Ab Db
  AU: "[db4,f4,ab4]@2 [db4,f4,ab4]@2 [db4,f4,ab4] ~ [db4,f4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4] ~ [c4,eb4,ab4]@2", // Db Ab
  AV: "[c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [db4,e4,ab4] ~ [db4,e4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4] ~ [db4,e4,ab4]@2", // Ab Dbm Ab Dbm
  AW: "[db4,e4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4] ~ [db4,e4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4]@2 [c4,eb4,ab4] ~ [c4,eb4,ab4]@2", // Dbm Ab
  AX: "[db4,e4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4] ~ [db4,e4,ab4]@2 [db4,e4,ab4]@2 [db4,e4,ab4]@2 [a3,db4,e4] ~ [a3,db4,e4]@2", // Dbm A
  AY: "[ab3,db4,e4]!2 ~@6", AZ: "[e4,ab4,db5]!2 ~ [e4,ab4,db5]!3 ~ [e4,ab4,db5]",
  BA: "[c4,eb4,ab4]!2 ~ [c4,eb4,ab4]!3 ~ [c4,eb4,ab4]", BB: "[c4,gb4,ab4]!2 ~ [c4,gb4,ab4]!3 ~ [c4,gb4,ab4]",
  BC: "[e4,a4,db5]!2 ~ [e4,a4,db5]!3 ~ [e4,a4,db5]", BD: "[eb4,a4,b4]!2 ~ [eb4,a4,b4]!3 ~ [eb4,a4,b4]",
  BE: "[eb4,ab4,b4]!2 ~ [eb4,ab4,b4]!3 ~ [eb4,ab4,b4]", BF: "[db4,e4,a4]!2 ~ [db4,e4,a4]!3 ~ [db4,e4,a4]",
  BG: "[d4,gb4,a4]!2 ~ [d4,gb4,a4]!3 ~ [d4,gb4,a4]", // D
  BH: "[ab3,db4,e4]@2 [ab3,db4,e4]@2 [a3,db4,gb4] ~ [a3,db4,gb4]@2 [ab3,db4,e4]@2 [ab3,db4,e4]@2 [ab3,db4,e4] ~ [a3,db4,gb4]@2", // Dbm Gbm Dbm Gbm
  BI: "[a3,db4,gb4]@2 [a3,db4,gb4]@2 [a3,db4,gb4] ~ [a3,db4,gb4]@2 [ab3,db4,e4]@2 [ab3,db4,e4]@2 [ab3,db4,e4] ~ [ab3,db4,e4]@2", // Gbm Dbm
  BJ: "[d4,f4,bb4]@2 [d4,f4,bb4]@2 [d4,f4,bb4] ~ [d4,f4,bb4]@2 [d4,f4,bb4]@2 [d4,f4,bb4]@2 [d4,f4,bb4] ~ [d4,f4,bb4]@2", // Bb
  BK: "[eb4,gb4,bb4]@2 [eb4,gb4,bb4]@2 [eb4,gb4,bb4] ~ [eb4,gb4,bb4]@2 [eb4,gb4,bb4]@2 [eb4,gb4,bb4]@2 [eb4,gb4,bb4] ~ [eb4,gb4,bb4]@2", // Ebm
  BL: "[ab3,db4,e4]@3 ~@5", // Dbm
})).s("gm_acoustic_guitar_steel").gain(0.38).pan(0.3)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  A B A B ~@2 C A B ~@3 D E ~@19 F ~@26 G H ~@2 I G H ~@4 J K ~@38 L@2 ~@28
>`.pickRestart({
  A: "~@2 db4 ~@4 db4", B: "~@2 db4@2 ~@2 db4 ~@9", C: "eb3@2 eb3@2 eb3 ~ eb3@2 ~@8", D: "~@6 gb3 ~",
// … 60 more lines

More by Gianni Bella