Strudelify

I Was Born to Love You

Queen

KeyA♭ majorTempo130 bpm
0:00/0:00
// I Was Born to Love You — Queen
// 130 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 161 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/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 C D E F@3 G B C H I J@2 ~@4 K L M N O P Q R K L M N O S T U V W X@2 Y Z AA AB S@2 L@2 AC S P@2 S AD K L M N O P Q
  R K L M N O S AE AF AG AH AI AJ AK AI AL AM AN AO@2 P@2 S AP S AQ K L M N O P Q R L AR AC AS P AT S AU K L M N O P Q R
  K L M N O S AV AW O S AX AY O AZ ~@2 BA ~ BB K AV K AV K AV K AV M@2 BC@2 K AV K AV O P O P M@2 BC@2 K L M N O P Q BD
>`.pickRestart({
  A: "bb3", B: "c4", C: "db4@7 ab3", D: "db3@10 ab3 ~@3 ab3@2", E: "bb3@7 f3", F: "[bb2@5 f3@17 ~ c4]/3",
  G: "ab3@5 g3@2 bb3", H: "db3", I: "bb2@3 f3 c4@4", J: "eb3", K: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1@2 ab1 ~ ab1 ~",
  L: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", M: "db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~ db2 ~",
  N: "c2@3 db2@3 c2@2", O: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1@2 bb1 ~ bb1 ~",
  P: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~", Q: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ db2 ~ db2 ~ db2 ~ db2 ~",
  R: "c2 ~ c2 ~ c2 ~ c2 ~ bb1 ~ bb1@2 bb1 ~ bb1 ~", S: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~",
  T: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ eb2 ~", U: "ab1 ~ ab1@2 c2@2 eb2@2 ab2@2 eb2@2 c2@2 ab1@2",
  V: "ab1@5 ~ ab1@9 ~", W: "ab1@5 ~ ab1@10", X: "c2@5 ~ c2@9 ~", Y: "db2@5 ~ db2@9 ~",
  Z: "db2@5 ~ db2@4 ab2@2 db2@2 c2@2", AA: "bb1@5 ~ bb1@9 ~", AB: "bb1@5 ~ bb1@8 ~@2",
  AC: "f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~", AD: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~",
  AE: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ eb2 ~ ab2 ~ eb2 ~", AF: "ab1 ~ ab1@2 c2@2 eb2@2 ab2@2 eb2@2 c2@2 bb1@2",
  AG: "ab1@3 ab1", AH: "db2@7 db2", AI: "db2", AJ: "ab1", AK: "g1@3 ab1@5", AL: "d2@3 bb2",
  AM: "ab1@2 ~@2 ab1@2 ~@2 ab1@3 ~ ab1@3 ~", AN: "g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~", AO: "f1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~",
  AP: "eb3 ~ eb3 ~ eb3 ~ eb3@2 eb3 ~ eb3 ~ eb3 ~ eb3 ~", AQ: "eb2 ~ eb2 ~ eb3@2 eb3 ~ eb3@2 eb3 ~ eb3@2 eb3@2",
  AR: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2@2 c2 ~ c2 ~", AS: "f2 ~ f2 ~ eb2 ~ eb2 ~ db2 ~ db2@2 c2 ~ c2 ~",
  AT: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ db2 ~", AU: "eb3 ~ eb3 ~ eb3 ~ eb3@2 eb3 ~ c3 ~ bb2 ~ g2 ~",
  AV: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~", AW: "eb2 ~ c2@2 bb1@2 ab1@2 ab2@2 ab2 ~ ab2@2 ab2 ~",
  AX: "ab2@2 ab2 ~ f2 ~ eb2 ~ ab2@3 ~ f2 ~ eb2 ~", AY: "ab1 ~ ab1 ~ ab1@2 ab1 ~ ab1@2 ab1 ~ ab1@2 ab1 ~", AZ: "eb2",
  BA: "e2@2 ~ e2@2 ~ e2@2", BB: "~@2 eb2 ~ ab2@2 eb2@2 ab2@2 ~ eb2 ~@4",
  BC: "[eb2@6 db2@6 c2@6 bb1@4 bb1 ~ eb2@2 eb2 ~ eb2 ~ eb2@2]/2", BD: "c2 ~ c2 ~ c2 ~ c2 ~ bb1 ~ bb1@2 ~@4",
})).s("gm_fretless_bass").gain(0.42)

// bass · electric bass pick
const bass_2 = note("<~@15 A@4 ~@57 A B C@2 D@2 E@4 ~@39 A@4 ~@32>".pickRestart({
  A: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~", B: "g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  C: "f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~", D: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  E: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~",
})).s("gm_electric_bass_pick").gain(0.38)

// chords · synth strings 1
const synth_strings_1 = note("<A@2 B@2 C@2 D@2 A@2 B@2 E F@3 ~@145>".pickRestart({
  A: "[ab4 g4, [eb4,c5]]/2", B: "[f4,ab4,db5]/2", C: "[f4,bb4,db5]/2", D: "[g4,bb4,eb5]/2", E: "[f4,bb4,db5]",
  F: "[g4,bb4,eb5]/3", // Eb
})).s("gm_synth_strings_1").gain(0.25).pan(0.4)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~@7 A@4 ~@4 B@2 C@2 D E F G H@2 I@2 D E F G J K D L M@2 ~@4 N O ~@10 D E F G H@2 I@2 P@2 F Q R K D L D S T@2 ~@13 D E
  F G H@2 I@2 U V W X Y@2 Z AA AB E F G H@2 AC AD AE E F Q R K M@2 R AF D AG AH ~@4 C@2 AI AJ AK AJ AL AJ AI AM AN@2
  AO@2 AK AJ AK AJ AP AQ AR AQ AN@2 AO@2 AB E F G H@2 AC AS
>`.pickRestart({
  A: "[eb5@55 ~@9]/4", B: "[~@3 ab5@5]/2", C: "[ab2, ab3 ~@31]/2", D: "[ab2,eb3,ab3]", E: "[c3,g3,c4]",
  F: "[db3,ab3,db4]", G: "[c3,g3,c4]@3 [db3,ab3,db4]@3 [c3,g3,c4]@2", H: "[bb2,f3,bb3]/2", I: "[bb2,eb3,bb3]/2",
  J: "[bb2,f3,bb3]", K: "[db3,ab3,db4]@3 [eb3,bb3,eb4]@5", L: "ab2, a5 ~@15", M: "[ab2,eb3,ab3]/2",
  N: "~ bb4@2 ab4@2 f4 db4 bb3", O: "ab3 c5@2 bb4@2 f4 db4 c4", P: "[[ab2,eb3,ab3] [c3,g3,c4], c5]/2",
  Q: "[c3,g3,c5]@3 [db3,ab3,db5]@3 [c3,g3,c5]@2", R: "[bb2,f3,bb4]", S: "~@10 eb5 f5 ab5 f5 eb5 f5", T: "[ab5@15 ~]/2",
  U: "eb5 c5 g4 c5 eb5 c5 eb5 c5 g4 c5 eb5 c5 eb5 c5 g4 c5",
  V: "f5 c5 g4 c5 eb5 c5 ~ c5 d5 c5 g4 c5 eb5 c5 g4 c5, ~@3 g4 ~@4",
  W: "ab5 f5 c5 f5 ab5 f5 ab5 f5 c5 f5 ab5 f5 ab5 f5 c5 f5",
  X: "bb5 f5 c5 f5 ab5 f5 ~ f5 g5 f5 c5 f5 ab5 f5 c5 f5, ~@3 c5 ~@4", Y: "c6 bb5", Z: "c6",
  AA: "c6@2 ab5 g5 bb5 ab5 g5 f5 ab5 g5 f5 eb5 f5@2 c5@2", AB: "[ab2,eb3,ab3], ab4@7 ~", AC: "[bb2,eb3,bb3] eb4",
  AD: "f4 g4", AE: "[ab2,eb3,ab3,ab4]", AF: "[eb3,bb3,eb4]@3 [eb3,bb3,eb4]@5", AG: "ab5@3 ab5@3 ab5@2", AH: "f5",
  AI: "~@2 [eb4,g4,bb4]@2 ~@2 [eb4,ab4,c5]@9 ~", // Eb Ab
  AJ: "[eb4,g4,bb4] ~ [eb4,g4,bb4]@3 ~ [eb4,ab4,c5]@3 ~ [eb4,g4,bb4] ~ [eb4,ab4,c5]@3 ~", // Eb Ab Eb Ab
  AK: "~@4 [eb4,g4,bb4]@2 ~@2 [eb4,ab4,c5]@7 ~", AL: "~@2 [eb4,g4,bb4]@2 ~@2 [eb4,ab4,c5]@2 [eb4,ab4,c5]@7 ~",
  AM: "~@2 [eb4,g4,bb4]@3 ~ [eb4,ab4,c5]@3 ~ [eb4,g4,bb4]@2 [eb4,ab4,c5]@2 [eb4,g4,bb4]@2", // Eb Ab Eb Ab Eb
  AN: "[[ab3,db4,f4]@3 [ab3,db4,eb4]@3 [ab3,db4]@3 [ab3,c4]@3 bb3 ab3 g3 f3]/2", // Db Absus4 Db5 Ab
  AO: "[g3@3 f3@3 eb3@3 db3@3 c3@2 bb2@2]/2", AP: "~@2 [d4,f4,bb4]@2 ~@2 [eb4,g4,bb4]@9 ~",
  AQ: "[d4,f4,bb4] ~ [d4,f4,bb4]@3 ~ [eb4,g4,bb4]@3 ~ [d4,f4,bb4] ~ [eb4,g4,bb4]@3 ~", // Bb Eb Bb Eb
  AR: "~@4 [d4,f4,bb4]@2 ~@2 [eb4,g4,bb4]@7 ~", AS: "f4@2 g4 ~",
})).s("gm_overdriven_guitar").gain(0.25).pan(0.3)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@19 A B C D E F G H I B C J E K L@2 ~@18 M N O@2 P Q R S I B C J E K L@2 ~@17 A B C D E F G H ~@8 M N O@2 P Q R S I B
  C J E K L@2 E T L@2 ~@7 U@8 V W X@2 Y@2 Z@2 AA@2 AB@2 AC AD AE AF M N O@2 P Q R AG
>`.pickRestart({
  A: "~@3 [eb4,ab4]@5, ab2@3 ~, ~@2 eb3@11 ~@3, ~@4 ab3@11 ~", B: "~@3 [eb4,g4]@5, c3@13 ~@3, ~@2 g3@13 ~, ~ c4@3",
  C: "~@3 f4@5, db3@15 ~, ~@2 ab3@13 ~, ~ db4@3", D: "[c4,eb4]@3 [db4,f4]@3 [c4,eb4]@2",
  E: "~@3 db4@5, bb2@7 ~, ~ f3@7, ~ bb3@3", F: "~@3 db4@5, bb2@7 ~, ~@2 f3@13 ~, ~ ab3@3",
  G: "~@3 f4 ~@3 db4, eb3 db3, ~ bb3@3 ~ bb3@3, ~ eb4 ~ eb4", H: "~@7 eb4, c3 bb2, ~@2 g3@7 ~ g3@6, ~@4 c4@7 ~ bb3@4",
  I: "~@3 ab4@5, ab2@3 ~, ~@2 eb3@11 ~@3, ~@4 ab3@11 ~", J: "eb4@3 f4@3 eb4@2",
  K: "~@2 db4 eb4@5, db3@5 ~@11, ~ ab3@2 ~@5", L: "[~@3 c4@13, ab2@31 ~, ~@2 eb3@29 ~, ~@4 ab3@27 ~]/2",
  M: "~@8 ab3@7 ~, ab2@3 ~, ~@2 eb3@11 ~@3, ~@4 ab4@11 ~, ~@3 eb4@5",
  N: "~ c4, c3@13 ~@3, ~@2 g3@13 ~, ~@2 g4@5 ~, ~@3 eb4@5",
  O: "[~@8 [c4,eb4]@3 [db4,f4]@3 [c4,eb4]@2, db3@4 f4@5 ~@7, ~@2 ab3@13 ~@17, ~@4 db5@13 ~@15, ~@3 ab4@5 ~@8]/2", // Cm Db Cm
  P: "~@8 db4@7 ~, bb2@7 ~, ~ f3@7, ~ bb4@3, ~@3 f4@5", Q: "~ db4, bb2@7 ~, ~@2 f3@13 ~, ~ ab4@3",
  R: "~@3 eb4 ~@3 eb4, eb3 db3, ~ bb3@3 ~ bb3@3, ~@4 g4@5 ~@3 g4@4",
  S: "~@7 eb4, ab4 bb4, ~@2 g3@7 ~ g3@6, ~@4 c4@7 ~ bb3@4", T: "~@2 eb4 g4@5, eb3@5 ~@11, ~ bb3@2 ~@5",
  U: "[~@3 ab3 ~@6 ab3 ~@3 ab2 ~ ab2@2 ~@4 ab3 ~@3 ab3 ~@2 ab3 ~ eb3 ~@6 eb3 ~@3 ab3 ~@3 ab3 ~@6 eb3 ~@2 eb3 ~@2 eb3 ~ ab3 c4 eb3, ~@2 ab2@12 eb4@6 ~@2 c4@4 ab3@4 eb4@6 ~@4 c4@4 ~@2 eb4@6 ~@2 c4@4 ~@2 eb4@6 ~@2 eb3@4 ~@10 eb3@5 ~@3 eb3@5 ~@3 eb3@4 ~@26, ~@4 eb3@4 c4@4 ab3@4 ~@2 eb3@5 ~ eb3@4 ~@8 ab3@4 ~@2 eb3@4 ~@4 eb3@5 ~ eb3@4 ~@6 ab3@4 c4@4 ab3@4 eb4@6 ~@2 c4@6 ~@2 eb4@6 ab3@4 c4@6 ab3@6 eb4@6 ~@6, ~@10 eb3@5 ~ ab2@10 ~@12 ab2@9 ~ ab2@15 ~ ab2@7 ~ ab2@6 ~@2 ab2@7 ~ ab2@7 ~ ab2@5 ~ ab2@5 ~ ab2@4 ~@2 ab2@5 ~ ab2@6 ~@2]/8",
  V: "~@4 f3 ~@2 f3, db3@4 ab3@6 db4@5 ~, ~@2 f3@4 db3@5 ~ db3@4",
  W: "~@4 f3@2 ~@8 db3 ~, ab3@3 db4@3 f3@2, ~@2 db3@5 ~ db3@5 ~@3, ~@5 ab3@3",
  X: "[~ g3 ~@2 g3 ~@2 g3 bb3 ~@2 g3 ~ eb3 ab3 g3, eb3@2 bb3@2 ~ db4@2 ~@2 c4@2 ~ bb3@2 ~@2, ~@6 eb3@5 ~ eb3@6 ~@2 eb3@4 ~@8]/2",
  Y: "[~ eb3 ~ eb3 ~@2 eb3 ~@2 eb3 ~@4 ab2 ab3, ab2@9 ~ ab2@5 ~ ab2@4 ~@2 ab2@5 ~@5, ~@2 ab3@2 c4@3 ab3@2 ~ ab3@3 c4@2 ~, ~@6 eb3 ~]/2",
  Z: "[~ eb3 ~@3 eb3 ~@2 eb3 ~ eb3 ~@3 eb3 ab2, ab2@2 ab3@2 c4@3 ab3@3 ~ c4@2 ab3@3, ~@6 ab2@4 ~@2 ab2@4 ~@2 ab2@5 ~ ab2@4 ~@4]/2",
  AA: "[~@5 f3 ~@2 f3 ~@5 f3 bb2, bb2@2 bb3@2 f4@3 bb3@4 f4@2 ~@3, ~@2 f3@4 bb2@4 ~@2 bb2@4 ~@2 bb2@4 ~@2 bb2@5 ~@3, ~@10 f3@2 ~ bb3@2 ~]/2",
  AB: "[f3 ~@2 f3 ~@6 bb3 ~ f3 ~ bb3 f3, ~@2 bb2@5 ~@3 bb2@4 f3@4 bb2@7 ~ bb2@5 ~, ~@2 bb3@2 f4@2 bb3@2 f4@2 ~ f4@3 ~@2]/2",
  AC: "~ f3 ~@2 f3 ~@2 f3, db3@2 ab3@2 ~ db4@2 ~, ~@3 db3@2 ~ db3@2",
  AD: "~@2 f3 ~@2 f3 ~ db3, ab3@2 ~ db4@2 ~ ab3@2, ~@2 db3@4 ~@2 db3@5 ~@3",
  AE: "~ g3 bb3 ~ eb3 ~@2 g3, eb3@3 eb4@2 db4@2 ~, ~@3 eb3",
  AF: "~@2 g3 ~ eb3 ab3 g3 eb3, c4@2 ~ bb3@2 ~@3, ~ eb3@2 ~@5",
  AG: "~@5 g3 ~@2, ab4@2 bb4 ~, ~@2 g3@7 ~@7, ~@4 c4@7 ~@5",
})).s("gm_electric_guitar_clean").gain(0.25).pan(0.9)

// chords · piano
const piano = note(`<
  ~@15 A@2 ~@13 B C ~@3 D@2 E@2 F G H I ~@21 B C ~@4 J@2 K@2 L M N O P Q R O S T@3 ~@27 B C ~@3 C ~@9 U ~@32
>`.pickRestart({
  A: "[[ab1,bb1,eb2]@29 ~@3]/2", B: "[c5,f5,ab5,c6]@3 [db5,f5,ab5,db6]@3 [c5,f5,ab5,c6]@2", C: "[bb4,f5,bb5]@15 ~",
  D: "[ab2,eb3,ab3]@5 ~ [ab2,eb3,ab3]@9 ~", E: "[c3,g3,c4]@5 ~ [c3,g3,c4]@9 ~",
  F: "[db3,ab3,db4]@5 ~ [db3,ab3,db4]@9 ~", G: "[db3,ab3,db4]@5 ~ [db3,ab3,db4]@10",
  H: "[bb2,f3,bb3]@5 ~ [bb2,f3,bb3]@9 ~", I: "[bb2,f3,bb3]@3 [bb2,f3,bb3]@4 ~",
  J: "f4@2 f4 [f4,ab4,db5]@5, [ab4,db5]@3 ~@5", // Db Db5
  K: "[~@10 ab3@2 ~@2 ab3@2 bb3@3 ~@9 [c4,eb4,ab4]@4, [c4,eb4,ab4]@3 [c4,eb4,ab4]@3 eb4@8 ~@2, ~@2 ab3@3 ~ [c4,ab4]@2 g4@3 [c4,ab4]@3 ~@2, ~@10 ab3@3 ab3@3]/2", // Ab Fm
  L: "~@3 [f4,ab4,db5]@2 [f4,ab4,db5]@3, [f4,ab4,db5]@3 ~@5, ~@4 db4@9 ~@3", // Db
  M: "d4@2 ~ [f4,bb4,d5]@5, [f4,bb4,d5]@3 ~@5, ~ d4@3", N: "[ab3,c4]@3 [c4,eb4]@2 ab3@2 ab3, ~@6 ab3 ~@3 [c4,eb4]@6",
  O: "[g3,bb3,eb4]@2 g3 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 g3", P: "[ab3,c4,eb4]@2 f3 [ab3,c4,eb4]@2 [ab3,c4,eb4]@2 f3",
  Q: "[f3,ab3,c4,eb4]@2 f3 [f3,ab3,c4,eb4]@2 [f3,ab3,c4,eb4]@2 f3", // Fm7
  R: "[f3,ab3,bb3,d4]@2 f3 [f3,bb3,d4]@2 f3@2 f3, ~@5 [bb3,d4]@3", // Bb7 Bb
  S: "[ab3,bb3,db4,eb4]@2 ab3 [ab3,bb3,db4,eb4]@2 [ab3,bb3,db4,eb4]@2 ab3", T: "[ab3,bb3,eb4]!4",
  U: "[ab6,eb7,ab7]!4 ~ [ab6,eb7,ab7]!2 [ab6,eb7] [ab6,eb7,ab7]!4 ~ [ab6,eb7,ab7]!2 eb7", // Ab5
})).s("gm_piano").gain(0.29).pan(0.8)

// chords · distortion guitar
const distortion_guitar = note(`<
  ~@17 A@2 B C D E F G H I B C D E F J B@2 ~@8 K@2 L M N O P Q R S B C D E F G H I B C D T U J V@3 ~@3 W X Y ~@4 G@2 Z
  AA O AB B C D E F G H I AC AD AE AF G@2 AG AH B C D E F G H I B C D T U J B@2 AI AJ AK AL AM ~@4 A@2 AN AO AP AO AQ AO
  AN AR AS@2 O@2 AP AO AP AO AT AU AV AU AS@2 O@2 B C D E F G H AW
>`.pickRestart({
  A: "[ab3, ab1 ~@31]/2", B: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~",
  C: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~", D: "db3 ~ db3 ~ db3 ~ db3 ~ db3 ~ db3 ~ db3 ~ db3 ~",
  E: "c3@3 db3@3 c3@2", F: "bb2@2 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~",
  G: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~", H: "eb3@2 eb3@2 eb3@2 eb3@2 db3@2 db3 ~ db3@2 db3@2",
  I: "c3!4 bb2!4", J: "[ab2,db3]@3 [bb2,eb3]@5", K: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~",
  L: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~", M: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ [c2,g2,c3]@2 c2 ~ [c2,g2,c3]@2",
  N: "[f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~", // F5
  O: "[eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~", // Eb5
  P: "eb4@2 d4 ~, [bb2,f3,bb3]@3 ~", Q: "eb4@2 d4 ~, [bb2,f3,bb3]@13 ~@3",
  R: "[eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~ [eb3,ab3,bb3] ~", // Ebsus4
  S: "[g3,bb3] ~ [g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3] ~ [eb3,g3,bb3]@2, eb3 ~@2 eb4@5", // Gm Eb
  T: "eb5@3 f5@3 eb5@2", U: "bb2@2 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~, db5",
  V: "[ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2@24, ~@6 ab5@17 ~ a5 ~@23]/3",
  W: "[g3,bb3,eb4]@3 [c4,eb4,ab4]@5", X: "[ab3,db4,f4]", Y: "[bb3,d4,f4]",
  Z: "bb2 ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~", // Eb5
  AA: "[eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~", // Eb5
  AB: "[eb2,bb2,eb3] ~ [ab2,bb2,eb3] ~ [ab2,bb2,eb3] ~ [ab2,bb2,eb3] ~ [ab2,bb2,eb3] ~ [ab2,bb2,eb3] ~ [ab2,bb2,eb3]@2 [ab2,bb2,eb3] ~", // Eb5 Absus2
  AC: "[g2,c3] ~ [g2,c3] ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [g2,c3] ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [c2,c3] ~", // C5 C
  AD: "[c2,g2,c3] ~ c3 ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [c2,g2,c3] ~ [g2,c3] ~", // C5
  AE: "[f2,c3,f3] ~ c3 ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3] ~", // F5
  AF: "[f2,c3,f3] ~ [f2,c3,f3] ~ [f2,c3,f3]@2 [f2,c3,f3] ~ [f2,c3,f3]@2 [f2,c3,f3] ~ [f2,c3,f3]@2 [f2,c3,f3] ~", // F5
  AG: "[bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~", // Eb5
  AH: "[bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~ [eb2,bb2,eb3] ~", // Eb5
  AI: "bb2@2 bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~, ~@6 [f3,bb3]@9 ~", AJ: "[bb2,eb3]@3 [eb3,bb3]@5",
  AK: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~, ~@3 [ab3,eb4,ab4]@5", // Ab5
  AL: "ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~, [eb4,ab4,c5]@3 [f4,ab4,db5]@3 [eb4,ab4,c5]@2", // Ab Db Ab
  AM: "bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~ bb2 ~, [f3,bb3,f4,bb4]", AN: "~@2 [bb3,eb4,g4]@2 ~@2 [c4,eb4,ab4]@9 ~",
  AO: "[bb3,eb4,g4] ~ [bb3,eb4,g4]@3 ~ [c4,eb4,ab4]@3 ~ [bb3,eb4,g4] ~ [c4,eb4,ab4]@3 ~", // Eb Ab Eb Ab
  AP: "~@4 [bb3,eb4,g4]@2 ~@2 [c4,eb4,ab4]@7 ~", AQ: "~@2 [bb3,eb4,g4]@2 ~@2 [c4,eb4,ab4]@2 [c4,eb4,ab4]@7 ~",
  AR: "~@2 [bb3,eb4,g4]@3 ~ [c4,eb4,ab4]@3 ~ [bb3,eb4,g4]@2 [c4,eb4,ab4]@2 [bb3,eb4,g4]@2", // Eb Ab Eb Ab Eb
  AS: "[[ab3,db4,f4]@3 [ab3,db4,eb4]@3 [ab3,db4,f4]@3 [ab3,db4,eb4]@3 [ab3,db4,f4]@4]/2", // Db Absus4 Db Absus4 Db
  AT: "~@2 [bb3,d4,f4]@2 ~@2 [bb3,eb4,g4]@9 ~", // Bb Eb
  AU: "[bb3,d4,f4] ~ [bb3,d4,f4]@3 ~ [bb3,eb4,g4]@3 ~ [bb3,d4,f4] ~ [bb3,eb4,g4]@3 ~", // Bb Eb Bb Eb
  AV: "~@4 [bb3,d4,f4]@2 ~@2 [bb3,eb4,g4]@7 ~", AW: "c3!4 bb2!2 ~@2",
})).s("gm_distortion_guitar").gain(0.29).pan(0.9)

// other · xylophone
const xylophone = note(`<
  ~@41
  [~@9 g3 ~ ab3 a3 bb3 ~ b3]
  [c4 db4 ~ d4 eb4 e4 ~ f4 gb4 g4 ~ ab4 a4 bb4 ~ b4]
  [c5 db5 ~ d5 eb5 e5 ~ f5 gb5 g5 ~ ab5 a5 bb5 ~ b5]
  [c6 db6 ~ d6 eb6 e6 ~ f6 gb6 g6 ~ ab6 a6 bb6 ~@2]
  ~@116
>`).s("gm_xylophone").gain(0.38)

// other · xylophone · soft notes
const xylophone_soft = note(`<
  ~@44
  [~@15 b6]
  [c7 db7 ~ d7 eb7 e7 ~ f7 gb7 g7 ~ ab7 a7 bb7 ~ b7]
  [c8 db8 ~ d8 ~@12]
  ~@114
>`).s("gm_xylophone").gain(0.13)

// other · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~@84 A@4 B@4 C D E F G H I@2 J@2 K@4 L M N O P Q R S T@2 U V ~@3 W X ~@18 Y@4 Z AA@2 AB ~@10 N AC
>`.pickRestart({
  A: "[~@15 ab5@16 [ab4,c5]@12 ~ eb4 ab4 c5@14 ab4 g4 ~ ab4]/4", // Ab
  B: "[f4@10 f5@9 eb5@2 ~ db5 ~ eb5 db5 ~ c5 db5 ~ bb4@4 bb5@6 ab5@4 ~@2 c6@6 bb5@3 ~ c6@8]/4",
  C: "~ c6@2 ~ c6 ~ bb5@2 ab5 bb5 ~ ab5@3 g5 ab5, ~@3 bb5@2 ~@11", D: "g5@3 f5 g5 f5 g5 f5 eb5 f5 eb5 db5@2 c5 bb4 ~",
  E: "~ eb5 c5 eb5 g5 eb5 g5 eb5 c5 eb5 g5 eb5 g5 eb5 c5 eb5, [c5,g5] ~@7", // C5
  F: "ab5 eb5 c5 eb5 g5 eb5 ~ eb5 gb5 eb5 c5 eb5 g5 eb5 c5 eb5, ~@3 c5 ~@4",
  G: "c6 ab5 f5 ab5 c6 ab5 c6 ab5 f5 ab5 c6 ab5 c6 ab5 f5 ab5",
// … 105 more lines

More by Queen