Strudelify

Blind Love

Bob Seger

KeyB♭ majorTempo102 bpm
0:00/0:00
// Blind Love — Bob Seger
// 102 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 113 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(102/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 · electric bass finger
const bass = note(`<
  ~@2 A B C D A E F G A H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE R AF AG AH AI A E F AJ AK H I J K AL M N O
  P Q R S T U V AM X Y Z AN AB AC AD AO R AF AP AQ AR A E F G A AS I AT K L M N O P AU R AV T U V AM AW AX Z AN AB AY AZ
  AO R BA AP BB BC AC BD@3 ~
>`.pickRestart({
  A: "bb1@10 ~@2 bb1@8 ~@2 d1 ~", B: "eb1@10 ~@2 eb1@9 ~ eb1 ~", C: "bb1@11 ~ f1@3 ~@3 g1@3 ~@3",
  D: "bb1@9 ~ g1@2 f1 ~@3 g1@2 f1 ~@3 f1 ~", E: "eb1@8 ~@2 eb1 ~ eb1@8 ~@2 eb1 ~", F: "bb1@9 ~ d1 ~ f1@9 ~@3",
  G: "bb1@11 ~ f1@6 d1@3 ~ f1 ~", H: "eb1@8 ~@2 eb1 ~ eb1@8 ~@2 g1 ~", I: "ab1@10 eb1 ~ g1@9 ~ eb1 ~",
  J: "f1@8 ~@2 f1 ~ c1@5 ~ f1@4 ~@2", K: "bb1@8 ~@2 bb1 ~ bb1@6 d1@4 ~@2", L: "eb1@7 ~@3 eb1 ~ eb1@5 ~ eb1@6",
  M: "bb1@7 ~@3 bb1 ~ bb1@6 d1@5 ~", N: "eb1@10 ~@2 eb1@3 ~@3 eb1@4 ~@2", O: "bb1@11 ~ bb1@8 c1@2 d1@2",
  P: "eb1@9 ~@3 eb1@10 g1 ~", Q: "ab1@7 ~ eb1 ~ ab1@2 g1@7 ~ eb1 ~ g1@2", R: "f1@9 ~ f1 ~ c1@3 ~@3 d1@3 ~@3",
  S: "eb1@8 ~@2 eb1 ~ bb1@9 ~@3", T: "eb1@11 ~ eb1 ~@3 eb1 ~ d1@3 ~@3", U: "bb1@8 f1 ~ bb1 ~ f1@8 ~@2 f1 ~",
  V: "bb1@9 ~@3 d1@5 ~ eb1@4 ~@2", W: "f1@9 ~ f1 ~ c1@9 ~ eb1 ~", X: "f1@9 ~ f1 ~ c1@4 f1 ~ eb1@4 f1 ~",
  Y: "bb1@8 ~@2 bb1 ~ eb1@5 ~ eb1@5 ~", Z: "bb1@8 ~@2 bb1@2 f1@3 ~ g1 ~ f1@3 ~ d1 ~", AA: "eb1@11 ~ bb1@10 ~@2",
  AB: "eb1@7 ~@3 eb1 ~ d1@3 ~@3 c1@3 ~@3", AC: "bb1@8 ~@2 bb1 ~ f1@3 ~@3 f1@3 ~@3",
  AD: "bb1@8 ~@2 bb1 ~ d1@6 eb1@3 ~ eb1 ~", AE: "f1@8 ~@2 f1 ~ c1@10 eb1 ~", AF: "eb1@8 ~@2 eb1 ~ bb1@10 eb1 ~",
  AG: "eb1@3 ~@3 eb1@4 ~@2 d1@2 ~@4 c1@3 ~@3", AH: "bb1@8 ~@2 bb1 ~ f1@11 ~", AI: "bb1@6 d1@3 ~ f1@2 g1@2 ~@4 a1@2 ~@4",
  AJ: "bb1@6 f1@3 ~ f1 ~ g1@2 ~@4 a1@2 ~@4", AK: "bb1@10 ~@2 bb1@5 ~ d1@6", AL: "eb1@7 ~@3 eb1 ~ eb1@10 ~@2",
  AM: "f1@9 ~ f1 ~ c1@5 ~ f1@4 eb1 ~", AN: "eb1@11 ~ bb1@5 ~ bb1@5 ~", AO: "f1@8 ~@2 f1 ~ c1@6 c1@4 eb1 ~",
  AP: "eb1@3 ~@3 eb1@4 ~@2 d1@4 ~@2 c1@4 ~@2", AQ: "bb1@8 ~@2 bb1 ~ f1@5 ~ f1@2 ~@4",
  AR: "bb1@5 ~ f1@3 ~@3 g1@2 ~@4 a1@4 ~@2", AS: "eb1@8 ~@2 eb1 ~ eb1@5 ~ g1@5 ~", AT: "f1@8 ~@2 f1 ~ eb1@5 ~ f1@4 ~@2",
  AU: "ab1@8 ~@2 ab1@2 g1@7 ~ eb1 ~ g1@2", AV: "eb1@8 ~@2 eb1 ~ bb1@5 ~ bb1@2 ~@4",
  AW: "f1@9 ~ f1 ~ c1@4 ~@2 eb1@4 ~@2", AX: "bb1@7 ~ c1 ~ d1 ~ eb1@7 ~ g1 ~ a1 ~", AY: "bb1@8 ~@2 bb1 ~ f1@10 ~@2",
  AZ: "bb1@8 ~@2 bb1 ~ d1@5 ~ eb1@5 ~", BA: "eb1@8 ~@2 eb1 ~ eb1@5 ~ eb1@3 ~ eb1 ~",
  BB: "bb1@8 ~@2 bb1 ~ d1@5 ~ f1@4 ~@2", BC: "eb1@9 ~ eb1 ~ eb1@10 ~@2", BD: "[bb1 ~@2 f1 ~@2 bb1@30]/3",
})).s("gm_electric_bass_finger").gain(0.3).pan(0.4)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@2 A B A@3 B A@3 B C D A B A B A B C D B@2 A@2 D@2 E F B@2 A@2 D@2 B@2 A@3 B A@3 B C D A B A B A B C D B@2 A@2 D@2 E
  F B@2 A@2 D@2 B@2 A@3 B A@3 B C D A B A B A B C D B@2 A@2 D@2 E F B@2 A@2 D@2 B@2 A B A G@3 ~
>`.pickRestart({
  A: "[f3,bb3,d4,f4]@5 ~ [f3,d4]@4 f4@2 [f3,d4,f4]@5 ~ [f3,f4]@4 [bb3,d4]@2, ~@6 [bb3,f4]@3 ~ bb3@7 ~ [bb3,d4]@3 ~@3, ~@10 d4 ~@13", // Bb Dm F Bb Bb5 Bb
  B: "[g3,bb3,eb4,g4]@5 ~ [g3,eb4]@4 g4@2 [g3,eb4,g4]@5 ~ [g3,g4]@4 [bb3,eb4]@2, ~@6 [bb3,g4]@3 ~ bb3@7 ~ [bb3,eb4]@3 ~@3, ~@10 eb4 ~@13", // Eb Cm G Eb5 Eb Eb5
  C: "[ab3,c4,eb4,ab4]@5 ~ [ab3,eb4]@4 ab4@2 [ab3,eb4,g4]@5 ~ [ab3,g4]@4 [c4,eb4]@2, ~@6 [c4,ab4]@3 ~ c4@7 ~ [c4,eb4]@3 ~@3, ~@10 eb4 ~@13", // Ab Ab5 Abmaj7 Cm Fm Cm
  D: "[f3,a3,c4,f4]@5 ~ [f3,c4]@4 f4@2 [f3,c4,f4]@5 ~ [f3,f4]@4 [a3,c4]@2, ~@6 [a3,f4]@3 ~ a3@7 ~ [a3,c4]@3 ~@3, ~@10 c4 ~@13", // F F5 F Am Dm Am
  E: "[f3,bb3,d4,f4]@5 ~ [f3,d4]@4 f4@2 [g3,eb4,g4]@5 ~ [g3,g4]@4 [bb3,eb4]@2, ~@6 [bb3,f4]@3 ~ bb3@7 ~ [bb3,eb4]@3 ~@3, ~@10 d4 ~@13", // Bb Dm Cm G Eb5 Bb5 Eb5
  F: "[f3,bb3,d4,f4]@5 ~ [d4,f4]@4 f4@2 [f3,d4,f4]@5 ~ [f3,f4]@4 [bb3,d4]@2, ~ [f3,ab3] ~@2, ~@10 bb3@7 ~ [ab3,d4]@3 ~@3, ~@10 d4 ~@13", // Bb Dm F Bb Fm Abdim
  G: "[[f3,bb3,d4,f4]@5 ~ [f3,a3,c4,f4]@5 ~ [bb3,d4,f4]@60, ~@11 f3@60 ~]/3", // Bb F Bb
})).s("gm_acoustic_guitar_steel").gain(0.25).pan(0.7)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  ~@2 A B A@3 B A@3 B C D A B A B A B C D B@2 A@2 D@2 E F B@2 A@2 D@2 B@2 A@3 B A@3 B C D A B A B A B C D B@2 A@2 D@2 E
  F B@2 A@2 D@2 B@2 A@3 B A@3 B C D A B A B A B C D B@2 A@2 D@2 E F B@2 A@2 D@2 B@2 A B A G@3 ~
>`.pickRestart({
  A: "[d4,f4,bb4]@4 d4@2 f4@4 [bb3,f4,bb4]@2 [d4,f4]@3 ~ d4@2 [d4,bb4]@4 [bb3,f4]@2, bb3@3 ~ [bb3,bb4]@6 ~@2 [bb3,bb4]@6 bb3@3 ~@3, ~@6 d4@6 ~@4 f4@5 ~@3", // Bb Bb5 Dm Gm Bb5 Bb
  B: "[eb4,g4,bb4]@4 eb4@2 g4@4 [bb3,g4,bb4]@2 [eb4,g4]@3 ~ eb4@2 [eb4,bb4]@4 [bb3,g4]@2, bb3@3 ~ [bb3,bb4]@6 ~@2 [bb3,bb4]@6 bb3@3 ~@3, ~@6 eb4@6 ~@4 g4@5 ~@3", // Eb Eb5 Eb Bb
  C: "[eb4,ab4,c5]@4 eb4@2 ab4@4 [c4,ab4,c5]@2 [eb4,g4]@3 ~ eb4@2 [eb4,c5]@4 [c4,g4]@2, c4@3 ~ [c4,c5]@6 ~@2 [c4,c5]@6 c4@3 ~@3, ~@6 eb4@6 ~@4 g4@5 ~@3", // Ab Fm Eb Cm C5 C
  D: "[c4,f4,a4]@4 c4@2 f4@4 [a3,f4,a4]@2 [c4,f4]@3 ~ c4@2 [c4,a4]@4 [a3,f4]@2, a3@3 ~ [a3,a4]@6 ~@2 [a3,a4]@6 a3@3 ~@3, ~@6 c4@6 ~@4 f4@5 ~@3", // F Dm F5 F Dm A
  E: "[d4,f4,bb4]@4 d4@2 f4@4 [bb3,f4,bb4]@2 [eb4,g4]@3 ~ eb4@2 [eb4,bb4]@4 [bb3,g4]@2, bb3@3 ~ [bb3,bb4]@6 ~@2 [bb3,bb4]@6 bb3@3 ~@3, ~@6 d4@6 ~@4 g4@5 ~@3", // Bb Bb5 Eb Eb5 Eb Bb
  F: "[d4,f4,bb4]@4 d4@2 [f4,bb4]@4 [bb3,f4,bb4]@2 [d4,f4]@3 ~ d4@2 [d4,ab4,bb4]@4 [bb3,f4]@2, bb3@3 ~ [bb3,ab4]@6 ~@2 [bb3,ab4,bb4]@6 bb3@3 ~@3, ~@6 d4@6 ~@4 f4@5 ~@3", // Bb Bb5 Dm Bb7 Bb5 Bb7
  G: "[[d4,f4,bb4]@2 [bb3,d4,bb4] [a3,c4,f4,a4]@2 ~ [bb3,d4,f4,bb4]@30, bb3 ~@23]/3", // Bb F Bb
})).s("gm_acoustic_guitar_steel").gain(0.16).pan(0.3)

// chords · piano
const piano = note(`<
  ~@2 A B C D E B C F E B G H E B E B E B G H I J K L M N O P Q R S T U V W X Y Z E B AA AB AC AD G AE AF AG AH B AI AD
  G H I J K L M N O P Q R S T U V W X Y AJ E B AA AB AC AD G AE AF AG AH B AI AD G H I J K L M N O P Q R S T U V W X Y
  AK AL AM@3 ~
>`.pickRestart({
  A: "~@3 [f3,bb3,d4]@5 ~ [f3,bb3,d4]@3", B: "~@3 [bb3,eb4]@2 ~ bb3@2 ~ bb3@3, g3@7 ~@2 g3@2 ~, ~@4 eb4@3 ~",
  C: "~@3 [f3,d4]@5 ~ [f3,bb3,d4]@3, ~@2 bb3@5 ~@5", D: "~@6 bb3@5 ~ bb3@5 ~ [f3,bb3,d4]@6, ~@3 [f3,d4]@5 ~@4",
  E: "f3@5 ~ [f3,bb3]@5 ~ bb3@5 ~ [f3,bb3,d4]@6, ~@3 d4@5 ~@4", // Bb5 Bb
  F: "bb3@5 ~ bb3@5 ~ bb3@5 ~ [f3,bb3,d4]@6, ~@3 [f3,d4]@5 ~@4", // Bb Dm
  G: "[eb3,ab3]@5 ~ [eb3,ab3]@5 ~ g3@5 ~ [eb3,g3,c4]@6, ~@3 c4@5 ~@4", // Ab5 Cm
  H: "a3@5 ~ a3@5 ~ a3@5 ~ [f3,a3,c4]@6, ~@3 [f3,c4]@5 ~@4", // F F5
  I: "eb3@5 ~ [g3,bb3]@5 ~ bb3@3 ~ bb3@2 g4@4 f4@2, ~@3 [eb4,eb5,g5]@5 ~ [g3,eb4]@3", // Gm Eb Cm
  J: "eb4@5 ~ [bb3,eb4]@4 ~@2 bb3@4 ~@2 bb3@6, g3@7 ~@2 g3@2 ~, ~@10 eb5@7 ~@7, ~@4 eb4@3 ~", // Eb5
  K: "f3@5 ~ [f3,bb3]@5 ~ bb3@4 ~@2 bb4@2 c5@2 f5@2, ~@6 d4@10 f4@5 ~@3, ~@3 [f3,bb3,d4]", // Bb5 Bb
  L: "[f3,bb3,d5]@5 ~ [f3,bb3,bb4,d5]@5 ~ [bb3,d5]@5 ~ [f3,bb3,d4,d5]@6, ~@3 d4@5 ~@4", // Bb
  M: "a3@5 ~ a3@4 c5@2 a3@5 ~ a3@4 bb3@2, a4@11 ~ a4@2 ~@10, ~@3 [f3,c4]@5 ~ [f3,c4]@3, ~@2 c5 ~@5", // F5
  N: "[f3,a3]@5 ~ a3@4 ~@2 a3@5 ~ [f3,a3,c4]@6, ~@3 [f3,c4]@5 ~@4, ~@10 f4@11 ~@3", // F F5
  O: "[f3,bb3,f4]@5 ~ [f3,bb3,d4]@6 [bb3,eb4,g4]@6 [g3,bb3,eb4,g4]@6, ~@3 f4@2 ~@7", // Bb5 Bb Eb
  P: "ab3@5 ~ [f3,bb3,d4]@6 [ab3,bb3,d4,ab4]@4 f4@2 ab4@2 bb4@2 d5@2, f4@5 ~@4 [f3,bb3,d4]@3, ~@3 ab4@2 ~@7", // Bb Bb7 Bb
  Q: "[eb3,g3,bb4,eb5]@6 [g3,bb3,g5]@6 [bb3,bb4]@4 g5@2 bb4@4 eb5 ~, ~@3 eb4@5 ~ [g3,bb3,eb4]@3", // Eb Gm Bb Eb
  R: "g5@5 ~ [bb3,eb4]@4 ~@2 eb5@4 ~@2 [g3,g4]@5 ~, g3@7 ~@5, f5 ~@5 f5@6 eb4@9 ~@3, ~@12 bb3@3 ~ bb3@5 ~@3", // Eb5 G
  S: "[f3,d4]@4 ~@2 [f3,bb3]@5 ~ [bb3,bb4]@4 ~@2 bb4@2 d5@2 f5@2, ~@2 f4@3 ~@3 f4@2 ~@2, ~@3 d4@5 ~ [f3,bb3,d4]@3", // Dm Bb5 Bb
  T: "[f3,bb3,d5]@6 [f3,bb3,c5]@6 bb3@5 ~ [f3,bb3,d4]@6, ~@3 d4@5 ~ g4@2 ~", // Bb Fsus4 Bb
  U: "[c3,a3]@5 ~ f3@6 a3@4 ~@2 [a3,c4]@4 bb3@2, ~@3 c4@5 ~@4, ~@6 a3@5 ~@5 f3@5 ~@3", // F Am
  V: "[f3,a3]@5 ~ a3@5 ~ a3@5 ~ [f3,a3,c4]@6, ~@3 [f3,c4]@5 ~@4", // F F5
  W: "[eb3,g3]@5 ~ [g3,bb3]@5 ~ bb3@5 ~ [g3,bb3,eb4]@6, ~@3 eb4@5 ~@4", // Eb Gm Eb
  X: "g3@2 ~ g4@3 bb4@3 [g3,c5]@2 bb4, ~@4 eb4@6 ~@2 eb4@9 ~@3, ~@3 bb3@2 ~ bb3@2 ~ bb3@3", // C5
  Y: "c5 d5@5 [f3,bb3,f4]@5 ~ [bb3,f4]@5 ~ f4@4 g4@2, [f3,d4]@5 ~ d4@10 ~@2 [f3,bb3,d4]@6", // Bb5 Dm Bb
  Z: "[f3,bb3]@2 f4 f5 d5 c5 bb4 g4 f4 [bb3,d4] c4 bb3, f4@3 ~@3 d4@10 ~@8, ~@6 [f3,bb3]@5 ~ bb3@5 ~ f3@6", // Bb5 Bb Bb5
  AA: "~@3 [f3,d4]@5 ~ f4@2 g4, ~@2 bb3@5 ~@2 [f3,bb3,d4]@3, ~@4 d5@5 ~@15", // Dm Bb
  AB: "[bb3,f4]@5 ~ bb3@4 ~@2 bb3@4 c5@2 bb4@3 ~ g4@2, ~@3 [f3,d4]@5 ~ [f3,bb3,d4]@3, ~@10 f4@5 ~@9", // Bb5 Dm Bb
  AC: "[f3,f4]@5 ~ [f3,bb3]@5 ~ bb3@4 ~@2 bb4@2 a4@2 ab4@2, ~@3 d4@5 d4@2 ~@2, ~@3 [f3,bb3]", // F Bb5
  AD: "g4@5 ~ [bb3,eb4]@4 ~@2 bb3@4 ~@2 bb3@6, g3@7 ~@2 g3@2 ~, ~@4 eb4@3 ~", // Eb5
  AE: "a3@5 ~ a3@3 ~@3 c5@6 [f3,a3,c4]@6, ~@3 [f3,c4]@5 ~@4, ~@5 a4@4 ~@3, ~@10 a3@5 ~@9", // F F5
  AF: "f3@4 ~@2 f3@5 ~ bb3@5 ~@5 bb5@2, ~@4 bb3@5 ~@9 [f3,bb3,d4]@6, ~@3 d4@5 ~@4", // Bb
  AG: "[eb5,g5]@4 ~@2 [bb3,eb4,eb5,g5]@4 ~@2 [bb3,bb5]@5 ~ [g3,eb5,g5]@4 ~@2, g3@7 ~@2 bb3@3, ~@4 eb4@3 ~", // Eb Bb Cm
  AH: "f3@4 ~@2 f3@5 ~ bb3@5 ~ [f3,bb3,d4]@6, ~@4 bb3@5 ~@15, ~@3 d4@5 ~@4", // Bb
  AI: "f3@4 ~@2 f3@5 ~ bb3@4 f4@2 bb4@3 ~ bb4@2, ~@4 bb3@5 ~@9 [f3,bb3,d4]@6, ~@3 d4@5 ~@4", // Bb
  AJ: "[f3,bb3,f4]@6 [f3,bb3]@5 ~ bb3@5 ~ [f3,bb3,d4]@6, ~@3 d4@5 ~@4", // Bb5 Bb
  AK: "[g3,bb3,bb4]@6 [g3,bb3]@5 ~ bb3@5 ~ [g3,bb3,eb4]@6, ~@3 eb4@5 ~@4", // Gm Eb
  AL: "[bb3,d4]@5 ~ [f3,bb3]@4 d4@2 bb3@4 ~@2 [f3,bb3]@5 ~, ~@6 d4@3 ~@7 d4@6 ~@2", // Bb Bb5
  AM: "[[f3,bb3,d4]@5 ~ [f3,a3,c4,eb4]@5 ~ [f3,bb3,d4]@60]/3", // Bb F7 Bb
})).s("gm_piano").gain(0.2)

// chords · fiddle
const fiddle = note("<~ A B@2 C@2 ~@67 D E F@2 G@2 H I@2 J K L@2 M N O@2 ~@15 P E Q@2 ~@4>".pickRestart({
  A: "~@10 bb4 ~ [bb4,f5] ~@3 bb4 ~ [bb4,eb5] ~@3 bb4 ~", // Bb5 Eb5
  B: "[d5@15 ~ f5@2 d5@2 c5@2 ~@2 g4@17 ~ g4@6, f4 eb5, bb4@9 ~@2 bb4@10 ~@3]/2",
  C: "[f4@3 eb4 d4@3 ~, [bb4,d5]@7 ~]/2", D: "~@12 [bb4,d5] ~@5 [c5,eb5] ~@5", E: "f5@5 bb4@7, d5",
  F: "[[bb4,eb5]@3 ~ [bb4,eb5]@2 ~@2 [bb4,eb5]@3 ~ [bb4,eb5]@4 d5@2 c5@4 ~@2 d5@22 [c5,eb5]@2, ~@11 bb4@12 ~]/2", // Eb5 Cm
  G: "[[bb4,d5]@9 ~@3 [bb4,d5]@4 [c5,eb5]@6 d5@12 ~@2 bb5@10 bb4@2, ~@11 f5@12 ~, ~@17 d5@6 ~]/2", // Bb Cm
  H: "[eb5,g5]@2 [d5,f5] [eb5,g5]@2 [f5,bb5] [eb5,g5]@2 [d5,f5] [eb5,g5]@2 [d5,f5]", // Eb Dm Eb Bb5 Eb Dm Eb Dm
  I: "[eb5@12 f5@5 f5 [d5,f5] ~ f4 [c5,eb5] ~ f4, c5@17 ~@7]/2", J: "[d5,f5]@11 ~ [d5,f5]@4 [c5,eb5]@4 [bb4,d5]@4",
  K: "eb5@11 [eb5,g5], bb5", L: "[[d5,f5]@9 [d5,bb5]@2 eb5 eb5@12, ~@11 g5@13]/2",
  M: "[bb4,d5]@2 [c5,eb5] [d5,f5]@2 [f5,bb5] [g5,c6]@2 [f5,bb5] [eb5,g5]@2 [d5,f5]", // Bb Cm Dm Bb5 C5 Bb5 Eb Dm
  N: "[eb5,g5]@7 ~@3 [d5,f5]@2 [d5,f5]@4 [c5,eb5]@2 [bb4,d5]@4 [d5,f5]@2", O: "[[c5,eb5]@5 ~@3]/2",
  P: "~@10 bb4 ~ [bb4,eb5] ~@5 [bb4,eb5] ~@5", // Eb5
  Q: "[[bb4,eb5]@3 ~ [bb4,eb5]@2 ~@2 [bb4,eb5]@3 ~ [bb4,eb5]@4 d5@2 c5@4 ~@2 d5@24, ~@11 bb4@13]/2", // Eb5
})).s("gm_fiddle").gain(0.25).pan(0.4)

// drums · kick
const kick = s("bd").struct("<~@2 [x ~@4 x!2 ~@5]!107 [x!2] ~@3>").gain(0.3)

// drums · rim
const rim = s("rim").struct("<~@2 [~ x ~ x]!107 [~ x ~@2] ~@3>").gain(0.3)

// drums · hihat
const hihat = s("hh").struct("<~@2 [x ~ x!2 ~ x!2 ~ x!2 ~ x]!107 [x ~ x!2 ~@2 x ~@5] ~@3>").gain(0.25)

stack(bass, acoustic_guitar_steel, acoustic_guitar_steel_2, piano, fiddle, kick, rim, hihat)

More by Bob Seger