Strudelify
Silent Lucidity cover art

1991 · Empire

Silent Lucidity

Queensryche

KeyG majorTempo120 bpm
0:00/0:00
// Silent Lucidity — Queensryche
// 120 bpm, 4/4, key G major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: track names are the Roland MT-32 patch names at their program numbers ("Guitar 1" on 59, "Guitar 2" on 60, "Elec Guitar 1" on 61, "Elec Guitar 2" on 62, "Syn Brass 1" on 24, "Acou Bass 1" on 64), so with no bank select the whole file is read through the MT-32 patch table: ch 2 "Vocals" Chorale -> choir aahs; ch 3 "Guitar 1" Guitar 1 -> acoustic guitar nylon; ch 4 "Guitar 2" Guitar 2 -> acoustic guitar steel; ch 5 "Elec Guitar 1" Elec Gtr 1 -> electric guitar clean; ch 6 "Elec Guitar 2" Elec Gtr 2 -> overdriven guitar; ch 8 "Syn Brass 1" Syn Brass 1 -> synth brass 1; ch 9 "Acou Bass 1" Acou Bass 1 -> acoustic bass
// note: Full arrangement: all 199 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Guitar 2.
setcpm(120/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.

// chords · acoustic guitar nylon · "Guitar 1"
const acoustic_guitar_nylon = note(`<
  A@4 B@2 C@2 D@4 B@2 E@2 D@4 B@2 F@2 G@4 H@4 G@4 H@2 I ~ J@4 K@4 J@4 K@2 L@2 J@4 K@2 L@2 M@4 N@4 M@4 N@2 O P ~@14 Q R S
  ~ D@4 ~@33 D@4 B@2 C@2 D@4 B@2 F@2 G@4 H@4 G@4 H@2 I ~@15 Q R S ~@2 T@8 U@3 V ~
>`.pickRestart({
  A: "[~@3 b3 ~@2 b3 ~@2 b3 ~@2 b3 ~ a4@2, g3@3 ~ g3@2 ~ g3@2 ~ g3@2 ~ g3@3, ~@2 b4@3 b4@3 a4@3 a4@3 ~@2]/2",
  B: "[~@3 b3 ~@2 b3 ~@2 g3 ~@2 g3 ~ d4@2, e3@3 ~ e3@2 ~ e3@2 ~ e3@2 ~ e3@3, ~@2 f#4@3 f#4@3 d4@3 d4@3 ~@2]/2",
  C: "[~@3 b3 ~@2 b3 ~@2 g3 ~@2 g3 ~ d4 g3, e3@3 ~ e3@2 ~ e3@2 ~ e3@2 ~ e3@2 ~, ~@2 f#4@3 f#4@3 d4@3 d4@3 ~@2]/2",
  D: "[~@3 b3 ~@2 b3 ~@2 b3 ~@2 b3 ~@2 b3, g3@3 ~ g3@2 ~ g3@2 ~ g3@2 ~ g3@2 ~, ~@2 b4@3 b4@3 a4@3 a4@3 a4@2]/2",
  E: "[e3 ~@5 b3@2 ~@4 b3@2 ~@4 g3@2 ~@4 g3@2 ~@2 d4@2 g3@2, ~@2 f#4@3 f#4@3 d4@3 d4@3 ~@2, ~@4 e3@2 ~ e3@2 ~ e3@2 ~ e3@2 ~]/2",
  F: "[~@3 b3 ~@2 b3 ~@2 b3 ~@2 b3 ~ d4 b3, e3@3 ~ e3@2 ~ e3@2 ~ e3@2 ~ e3@2 ~, ~@2 f#4@3 f#4@3 d4@3 d4@3 ~@2]/2",
  G: "[~@3 g3 ~@2 g3 ~@2 g3 ~@2 g3 ~@2 g3, c3@3 ~ c3@2 ~ c3@2 ~ c3@2 ~ c3@2 ~, ~@2 e4@3 e4@3 d4@3 d4@3 d4@2]/2",
  H: "[~@3 g3 ~@2 g3 ~@2 g3 ~@2 g3 ~@2 g3, a2@3 ~ a2@2 ~ a2@2 ~ a2@2 ~ a2@2 ~, ~@2 e4@3 e4@3 d4@3 d4@3 d4@2]/2",
  I: "[g3,d4]", // G5
  J: "[~@3 d4 ~@2 d4 ~@2 d4 ~@2 d4 ~@2 d4, g3@3 ~ g3@2 ~ g3@2 ~ g3@2 ~ g3@2 ~, ~@2 b4@3 b4@3 a4@3 a4@3 a4@2]/2",
  K: "[~@3 b4 ~@2 b4 ~@2 g4 ~@2 g4 ~@2 g4, e4@3 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~, ~@2 f#5@3 f#5@3 d5@3 d5@3 d5@2]/2",
  L: "[~@3 b4 ~@2 b4 ~@2 b4 ~@2 b4 ~@2 b4, e4@3 ~ e4@2 ~ e4@2 ~ e4@2 ~ e4@2 ~, ~@2 f#5@3 f#5@3 d5@3 d5@3 d5@2]/2",
  M: "[~@3 g4 ~@2 g4 ~@2 g4 ~@2 g4 ~@2 g4, c4@3 ~ c4@2 ~ c4@2 ~ c4@2 ~ c4@2 ~, ~@2 e5@3 e5@3 d5@3 d5@3 d5@2]/2",
  N: "[~@3 g4 ~@2 g4 ~@2 g4 ~@2 g4 ~@2 g4, a3@3 ~ a3@2 ~ a3@2 ~ a3@2 ~ a3@2 ~, ~@2 e5@3 e5@3 d5@3 d5@3 d5@2]/2",
  O: "~@3 g4 ~@2 g4 a3, a3@3 ~ a3@2 ~@2, ~@2 e5@3 e5@3", P: "[a3,d5]", Q: "~@7 g5",
  R: "[c5,e5]@2 [b4,d5]@2 [g4,c5]@2 e4 [g4,c5]", S: "[g4,c5] ~",
  T: "[~@3 b4 ~@2 b4 ~@2 b4 ~@2 b4 ~@2 b4, g4@3 ~ g4@2 ~ g4@2 ~ g4@2 ~ g4@2 ~, ~@2 b5@3 b5@3 a5@3 a5@3 a5@2]/2",
  U: "[g4@2 ~ b4 ~@2 b4 ~@2 b4 ~@13 b4, ~@2 b5@3 b5@3 a5@3 a5@3 [d5,a5]@2 ~@2 b5@6, ~@2 g4@2 [g4,b4]@2 d5@2 ~@4 b4@3 b4@5 b4@3 ~, ~@7 g4@2 ~ g4@3 g4@3 g4@6 g4@2]/3", // D5 G
  V: "[g4,b4,b5]", // G
})).s("gm_acoustic_guitar_nylon").gain(0.27).pan(0.4)

// chords · acoustic guitar steel · "Guitar 2"
const acoustic_guitar_steel = note("<~@39 A ~@95 B C B C ~ D ~ E B C B C ~ D ~@16 F G ~@32>".pickRestart({
  A: "~@12 d4 e4 g4@2", B: "~@3 d4 ~@2 d4 ~", C: "~ d4 ~@2 d4 ~@2 d4", D: "~@7 g4", E: "~ b4 ~@2 b4 ~@2 b4",
  F: "~@3 g4 ~@2 g4 a3, a3@3 ~ a3@2 ~@2, ~@2 e5@3 e5@3", G: "[a3,d5]",
})).s("gm_acoustic_guitar_steel").gain(0.27).pan(0.8)

// other · electric guitar clean · "Elec Guitar 1"
const electric_guitar_clean = note(`<
  ~@102 A@4 B C D B E@4 F B F B F B F B F B F B F B F B F B F B G ~@64
>`.pickRestart({
  A: "[d#4@2 g4 f4@3 a#4 g4@3 g4 f4@2 d#4 a#3 c4]/4", B: "c4", C: "c4 ~", D: "c4@4 c4 d4 c4@2",
  E: "[d#4@2 g4 f4@3 a#4 g4@3 g4 f4@2 d#4 a#3 d4]/4", F: "d4@3 d#4 d4@2 c4@2", G: "b3",
})).s("gm_electric_guitar_clean").gain(0.25)

// chords · overdriven guitar · "Elec Guitar 2"
const overdriven_guitar = note(`<
  ~@80 A@4 B@4 A@4 C@2 D ~@7 E@2 F@2 G H I H E@4 G H G H ~@49 A@4 B@4 A@4 C@2 D ~@17
>`.pickRestart({
  A: "[~ f#5 d5 f#5@2 g5@2 a5@2 e5@2 a5@2 g5!2 f#5]/4", B: "[~ f#5 d5 f#5@2 g5@2 a5@2 e5@2 b5@2 a5@2 g5]/4",
  C: "[~ f#5 d5 f#5@2 g5@2 f#5]/2", D: "[c4,g4,c5,d5]",
  E: "[~@2 g5 a#4 d#5 g5 ~@4 f5 a#4 d#5 a#4 f5@2, d#4 d#4, ~@3 f5@2 ~@3]/2",
  F: "[a#3@2 g5 a#4 d#5 g5 ~@4 f5 a#4 d#5 a#4 f5@2, d#4 d#4, ~@3 f5@2 ~@3]/2", G: "~@2 d5 c5@2 g4 d5 c5, c4",
  H: "e5 c5 g4 e5 c5 g4 e5 c5, c4", I: "c4 ~@3 d5@2 c5@4 g4@2 d5@2 c5@2",
})).s("gm_overdriven_guitar").gain(0.24)

// other · synth strings 1 · "Strings 3"
const synth_strings_1 = note(`<
  ~@80 A B C D E F G@2 A B C D E F H ~@19 I@2 J K L E M N O B P Q R S T U V W X@3 ~@32 Y Z C AA Y Z C AA Y Z C AA AB Z
  AC ~@2 AD@2 ~@13
>`.pickRestart({
  A: "f#4@3 g4", B: "a4", C: "g4@3 f#4", D: "e4", E: "d4", F: "f#4", G: "c4/2", H: "c4 ~", I: "g4/2", J: "a3", K: "a#3",
  L: "c4", M: "d#4", N: "f4", O: "g4", P: "a#4", Q: "c5", R: "d5", S: "d#5", T: "f5", U: "g5", V: "a5", W: "a#5",
  X: "[c6@3 d6]/3", Y: "d4@3 e4", Z: "f#4@6 e4 f#4", AA: "e4@15 ~", AB: "a4@3 g4", AC: "b4@7 ~@9", AD: "[e4,g5]/2",
})).s("gm_synth_strings_1").gain(0.11).pan(0.8)

// chords · synth brass 1 · "Syn Brass 1"
const synth_brass_1 = note("<~@102 A B C D E@2 F G H I J K L@2 M@2 N ~@65 O@2 ~@13>".pickRestart({
  A: "[d#3,g3]", B: "[g#3,c4]@7 [a#3,d4]", C: "[g3,d#4]@3 [a#3,d#4]", D: "[g#3,c4]", E: "[g3,c4]/2",
  F: "[c4,e4]@3 [d4,f4]", G: "[e4,g4]", H: "[d#4,g4]@3 [a#3,d#4] [d#4,g4]@2 [g4,a#4]@2",
  I: "[f4,g#4]@3 [g4,a#4] [g#4,c5]@4", J: "[a#4,d#5]@3 [g#4,c5] [a#4,d#5]@4", K: "[f4,g#4]@4 [g#4,c5]@3 [f4,g#4]",
  L: "[g4,c5]/2", M: "[c5,e5]/2", N: "[c4,e4] ~@3", O: "[b3@15 ~]/2",
})).s("gm_synth_brass_1").gain(0.19).pan(0.4)

// bass · acoustic bass · "Acou Bass 1"
const bass = note(`<
  ~@39 A B@2 C@2 D@2 E@4 F@2 G H I J K L M@2 N O I P Q R S T U V W X Y R S T Z@2 W X AA AB AC AD AE AF AG AH AI AC AD AE
  AF AJ AK AL AM ~@4 AN AO AP AQ AR AS AT AU AS AO AP AQ AR AS AT AS@2 Y AV AW@2 AX@2 AY AZ BA@2 BB@2 BC@2 BD@2 BE BF BG
  BH BI BJ BK BL BM BF BN BO BP G BQ I J AK BR BS BT BU@2 W X Q R S T BV BW W X BX AB AC AD AE AF AG AH AI AC AD AE AF
  AJ AK AL AM ~@5 A BY@2 BZ@2 CA@2 CB@2 ~
>`.pickRestart({
  A: "~@3 g#2", B: "[g2@11 ~@4 d2]/2", C: "[g2@11 ~@4 f#2]/2", D: "[e2@14 ~ b1]/2",
  E: "[e2@24 b2@2 d3@2 b2@3 ~ g2@23 ~@5 d2@4, ~@31 a2@2 ~@31]/4", F: "[g2@11 ~@3 g2 f#2]/2", G: "e2@6 ~ b1",
  H: "e2@3 b2", I: "e2@13 ~ b1@2", J: "e2 ~ e2@12 b2@2", K: "g2@13 ~ d2@2", L: "g2@7 ~",
  M: "[g2@6 d2@2 g2@14 d2@2 g2 ~ g2@2 f#2@2 f2@2]/2", N: "e2", O: "b2@4 e3@3 b2", P: "e2@5 ~ f#2 g2", Q: "c3@7 d3",
  R: "c3 g2", S: "c3@7 b2", T: "c3@2 b2@2 a2@3 g2", U: "a2@7 e2", V: "a2@2 ~ e2", W: "a2@3 g2", X: "a2@7 e3",
  Y: "c3@15 ~", Z: "[a2@6 ~ e2]/2", AA: "a2 ~ a2@11 ~ b2@2", AB: "e3 ~ e3@12 f#3@2", AC: "d3@3 a2",
  AD: "e3@7 d3 e3@4 c3@4", AE: "d3 ~ d3@9 ~ a2@4", AF: "d3@6 ~ e3", AG: "c3@3 a2 g2@10 e2@2", AH: "g2@13 ~@3",
  AI: "d3 ~ d3@12 f#3@2", AJ: "d3@3 c3 d3@10 b2@2", AK: "c3@13 ~ g2@2", AL: "c3@2 b2@2 a2@2 a2 g2", AM: "c3 ~",
  AN: "~@4 g2@3 a2", AO: "d#2@6 a#2@2 d#3 ~ d#3@4 a#2@2", AP: "g#2@3 a#2 c3@2 a#2@2",
  AQ: "g2@6 a#2@2 d#3 ~ d#3@4 a#2@2", AR: "c3 a#2 d#3 d3", AS: "c3@6 g2@2 c3@7 ~", AT: "c3@6 g2@2 c3 ~ c3@4 c3@2",
  AU: "g3@6 g2@2 c3@7 ~", AV: "~@12 g2@3 a#2", AW: "[c3 ~ c3@16 ~@10 g2@2 a#2@2]/2", AX: "[d3@9 ~@5 g2 a2]/2",
  AY: "a#2", AZ: "c3@11 ~ g2@3 a#2", BA: "[c3 ~ c3@17 ~@9 g2@3 a#2]/2", BB: "[c3 ~ c3@20 ~@10]/2",
  BC: "[c3@10 ~@4 g2 a#2]/2", BD: "[c3@3 ~]/2", BE: "~@2 d2 e2", BF: "g2@6 d2@2 g2 ~ g2@4 d2@2",
  BG: "g2@6 d2@2 g2@3 g2 e2@2 d2@2", BH: "g2@6 a2@2 g2@3 d2 g2@2 g2@2", BI: "g2@3 d2 g2!2 f#2 d2", BJ: "e2@6 b1!2",
  BK: "e2@6 b1@2 e2 ~ e2@2 d2@2 b1@2", BL: "e2@3 f#2", BM: "g2@4 f#2@4 b2@2 d3@2 b2@3 a2",
  BN: "g2@4 d2@4 g2@3 f#2 e2@2 d2@2", BO: "g2@3 d2 g2@4", BP: "g2@4 d2@4 g2@3 a2 g2@2 f#2@2", BQ: "e2@12 b2@3 b2",
  BR: "c3@6 g2!2", BS: "c3@6 g2@2 c3@6 ~ d3", BT: "c3@7 ~ c3@3 b2 c3@2 b2@2", BU: "a2@3 e2", BV: "a2@6 e2 g2",
  BW: "a2@4 c3@4 a2@3 g2 e2@4", BX: "e3 ~ e3@11 ~ b2@2", BY: "[g2@23 ~@5 d2@4]/2", BZ: "[g2@25 ~@3 d2@4]/2",
  CA: "[g2@25 ~@3 g#2@4]/2", CB: "g2",
})).s("gm_acoustic_bass").gain(0.55)

// drums · kick
const kick = s("bd").struct(`<
  ~@39 A B A B A B ~@2 A B ~ A C B A B A B A B A B A B A C@7 D C@8 E@14 B ~ F ~@5 G@15 E ~@17 H@31 B G@13 E B ~ F ~@15
>`.pickRestart({
  A: "~@7 x", B: "x", C: "x ~@6 x", D: "x ~@3 x ~@2 x", E: "x ~@6 x!2 ~@7", F: "x!2", G: "x ~@6 x!2 ~ x ~@5",
  H: "x ~@2 x!2 ~@2 x",
})).gain(0.48)

// drums · rim
const rim = s("rim").struct("<~@53 A B ~@8 C D@15 ~@17 E ~@38 F@31 ~@17 E ~@15>".pickRestart({
  A: "~@7 x", B: "~ x ~@2", C: "~@3 x", D: "~ x", E: "~@3 x ~@4", F: "~ x ~ x",
})).gain(0.36)

// drums · snare
const snare = s("sd").struct("<~@79 A B@3 C B@10 ~@7 D E@15 F ~@28 A ~@3 D ~@16 E@13 B ~@18>".pickRestart({
  A: "~@7 x", B: "~ x", C: "~@8 x ~@4 x ~ x", D: "~@14 x!2", E: "~ x ~ x", F: "~@2 x ~ x!2 ~@2",
})).gain(0.54)

// drums · low tom
const low_tom = s("lt").struct("<~@87 A ~@13 A ~@15 B ~@24 C ~@3 A ~@19 D ~@32>".pickRestart({
  A: "~@3 x", B: "~@12 x!2 ~@2", C: "~@12 x!4", D: "~@14 x!2",
})).gain(0.54)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@40 A B@3 A B@3 A B@3 A B A B A B@7 A B A B A B C B@8 ~ D@14 E ~@7 D@15 F G@9 E G@2 E G@2 ~@34 D@14 E ~@17
>`.pickRestart({
  A: "~ x", B: "x!2", C: "~ x ~@4 x!2", D: "x!8", E: "x", F: "x!4 ~@4", G: "x ~@6 x!2 ~@7",
})).gain(0.36)

// drums · mid tom
const mid_tom = s("mt").struct("<~@69 A ~@9 B ~@7 A ~@13 C ~@7 D ~@7 D ~@24 E ~@3 C ~@19 B ~@7 D ~@24>".pickRestart({
  A: "~@7 x", B: "~@12 x!2 ~@2", C: "~@2 x!2", D: "~@14 x!2", E: "~@5 x ~@2",
})).gain(0.54)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@40 A ~@3 A ~@3 A ~@3 A ~@3 A B ~ B ~ B ~@2 A ~ A ~ A ~ C ~@8 A ~@16 D ~@36 A ~ A ~@47 D ~@15
>`.pickRestart({
  A: "x", B: "~@7 x", C: "x!2 ~@2", D: "x!2",
})).gain(0.42)

// drums · high tom
const high_tom = s("ht").struct("<~@68 A B ~@9 C ~@7 D ~@13 E ~@7 F ~@32 E ~@3 E ~@19 G ~@7 F ~@24>".pickRestart({
  A: "x", B: "~@5 x ~@2", C: "~@14 x!2", D: "~@15 x", E: "~ x", F: "~@12 x!2 ~@2", G: "~@4 x!2 ~@2",
})).gain(0.54)

// drums · crash
const crash = s("cr").struct(`<
  ~@80 A ~@3 A ~@3 A ~@3 A ~ A ~@7 A ~@7 A ~@7 A ~@24 A ~@3 A ~@3 A ~@14 A@2 ~@7 A ~@5 A ~@17
>`.pickRestart({
  A: "x",
})).gain(0.54)

// drums · tambourine
const tambourine = s("tb").struct(`<
  ~@54 A B C D@6 E F G H I H@3 J F H K L H@2 F M N@14 M ~ M ~@83 N M ~ M ~@15
>`.pickRestart({
  A: "x!5 ~@11", B: "~@12 x!4", C: "x ~@2 x!2 ~@3", D: "~@3 x!2 ~@3", E: "~@3 x!2 ~ x ~", F: "x ~@2 x!2 ~ x!2",
  G: "x ~@5 x ~ x ~@3 x!4", H: "x ~@2 x!2 ~@2 x", I: "x ~@5 x ~ x ~@5 x!2", J: "~ x ~ x ~@2 x!2", K: "x ~ x!3 ~@2 x",
  L: "x ~@2 x ~@2 x!2", M: "x", N: "x!8",
})).gain(0.36)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@64 [x!2]!15 x ~@55 [x ~ x!6]!31 x ~@32>").gain(1.83)

// drums · cabasa · soft notes
const cabasa_soft = s("cabasa:4").struct("<~@64 [~ x!3 ~ x!3]!15 ~@56 [~ x ~@6]!31 ~@33>").gain(0.91)

// drums · claves
const claves = s("clave:2").struct("<~@135 A B@2 A B@3 A B@2 C B@20 ~@33>".pickRestart({
  A: "~@2 x!2 ~@2 x ~", B: "~ x ~ x", C: "~@2 x ~@3 x!2",
})).gain(2.35)

stack(
  acoustic_guitar_nylon, acoustic_guitar_steel, electric_guitar_clean, overdriven_guitar, synth_strings_1,
  synth_brass_1, bass, kick, rim, snare, low_tom, hihat, mid_tom, open_hat, high_tom, crash, tambourine, cabasa,
  cabasa_soft, claves
)

More by Queensryche