Strudelify
It's a Hard Life cover art

The Works

It's a Hard Life

Queen

KeyB♭ majorTempo82 bpm
0:00/0:00
// It's a Hard Life — Queen
// 82 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: metre changes (4/4 at bar 1, 2/4 at bar 5, 4/4 at bar 5) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 87 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82/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 · "FINGERDBAS"
const bass = note(`<
  A@6 ~ B C D E F G H I J K L M N O P Q R O S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK@2 AL O AM AN AO AP AQ ~@4
  AD AR AS AT AU@2 AV AW AX AY AZ BA O AK BB BC AJ Q BD BE BF BG BH BI BJ BK BL BM@3 ~
>`.pickRestart({
  A: "[~ c2@67 eb2@55 d2@68 ~]/6", B: "~@24 bb2@3 a2 [g2,ab2] [e2,f2,gb2] [d2,eb2] [c2,db2]", C: "bb1 f1", D: "g1",
  E: "eb2@16 d3@15 ~", F: "c3@29 ~ c3@2", G: "bb2@14 f2@2 bb1@13 ~ f2@2", H: "bb2@14 f2@2 bb1@11 [b1,c2] ~ db2 d2 ~",
  I: "eb2 d2", J: "c2 g1", K: "eb2@16 d2@15 ~", L: "c2@8 g1@7 ~", M: "ab1@13 ~ ab1 ~ ab1@5 ~ ab1 ~ ab1@2 ~@2 ab1@3 ~",
  N: "f1@10 ~@2 f1 ~ f1 ~ f1@6 ~@2 f1@4 gb1 g1 ab1 a1", O: "bb1@15 ~ d2@15 ~", P: "eb2@10 ~@2 eb2@2 f2@2 bb1@15 ~",
  Q: "eb2@16 bb1@15 ~", R: "f1@6 ~@2 g1@6 ~@2 ab1@7 ~ a1@7 ~", S: "eb2@11 ~ eb2@2 f2@2 bb1@11 ~ f2@2 bb2@2",
  T: "eb2@5 ~ eb2 f2 bb1@7 ~", U: "f1@15 ~ f1@11 ~ c2@2 db2 d2", V: "eb2@7 bb2 eb3@7 bb2",
  W: "eb3@22 ~@3 eb2@5 d2 [c2,db2]", X: "bb1@3 ~ f1@3 ~, b1 ~@31", Y: "g1@15 ~ g1@16",
  Z: "eb2@11 ~ bb2@2 eb3@2 d3@11 ~ d3@2 eb3@2", AA: "c3@16 ~@8 f2@3 e2 eb2 d2 db2 [b1,c2]",
  AB: "bb1@13 ~ f2@2 bb2@13 ~ f2@2", AC: "bb2@7 f2 bb1@2 f2@2 bb2 f2 bb1 c2", AD: "eb2@15 ~ d2@15 ~",
  AE: "c2@15 ~ g1@13 ~@3", AF: "eb2@10 ~@2 eb2@2 bb2@2 d2@15 ~", AG: "c2@15 ~ g2@12 ~@2 g2@2",
  AH: "ab2@13 ~ ab2 ~ ab2@6 ~@2 ab2@6 g2 gb2", AI: "f2@5 ~ f2 ~ f2@5 ~ f2 ~ f2@3 ~ f2@3 ~ f2@3 ~ f2@3 ~",
  AJ: "bb1@16 d2@15 ~", AK: "eb2@15 ~ bb1@15 ~", AL: "f1@8 g1@7 ~ ab1@8 a1@7 ~", AM: "eb2@5 ~ eb2 f2 bb1@5 ~ eb2 bb2",
  AN: "eb2@14 ~@2 bb1@15 ~", AO: "f1@5 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1 ~ f1@3 ~ f1 ~ f1 ~ f1@3 ~ f1 ~ f1 ~",
  AP: "eb2@13 ~ bb2@2 eb3@11 ~ bb2 eb3 bb2@2", AQ: "eb2@31 ~", AR: "c2@11 ~ c2@3 ~ c2@10 ~@2 g2 ~ g2@2",
  AS: "ab2@7 ~ ab2@3 ~ ab2 ~ ab2 ~ g2@7 ~ g2@3 ~ g2 ~ g2@2",
  AT: "f2@3 ~ f2@2 ~@2 f2@6 c2@2 f1@3 ~ f1@2 c2@2 f2@3 ~ f2@2 g2@2",
  AU: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  AV: "ab1@7 ~ ab1@2 ~@2 ab1 ~ ab1 ~ g1@8 g2@7 ~", AW: "f2@10 ~@2 f2@2 ~@2 c2@6 ~@2 c2 ~ c2 ~ c2@4",
  AX: "ab1@3 ~ ab1@3 ~ ab1@3 ~ ab1 ~ ab1 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1 ~ g1 ~",
  AY: "f1@3 ~ f1@3 ~ f1@3 ~ f1 ~ f1 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2 ~ b1@2",
  AZ: "bb1@3 ~ bb1@3 ~ bb1@3 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1@2 bb1 ~ bb1 ~ bb1 [b1,c2] db2 [d2,eb2]", // Cmaj7 Ebmaj7
  BA: "[e2,f2] ~ f2 ~ f2@3 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2@2 f2 ~ f2@2 f2@3 ~", // Fmaj7
  BB: "eb2@11 ~ eb2@2 f2@2 bb1 ~@3 bb1@11 ~", BC: "f1@8 g1@7 ~ ab1@7 ~ a1@8", BD: "eb2@5 ~ eb2 f2 bb1@8", BE: "f1@31 ~",
  BF: "g1@25 ~@3 g1@3 ~", BG: "ab1@25 ~@3 ab1@4", BH: "a1@11 ~ f2 ~ f2 ~ a2@6 [g2,ab2] gb2 f2 ~@3 f2@3 ~",
  BI: "bb1@15 ~", BJ: "bb1", BK: "bb2@31 ~", BL: "bb2@29 a2 [g2,ab2] [f2,gb2]", BM: "[bb1@95 ~]/3",
})).s("gm_electric_bass_finger").gain(0.35)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@61 A B C D E F G@2 ~@18>".pickRestart({
  A: "~@15 eb4", B: "bb4@7 ~@2 bb4@6 ab4 ~ bb4 g4 eb4@10 eb4 db4 ~",
  C: "gb4@5 ~ gb4@5 ~@2 g4 ~ f4 g4 eb4 ~ c4@8 eb4@2 ~ eb4 ~, ~@6 gb4 ~@9",
  D: "bb4@4 bb4@3 ~ c5@2 ~ d5@2 ~ eb5 ~ eb5@3 ~@2 bb4@7 ~ eb5 ~ g5, ~@10 eb5 ~@5",
  E: "~ gb5@4 ~ g5@2 gb5@5 ~ g5@2 ab5@8 ab5@2 ~ g5 ~ f5 ~@2", F: "eb5@4 bb5@8 bb5 ~ bb5@9 ~ bb5@2 a5@2 bb5@2 a5 bb5",
  G: "[a5 g5 ~ f5 g5 f5 eb5 ~ d5 eb5 d5 ~ eb5@2 d5 ~ d5 c5 ~ bb4 a4 bb4 a4 bb4 a4 g4 f4 g4 f4@19 ~@17]/2",
})).s("gm_overdriven_guitar").gain(0.5).pan(0.4)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_2 = note(`<
  ~@23 A B ~@15 C D ~@3 E F G H I ~@4 J K L M ~ N O@2 P@2 ~@4 Q R S@2 T U V ~@12
>`.pickRestart({
  A: "f3@8 g3@8 ab3@8 a3@7 ~", B: "bb3@8 a3@7 ~", C: "ab3@28 ab3@2 gb3 g3",
  D: "f3@2 g3 ~ f3@2 g3@2 f3 ~ g3@2 f3@2 g3 ~ f3@2 g3@2 f3@2 g3@2 f3@2 g3@2 f3@2 g3 ~", E: "f3@7 ~ g3@8 ab3@8 a3@8",
  F: "bb3@15 ~ a3@16", G: "eb4@12 f4@2 g4@2 f4@14 e4 [d4,eb4]", H: "g3@6 f4 g4 f4@7 ~",
  I: "[f2,c3,f3,a3,c4,f4]@8 [f2,c3,f3,a3,c4,f4]@5 ~ [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@3 ~ [f2,c3,f3,a3,c4,f4]@3 ~ [f2,c3,f3,a3,c4,f4]@7 ~", // F
  J: "eb4@9 ~ eb4@3 ~ eb4 ~ eb4 ~ eb4@7 ~ eb4@3 ~ eb4 ~",
  K: "eb4 ~ eb4@7 ~ eb4@3 ~ eb4 ~ eb4 ~ eb4@4 d4@4 eb4@3 ~ f4@2", L: "f4@15 ~ f4@15 ~",
  M: "bb4@9 ~ bb4@2 ab4@2 g4@2 f4@2 eb4 f4 g4@12",
  N: "~@6 c4@2 ~ eb4 f4 ~@2 ab4@2 bb4 bb4@7 ~ bb4@2 ab4@2 g4@2 ab4@2, ~@4 d4 ~ g4 ~@9",
  O: "[g4 ab4 g4@12 f4 ~ f4@47 ~]/2", P: "[ab4@16 g4@15 ~@2 f4@15 [c4,eb4]@14 ~@2, eb4@47 ~@17]/2",
  Q: "bb2@15 ~ d3@11 ~ d3@4", R: "bb3@12 f4@2 g4@2 f4@15 ~", S: "[bb3@12 f4@2 g4@2 f4@15 c4@8 ~ bb3@8 b3@7 ~ c4@8]/2",
  T: "bb2@16 d3@11 ~ d3@3 [e3,f3]", U: "[g3,a3] ~@11 f4@2 g4@2 f4@16, bb3@11 ~@21",
  V: "bb3@11 ~ f4@2 g4@2 f4@4 d5@2 eb5@2 d5@5 b4 [e4,f4,g4,a4] [c4,d4]", // Fmaj7 Csus2
})).s("gm_overdriven_guitar").gain(0.36)

// other · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
  A@2 B@4 ~@12 C D E F@2 G H I J K L ~@2 M N ~ O@2 ~@4 P Q E R S T E U V W X ~@7 Y@2 ~@8 Z AA AB AC AD AE AF AG AH@2
  AI@3 AJ@2 ~@4
>`.pickRestart({
  A: "[~ c3@59 ~@4]/2", B: "[~@5 eb4@53 [d3,a3,d4]@69 ~, ~@2 [eb3,bb3]@27 ~@35]/4",
  C: "[ab2,eb3,ab3]@15 ~ ab3@7 ~ ab3@2 eb3 ~ c3@2 ab2@2", D: "f2@13 ~ f2 ~ f2@8 f3@7 ~", E: "bb2 d3", F: "eb3 bb3",
  G: "f3 eb3 c3 a2", H: "bb2@12 bb2 ~ c3 db3 d3@15 ~", I: "eb3@14 d3 [c3,db3] [bb2,f3,bb3]@14 ~ d3, ~@16 b2 ~@15",
  J: "eb3@14 d3 [c3,db3] b2 ~@7 bb3@4 f3@4, ~@16 bb2@15 ~", // Dbmaj7
  K: "[f2,c3,f3,a3,c4,f4]@7 ~ [f2,c3,f3,a3,c4,f4]@7 ~ [f2,c3,f3,a3,c4,f4]@7 ~ [f2,c3,f3,a3,f4]@8", // F
  L: "[eb3,g3,bb3,eb4]@31 ~", M: "~@24 d3@6 db3 [b2,c3]", N: "bb2 ~",
  O: "[~@25 c5@37 ~@2, ~@11 f3@20 ~, ~@23 bb3@39 ~@2, ~@24 [d4,ab4]@39 ~]/2", P: "ab2",
  Q: "f2@2 g2@2 f2 ~ g2@2 f2@2 g2@2 f2@2 g2@2 f2@2 g2@2 f2@2 g2@2 f2@2 g2@2 f2@2 g2@2",
  R: "eb3@8 f3@2 g3@2 bb3@2 c4@2 bb3@7 ~ bb3 ~ bb3@4 ab3 [gb3,g3]", // Gmaj7
  S: "f3 eb3@7 f3@2 g3@2 bb3@14 f3@2 d3@4, ~@12 ab3 ~@19", T: "f2@8 g2@8 ab2@7 ~ a2@8",
  U: "eb3@12 d4@2 eb4@2 d4@11 ~ d4@4", V: "eb3@8 bb3@3 ~ d4@2 eb4@2 d4@8 bb3@7 ~",
  W: "[f3,a3,c4,f4]@7 ~ [f3,a3,c4,f4]@5 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4]@7 ~", // F
  X: "eb4@3 ~@5 bb3@23 ~, eb3@31 ~, [bb3,g4] ~@3, ~ eb4@7", Y: "[~@8 eb4@2 f4@2 g4@11 ~ g4@2 ab4@2 bb4@19 ~@17]/2",
  Z: "bb2@15 ~ d3@16", AA: "eb3@12 d4@2 eb4@2 d4@13 [b3,c4] [g3,a3] f3",
  AB: "eb3@11 ~ d4@2 eb4@2 d4@12 [b3,c4] [f3,g3,a3] [d3,e3] [b2,c3]", AC: "f2@7 ~ g2@8 ab2@7 ~ a2@7 ~, a2 ~@31",
  AD: "bb2@15 ~ d3@15 ~", AE: "eb3@10 g3@2 bb3@2 c4 ~ d4@14 b3 [g3,a3]",
  AF: "eb3@7 ~ f3@2 g3@2 bb3@2 c4@2 bb3@4 bb4@2 c5@2 bb4@6 a4 ~",
  AG: "[f2,f3]@7 ~ [f2,f3]@7 [a2,b2] [f3,f4]@7 ~ [f3,f4]@7 ~, ~@16 c3 ~@15", // F Asus2 F
  AH: "[[f2,f3]@7 ~ [bb3,bb4]@8 [f3,f4]@23 ~ [f3,f4]@7 ~ [f3,f4]@13 [c3,b3,c4,d4] [g2,a2,b2,e3,f3,g3,a3] [e2,b2,c3,d3]]/2", // F Bb F G Em E7
  AI: "[[f3,f4]@7 ~ [f3,f4]@7 ~ [f3,f4]@7 ~ [f3,f4]@7 ~ [f3,bb3,d4]@61 ~ bb2@2, ~@31 bb2@61 ~@4]/3", // F Bb
  AJ: "[bb2@61 ~ bb2@2]/2",
})).s("gm_distortion_guitar").gain(0.29)

// other · distortion guitar · "DISTORTION" · soft notes
const distortion_guitar_soft = note("<~@24 A ~@48 B C D E F G ~@4 H@3 ~>".pickRestart({
  A: "~@13 b2 ~@18", B: "~@30 c4 ~", C: "~@30 [d4,e4,f4,g4] [a3,b3,c4]", D: "~@15 g2 ~@16", E: "~@8 ab3 ~@23",
  F: "~@28 [e3,e4] d3 ~ f2", G: "a2 ~@31", H: "[bb2@95 ~]/3",
})).s("gm_distortion_guitar").gain(0.16)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@6 A B C D E F G H I J K L M N O P Q R S T U V W@2 X Y Z AA AB ~ AC AD AE AF AG ~ AH AI AJ AK ~@5 AL ~@6 AM@2 ~@15 AN
  AO AP AQ AR@2 AS AT AU AV ~@2
>`.pickRestart({
  A: "~@2 d4@29 ~, [bb2,f3]@31 ~, ~ bb3@30 ~", B: "[f3,d4]@24 eb4@4 ab3@3 ~, bb3", C: "d4@5 ~ d4@2 c4@4 a3@2 c4@2",
  D: "~ bb3@15 a3@4 ~@4 d3@7 ~, [d3,g3]@16 ~@4 g3@11 ~", E: "[g3,bb3,eb4]@15 ~@2 [bb3,d4]@15, ~@16 f3@15 ~",
  F: "~ c4@18 ~ c4@11 ~, [eb3,g3]@15 ~", G: "[d3,f3,bb3]@15 ~", H: "[ab3,c4]@2 ab3@2 eb4@11 ~, bb2@15 ~",
  I: "[g3,bb3,eb4] [f3,bb3,d4]", J: "[eb3,g3,c4]@16 ~ d3@14 ~, ~@8 [g3,bb3]@7 ~",
  K: "~@8 [g3,bb3,eb4]@7 ~@9 bb3@8, ~ f3, ~@16 bb3@7 ~@9, ~@17 d4@15", L: "[eb3,g3,c4]@15 ~ [d3,g3,bb3]@14 ~@2",
  M: "[ab2,eb3,ab3]@16 ab3@7 ~ ab3@2 eb3@2 c3@2 ab2@2", N: "~@6 f4 ~ f4@16 a3@7 ~, [f2,f3]",
  O: "~@4 bb3@4 d4@4 bb3@3 ~@9 d4@4 ~@2 f3@2, [bb2,f3] d3, ~@4 a3@3 a3", // Bb5
  P: "~ bb3 [eb4,g4] bb3 ~@2 bb3 d4, eb3@2 f4 ~, ~@5 f3@3", // Eb
  Q: "~@4 bb3@4 eb4@4 bb3@4 ~@8 bb3@4 d4@3 ~, eb3@16 f4@7 ~@9, ~@5 f3@3", R: "f2@8 g2@7 ~ ab2@8 a2@7 ~",
  S: "[bb2,f3,bb3,d4]@14 ~@2 [d3,a3,d4,f4]@15 ~", T: "~ bb3 [eb4,g4] bb3 ~@2 bb3 d4, eb3@2 f4 ~, ~@20 f3@11 ~",
  U: "~@4 bb3@4 eb4@4 bb3@4 ~@8 bb3@4 d4@3 ~, eb3@2 f4 ~, ~@20 f3@11 ~",
  V: "[f2,f3,a3,c4,f4]@7 ~ [f3,a3,c4,f4]@7 ~@2 f3@6 ~ [c3,f3,a3,c4,f4]@6 ~@2, ~@8 [a3,c4,f4]@3 ~@5", // F
  W: "[eb4@3 ~@25 eb4@3 ~ [db4,ab4]@11 ~ [db4,eb4,ab4,c5]@17 ~@3, eb3@31 ~@33, g4@23 ~ g4@7 ~@33, bb3@7 ~ bb3@23 ~@33, ~@4 eb4@23 ~@4 eb4@11 ~@22]/2", // Db5 Ab
  X: "~@8 bb3@7 ~ a3@8 c4@4 a3@3 ~, d4 ~@3, ~@4 f3@11 ~ f3@15 ~", Y: "[d3,g3,bb3]@15 ~ a3@4 ~@4 d3@7 ~, ~@20 g3@11 ~",
  Z: "~@8 g3@7 ~ [bb3,d4]@4 ~@4 f3@6 ~@2, eb3@15 d3@15 ~@2, ~@2 f3 ~, ~@10 bb3@5 ~", AA: "~ g3@6 ~, c4@7 ~",
  AB: "~@3 d4 f4@4, bb3@7 ~ bb3@8 ~@16, ~@4 f3@27 ~",
  AC: "~@4 [bb3,eb4]@4 eb4@3 ~ bb3@3 ~ [bb3,d4]@7 ~ bb3@4 d4@3 ~, ~ g3@3 [d3,f3]@4", // Eb5 Bb Dm
  AD: "~@4 g3@3 ~@5 c4@4 [d3,g3,bb3]@15 ~, c4@11 ~@21, ~@8 g3@7 ~@17", // Gm
  AE: "~@12 bb4@3 ~ [d4,f4]@3 ~ d4@4 d4@6 ~@2, ~@7 bb3@7 ~ bb3@15 ~@2, ~@8 [eb4,g4]@7 ~@17", // Dm Eb
  AF: "g3@4 c4@4 g3@4 c4@3 ~ [bb3,d4,g4]@15 ~, eb4@15 ~@17, c4@3 ~@12 g3@16 ~", // Gm
  AG: "~@4 eb4@3 ~ ab4@3 ~ eb4@4 ab4@4 eb4@3 ~ [ab3,c4,ab4]@3 [gb4,g4] [d4,eb4,e4,f4] [a3,bb3,b3,c4,db4] [gb3,g3,ab3] ~, [ab3,c4]@23 ~@9", // Ab Gmaj7 Ab
  AH: "[bb2,f3,bb3]@4 [d4,f4]@2 f4 d4, d4@13 ~@3 [d3,a3]@16", // Bb5 Dm D5
  AI: "~@12 g4@3 ~ [bb3,d4,f4]@12 ~@4, g4@8 bb3@7 f3@13 ~@4, ~ eb4@3 ~@4", // Bb
  AJ: "~@4 g4@2 eb4@2 ~@4 bb4@3 ~, eb4@4 ~@4 f4@7 ~, ~@2 bb3@6 ~@2 bb3@5 ~", AK: "f3@8 eb3@8 c3@7 ~ a2@7 ~",
  AL: "~@8 ab4@8 bb4@15 ~, db4@31 ~, ~@4 bb3@27 ~", AM: "[c4@2 d4@2 eb4@11 ~ bb3@2 d4@2 eb4@28 ~@16]/2", AN: "f3",
  AO: "g3", AP: "ab3", AQ: "a3@15 ~", AR: "f3/2", AS: "~ [eb4,g4], ~@15 c4@17",
  AT: "[f3,bb3,d4]@16 ~@12 eb4@3 ~, ~@16 eb4@11 ~@5, ~@20 ab3@11 ~", AU: "[f3,bb3,d4]@15 ~ [ab3,c4,eb4]@16",
  AV: "~@17 eb4@15, ~ [ab3,c4]", // Ab
})).s("gm_electric_guitar_clean").gain(0.22).pan(0.6)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_3 = note("<~@56 A B C D E F ~@4 G H ~@19>".pickRestart({
  A: "[eb4,g4,bb4,eb5]@15 ~ [d4,f4,bb4,d5]@16", B: "[c4,eb4,g4,c5]@15 ~", C: "[c4,c5]@15 ~ [bb3,bb4]@15 ~",
  D: "[ab3,ab4]@16 [eb4,gb4]@15 ~", E: "[f4,bb4]@13 ~ [f4,bb4]@2 bb4@7 ~ bb4@7 ~, ~@16 f4@15 ~",
  F: "[f4,bb4]@7 ~ f4@7 ~ f4@7 ~ f4@7 ~, ~@8 bb4@23 ~", // Bb5
  G: "~@4 [db5,f5]@8 [d5,f5]@2 ~ [d5,f5]@13 e5 [g4,a4,b4,c5,d5] [e4,f4,a4,b4] [c4,d4,g4]", H: "[g3,a3,b3] [f3,b3] ~@30",
})).s("gm_overdriven_guitar").gain(0.28).pan(0.2)

// chords · overdriven guitar · "OVERDRIVE" · soft notes · Fmaj7 Csus2
const overdriven_guitar_soft = note("<~@66 [~@28 c5 ~@2 [e4,f4]] [[c4,d4] a3 ~@30] ~@19>")
  .s("gm_overdriven_guitar").gain(0.12).pan(0.2)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_4 = note("<~@56 A B C D E F ~@6 G H I J K L M N O P Q R@2 ~@6>".pickRestart({
  A: "ab5@15 ~ ab5@15 ~", B: "bb5@31 ~", C: "[c4,ab4] [bb3,g4]", D: "[c4,eb4]@8 [bb3,eb4]@7 eb4",
  E: "[ab3,db4,bb4]@13 ~ [bb3,d4,bb4]@2 bb3@11 ~ bb3 ~ bb4@2, ~@16 [d4,bb4]@13 bb3@3", // Bbm7 Bb Gm
  F: "[bb3,d4,bb4]@7 ~ [bb3,d4,bb4]@8 [bb3,d4,bb4]@7 ~ [bb3,d4,bb4]@7 ~", G: "bb2@16 d3@15 ~", H: "eb3@6 f3 g3 bb3@7 ~",
  I: "eb3@11 ~@2 g3@2 ~ bb3@14 f3 [d3,e3], ~@6 f3 ~@9", J: "f2@7 ~ g2@8 ab2@7 ~ a2@6 ~@2, c3 ~@31", K: "bb2@8 d3@7 ~",
  L: "[eb3,bb4]@9 g3@2 ~@3 c5@2 [d4,bb4]@12 [g4,a4] [b3,e4,f4] [g3,a3,c4,d4] ~, ~@6 [bb3,bb4] ~@9, ~@13 c4@2 ~@17", // Eb5 Gm Gsus2 E Gsus4 Bb
  M: "eb4@10 ~@2 eb4@3 ~ d4@4 ~ g4@2 ~ f4@5 [c4,d4] [g3,a3,b3] [d3,e3,f3], ~@10 f4 ~@5", N: "[b2,c3] ~@31, f2@31 ~",
  O: "g2", P: "ab2@15 ~", Q: "a2", R: "[bb2,f3]/2",
})).s("gm_overdriven_guitar").gain(0.28).pan(0.8)

// chords · overdriven guitar · "OVERDRIVE" · soft notes · Gsus2 F
const overdriven_guitar_soft_2 = note(`<
  ~@59
  [~@15 c4]
  ~@10
  [~@30 [g3,a3] ~]
  ~@2
  [~@28 c4 ~ b3 [f3,g3,a3]]
  [~@28 e4 ~@3]
  ~@12
>`).s("gm_overdriven_guitar").gain(0.16).pan(0.8)

// chords · piano · "A.PIANO 1"
const piano = note(`<
  A@6 B C D E F G H@2 I J I K L M N O P Q R S T U V@2 W X Y Z AA AB AC AD AC AE AF AG AH AI AJ AK AL AM AN AO AP@2 AQ AR
  AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS@3 BT@4
>`.pickRestart({
  A: "[~ [c2,c3,c4]@68 [eb2,eb3,g3,c4,eb4]@53 ~ [d3,a3,c4,d4,gb4]@66 ~@3, ~ [g3,eb4]@65 ~@56 d2@67 ~@3]/6", // C Cm D7 Cm
  B: "f3 ~@6 ab3, bb2@4 c4 ab3 ab4@2, d4@3 d4@5, bb3 bb3@3, ~ f3@7",
  C: "~@24 ab4@4 ab3@3 ~, bb2@4 c4 ab3@2 ~, d4@6 d4@9 ~, ~ bb3@7 bb3@22 ~@2, ~@2 f3@13 ~",
  D: "~@12 d4@3 ~@13 f3@4, bb1@15 a1@16 ~, d4@8 bb3@7 ~ [a3,c4]@8 [a3,c4,eb4]@7 ~, ~ bb2@15 a2@15 ~, ~@4 f3@11 ~@5 f3@8 ~@4", // Am Adim
  E: "~@7 d4, [g1,g2], d4@12 d4@4 a3@15 ~, ~@4 g3@16 d4@4 g3@7 ~, ~ bb3@3", // G
  F: "~@7 d4, [eb2,eb3]@15 ~ [d2,d3]@16, g4@2 [bb4,eb5]@2 ~ d4@2 ~, ~@4 eb4@8 eb4@19 ~, ~@9 g4@7 f4@7 ~ [f4,bb4]@8", // Eb D Eb5 Bb5
  G: "~@7 eb4, [c2,c3]@3 d4, g4@3 g4@5, ~ c4@3 c5@4, ~@2 eb4@3 c4@3", // C
  H: "[~@3 d4 ~@4 ab3 ~@2 eb4 ~@3 eb4, bb2@15 ~ [bb1,f4]@16 c4@4 ab3@12 ~@4 ab3@12, d4@12 ~@16 d4@19 ~@17, ~@4 f3@11 ~@5 f3@12 bb2@16 [bb1,ab4]@16, ~@8 bb3@7 ~@9 bb3@7 ~ eb4@8 c4@8 ~@8 c4@7 ~]/2", // Bb5 Bb7
  I: "[bb3,g4]@4 eb4@4 [bb3,g4]@4 eb4@4 [bb3,f4]@4 d4@4 [f4,bb4]@4 d4@3 ~, [eb2,eb3]@15 ~ [d2,d3]@15 ~", // Eb Bb5 Eb D
  J: "[eb4,g4]@4 c4@4 [eb4,g4,c5]@4 c4@4 ~@4 bb3@2 a3@2 bb3@4 d4@3 ~, [c2,c3]@16 [g1,g2]@15 ~", // Eb Cm C G
  K: "[eb4,g4]@4 c4@4 [eb4,g4,c5]@4 c4@4 ~@4 bb3@2 a3@2 bb3@4 d4@3 ~, [c2,c3] [g1,g2]", // Eb Cm C G
  L: "[c4,eb4,ab4]@11 ~ [eb4,ab4,c5]@4 [ab4,c5,eb5]@5 ~ [ab4,c5,eb5] ~ [ab4,c5,eb5]@3 ~ [c5,eb5,ab5]@3 ~, [ab1,ab2]", // Ab
  M: "[c4,f4,a4]@5 ~ [f4,a4,c5] ~ [f4,a4,c5]@5 ~ [a4,c5,f5] ~ [a4,c5,f5]@14 ~@2, [f1,f2]@29 ~@3", // F
  N: "~ f4 [bb4,d5,f5] f4 ~ d4 [f4,a4,d5] d4, [bb1,bb2] [d2,d3]", // Bb Dm Bb D
  O: "~ eb4 [bb3,g4] eb4 f4 f3 bb3 d4, [eb2,eb3]@15 ~ [bb1,bb2]@16", // Eb Bb
  P: "~@4 eb4@4 [bb3,g4]@4 eb4@4 f4@3 ~ f3@4 bb3@4 d4@3 ~, [eb2,eb3] [bb1,bb2]", // Eb Bb
  Q: "[f1,f2,f3,a3,c4]@7 ~ [c4,eb4,f4]@5 ~ [c4,eb4,f4] ~ [ab1,ab2,c4,eb4,f4]@8 [a1,a2,c4,eb4,f4]@8, ~@4 [g1,g2]@3 ~@9", // F F7 Fm7 F7 G
  R: "~@4 d4@3 ~ [f4,bb4]@4 d4@4 [f4,a4]@4 d4@4 [f4,a4]@4 d4@4, [bb1,bb2]@14 ~@2 [d2,d3]@15 ~", // Bb5 F Bb D
  S: "~@4 eb4@3 ~ [bb3,g4]@4 eb4@3 ~ d4@4 f3@4 bb3@4 d4@4, [eb2,eb3]@16 [bb1,bb2]@15 ~", // Eb Bb
// … 118 more lines

More by Queen