Strudelify

Luigi's Mansion 3 Floor 2B: Boilerworks

Chad York Darren Radtke

KeyF majorTempo90 bpm
0:00/0:00
// Luigi's Mansion 3 Floor 2B: Boilerworks — Chad York Darren Radtke
// 90 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 2 "Harmonica" named as an organ, played on harmonica (its banjo patch is not one)
// note: duplicate parts dropped: ch 14 "Acoustic Guitar" electric guitar jazz (copy of ch 11 "Acoustic Guitar" electric guitar jazz)
// note: Transcription provider: pdmx. https://musescore.com/score/5915165; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 64 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(90/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · rock organ · "Harmonica"
const rock_organ = note(`<
  ~@3 A ~@3 B C D E F G H I J K L@2 M N L O P C D Q R G H I J ~@3 A ~@3 B C D E F G H I J K L@2 M N L O P C D Q R G H I
  J
>`.pickRestart({
  A: "~ eb5@3", B: "~@24 d4@3 a4@2 c5@3", C: "bb4@3 c5", D: "a4@3 d4", E: "bb4@16 db5@13 bb4@3", F: "a4@3 ~",
  G: "gb4 b4", H: "b4 a4", I: "g4 b4", J: "c5@3 ~", K: "[d5,a5]@15 ~", L: "[g5,bb5]@15 ~ [d5,a5]@15 ~",
  M: "[db5,e5,g5]@15 ~", N: "[d5,a5]@15 ~ [a5,d6]@15 ~", O: "[bb5,d6]@15 ~ [d5,a5]@15 ~",
  P: "[db5,e5,g5]@15 ~@9 d4@3 a4@2 c5@3", Q: "bb4@8 g5 f5 db5 e5 d5 ~ g4 ~", R: "a4 ~",
})).s("gm_rock_organ").gain(0.07)

// chords · banjo
const banjo = note("<~@8 A B A B C D E F G H@2 I J H@2 K ~@16 A B A B C D E F G H@2 I J H@2 K ~@8>".pickRestart({
  A: "bb3@8 [bb3,db4,f4]@4 ~@4 bb3@5 db4@3 [bb3,db4,f4]@4 ~@4", B: "d4@8 [a3,d4,f4]@4 ~@4 d4@5 a3@3 [a3,d4,f4]@4 ~@4",
  C: "b3@8 [b3,eb4,gb4]@4 ~@4 b3@5 eb4@3 [b3,eb4,gb4]@4 ~@4", D: "db4@8 [a3,db4,gb4]@8 db4@5 gb4@3 [db4,gb4,a4]@8",
  E: "b3@8 [g3,b3,e4]@8 b3@5 e4@3 [b3,e4,g4]@8", F: "a3@8 [a3,db4,e4]@4 ~@4 a3@5 e4@3 [a3,db4,e4]@4 ~@4",
  G: "[a3,d4] ~ [a3,d4] ~ [a3,d4,f4,a4] ~ [a3,d4,f4,a4] ~", H: "[bb3,d4] ~ [bb3,d4] ~ [a3,d4,f4] ~ [a3,d4,f4] ~",
  I: "[a3,db4,e4] ~ [a3,db4,e4] ~ [a3,db4,e4] ~ [a3,db4,e4] ~", J: "[a3,d4] ~ [a3,d4] ~ [a3,d4,f4] ~ [a3,d4,f4] ~",
  K: "[db4,e4] ~ [a3,db4,g4] ~ [a3,d4,f4] ~@3", // Dbm A7 Dm
})).s("gm_banjo").gain(0.11).pan(1)

// chords · acoustic guitar steel · "Acoustic Guitar"
const acoustic_guitar_steel = note(`<
  A B@2 C D B@2 E F D G H I J K L ~@16 A B@2 C D B@2 E F D G H I J K L ~@16
>`.pickRestart({
  A: "[d3,a3,d4,f4]@16 ~@5 [d3,a3,d4,f4]@3 [d3,a3,d4,f4]@8", B: "[g2,d3,g3,bb3,d4]!2 [d3,a3,d4,f4]!2",
  C: "[a2,e3,a3,e4]@8 [a2,e3,a3,e4]@8 ~@5 [a2,e3,a3,db4,e4]@3 [a2,e3,a3,db4,e4]@8", // A5 A
  D: "[d3,a3,d4,f4]@8 [d3,a3,d4,f4]@8 ~@5 [d3,a3,d4,f4]@3 [d3,a3,d4,f4]@8", // Dm
  E: "[a2,e3,a3,db4,e4]@8 [a2,e3,a3,db4,e4]@8 [d3,a3,d4,f4]@5 ~@3 [d3,a3,d4,f4]@8", // A Dm
  F: "[bb2,f3,bb3,db4,f4]@8 ~@5 [bb2,f3,bb3,db4,f4]@8 [bb2,f3,bb3,db4,f4]@3 [bb2,f3,bb3,db4,f4]@8", // Bbm
  G: "[bb2,f3,bb3,db4,f4]@8 [bb2,f3,bb3,db4,f4]@8 ~@5 [bb2,f3,bb3,db4,f4]@3 [bb2,f3,bb3,db4,f4]@8", // Bbm
  H: "[d3,a3,d4,f4]@8 [d3,a3,d4,f4]@5 [d3,a3,d4,f4]@3 ~@5 [d3,a3,d4,f4]@3 [d3,a3,d4,f4]@8", // Dm
  I: "[b2,gb3,b3,eb4,gb4]@8 [b2,gb3,b3,eb4,gb4]@8 ~@5 [b2,gb3,b3,eb4,gb4]@3 [b2,gb3,b3,eb4,gb4]@8", // B
  J: "[gb3,a3,db4,gb4]@8 [gb3,a3,db4,gb4]@8 ~@5 [gb3,a3,db4,gb4]@3 [gb3,a3,db4,gb4]@8", // Gbm
  K: "[e3,g3,b3,e4]@8 [e3,g3,b3,e4]@8 ~@5 [e3,g3,b3,e4]@3 [e3,g3,b3,e4]@5 [e3,g3,b3,e4]@3", // Em
  L: "[a2,e3,a3,db4,e4]@8 [a2,e3,a3,db4,e4]@5 [a2,e3,a3,db4,e4]@3 ~@5 [a2,e3,a3,db4,e4]@3 [a2,e3,a3,db4,e4]@8", // A
})).s("gm_acoustic_guitar_steel").gain(0.09).pan(0)

// bass · acoustic bass · "Bass Guitar"
const bass = note(`<
  A B@2 C A B@2 D E F G F H I J K A B@2 C A B@2 D E F G F H I J K A B@2 C A B@2 D E F G F H I J K A B@2 C A B@2 D E F G
  F H I J K
>`.pickRestart({
  A: "d2 ~ a2 ~", B: "g2 ~ d2 ~", C: "a2 ~ e2 ~", D: "a2 e2 d2 a1", E: "bb1 ~ f2 a1", F: "d2 ~ a1 c2",
  G: "bb1 ~ g1 db2", H: "b1 ~ gb2 ~", I: "gb1 ~ db2 ~", J: "e1 ~ b1 gb1", K: "a1 g1 gb1 e1",
})).s("gm_acoustic_bass").gain(0.33)

// other · electric guitar jazz · "Acoustic Guitar"
const electric_guitar_jazz = note("<~@16 A B C D A B E F ~@24 A B C D A B E F ~@8>".pickRestart({
  A: "d4@8 e4@5 d4@3 f4@4 ~@4 d4@8", B: "bb4@5 c5@3 bb4@5 ab4@16 ~@3", C: "bb4@5 a4@3 ab4@8 f4@5 d4@8 ~@3",
  D: "f4@5 e4@3 eb4@8 db4@16", E: "d5@5 db5@3 c5@8 a4@5 d4@8 ~@3", F: "e4@8 db4@5 a3@3 d4@8 ~@8",
})).s("gm_electric_guitar_jazz").gain(0.19).pan(0)

stack(rock_organ, banjo, acoustic_guitar_steel, bass, electric_guitar_jazz)