Strudelify
Caught In A Web cover art

1994 · Awake

Caught In A Web

Dream Theater

KeyF♯ majorTempo112 bpm
0:00/0:00
// Caught In A Web — Dream Theater
// 112 bpm, 3/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 5 "DISTORTION" distortion guitar (copy of ch 4 "OVERDRIVE" overdriven guitar)
// note: Full arrangement: all 195 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(112/3)

// 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.

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  A@2 B C D E F@2 G H I J K H L M K H N O P H L M Q R S T ~@15 U@3 V@2 W@6 ~@26 X@3 Y@3 Z@3 AA@3 ~@43 K H L M K ~@26
  AB@5 W@6 AC@2 Y@3 Z@3 AD@3 ~@7
>`.pickRestart({
  A: "[[d#4,d#5]@23 ~ c#4@15 ~ [g#3,g#4]@4 ~@4, ~@23 c#5@15 ~@10]/2", B: "[c#4,c#5]@15 ~ [b3,b4]@4 ~@4",
  C: "[c#4,c#5]@7 ~ a#4@8 [g#3,g#4]@4 ~@4, ~@7 a#3@7 ~@10", D: "[d#4,d#5]@16 [c#4,c#5]@5 ~@3",
  E: "f5@15 [d#4,d#5]@5 ~@4, f4@13 ~@11", // D#
  F: "[[c#4,c#5]@8 [a#3,a#4]@8 [g#3,g#4]@5 ~@3 a#3@6 ~@2 [f#3,f#4]@7 ~ [f3,f4]@4 ~@4, ~@23 a#4@6 ~@19]/2", // C# A# G# F# F
  G: "[b3,b4] ~ [c#4,c#5] ~@5 [c#4,c#5] ~ [d4,c#5,d5] ~@13", H: "~@8 [b3,b4] ~ [c#4,c#5] ~@5 [c#4,c#5] ~ [d4,d5] ~@5",
  I: "~@17 [b3,b4] ~ [c#4,c#5] ~@4", J: "[c#4,c#5] ~ [d4,c#5,d5] ~@21",
  K: "[b3,b4] ~ [c#4,c#5] ~@5 [c#4,c#5] ~ [d4,d5] ~@13", L: "~@16 [b3,b4] ~ [c#4,c#5] ~@5",
  M: "[c#4,c#5] ~ [d4,d5] ~@21", N: "~@16 [a3,a4] ~ [b3,b4] ~@5", O: "[b3,b4] ~ [c4,c5] ~@21",
  P: "[a3,a4] ~ [b3,b4] ~@5 [b3,b4] ~ [c4,c5] ~@13", Q: "[d#4,d#5]@10 c#5 ~, ~@20 c#4 ~@3",
  R: "[f4,f5]@8 [d#4,d#5]@3 ~", S: "[c#4,c#5]@7 ~ [a#3,a#4]@8 [g#3,g#4]@6 ~@2",
  T: "[a#3,a#4]@7 ~ [f#3,f#4]@7 ~ [f3,f4]@8", U: "[~@2 b4@3 c5@2 d5@2 a#4@5 a4@2 a#4@2]/3",
  V: "[d#5@4 g4@3 d5@4 d#5]/2", W: "[d5@2 c5@2 b4@7 a#4@9 a4@7 g4@9]/6", X: "[~@23 b4@17 c5@4 d5@8 a#4@20]/3",
  Y: "[a4@7 a#4@9 d#5@16 g4@12 d5@16 d#5@4 d5@8]/3", Z: "[c5@2 b4@7 a#4@9]/3", AA: "[a4@7 g4@9 ~@2]/3",
  AB: "[~@8 b4@12 c5@8 d5@7 a#4@21 a4@8 a#4@7 d#5@17 g4@11 d5@17 d#5@4]/5", AC: "[b4@3 c5@2 d5@2 a#4@5]/2",
  AD: "[a4@7 g4@11]/3",
})).s("gm_string_ensemble_1").gain(0.36)

// other · synth brass 2 · "SYNBRASS 2"
const synth_brass_2 = note(`<
  ~@28 A B@2 C D E@3 F G@3 H I@2 J ~@16 K L@4 M@6 ~@26 N O ~ P Q R S T U V W X@2 Y Z AA AB AC AD AE AF AG AH AI AJ@2 AK
  AL@2 AM ~@13 AN@3 AO@4 AP AQ@3 AR@4 AS AT@3 AU AV@3 AW AX@2 AY ~@22 AZ@3 BA BB ~
>`.pickRestart({
  A: "g#4 a4", B: "[g#4@2 f#4@3 f4@3 f#4@2 g#4@2]/2", C: "a4@2 g#4", D: "f#4 f4",
  E: "[c#4@2 b3@3 d#4@3 e4@2 f#4@3 a4@3 g#4 f#4]/3", F: "f4 g#4 a4",
  G: "[g#4@2 f#4@2 g#4@6 a4@6 f#4@4 e4 b3 g#4 f#4@2 b3 g#4 b3 g#4 f#4@2 e4@2 b3 c#4 b3]/3",
  H: "e4@2 b3@2 g#4@2 f#4@4 g#3@2 a#3@2 g#3@2 g4@4 g#4 ~ b4@2",
  I: "[c#5 b4 g#4 f#4@2 b3 g#4 b3@2 c#4@2 e4@2 b3 e4 b3 c#4 b3 g#3 e4 c#4 b3 g4 f4]/2", J: "c#4 b3 g3 f3 ~@8",
  K: "~ d#5@5", L: "[~@6 c#5@10 ~@3 g#4@3 b4@10 f#4@3 g#4@3 a4@6 g#4@4]/4",
  M: "[~@12 c#5@20 ~@12 a4@12 f#4@8 [c#4,f4]@63 ~@17]/6", N: "~@4 c#3 d3 d#3 e3 g3 f#3 e3 d#3",
  O: "d3 c#3 a3 g#3 g3 f#3 e3 d#3 ~@4", P: "g3@2 f3 e3 d#3 d3 d#3 g#3 g3 f#3 d3 c#3", Q: "g3 f#3 f3 e3 ~@8",
  R: "~@8 c#3 d3 d#3 e3", S: "g3 f#3 e3 d#3 d3 c#3 a3 g#3 g3 f#3 e3 d#3", T: "g3!2 f3 e3 d#3 d3 d#3 g#3 g3 f#3 d3 c#3",
  U: "g3 f#3 f3 b2 c3 c#3 d3 e3 d#3 g3 f#3 a3", V: "g#3 d3 c#3 a#3 a3 d#3 c4 e3 c#4 c4 a#3 a3",
  W: "g#3 d#4 d4 c4 e3 e4@3 d#4 d4 c4 b3",
  X: "[a#3@2 f4@2 e4@2 d4@2 f#3@2 f#4@6 g#3@2 a3@2 a#3@2 ~ c#4@2 ~ d4@2 d#4@2 e4@2 g4@2 f#4@2 e4@2 d#4@2 d4@2 c#4@2 a4@2 g#4@2, ~@11 b3 ~@12]/2",
  Y: "g4 f#4 e4 d#4 ~ f#4 f4 e4 d#4 d4 d#4 g#4, ~@4 f#4 ~@7, ~@9 g4@2 ~@13",
  Z: "g4 f#4 d4 c#4 g4 f#4 f4 b3 c4 c#4 d4 e4", AA: "d#4 g4 f#4 a4 g#4 d4 c#4 a#4 a4 d#4 c5 e4",
  AB: "c#5 c5 b4 a4 g#4 d#5 d5 c5 e4 e5@3", AC: "d#5 d5 c5 b4 a#4 f5 e5 d5 f#4 f#5@2 ~",
  AD: "g4 f#4 d#4 c#4 e4 a#4 g#4 f#4 e4 c4 g4 f#4", AE: "d#4 c#4 e4 a#4 g#4 f#4 e4 c4 b4 a#4 g#4 f#4",
  AF: "e4 c#5 b4 a#4 g#4 f#4 b4 a#4 g#4 f#4 e4 c#5", AG: "b4 a#4 g#4 f#4 b4 a#4 g#4 f#4 d5 c#5 b4 a4",
  AH: "g4 e5 d5 c#5 b4 a4 d5 c#5 b4 a4 g4 e5",
  AI: "d5@2 c#5@2 b4@2 a4@2 ~ f5@2 ~@3 a#4@2 ~@2 e5@2 ~ c5 a#4@2, ~@8 e5@2 ~ e5@2 c5@2 ~@2 f5@2 ~@5, ~@6 d5 ~ e5 ~ d5 ~",
  AJ: "[g5 d5@2 ~ d5 g4@2 f4 ~ d5@2 g5 d5 g4@2 f4 ~ f5@2 ~@2 c5@2 ~@2 f5@2 ~ d5 c5 a#4@2 g5 ~ g5@2 d5 ~ f4 ~@2 d5@2 g5 d5 ~ f4 ~, ~@3 g5@2 ~@3 g5@2 ~@6 e5@2 ~ e5@2 ~@3 e5@2 ~ e5@2 ~@4 d5@2 ~@5 g5@2 ~@6, ~@20 d5@2 ~ a#4@2 ~@12 g4@2 ~@6 g4@2 ~]/2",
  AK: "~ a#5@2 ~@2 f5@2 ~@2 a#5@2 ~ g5 f5 ~@2 c6 g5@2 c6 g5 ~ a#4 ~, a5@2 ~ a5@2 ~@3 a5@2 ~ a5@2 ~@11, ~@4 g5@2 ~ d5@2 ~@6 d5@2 ~@4 c5@2 ~",
  AL: "[~@2 c6 ~@3 a#4 ~ g5 a#5 ~@3 f5@2 ~ a5 ~ a5@2 ~ f5@2 ~ c6 g5@2 ~ g5 c5@2 a#4 ~ g5@2 c6 g5 ~ a#4 ~@3 b5@2 ~ f#5@2 e5, c6@2 ~@3 c5@2 ~@5 g5@2 ~ d5@2 ~@6 d5@2 ~@12 c5@2 ~@2 c#6@2 ~@5, ~ g5@2 ~ g5@2 ~@2 a5@2 ~ a5@2 ~@4 a#5@2 ~ g5@2 ~@5 c6@2 ~@3 c6@2 ~@6 b5@2 ~@2 a5@2 ~@2]/2",
  AM: "~ c#5@2 ~@2 f#4 ~ e4 ~ c#4@2 ~@2 f#3 ~ e3 b2 c#3@2 ~@2 f#2 ~ e2, b4@2 ~ b4@2 ~@7 a3@2 ~@5 b2@2 ~@3, ~@4 a4@2 ~@2 b3@2 ~ b3@2 ~@7 a2@2 ~@2",
  AN: "[~@4 f#4@3 g#4@3 d#5@10 f#4@3 g#4@3 c#5@10]/3",
  AO: "[f#4@3 g#4@3 b4@10 f#4@3 g#4@3 a4@6 g#4@4 e4@3 f#4@3 c#5@10]/4", AP: "e4 f#4 g#4@2",
  AQ: "[f#5@8 f5@31 ~@17 f#5@16, ~@5 f5@4]/3", AR: "[f#4@3 g#4@3 d#5@10 f#4@3 g#4@3 c#5@10 f#4@3 g#4@3 b4@10]/4",
  AS: "f#4 g#4 a4@2", AT: "[g#4@4 e4@3 f#4@3 c#5@10 e4@3 f#4@3 a4@6 f#5@4]/3", AU: "[g#4,f5]",
  AV: "[[a4,f#5]@8 [g#4,f5]@31 e4@3 b3@2 g#4@2 f#4@4 b3@2 g#4@2 b3@2 g#4@2 f#4@4 e4@4 b3@2 c#4@2 b3@2]/3", // D C#
  AW: "e4@2 b3@2 g#4@2 f#4@4 g#3@2 b3@2 g#3@2 g4@4 g#4 ~ b4@2",
  AX: "[e4 b3 g#4 f#4@2 b3 g#4 b3@2 c#4@2 e4@2 b3 e4 b3 c#4 b3 g#3 e4 c#4 b3 g4 f4]/2", AY: "c#4@2 a#3@2 g3@2 f3 ~@17",
  AZ: "[~@8 b4@24 d5@8 b4@23 d5@9]/3", BA: "b4", BB: "d5 ~@2",
})).s("gm_synth_brass_2").gain(0.31)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  A@7 B C D E F C D G F C D H I J K E F A@3 B C L E F C M N O C D P@2 Q R@2 S T U V W X Y@2 Z AA AB AC AD@2 AE AF AG AH
  AI AJ@2 AK AL AM AN AO AP AQ@2 AR AS AT@2 AU AV AW@2 AX AY AZ BA BB@2 BC T U BD BE BF BG BH BI@2 BJ BK BL BM BN BO BP
  BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG CH@2 CI CJ CK CL CM AP CN AP CN AP CN AP CN CO CP CQ F CO CP CQ F
  CO CP CR CS CT CU CQ F C D E F C M N O C D CV@2 Q CW@2 CX T U V W X Y@2 Z CY@2 AY AZ BA BB@2 BC T U BD BE CZ BG BH
  DA@2 BG DB@2
>`.pickRestart({
  A: "b0@2 c#1 ~ c#1 ~ c#1@2 b0 ~ b0 ~ b0 ~ b0 ~ b0@2 c#1@2 c#1 ~ c#1@2",
  B: "b0@2 c#1 ~ c#1 ~ c#1@2 b0 ~ b0 ~ b0 ~ b0 ~ b0@2 d1@2 d1 ~ d1@2",
  C: "b0@2 c#1 ~ c#1 ~ c#1 ~ c#1@2 d1@2 c#1@2 c#1 ~ c#1 ~ c#1 ~ c#1@3 ~",
  D: "c#1 ~ c#1@4 c#1@2 b0@2 c#1 ~ c#1 ~ c#1 ~ c#1@2 d1@2 c#1@2 c#1 ~",
  E: "c#1 ~ c#1@2 c#1@3 ~ c#1 ~ c#1@3 ~ c#1@2 b0@2 c#1@2 c#1 ~ c#1 ~",
  F: "c#1@2 d1@2 c#1 ~ c#1 ~ c#1 ~ c#1 ~ c#1@3 ~ c#1 ~ c#1@3 ~ c#1@2",
  G: "c#1 ~ c#1 ~ c#1@3 ~ c#1 ~ c#1@3 ~ c#1@2 b0@2 c#1@2 c#1 ~ c#1 ~",
  H: "c#1 ~ c#1 ~ c#1@4 c#1 ~ c#1@3 ~ c#1@2 a0@2 b0@2 b0 ~ b0 ~",
  I: "b0@2 c1@2 b0 ~ b0 ~ b0 ~ b0 ~ b0@3 ~ b0 ~ b0@3 ~ b0@2",
  J: "a0@2 b0@2 b0 ~ b0 ~ b0@2 c1@2 b0 ~ b0 ~ b0 ~ b0 ~ b0@3 ~",
  K: "b0@2 b0@3 ~ b0 ~ b0@2 c#1@2 c#1 ~ c#1 ~ c#1@2 d1@2 c#1@2 c#1@2",
  L: "c#1 ~ c#1@3 ~ c#1@2 b0@2 c#1@2 c#1 ~ c#1 ~ c#1@2 d1@2 c#1 ~ c#1 ~",
  M: "c#1 ~ c#1@3 ~ c#1@2 a1@2 b1@2 b0 ~ b0 ~ b0@2 c1@2 b0 ~ b0 ~",
  N: "b0 ~ b0 ~ b0@3 ~ b0 ~ b0@3 ~ b0@2 a1@2 b1@2 b0 ~ b0 ~",
  O: "b0@2 c1@2 b0 ~ b0 ~ b0 ~ b0 ~ b0@3 ~ b0 ~ b0@3 ~ b0 ~",
  P: "[c#1 ~ c#1 ~ c#1@3 ~ c#1 ~ c#1@3 ~ c#1@2 c#2@2 b1@2 g#1@2 f#1@4 e1@2 g#1@2 f#1@2 e1@2 b0@4 c#1@4 e1@2 f#1@2 g#1@2]/2",
  Q: "c#2 b1 g#1 f#1@2 c#1 e1 c#1 g1@2 g#1 b1",
  R: "[c#2 b1 g#1 f#1@2 e1 g#1 f#1 e1 b0@2 c#1@2 e1 f#1 g#1 c#2 b1 g#1 e2 c#2 b1 g2 f2]/2",
  S: "c#2@2 b1@2 g1@2 f1@2 g1@4 g1@3 ~ g1@3 ~ g1@4", T: "a#1@4 b1@4 c2@4 d#2@7 ~ d#2@3 ~",
  U: "d#2@4 d#2@3 ~ d#2@3 ~ d#2@4 d#2@3 ~ d#2@4", V: "c2@3 ~ c2@3 ~ c2@4 g1@4 a#1@4 c2@3 ~",
  W: "c2@4 a#1@7 ~ a#1@3 ~ a#1@4 a#1@4", X: "a#1@4 a#1@4 a#1@3 ~ a#1@4 g1@4 g1@3 ~",
  Y: "[g1@3 ~ g1@4 a#1@4 b1@4 c2@4 d#2@8 d#2@3 ~ d#2@4 d#2@3 ~ d#2@3 ~ d#2@4]/2",
  Z: "d#2@3 ~ d#2@4 d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~", AA: "d2@3 ~ d2@3 ~ d2@4 c2@7 ~ c2@3 ~",
  AB: "c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@2 ~@2", AC: "c2@6 ~@2 c#1@2 c#1@2 b0@2 c#1@4 b0@2 c#1 ~ c#1@2",
  AD: "[b0@2 c#1@2 c#1@2 b0@2 c#1 ~ c#1@2 b0@2 e1@2 c#1@2 c#1@2 b0@2 c#1@4 b0@2 c#1@2 c#1@2 b0@2 c#1@2 c#1@2 b0@2 c#1@2 c#1@2 b0@2 d1@2]/2",
  AE: "b0@2 c#1@2 c#1@2 c#1 ~ c#1@2 b0@4 b0 ~ b0@2 c#1@2 c#1 ~ c#1 ~",
  AF: "c#1@2 d1 ~ d1 ~ d1@2 b0@2 c#1@2 c#1 ~ c#1 ~ c#1@2 b0@3 ~ b0 ~",
  AG: "b0@2 c#1 ~ c#1 ~ c#1 ~ c#1@2 d1 ~ d1 ~ d1@2 b0@3 ~ b0 ~ b0 ~",
  AH: "b0@3 ~ b0 ~ b0@4 c#1 ~ c#1 ~ c#1 ~ c#1@2 b0@2 b0@3 ~", AI: "b0@3 ~ b0 ~ b0 ~ b0@3 ~ b0@2 b0@4 c#1 ~ c#1 ~ c#1 ~",
  AJ: "[c#1@2 b0@2 g#1@4 b0@2 c#1@2 c#1 ~ c#1@2 b0@2 c#1@2 c#1@2 b0@4 c#1@2 c#1 ~ c#1 ~ c#1@2 b0@2 g#1@4 b0@2 c#1 ~ c#1 ~ c#1@2]/2",
  AK: "b0@2 c#1 ~ c#1@2 b0@4 c#1 ~ c#1 ~ c#1 ~ c#1@2 b0@2 g#1@4",
  AL: "a0@2 b0 ~ b0 ~ b0@2 a1@2 b1 ~ b1@2 a1@4 b1 ~ b1 ~ b1 ~",
  AM: "b1@2 a1@2 f#1@4 a1@2 b1 ~ b1 ~ b1@2 a1@2 b1 ~ b1 ~ b1@2", AN: "~@2 b1 ~ b1 ~ b1 ~ b1@2 a1@2 f#1@4 b0@5 ~ b0 ~",
  AO: "b0@4 ~@2 b0 ~ b0@2 c#1 ~ c#1 ~ c#1 ~ c#1 ~ c#1 ~ c#1 ~ c#1 ~",
  AP: "b0@2 c#1 ~ c#1 ~ c#1 ~ c#1@2 b0@3 ~ b0 ~ b0@2 c#1 ~ c#1 ~ c#1@2",
  AQ: "[b0@2 c#1 ~ c#1 ~ c#1@2 b1@2 c#2 ~ c#2 ~ c#2@2 b1@2 c#2 ~ c#2@2 c#1@4 c#2@2 c#2 ~ c#2 ~ c#2@2 b1@2 g#1 ~ g#1@2 b1@2 c#2@2 c#2@2 c#2@2]/2",
  AR: "b1@2 c#2 ~ c#2@2 c#1@4 c#2@2 c#2@2 c#2 ~ c#2@2 b1@2 g#1 ~ g#1@2",
  AS: "b1@2 c#2 ~ c#2 ~ c#2@2 b1@2 c#2 ~ c#2@2 c#1@4 c#2@2 c#2 ~ c#2 ~",
  AT: "[c#2@2 b1@2 g#1 ~ g#1@2 b1@2 c#2 ~ c#2 ~ c#2@2 b1@2 c#2 ~ c#2@2 c#1@4 c#2@2 c#2 ~ c#2 ~ c#2@2 b1@2 g#1 ~ g#1@2 a1@2 b1 ~ b1 ~ b1@2]/2",
  AU: "a1@2 b1 ~ b1@2 b0@4 b1 ~ b1 ~ b1 ~ b1@2 a1@2 f#1@2 f#1@2",
  AV: "a1@2 b1 ~ b1 ~ b1@2 a1@2 b1 ~ b1@2 b0@3 b1@2 ~ b1@2 b1 ~",
  AW: "[b1@2 a1@2 f#1 ~ f#1@2 b1@2 c#2 ~ c#2 ~ c#2@2 b1@2 c#2 ~ c#2@2 c#1@4 c#2 ~ c#2 ~ c#2 ~ c#2@2 b1@2 g#1 ~ g#1@2 b1@2 c#2 ~ c#2 ~ c#2@2]/2",
  AX: "b1@2 c#2 ~ c#2@2 c#1@4 c#2 ~ c#2 ~ c#2 ~ c#2@2 b1@2 g#1 ~ g#1@2", AY: "g1@3 ~ g1@3 ~ g1@4 g1@4 a#1@4 b1@4",
  AZ: "c2@4 d#2@7 ~ d#2@3 ~ d#2@4 d#2@3 ~", BA: "d#2@4 d#2@4 d#2@4 d#2@4 c2@3 ~ c2@3 ~",
  BB: "[c2@4 g1@4 a#1@4 c2@4 c2@4 a#1@8 a#1@3 ~ a#1@4 a#1@3 ~ a#1@3 ~ a#1@3 ~]/2",
  BC: "a#1@4 a#1@4 g1@3 ~ g1@3 ~ g1@3 ~ g1@4", BD: "d2@4 d2@3 ~ d2@4 d2@3 ~ d2@3 ~ d2@3 ~",
  BE: "d2@4 c2@8 c2@3 ~ c2@3 ~ c2@3 ~", BF: "c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@5 ~@3",
  BG: "c#1@2 c#1@2 b0@2 c#1@4 b0@2 c#1@2 c#1@2 b0@2 c#1 ~ c#1@2 b0@2",
  BH: "c#1 ~ c#1@2 b0@2 e1@2 c#1@2 c#1@2 b0@2 c#1@4 b0@2 c#1@2 c#1@2",
  BI: "[b0@2 c#1 ~ c#1@2 b0@2 c#1 ~ c#1@2 b0@2 d1@2 c#1 ~ c#1@2 b0@2 c#1@4 b0@2 c#1@2 c#1@2 b0@2 c#1@4 b0@2 c#1 ~ c#1@2 b0@2 e1@2]/2",
  BJ: "c#1!2 b0 c#1@2 b0 c#1!2 b0 c#1@2 b0", BK: "c#1!2 b0 d1 c#1 d1 d#1 e1 g1 f#1 e1 d#1",
  BL: "d1@2 c#1@2 a1@2 g#1@2 g1@2 f#1@2 e1@2 d#1@2 c#1@2 d1@2 d1 ~ d1@2",
  BM: "c#1@2 c#1 ~ c#1@2 c#1 ~ c#1 ~ c#1@2 c#1@3 ~ c#1 ~ c#1@3 ~ c#1@2",
  BN: "g1 ~ g1@2 f1@2 e1@2 d#1@2 d1@2 d#1@2 g#1@2 g1@2 f#1@2 d1@2 c#1@2",
  BO: "g1@2 ~@2 f1@2 e1@2 c#1@2 d1@2 d1 ~ d1@2 c#1 ~ c#1 ~ c#1@2 c#1@2, ~ f#1@2 ~@9",
  BP: "c#1@2 c#1 ~ c#1@4 c#1 ~ c#1@3 ~ c#1 ~ c#1@2 d1@2 d#1@2 e1@2", BQ: "g1 f#1 e1 d#1 d1 c#1 a1 g#1 g1 f#1 e1 d#1",
  BR: "g1 f#1 f1 e1 d#1 d1 d#1 g#1 g1 f#1 d1 c#1", BS: "g1 f#1 f1 b0 c1 c#1 d1 e1 d#1 g1 f#1 a1",
  BT: "g#1 d1 c#1 a#1 a1 d#1 c2 d#1 c#2 c2 a#1 a1", BU: "g#1 d#2 c#2 c2 e1 e2!3 d#2 d2 c2 b1",
  BV: "a#1@2 f2@2 e2@2 d2@2 f#1@2 f#2@2 f#2 ~ f#2@2 a1@2 a#1@2 b1 ~ b1@2",
  BW: "d2@2 c#2@2 d#2@2 e2@2 ~@2 f#2 ~ e2@2 d#2@2 d2@2 c#2@2 a2@2 g#2@2, ~@2 f2 ~@3",
  BX: "g2@2 f#2@2 e2@2 d#2@2 ~ g2@2 f#2 f2@2 e2@2 d#2@2 d2@2 d#2@2 g#2@2, ~@4 f#2 ~@7",
  BY: "g2 f#2 d2 c#2 g2 f#2 f2 b1 c2 c#2 d2 e2", BZ: "d#2 g2 f#2 a2 g#2 d2 c#2 a#2 a2 d#2 c3 e2",
  CA: "c#3 c3 a#2 a2 g#2 d#3 d3 c3 e2 e3!3", CB: "d#3@2 d3@2 c3@2 b2@2 a#2@2 f3@2 e3@2 d3@2 f#2@2 f#3@2 f#3@2 f#3 ~",
  CC: "f#1@2 f#1 ~ f#1@2 f#1@2 f#1@2 f#1@2 f#1@2 f#1 ~ f#1 ~ f#1@2 f#1@2 f#1@2",
  CD: "f#1@2 f#1@2 f#1@2 f#1@2 f#1 ~ f#1@2 f#1 ~ f#1@2 e2@2 e2@2 e2@2 e2@2",
  CE: "e2 ~ e2 ~ e2 ~ e2@2 e2 ~ e2@2 e2@2 e2@2 e2 ~ e2 ~ e2@2 e2@2",
  CF: "e2@2 e2 ~ e2 ~ e2@2 e2 ~ e2@2 e2@2 e2@2 g2@2 g2@2 g2@2 g2@2",
  CG: "g2@2 g2 ~ g2@2 g2@2 g2 ~ g2 ~ g2 ~ g2@2 g2 ~ g2 ~ g2 ~ g2@2",
  CH: "[g2@2 g2@2 g2 ~ g2@2 ~ a#2 ~ a#2!4 ~@2 a#2 ~ a#2!3 ~@3 a#2 ~ a#2!3 ~@3 a#2 ~ a#2!3 ~ a#2 ~ a#2 ~ a#2!3 ~ a#2, ~@8 e3@2 ~@6 e3@2 ~@5 a#2@2 ~@6 a#2@2 ~@15, ~@12 g3 ~@3 g3 ~@3 e3 ~@3]/2",
  CI: "~ a#2 ~ a#2!3 ~@3 a#2 ~ a#2!2 ~ a#2!2 ~ a#2 ~ a#2!3 ~ a#2, e3@2 ~@5 a#2@2 ~@15, ~@4 g3 ~@3 g3 ~@3",
  CJ: "~ g2 ~ g2!3 ~ g2 ~ g2 ~ g2!3 ~ g2 ~ g2 ~ g2!3 ~ g2, d3 ~@3 d3 ~@3 c3 ~@3",
  CK: "~ g2 ~ g2!3 ~ g2 ~ g2 ~ g2!3 ~ g2 ~ g2 ~ g2!2 ~ g2!2, c3 ~@3 d3 ~@3 d3 ~@3",
  CL: "~ g2 ~ g2!3 ~ g2 c3 g2 ~ g2!3 ~ g2 f#1!2 ~ f#1!4 ~, c3 ~@11",
  CM: "f#1!3 ~ f#1!2 ~ f#1!3 ~ f#1!3 ~ f#1!3 ~ f#1!3 ~ f#1",
  CN: "b0@2 c#1@2 c#1 ~ c#1 ~ c#1@2 b0@4 b0 ~ b0@2 d1@2 d1 ~ d1@2",
  CO: "b0@2 c#1@2 ~@4 c#1@2 d1@2 c#1 ~ c#1 ~ c#1 ~ c#1 ~ c#1@4",
  CP: "c#1 ~ c#1@3 ~ c#1@2 b0@2 c#1@2 ~@4 c#1@2 d1@2 c#1 ~ c#1 ~",
  CQ: "c#1 ~ c#1 ~ c#1@4 c#1 ~ c#1@3 ~ c#1@2 b0@2 c#1@2 ~@4", CR: "c#1 ~ c#1 ~ c#1@4 c#1 ~ c#1@4 c#1@2 b0 ~ b0 ~@5",
  CS: "b0 ~ b0@2 b0 ~ b0 ~ b0 ~ b0 ~ b0@3 ~ b0 ~ b0@3 ~ b0 ~", CT: "b0 ~ b0 ~@5 b0 ~ b0 ~ b0 ~ b0 ~ b0 ~ b0 ~ b0@3 ~",
  CU: "b0 ~ b0@3 ~ b0 ~ b0@2 c#1 ~@5 c#1@2 d1@2 c#1 ~ c#1 ~",
  CV: "[c#1 ~ c#1@2 c#1@3 ~ c#1@2 c#1@4 c#1 c#2@3 b1@2 g#1@2 f#1@4 e1@2 g#1@2 f#1@2 e1@2 b0@4 c#1@4 e1@2 f#1@2 g#1 ~]/2",
  CW: "[c#2 b1 g#1 f#1@2 e1 g#1 f#1 e1 b0@2 c#1@2 e1 f#1 g#1 c#2 b1 g#1 e2 c#2 a#1 g2 f2]/2",
  CX: "c#2@2 a#1@2 g1@2 f1@2 g1@3 ~ g1@3 ~ g1@3 ~ g1@4, ~@6 e1 ~@17", CY: "[d2@3 ~ d2@3 ~ d2@4 c2@36]/2",
  CZ: "c2@3 ~ c2@3 ~ c2@3 ~ c2@2 ~@2 c2@7 ~",
  DA: "[b0@2 c#1 ~ c#1@2 b0@2 c#1 ~ c#1@2 b0@2 d1@2 c#1 ~ c#1@2 b0@2 c#1@4 b0@2 c#1@2 c#1@2 b0@2 c#1@2 c#1@2 b0@2 c#1@2 c#1@2 b0@2 e1@2]/2",
  DB: "[c#1 ~ c#1@2 b0@2 d1@2 ~@15 c#1@2 ~ d1 ~ c#1 ~ c#1@2 c#1@3 ~ c#1 ~ c#1 ~@3 c#1 ~ c#1 ~@3]/2",
})).s("gm_electric_bass_finger").gain(0.36)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  A@6 B C D E F G H I J K D L M N O P Q R S T U V W X Y Z D AA AB AC H AD AE@2 AF AG@2 AH@3 AI@2 AJ@7 AK@2 AL AM AN@2
  AO@4 AP@3 AQ AR AS@2 AT AU AV@2 AW AX AY@2 AT AZ@2 BA@3 BB@6 BC BD BE@2 BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT
  BU BV BW BX BY BZ CA CB CC CD CE@2 CF CG@2 CH CI@6 ~@2 CJ CK CL CM CJ CN CO CM CJ CK CP CQ CR CS CT CU@2 CV CW@2 CX CY
  CZ@2 DA DB DC@2 AF DD@2 DE@3 AI@2 DF@6 DG@5 DH@3 DI@3 BF DJ DK@2 DL DM DN
>`.pickRestart({
  A: "[b1,f#2]@3 ~ b1 ~ b1 ~ [b1,f#2]@5 ~ [b1,f#2] ~ [b1,f#2]@3 ~ [b1,f#2] ~ [b1,f#2] ~", // B5
  B: "[b1,f#2]@3 ~ b1 ~ b1 ~ [b1,f#2]@5 ~ [b1,f#2] ~ [b1,f#2]@3 ~ [b1,f#2] ~ b1 ~", // B5
  C: "[b1,f#2]@3 ~ b1 ~ b1 ~ [b1,f#2]@5 ~ [b1,f#2] ~ [b1,f#2]@2 [d2,a2] ~ [d2,a2] ~ [d2,a2]@2", // B5 D5
  D: "[b1,f#2]@3 ~ b1 ~ b1 ~ [b1,f#2]@2 [c2,g2] ~ b1 ~ b1 ~ b1 ~ b1 ~ [b1,f#2]@3 ~", // B5 C5 B5
  E: "b1 ~ [b1,f#2]@3 ~ b1 ~ [b1,f#2]@3 ~ b1 ~ b1 ~ [b1,f#2]@2 [c2,g2] ~ b1 ~ b1 ~", // B5 C5
  F: "b1 ~ b1 ~ [b1,f#2]@3 ~ b1 ~ [b1,f#2]@3 ~ b1 ~ [b1,f#2]@3 ~ b1 ~ b1 ~", // B5
  G: "[b1,f#2]@2 [c2,g2]@2 [b1,f#2] ~ b1 ~ b1 ~ b1 ~ [b1,f#2]@3 ~ [b1,f#2] ~ [b1,f#2]@3 ~ [b1,f#2] ~", // B5 C5 B5
  H: "[b1,f#2]@3 ~ b1 ~ b1 ~ b1@2 [c2,g2] ~ b1 ~ b1 ~ b1 ~ b1 ~ [b1,f#2]@3 ~", // B5 C5 B5
  I: "b1 ~ [b1,f#2]@3 ~ b1 ~ [b1,f#2]@3 ~ b1 ~ b1 ~ [b1,f#2]@2 [c2,g2]@2 b1 ~ b1 ~", // B5 C5
  J: "b1 ~ b1 ~ g2@2 b1 ~ b1 ~ [b1,f#2]@3 ~ [b1,f#2] ~ [b1,f#2]@3 ~ b1 ~ b1 ~, ~@4 b1 ~@19", // B5
  K: "[b1,f#2]@2 [c2,g2] ~ c2 ~ c2 ~ b1 ~ b1 ~ [b1,f#2]@3 ~ [b1,f#2] ~ [b1,f#2]@3 ~ [b1,f#2] ~", // B5 C5 B5
  L: "[c#2,g#2] ~ [c#2,g#2]@3 ~ [c#2,g#2] ~ [b1,f#2]@2 [c#2,g#2] ~ b1 ~ c#2 ~ [c#2,g#2]@2 [d2,a2] ~ c#2 ~ c#2 ~", // C#5 B5 C#5 D5
  M: "c#2 ~ c#2 ~ [c#2,g#2]@3 ~ [c#2,g#2] ~ [c#2,g#2]@3 ~ [c#2,g#2] ~ [a1,e2]@2 [b1,f#2] ~ [b1,f#2] ~ [b1,f#2] ~", // C#5 A5 B5
  N: "[b1,f#2]@2 [c2,g2]@2 b1 ~ b1 ~ b1 ~ b1 ~ b1@3 ~ b1 ~ b1@2 ~@2 b1 ~", // B5 C5
  O: "[a1,e2]@2 [b1,f#2] ~ b1 ~ b1 ~ [b1,f#2]@2 [c2,g2] ~ [b1,f#2] ~ b1 ~ b1 ~ b1 ~ b1@3 ~", // A5 B5 C5 B5
  P: "b1 ~ b1@3 ~ b1 ~ [b1,f#2]@2 [c#2,g#2] ~ c#2 ~ c#2 ~ [c#2,g#2]@2 [d2,a2]@2 c#2 ~ c#2 ~", // B5 C#5 D5
  Q: "c#2 ~ c#2 ~ [c#2,g#2]@3 ~ [c#2,g#2] ~ [c#2,g#2]@3 ~ [c#2,g#2]@2 [b1,f#2]@2 [c#2,g#2] ~ c#2 ~ c#2 ~", // C#5 B5 C#5
  R: "[c#2,g#2]@2 [d2,a2]@2 c#2 ~ c#2 ~ c#2 ~ c#2 ~ [c#2,g#2]@3 ~ c#2 ~ [c#2,g#2]@3 ~ [c#2,g#2] ~", // C#5 D5 C#5
  S: "[b1,f#2]@2 [c#2,g#2]@2 c#2 ~ c#2 ~ [b1,f#2]@5 ~ [b1,f#2] ~ [b1,f#2]@2 [c#2,g#2]@2 [c#2,g#2] ~ [c#2,g#2]@2", // B5 C#5 B5 C#5
  T: "[b1,f#2]@2 [c#2,g#2] ~ [c#2,g#2] ~ c#2@2 [b1,f#2]@5 ~ [b1,f#2] ~ [b1,f#2]@2 [c#2,g#2]@2 [c#2,g#2] ~ [c#2,g#2]@2", // B5 C#5 B5 C#5
  U: "[b1,f#2]@2 [c#2,g#2]@2 [c#2,f#2] ~ c#2@2 [b1,f#2]@5 ~ [b1,f#2] ~ [b1,f#2]@2 [c#2,g#2] ~ [c#2,g#2] ~ [c#2,g#2]@2", // B5 C#5 F#5 B5 C#5
  V: "[b1,f#2]@2 [c#2,g#2]@2 c#2 ~ c#2 ~ [b1,f#2]@5 ~ [b1,f#2] ~ [b1,f#2]@2 [d2,a2] ~ [d2,a2] ~ [d2,a2] ~", // B5 C#5 B5 D5
  W: "[b1,f#2]@3 ~ b1 ~ b1 ~ [b1,f#2]@2 [c2,g2] ~ c2 ~ c2 ~ b1 ~ b1 ~ [b1,f#2]@3 ~", // B5 C5 B5
  X: "b1 ~ [b1,f#2]@3 ~ [b1,f#2] ~ [b1,f#2]@3 ~ b1 ~ b1 ~ [b1,f#2]@2 [c2,g2]@2 c2 ~ b1 ~", // B5 C5
  Y: "b1 ~ b1 ~ [b1,f#2]@3 ~ [b1,f#2] ~ [b1,f#2]@2 ~@2 [b1,f#2] ~ [b1,f#2]@3 ~ b1 ~ b1 ~", // B5
  Z: "[b1,f#2]@2 [c2,g2] ~ c2 ~ b1 ~ b1 ~ b1 ~ [b1,f#2]@3 ~ [b1,f#2] ~ [b1,f#2]@3 ~ [b1,f#2] ~", // B5 C5 B5
// … 189 more lines

More by Dream Theater