Strudelify
In bicicletta cover art

1996 · Cocciante

In bicicletta

Cocciante

KeyA majorTempo127 bpm
0:00/0:00
// In bicicletta — Cocciante
// 127 bpm, 4/4, key A 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 138 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: The whole transcription plays 17 ms ahead of the beat; the grid follows it, so its parts stay together.
setcpm(127/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, A@4 for four bars: edit a riff to change every repeat.

// chords · epiano2
const epiano2 = note(`<
  A@4 B@2 A@2 C@2 D@2 E F G H I J K L M N O P@2 Q R S@2 T@2 U@3 V W X Y Z AA AB AC M AD AE AF AG@2 AH@2 AI@2 AJ AK G AL
  AM@2 AN@2 AO@2 AP AQ AR@2 AS AT AU AV AW AX AY AZ@4 BA BB@4 BC BD BE BF BG BH BI@2 BJ@2 BK@2 BL BM BN BO@7 BP BQ@3 BR
  BS BT BU BV BW BX BY BZ CA CB BY BZ CC CB BY BZ CC CB BY BZ CC CB BY BZ CD CB BY CE CF
>`.pickRestart({
  A: "[[a2,e3,a3,b3,e4]@13 ~ [f#2,e3,a3,b3,e4]@18]/2", B: "[[a2,e3,a3,b3,e4]@31 ~]/2",
  C: "[[a2,e3,a3,b3,e4]@12 f#2@12 e2@7 ~, ~@12 [e3,a3,b3,e4]@19 ~]/2", // Asus2 Esus4
  D: "[~@2 a4 [c#3,a3,c#4], [d2,f#3,a3,d4,e4]@12 e3@3 ~, ~@15 [d5,e5,a5]@9 ~@8]/2", E: "[b2,f#3,a3,d4]",
  F: "[e2,g#3,b3,e4]@15 ~", G: "[a2,e3,a3,b3,e4]", H: "~@3 a3, [f#2,e3,b3,e4], a3@3 ~, ~@5 c#4@3",
  I: "d4@9 ~ d4@6, [b2,f#3,a3]", J: "~@10 e3@5 ~, [e2,g#3,b3,e4]", K: "~@8 c#3@7 ~, [c#2,g3,b3,c#4,e4]@15 ~",
  L: "f#2@8 e2@7 ~, [e3,a#3,c#4]@15 ~", M: "[d2,f#3,a3,d4,e4]", N: "[e2,f#3,a3], [d4,e4]@7 ~",
  O: "~@3 b3@5, [a2,a3,c#4,e4], ~@3 e3@13", // A
  P: "[~@11 e4@5, f#2 a2, ~ [e3,b3]@8 [e3,b3]@7, ~@2 a3@7 ~ a3@6, ~@3 e4@6 ~@7]/2", // E5
  Q: "~@3 e4@5, f#2, ~ [e3,b3]@7, ~ a3@3", R: "~@3 e4@5, a2, ~ [e3,b3]@7, ~ a3@3",
  S: "[~@22 e4@9 ~, f#2 a2, ~ [e3,b3]@8 [e3,b3]@7, ~@2 a3@7 ~ a3@6, ~@3 e4@6 ~@7]/2", // E5
  T: "[~@3 e4@2 ~@6 e4@5, f#2@15 ~ a2@16, ~@2 e3@13 ~@3 [e3,b3]@14, ~ b3@4 ~@11, ~@2 a3@3 [a3,b3,e4]@4 ~ a3@6]/2", // E5 Asus2
  U: "[~@8 e2@7 ~@7 d4@8 ~@6 a3@3 ~ [c#3,e4,a4]@8, f#2@8 ~@8 [d2,f#3]@23 ~@9, ~@2 e3@13 ~@15 a3@6 ~@12, ~@2 b3@4 e4@28 e4@5 ~@9, ~@4 a3@26 [d4,a4]@9 ~ c#4@6 ~@2]/3", // A D D5
  V: "[b2,a3,d4,f#4]", W: "[e2,b3,e4,g#4]", X: "[a2,b3,e4], c#4@7 ~", Y: "~@12 e4@3 ~, [f#2,e3,a3,c#4], ~@5 d4@3",
  Z: "[b2,f#3,a3,d4]@15 ~", AA: "~@3 d3, [e2,g#3,b3,e4]@15 ~, ~@8 e3@7 ~", AB: "c#3 c#2, [g3,b3,c#4,e4]",
  AC: "f#2@8 e2@7 ~, [e3,a#3,e4]@15 ~", AD: "~@3 f#3, [e2,a3,d4], f#3@3 ~, ~@5 f#4@3",
  AE: "~@3 c#4, [a2,e4], c#4@3 ~, a3@5 a3@3, ~@3 e3@5", AF: "[g2,g3,b3,d4] [a2,g3,a3,c#4]",
  AG: "[~@18 e4@4 e4@4 ~@2 c#4@3 ~, [d2,f#3]@31 ~, a3@16 c#5@15 ~, e4@14 [a4,e5]@17 ~, ~@6 c#4@20 [a3,e4]@5 ~]/2", // D A5
  AH: "[~@13 [a3,e4]@3, [a2,e3,b3], a3@8 e4@3 [c#4,a4]@5, ~@5 e5@11, ~@5 a4@2 b4@9]/2", // A5 Asus2 F#m
  AI: "[~@3 e4@2 [c#4,e4]@2 ~@6 e3@3, d2, e3@11 [a3,c#4]@5, a3@7 c#4@2 a4@7, c#4@5 a4@2 [e4,c#5]@9]/2", // C#m A C#m
  AJ: "[g2,g3,b3,d4]", AK: "[f#3,a3,d4]@8 [g#3,b3,e4]@7 ~, e2", AL: "[f#2,e3,a3,b3,e4]",
  AM: "[e3@10 ~@2 a3@2 ~@14 b3@2 e3 ~, a2 f#2, [b3,e4]@7 b3@7 ~@2, a3@6 ~ a3@6 a3@3, ~@5 e3@2 e3@4 e3@4 ~]/2", // E5
  AN: "[[a2,e3,a3,b3,e4]@14 f#2@10 e2@7 ~, ~@14 [e3,a3,b3,e4]@17 ~]/2", // Asus2 Esus4
  AO: "[~@7 d4@5 [c#3,a3,e4]@4, [d2,e4]@3 ~, d4@7 ~@5 c#4@3 ~, a3@3 a3@3 ~@2, ~@5 f#3@7 ~@4]/2", AP: "[b2,a3,d4,e4]",
  AQ: "~@13 b3@3, [e2,e4], b3@13 ~@3, ~@6 e3@9 ~, ~@10 g#3@5 ~", // E
  AR: "[[a2,e3,a3,b3,e4]@14 ~@8 e4@9 ~, ~@14 [f#2,e3,a3,c#4]@17 ~]/2", // Asus2 F#m7
  AS: "d4@10 ~@3 f#3@3, [b2,a3,e4], f#3@13 ~@3, ~@5 d4@3", AT: "~@3 [d3,d4], [b3,e4]@15 ~, e2@8 e3@7 ~, ~@6 g#3@9 ~",
  AU: "~@12 e3@3 ~, [c#3,c#4,e4], g3@5 g3@3, ~@3 e3@3 ~@2, ~@8 c#2@7 ~", // C#m
  AV: "[f#2,e3,c#4]@8 ~@4 e4@3 ~, a#3@15 ~, ~@8 [e2,e3,d4]@7 ~", // F#7 E7
  AW: "~@11 f#3@4 ~, [d2,a3,d4,e4]@15 ~, f#3@11 ~@5, ~@9 d3@6 ~", AX: "[e2,f#3,a3,d4,e4]@15 ~",
  AY: "[e3,a3,c#4,e4]@5 ~@3, a2@13 ~@3", // A
  AZ: "[~@10 g2@2 g#2@2 ~@6 e3 ~@3 [e3,c#4] ~ [e3,a3,c#4]@3 ~ [a3,c#4]@4 ~ c#4 a3 ~ [e3,a3,b3]@4 [e3,e4]@4 b3@2 ~@2 e3@2 a3 ~ [a3,b3]@9 ~, ~@14 a2@14 ~@2 f#2@18 a2@15 ~, ~@30 e3@3 ~ e3@2 ~@6 a3@9 ~@13]/4", // C#m A Esus4 E Asus2
  BA: "~@2 b3 ~ [b3,f#4] ~ [b3,c#4,f#4]@4 e4@2 c#4@2 b3 ~, f#2, ~@2 c#4 ~@5", // B5 Bsus2
  BB: "[~@20 e4@2 ~@6 a4@2 ~@14 b3@2 ~@8 [b3,e4]@4 [b3,e4,b4]@5 ~, [d3,c#4,f#4]@24 c#3@8 b2@15 ~ e2@15 ~, ~@6 a3@16 a4@5 ~@3 [a4,d5]@16 ~@8 a4@9 ~, ~@14 [a4,e5]@9 ~@3 e4@4 ~@4 f#4@8 f#4@4 ~@6 e3@11 ~, ~@18 c#5@5 ~@15 [d4,b4]@8 [b3,e4,g#4]@8 f4 ~@9]/4", // E5 Dmaj7 D5 A5 G E
  BC: "~@10 g4@5 ~, [c#3,e4,b4], ~@6 [b3,f#4]@9 ~", BD: "f#2 e2, [a#3,c#4,f#4]@15 ~",
  BE: "~@3 a3, [d2,d4,f#4], a3@3 ~, ~ d3, ~@5 f#3@3", BF: "[e2,f#3,a3,d4]",
  BG: "c#4@6 ~@6 a3@3 ~, [a2,e3], a3@3 ~, ~@6 e4@9 ~, ~@10 c#4@5 ~", BH: "[g2,g3,b3,d4] [a2,a3,c#4], ~@4 g3@3 ~",
  BI: "[~@18 e4@4 e4@4 ~@2 c#4@2 e3 ~, [d2,f#3]@26 [a3,e4]@5 ~, c#4@22 a4@9 ~, a3@14 a4@2 c#5@15 ~, ~@6 e4@8 e5@17 ~]/2", // D A5
  BJ: "[~@15 e4@8 ~@5 b4@2 e4 ~, a2, [e3,a3,b3]@26 e5@5 ~, ~@14 e5 b4@8 e4@7 ~@2, ~@15 c#5@16 ~]/2", // Esus4
  BK: "[~@2 a4@3 ~@9 c#4@2, [d2,e5]@11 a3@2 b3@3, e4@7 e4@9, ~@5 a4@11, ~@5 c#4@2 a3@2 c#4 e3@6]/2", // Dsus2
  BL: "g3@6 ~@4 b3@5 ~, [g2,d4], b3@5 ~@3, ~@3 g3@5, ~ d3", BM: "[g#3,b3,e4]@8 [a#3,c#4,f#4]@7 ~, f#2",
  BN: "[b2,b3,c#4,f#4]", // Bsus2
  BO: "[[g#2,f#3,f#4]@16 ~@14 f#3@2 ~@4 b3@2 ~@6 f#3@2 f#3 ~@11 f#3@4 ~@10 f#2@8 ~@22 d#4@10, [b3,c#4]@18 f#3@12 ~@4 f#3@4 f#3@4 c#4@6 f#3@8 d#4@6 c#4@11 ~@13 f#4@4 d#4@4 f#5@2 b4@2 c#5@2 f#4@11 ~, ~@16 b2@15 ~ g#2@16 b2@15 ~ g#2@9 ~@7 e2@31 ~, ~@20 b3@15 ~@3 b3@24 b3@22 b3@27 ~, ~@22 d#4@12 ~@4 d#4@9 ~ d#4@6 f#4@8 f#3@8 f#3@9 ~@3 g#3@4 g#3@25 ~]/7", // G#7 Bsus2
  BP: "g#3@4 ~@8 g#3@3 ~, [c#3,e4], b3@8 b3@7 ~, ~@5 g#3@7 ~@4", // C#m
  BQ: "[~@12 a#3@2 ~@4 [f#3,d#4]@4 [f#3,a#3]@3 ~ [f#3,b3,d#4]@4 [f#3,d#4]@8 f#3@4 [f#3,b3,d#4]@6, [f#2,c#4,f#4]@15 ~ b2@14 g#2@18, ~@6 a#3@6 ~@2 c#4@4 b3 ~@3 c#4@8 b3@12 ~@6, ~@8 f#3@7 ~@33, ~@10 g#3@5 ~@23 c#4@9 ~]/3", // D#m F# B D#m B F#5
  BR: "~@5 e4@3, c#3, e4 b3@3, ~@2 g#3@13 ~, ~@6 d#4@9 ~", BS: "~@12 c#4@3 ~, [f#2,f#4], ~@6 f#3@9 ~, ~@10 a#3@5 ~",
  BT: "[d#3,a3,c#4], f#4 ~@15", BU: "[g#2,g#3] f#2, [c4,d#4]@15 ~, ~@4 f#3@3 ~",
  BV: "~@13 b3@2 g#3, [e2,f#4], b3@13 ~@3, g#3@10 g#3@5 ~, ~@3 e3@5", BW: "[g#3,b3,e4]@7 ~@3 [b3,e4,g#4]@6, f#2, ~ f#3",
  BX: "~@2 [f#4,b4,d#5]@2 [a#4,c#5] ~@3 [f#4,b4,d#5] ~@7, b2@15 ~", // B A#m B
  BY: "[f#4,b4,d#5]@3 ~ [f#4,b4,d#5]@2 [a#4,c#5] ~@3 [f#4,b4,d#5] ~ [f#2,f#3]@4, [g#2,g#3]@3 ~", // B A#m B F# G#
  BZ: "~@2 [f#4,b4,d#5]@2 [a#4,c#5] ~@3 [f#4,b4,d#5] ~@3 [f#4,a#4,c#5] ~@3, [e2,e3]", // B A#m B F# E
  CA: "[f#4,d#5]@3 ~ [f#4,f#5]@2 [f#4,b4,d#5] ~@3 [f#4,b4,c#5] ~@5, f#3, f#2@13 ~@3, b4@3 ~@5", // D#m F# B F#sus4
  CB: "~@2 [f#4,b4,d#5]@2 [a#4,c#5] ~@3 [f#4,b4,d#5] ~@7, [b2,b3]@15 ~", // B A#m B
  CC: "[f#4,b4,d#5]@4 [f#4,b4,f#5]@2 [f#4,b4,d#5] ~@3 [f#4,b4,c#5] ~@5, f#3, f#2@3 ~", // B B5 B F#sus4
  CD: "[f#4,b4,d#5]@3 ~ [f#4,b4,f#5]@2 [f#4,b4,d#5] ~@3 [f#4,b4,c#5] ~@5, f#3, f#2@11 ~@5", // B B5 B F#sus4
  CE: "~@2 [f#4,b4,d#5]@2 [a#4,c#5] ~@3 [f#4,b4,d#5] ~@3 [f#4,a#4,c#5] ~@3, [e2,e3]@15 ~", // B A#m B F# E
  CF: "f#4 b3 f#3 ~ g#3 ~ d#4 c#4 ~ f#3 g#3 ~ b3 ~ [b2,f#3,b3,c#4,d#4] ~", // B
})).s("gm_epiano2").gain(0.33).pan(0.6)

// bass · banjo
const bass = note("<[a1@3 ~@9 f#1@3 ~] [~@6 e1 f#1] [a1@2 ~@4 c#2@2 ~@4 f#1@3 ~] [~@6 e1 f#1] [a1 ~@3] ~@133>")
  .s("gm_electric_bass_finger").gain(0.39)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@5 A@3 ~ B@3 ~ C@3 ~@3 D@3 E F G H G F I J K L M N O P Q R S T U V W X Y Z AA@2 AB@2 AC@2 AD AE@3 AF AG AH AI AJ AK
  AL AM AN AO AP AQ AR AS AT AU AV@2 AW@2 AX AY AZ@2 BA@2 BB@2 BC@2 BD BE BF@2 BG@2 BH@2 BI BJ@3 BK@2 BL@2 BM@2 BN BO
  BP@2 BQ BR BS BT BU@2 BV BW BX BY BV BW BX BY BV BZ BX BY BV BZ BX BY BV BZ BX BY BV BZ BX CA
>`.pickRestart({
  A: "[~@4 e4@7 ~, ~@14 e3@31 ~@3, ~@5 [a3,b3]@10 ~]/3", B: "[~ a4@2, ~@14 a3@33 ~, ~@5 [d4,e4]@11]/3",
  C: "[~@4 e3@7 ~, ~@14 e4@29 ~@5, ~@15 [a3,b3]@29 ~@4]/3", // Asus2
  D: "[~@16 a4@27 ~@5, ~@14 a3@29 ~@5, ~@15 [d4,e4]@28 ~@5]/3", E: "~@2 a3 e4@5, ~ b3@3 ~@4",
  F: "e3 ~@2 e4@2 b3 e3@2, ~@2 b3@7 ~@7, ~@2 a3@3 ~@3", G: "~@2 a3 e4@5, ~ b3@2 ~@5",
  H: "e3@2 ~@2 a3@2 e4@4 b3@2 e3@3 ~, ~@2 b3@5 ~@9", I: "~@6 e4@9 ~, ~ b3@7, ~ a3@3",
  J: "e3@2 ~@2 a3@2 e4 ~@3 [b3,e4]@6, ~@2 b3@5 ~@9", K: "~@3 e4@5, ~ b3@7, ~ a3@3",
  L: "~@2 a3 e4@2 ~ a3@2, ~ b3@2 ~@2 b3@3", M: "~@3 a4@2 ~ d4@2, ~@2 e4@7 ~ e4@5 ~, ~@2 d4@3 ~@3",
  N: "~@3 d4, ~@2 e4@4 a4@9 ~, ~@4 d4@5 ~ e4@6", O: "~@2 d4 ~@3 a3@2, ~ a3@4 d4@3, ~@3 f#4@5",
  P: "~ g#4@2 e4@2 g#4@2 ~", Q: "~@5 b3@3, ~ a3@4 ~@3, ~@4 b3@5 ~@7, ~@3 e4@5",
  R: "~@5 b3@2 a3, ~ a3@4 ~@3, ~@4 b3@5 ~@7, ~@6 e4@9 ~", S: "~@2 a4 d5@2 f#4@3, ~@2 f#4@7 ~@7",
  T: "~@5 b4@3, ~@4 b4@5 ~@7, ~@3 g#4@5", U: "~@2 b3 ~@2 b3 g3@2, c#3, ~ g3@4 ~@3, ~@3 e4@5",
  V: "~@4 [b3,g#4]@4 a#4@4 f#4@3 ~, ~@8 c#4@7 ~", W: "~@12 d4@3 ~, ~ d4@4 ~@3, ~@4 e4@4 ~@2 e4@5 ~, ~@6 a4@9 ~",
  X: "~@4 d4@2 f#4@4 ~@2 a4@3 ~, ~@2 a3@8 d4@5 ~", Y: "~@2 b3 ~@2 b3 a3@2, ~@2 a3@9 ~@5, ~@6 e4@7 ~@3",
  Z: "[g3,b3]@8 [a3,c#4,e4]@7 ~, d4@3 ~@5", // G A
  AA: "[[e4,f#4,a4]@5 ~ [e4,f#4,a4]@5 ~ [e4,f#4,a4]@9 ~ [e4,f#4,a4]@5 ~ [e4,f#4,a4]@3 ~]/2", // F#m7
  AB: "[[c#4,e4,a4]@5 ~ [c#4,e4,a4]@5 ~ [c#4,e4,a4]@9 ~ [c#4,e4,a4]@5 ~ [c#4,e4,a4]@3 ~]/2", // A
  AC: "[[e4,f#4,a4]@5 ~ [e4,f#4,a4]@5 ~ [e4,f#4,a4]@9 ~ [e4,f#4,a4]@4 [e4,f#4,a4]@2 [e4,f#4,a4]@2 ~@2]/2", // F#m7
  AD: "~@4 [b3,d4,g4]@5 ~ [b3,d4,g4]@5 ~", // G
  AE: "[[a3,d4,f#4]@8 [b3,e4,g#4]@5 ~@3 e4@28 ~@4, ~@7 e3@15 ~@2, ~@15 [a3,b3]@29 ~@4]/3", // D E Asus2
  AF: "~@6 e4@9 ~, ~@2 a3@13 ~, ~@4 b3@11 ~", AG: "~@2 a4@2 ~@2 c#5@4 a4@2 e4@3 ~, ~ e4 ~@2",
  AH: "~@3 b3@2 e4@3, ~@2 e4@7 ~@7, ~@4 c#4@5 ~@7", AI: "~@6 c#5@4 a4@3 ~@3, ~ a4@2 ~@5, ~@4 e4@9 ~@3",
  AJ: "~@5 e4@3, ~ d4@4 ~@3, ~@4 e4@5 ~@7, ~@3 a4@5", AK: "~@4 e4@2 a4 ~@3 e4@2 a4 ~@3, ~ d4@2 ~ d4@2 ~@2",
  AL: "~@4 d4@2 ~@4 d4@5 ~, f#3@3 f#4@4 ~, ~@2 b3@13 ~", AM: "~@2 e4 g#4@2 e4 ~@2, g#3@5 ~@3, ~@2 b3@11 ~@3",
  AN: "~@2 b3 ~@3 a3@2, e3, ~ a3@4 b3@3, ~@3 e4@5", AO: "~@6 b3@4 ~@2 b3@2 a3 ~, ~@2 e3@13 ~, ~ a3@2 ~, ~@10 e4@5 ~",
  AP: "~@4 d4@2 ~@6 a3@3 ~, ~@2 a3@8 d4@5 ~, ~@6 f#4@9 ~", AQ: "~@2 e4 g#4@2 e4 b4@2, ~ b3@7",
  AR: "~@4 b3@2 ~@6 g3@3 ~, c#3@3 ~, ~@2 g3@8 b3@5 ~, ~@6 e4@9 ~", AS: "a#4@3 a#4@4 ~",
  AT: "~@2 e4 ~@3 d4@2, a3@13 ~@3, ~ d4@4 e4@3, ~@6 a4@9 ~", AU: "~@2 d4@4 ~@6 a3@3 ~, a3@10 d4@5 ~, ~@6 f#4@9 ~",
  AV: "[~ c#5 a4 a4@10 ~@3]/2",
  AW: "[~@2 [e4,a4,c#5] ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~@3 e4 ~ [e4,a4,c#5]@9 ~ [e4,c#5]@3 ~ [e4,c#5] ~ [e4,a4,c#5] ~@3, ~@11 a4@2 ~@3]/2", // A C#m A
  AX: "~@2 [e4,a4,c#5]@2 [e4,a4,c#5] ~ [e4,a4,c#5] ~@3 e4 ~ [e4,a4,c#5]@4", // A
  AY: "~@2 [e4,c#5]@7 ~ [e4,c#5]@2 [e4,c#5]@2 [e4,a4,c#5] ~, ~ a4@6 ~", // C#m A
  AZ: "[[d4,e4,a4]@5 ~ [d4,e4,a4]@5 ~ [d4,e4,a4]@9 ~ [d4,e4,a4]@5 ~ [d4,e4,a4]@3 ~]/2", // Dsus2
  BA: "[~@4 f#4@2 ~@6 d4@6 ~@4 e4@4 g#4@5 ~, b3@13 ~@19, ~@2 d4@8 f#4@8 g#4@7 ~@7, ~@6 b4@11 ~@15]/2",
  BB: "[~@4 b3@2 ~@6 g3@2 ~@8 b3@4 c#4@5 ~, c#3@11 ~@7 f#4@13 ~, ~ g3@4 b3@2 a#3@4 ~@5, ~@6 e4@13 ~@13]/2",
  BC: "[~@2 e4 ~@2 e4 ~@7 a4 f#4 d4, a3@12 ~@2 a3@7 ~ a3@7 ~@3, ~@2 d4@8 ~@2 d4@7 ~ d4@9 ~@3, ~@3 a4@4 ~@2 f#4@4 ~@3]/2",
  BD: "[c#4,e4,a4]@5 ~ [e4,a4,c#5] ~@3 [e4,a4,c#5]@6", BE: "[d4,g4,b4] [c#4,e4,a4], ~@8 d#4 ~@7",
  BF: "[[d4,f#4,a4]@5 ~ [f#4,a4,c#5] ~@5 [d4,f#4,a4]@6 [d4,f#4,a4]@5 ~ [d4,f#4,a4]@7 ~]/2", // D F#m D
  BG: "[[c#4,e4,a4]@13 ~ [c#4,e4,a4]@7 ~ a4@3 ~@3 e4@3 ~, ~@11 [c#4,e4]@3 ~@2, ~@26 a4@5 ~]/2", // A C#m
  BH: "[[a3,c#4,f#4]@5 ~ [c#4,f#4,a4]@5 ~ [a3,c#4,f#4]@9 ~ [c#4,f#4,a4]@2 c#4@2 [a3,c#4,a4]@2 ~@4, ~@6 f#4 ~, ~@24 a3 ~@7]/2", // F#m A
  BI: "[b3,d4,g4]@15 ~", BJ: "[[c#4,e4,g#4]@7 ~ [c#4,f#4,a#4]@5 ~@3 d#4@28 ~@4, ~@15 [f#3,b3]@29 ~@4]/3",
  BK: "[[f#4,b4,d#5]@2 [f#4,b4,d#5]@2 [f#4,b4,d#5]@2 [f#4,b4,d#5] ~ d#5 ~ f#4 ~ [f#4,b4,d#5]@6 [f#4,b4,d#5]@3 ~ [f#4,b4,d#5] ~@3 f#4@2 [f#4,b4,d#5]@4]/2", // B
  BL: "[[f#4,b4,d#5]@2 [f#4,b4,d#5]@2 [f#4,b4,d#5] ~ [f#4,b4,d#5] ~@3 f#4 ~ [f#4,b4,d#5]@9 ~ [f#4,b4,d#5]@4 [f#4,b4,d#5]@4 ~@2]/2", // B
  BM: "[[f#4,g#4,b4]@6 [f#4,g#4,b4]@15 ~ [f#4,g#4,b4]@3 ~ [f#4,g#4,b4]@5 ~]/2", // G#m7
  BN: "~@2 e4 g#4@2 ~ b3@2, g#3@15 ~, ~ b3@4 e4@3", BO: "~@4 f#4@2 a#4@4 ~@2 c#4@3 ~, a#3@3 ~, ~@2 c#4@8 f#4@5 ~",
  BP: "[[d#4,f#4,b4]@5 ~ [d#4,f#4,b4]@16 [d#4,f#4,b4]@10]/2", BQ: "[e4,g#4,b4]@5 ~ [b3,e4,g#4]@9 ~",
  BR: "[f#4,a#4]@5 ~ [f#4,a#4]@3 ~ [f#4,a#4] ~@5, c#4@11 ~@5", BS: "~ a3 ~@4 a3@2, f#4, ~@2 c#4@3 d#4@3, ~@6 f#3@7 ~@3",
  BT: "~@3 d#4@2 ~ g#4 d#4, g#3@15 ~, ~@2 c4@4 ~@4 c4@5 ~, ~@4 g#4@7 ~@5",
  BU: "[g#4@2 g#4@2 [f#4,g#4,b4]@2 ~@4 e4@2 ~@10 e4@4 ~@2 e4@2 g#4 ~, [f#4,b4]@4 ~@2 b3@8 e4@6 g#4@5 ~ b3@5 ~, ~@12 g#4@6 b4@13 ~]/2", // G#m7 B5
  BV: "~@2 [f#4,b4,d#5]@2 [a#4,c#5] ~@3 [f#4,b4,d#5] ~@7", // B A#m B
  BW: "[f#4,b4,d#5]@3 ~ [f#4,b4,d#5]@2 [f#4,a#4,b4,c#5] ~@3 [f#4,b4,d#5] ~@5", // B F# B
  BX: "~@2 [f#4,b4,d#5]@2 [a#4,c#5] ~@3 [f#4,b4,d#5] ~@3 [f#4,a#4,c#5] ~@3", // B A#m B F#
  BY: "[f#4,d#5]@4 [f#4,f#5]@2 [f#4,d#5] ~@3 [f#4,b4,c#5]@2 ~@4, b4@7 ~@9", // D#m F# D#m F#sus4
  BZ: "[f#4,b4,d#5]@4 [f#4,b4,d#5]@2 [f#4,a#4,b4,c#5] ~@3 [f#4,b4,d#5] ~@5", // B F# B
  CA: "[f#4,d#5]@4 [f#4,f#5]@2 [f#4,d#5] ~@3 [f#4,b4,c#5]@2 ~@2 [f#4,b4,d#5] ~, b4@7 ~@9", // D#m F# D#m F#sus4 B
})).s("gm_acoustic_guitar_steel").gain(0.32).pan(0.6)

// bass · fretless bass
const bass_2 = note(`<
  ~@6 A@2 B@2 C D E F G@2 E H I J C K L@2 M@2 A@2 M@2 N@2 C O E P Q R E S I J C T U V W@2 X Y Z@2 AA AB AC AD A@2 B@2 C
  D E F G@2 E H I J C K AE@2 M@2 B@2 AF AG E AH I J AI AJ U V AK@2 U AL AM@2 AA AN AO AP AQ@2 AR@2 T AS AT AU AV@2 AT AW
  AX AY T AZ BA@2 BB BC BD@2 BE@2 BF@2 BG@2 BH@2 BB BI BD@2 BJ BK BD@2 BB BL
>`.pickRestart({
  A: "[a1@6 f#1 f#1@7 e1 f#1]/2", B: "[a1@6 c#2@5 ~ f#1@2 f#1@10 e1@8]/2", C: "d2@5 ~ d2 ~ d2@7 ~",
  D: "d2@5 ~ d2@2 c#2@8", E: "b1@5 ~ b1 ~ b1@8", F: "e1@5 ~ e1 ~ e1@3 ~ e1@3 ~",
  G: "[a1@6 c#2@6 f#1@2 f#1@7 ~ f#1 ~ f#1@8]/2", H: "e2@5 ~ e2 ~ e2@4 d2@4", I: "c#2 g2", J: "f#2 e2",
  K: "e2@5 ~ e2 ~ e2@4 e1@4", L: "[a1@6 c#2@3 ~@3 f#1@2 f#1@14 e1@2 f#1@2]/2", M: "[a1@3 c#2@3 f#1 f#1@7 e1 f#1]/2",
  N: "[a1@6 f#1 f#1@5 e1@4]/2", O: "d2@5 ~ d2@2 c#2@6 a1 a#1", P: "e1@5 ~ e1@4 e2@4 e1@2", Q: "a1@5 ~ a1 ~ a1@6 e1@2",
  R: "f#1@3 f#1@2 f#1@2 a1", S: "e1@5 ~ e1 ~ e1@4 e2@2 d2@2", T: "e2@6 e2 ~ e2@8", U: "a1@5 ~ a1 ~ a1@8",
  V: "d2 b1 c#2 e2", W: "[f#2@6 a2@6 d2@9 ~ d2 ~ d2@8]/2", X: "a1@5 ~ a1 ~ a1@6 e2 ~", Y: "e2@6 a1 ~ a1@4 e2@4",
  Z: "[d2@6 a2@6 d2@9 ~ d2 ~ d2@4 f#1@4]/2", AA: "g1@5 ~ g1 ~ g1@8", AB: "e1@5 ~ e1@2 e2@4 e1@4", AC: "a1",
  AD: "f#1@15 ~", AE: "a1/2", AF: "d1@3 d2 d2@3 a1", AG: "a1@3 d2@2 d2 c#2@2", AH: "e1@5 ~ e1@2 e1@2 e2@2 d2@4",
  AI: "d2@3 d1 d1@2 a1 d2", AJ: "e2@3 e1 e1@2 e2 b1", AK: "[f#2@6 a2@6 d2@9 ~ d2 ~ d2@4 e1@2 f#1@2]/2",
  AL: "a1@5 ~ a1 ~ a1@4 c#2@4", AM: "[d2@6 a2@6 d2@9 ~ d2 ~ d2@4 b1@2 a1@2, ~@28 a1 ~@3]/2", AN: "f#1 f#2", AO: "b1",
  AP: "g#1@15 ~", AQ: "[b1@6 g#1 g#1@7 f#1 g#1]/2", AR: "[b1@6 d#2@5 ~ g#1@2 g#1@10 f#1@8]/2", AS: "e2@5 ~ e2@2 d#2@8",
  AT: "c#2@5 ~ c#2 ~ c#2@8", AU: "f#1@5 ~ f#1 ~ f#1@3 ~ f#1@3 ~", AV: "[b1@6 d#2@6 g#1@2 g#1@7 ~ g#1 ~ g#1@8]/2",
  AW: "f#2@5 ~ f#2 ~ f#2@4 e2@4", AX: "d#2 a2", AY: "g#2 f#2", AZ: "f#2@5 ~ f#2 ~ f#2@4 f#1@4",
  BA: "[b1@6 d#2@6 g#1@2 g#1@7 ~ g#1@2 f#1@6 f#1@2]/2", BB: "e1@5 ~ e1 ~ e1@8", BC: "f#1@5 ~ f#1@3 ~ f#1 ~ c#2@4",
  BD: "[b1@6 d#2@6 g#1@2 g#1@7 ~ g#1@2 g#1@4 f#1@4]/2", BE: "[e1@6 b1@4 e1@4 f#1@7 ~ f#1@4 c#2@2 f#2@4]/2",
  BF: "[b1@6 d#2@6 g#1 ~ g#1@7 ~ g#1@2 f#1@4 f#1@4]/2", BG: "[e1@5 ~ e1@8 f#1@4 f#1 ~@3 f#1@4 c#2@2 f#2@4]/2",
  BH: "[b1@6 d#2@6 g#1@9 ~ g#1@2 g#1@4 f#1@4]/2", BI: "f#1@5 ~ f#1 ~ f#1@2 c#2@6", BJ: "e1@3 b1@3 e1@2",
  BK: "f#1@3 f#1@2 c#2 f#2@2", BL: "f#1@5 ~ f#1@4 f#1@4 b1@2",
})).s("gm_fretless_bass").gain(0.48)

// other · pad new age
const pad_new_age = note("<~@18 A B C ~@61 A B C ~@25 D E F ~@25>".pickRestart({
  A: "c#4!2 e4!2 g4!2 b4!2 c#5!2 e5!2 g5!2 b5!2", B: "a#4!2 c#5!2 e5!2 f#5!2 a#5 ~ a#5 ~@5", C: "f#6 ~@15",
  D: "d#4!2 f#4!2 a4!2 c#5!2 d#5!2 f#5!2 a5!2 c#6!2", E: "c5!2 d#5!2 f#5!2 g#5!2 c6 ~ c6 ~@5", F: "g#6 ~@15",
})).s("gm_pad_new_age").gain(0.11).pan(0.3)

// other · electric guitar jazz
const electric_guitar_jazz = note("<~@45 A B@2 C@2 D@2 E F ~@33 G H@2 I@2 D@2 J K ~@42>".pickRestart({
  A: "[d3,d4]@4 [b2,b3]@4 [c#3,c#4]@4 [e3,e4]@3 e3", B: "[[f#3,f#4]@11 ~ [f#3,f#4]@2 [e3,e4]@2, e4 ~@23 [e3,e4] ~@7]/2",
  C: "[[c#3,c#4]@5 ~ [c#3,c#4] [e3,e4], ~@24 [b2,b3] ~@7]/2", D: "[[f#3,f#4]@11 ~ [e3,e4]@2 [c#3,c#4]@2]/2",
  E: "[g3,g4]@6 [f#3,f#4]@5 ~ [f#3,f#4]@4, ~@12 [e3,e4] ~@3", F: "[e3,e4] ~ [e3,e4]@11 ~@3",
  G: "[d3,d4]@4 [b2,b3]@4 [c#3,c#4]@4 [e3,e4]@3 ~", // D B C# E
  H: "[[f#3,f#4]@23 ~ [f#3,f#4]@4 [e3,e4]@4, [e3,e4] ~@23 [e3,e4] ~@7]/2", // F# E
  I: "[[c#3,c#4]@11 ~ [c#3,c#4]@2 [e3,e4]@2, ~@24 [b2,b3] ~@7]/2", J: "[g3,g4]", K: "[g#3,g#4]@8 [a#3,a#4]@7 ~",
})).s("gm_electric_guitar_jazz").gain(0.28).pan(0.4)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@59 A@4 B@4 C@7 ~@3 D@3 E F G H I@3 J K@7 L M@2 N@4 O@2 P Q R@3 Q S T@3 U@4 ~ V@3 ~@16
>`.pickRestart({
  A: "[~@5 d4@3, ~@15 e4@25 ~@24, ~ f#3@3]/4",
  B: "[[g#3,b3,e4]@15 ~ e3@32 [f#3,d4]@16, ~@15 a3@49, ~@15 c#4@32 ~@17]/4", // E D
  C: "[~@8 g#4@4 ~@4 g3@15 ~ [a#3,c#5]@15 d4@32 ~ [e3,c#4,e4]@27 ~@5, [b3,e4]@33 ~@14 [a3,a4]@59 ~@6, g#3@17 ~@15 f#3@48 ~@32, ~@12 b4@20 f#4@45 ~@35]/7", // A#m C#m E5 A
  D: "[~ e5@2 f#5@2 a5]/3", E: "d6", F: "b5@15 ~", G: "g5 f#5 e5 d5", H: "c#5 b4 a#4 g4",
  I: "[d4@31 ~ c#4@16, [a3,e4], f#4 ~@2]/3", J: "g4 f#4 [a3,c#4,e4]@2, [b3,d4]@9 ~@7",
  K: "[e4@4 f#4@4 e4@4 e3@4 ~@4 a5@4 b5 a5 g5 f#5, a3@97 ~@15, f#3@2 c#4@4 [g3,b3,d4], ~@64 f#3@33 ~@15]/7", // G
  L: "e5 d5 c#5 a#4, c#4, [g#3,e4] [a#3,f#4]", M: "[[f#3,b3,d#4,f#4]@15 ~]/2",
  N: "[d#4@3 c#4@5 d#4@3 c#4@3 d#4@2, [f#3,b3]]/4", O: "[d#4,f#4,b4]/2", P: "[b3,e4,g#4]", Q: "[c#4,f#4,a#4]",
  R: "[[d#4,f#4]@2 [e4,g#4], b3]/3", S: "[c#4,f#4,a4,c#5]", T: "[[d#4,c5,d#5] [f#4,b4,e5] [b3,e4,f#5], g#4]/3",
  U: "[c#5@24 ~@23 [c#4,e4]@16 ~, f#4@63 ~, d#4@3 ~, b3 ~@23 f#5@39 ~]/4", V: "[d#5@6 c#5@4 b4@4 f#4@25 ~@9]/3",
})).s("gm_string_ensemble_2").gain(0.24).pan(0.4)
// … 88 more lines

More by Cocciante