Strudelify

Deantown

Vulfpeck

KeyB majorTempo104 bpm
0:00/0:00
// Deantown — Vulfpeck
// 104 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5954770; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 55 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(104/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · "5-str. Electric Bass"
const bass = note(`<
  A B@7 C@2 D@2 E@2 F@2 C@2 D@2 E@2 F G H I J K L M N O P Q R S T U V W X I J K L M N O P Q R S T U V
>`.pickRestart({
  A: "~@4 f#1!12", B: "f#1!16", C: "f#2!16", D: "c#2!16", E: "e2!16", F: "b1!16", G: "b1!14 d#2 c#2",
  H: "e2 d#2 c#2 a#1 f#1@2 ~@2 [d#2,a#2]@3 [e2,a#2] ~ c#2 e2 c#2", I: "e2 f#2@3 e2@2 c#2@2 e2 f#2 ~@2 e2@2 c#2 e2",
  J: "c#2 b1 a#1 g#1 ~@2 b1 a#1 b1 c#2 e2@2 ~@2 f#2 e2", K: "~@2 b1@2 ~ c#2@2 ~ e2@2 c#2 b1 c#2@2 d2 d#2",
  L: "e2 b2 e2@2 ~@2 c#3 b2 d3 c#3 b2 e2 ~@2 f#2 e2", M: "g#2 a2 a#2 b2 c#3 e3@2 d#3 d3@2 ~ c#3 ~@2 c3@2",
  N: "b2 f#2 b1@2 d2 e2 f#2@2 ~@2 g#2 f#2 ~@2 c#2 b1", O: "c#2 d#2 f#2!2 g#2 f#2 d#2@2 f#2@2 ~@2 e2@3 f2",
  P: "f#2 a2 b2@2 a2@2 f#2 e2 f#2@4 ~@4", Q: "~@2 f#1@2 ~ f#1 ~@2 f#1@2 ~@4 b1 c2", R: "c#2@7 g#1",
  S: "b1 c#2 ~@12 c#2 b1", T: "e2 c#2 b1 a1 e1 ~@5 e1!3 ~ f#1!2", U: "f#1 ~ g#1!3 ~ b1!3 c#2 e2@2 c#2@2 b1 a1",
  V: "b1@2 c#2 b1 c#2 d#2 f#2@2 ~@2 g#2 f#2 ~@2 c#2 b1", W: "c#2 d#2 f#2!2 g#2 f#2 d#2 g#2 f#2 d#2 c#2 d#2!3 c#2 d#2",
  X: "e2 d#2 c#2 a#1 f#1@2 ~@2 [d#2,a#2]@2 ~ [e2,a#2] ~ c#2 e2 c#2", // D#5 Edim
})).s("gm_electric_bass_finger").gain(0.4)

// other · clarinet · "B♭ Clarinet"
const clarinet = note("<~@3 A B@4 C@2 D@2 E@2 F@2 C@2 D@2 E@2 F@2 ~@2 G@12 H I J K G@10 L M N>".pickRestart({
  A: "~@4 f#4!12", B: "f#4!16", C: "f#4/2", D: "c#4/2", E: "e4/2", F: "b3/2", G: "[f#4@7 ~]/2", H: "f#4",
  I: "b3@2 a4@2 ~ a4 ~@2 f#4@8", J: "e4 d#4 c#4 a#3 f#3@2 ~@2 a#4@2 ~ a#4 ~ c#4 e4 c#4",
  K: "e4 f#4@3 e4@2 c#4@2 e4 f#4 ~@2 e4@2 c#4 e4", L: "f#4@8 ~@2 e4!3 ~ f#4!2",
  M: "f#4 ~ g#4!3 ~ b4!3 c#5 e5@2 c#5@2 b4 a4", N: "b4@2 c#5 b4 c#5 d#5 f#5@2 ~@2 g#5 f#5 ~@2 c#5 b4",
})).s("gm_clarinet").gain(0.25)

// other · alto sax · "Alto Saxophone"
const alto_sax = note(`<
  ~@4 A B@3 C@2 D@2 E@2 F@2 C@2 D@2 E@2 F@2 ~@2 G@2 H@2 I@2 H@6 J K L M H@4 I@2 G@2 H@2 N O P
>`.pickRestart({
  A: "~@4 f#3!12", B: "f#3!16", C: "f#4/2", D: "c#4/2", E: "e4/2", F: "b3/2", G: "[e4@7 ~]/2", H: "[c#4@7 ~]/2",
  I: "[d#4@7 ~]/2", J: "d#4", K: "b3@2 e4@2 ~ e4 ~@2 c#4@8", L: "e4 d#4 c#4 a#3 f#3@2 ~@2 a#4@2 ~ a#4 ~ c#4 e4 c#4",
  M: "e4 f#4@3 e4@2 c#4@2 e4 f#4 ~@2 e4@2 c#4 e4", N: "c#4@8 ~@2 e3!3 ~ f#3!2",
  O: "f#3 ~ g#3!3 ~ b3!3 c#4 e4@2 c#4@2 b3 a3", P: "b3@2 c#4 b3 c#4 d#4 f#4@2 ~@2 g#4 f#4 ~@2 c#4 b3",
})).s("gm_alto_sax").gain(0.25)

// other · trombone
const trombone = note(`<
  ~@6 A B C@2 D@2 E@2 F@2 C@2 D@2 E@2 F@2 ~@2 G@2 H@2 I@4 G@2 H@2 J K L M G@4 N@2 G@4 O P Q
>`.pickRestart({
  A: "~@4 f#2!12", B: "f#2!16", C: "f#3/2", D: "c#3/2", E: "e3/2", F: "b2/2", G: "[b3@7 ~]/2", H: "[e3@7 ~]/2",
  I: "[a#3@7 ~]/2", J: "a#3", K: "b2@2 b3@2 ~ b3 ~@2 a3@8", L: "e4 d#4 c#4 a#3 f#3@2 ~@2 d#4@2 ~ e4 ~ c#4 e4 c#4",
  M: "e4 f#4@3 e4@2 c#4@2 e4 f#4 ~@2 e4@2 c#4 e4", N: "[f#3@7 ~]/2", O: "b2@8 ~@2 e2!3 ~ f#2!2",
  P: "f#2 ~ g#2!3 ~ b2!3 c#3 e3@2 c#3@2 b2 a2", Q: "b2@2 c#3 b2 c#3 d#3 f#3@2 ~@2 g#3 f#3 ~@2 c#3 b2",
})).s("gm_trombone").gain(0.25)

// bass · tuba
const bass_2 = note(`<
  ~@7 A B@2 C@2 D@2 E@2 B@2 C@2 D@2 E@2 ~@2 F@2 G@2 H@2 I@2 G@4 J K L M F@2 G@2 N@4 F@2 O P Q
>`.pickRestart({
  A: "~@4 f#2!12", B: "f#3/2", C: "c#3/2", D: "e3/2", E: "b2/2", F: "[b2@7 ~]/2", G: "[e2@7 ~]/2", H: "[b1@7 ~]/2",
  I: "[a#2@7 ~]/2", J: "b1", K: "b1@2 b2@2 ~ b2 ~@2 a2@8", L: "e3 d#3 c#3 a#2 f#2@2 ~@2 d#3@2 ~ e3 ~ c#3 e3 c#3",
  M: "e3 f#3@3 e3@2 c#3@2 e3 f#3 ~@2 e3@2 c#3 e3", N: "[f#2@7 ~]/2", O: "e2@8 ~@2 e2!3 ~ f#2!2",
  P: "f#2 ~ g#2!3 ~ b2!3 c#3 e3@2 c#3@2 b2 a2", Q: "b2@2 c#3 b2 c#3 d#3 f#3@2 ~@2 g#3 f#3 ~@2 c#3 b2",
})).s("gm_tuba").gain(0.3)

stack(bass, clarinet, alto_sax, trombone, bass_2)

More by Vulfpeck