Strudelify

Strong One

Shogo Sakai

KeyE♭ majorTempo121 bpm
0:00/0:00
// Strong One — Shogo Sakai
// 121 bpm, 15/8, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 15 "Piano" named as a piano, played on piano (its orchestra hit patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5949159; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 37 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(121/7.5)

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

// other · overdriven guitar · "Electric Guitar"
const overdriven_guitar = note("<A@4 B C A@2 B C A@2 ~@8 A@4 B A@2 ~@8 A@2>".pickRestart({
  A: "~@19 d3@5 eb3@5 bb3@9 f3@3 ~ b2@6", B: "~@19 g2@5 ab2@5 eb3@9 eb3@3 ~ ab2@6",
  C: "~@19 a2@5 bb2@5 f3@9 f3@3 ~ bb2@6",
})).s("gm_overdriven_guitar").gain(0.4)

// bass · electric bass finger · "Electric Bass"
const bass = note("<A@3 B C D A B C D A@2 ~@8 A@3 B C A@2 ~@8 A@2>".pickRestart({
  A: "c2@6 g1@6 ~ c2@6 ~@26 g1@3", B: "c2@6 g1@6 ~ c2@6 ~@26 c2@3", C: "ab1@6 eb2@6 ~ ab1@6 ~@26 c2@3",
  D: "bb1@6 f2@6 ~ bb1@6 ~@26 b1@3",
})).s("gm_electric_bass_finger").gain(0.4)

// other · timpani
const timpani = note("<A@3 B C D A B C D A@2 ~@8 A@3 B C A@2 ~@8 A@2>".pickRestart({
  A: "c3@6 g2@6 ~ c3@6 ~@26 g2@3", B: "c3@6 g2@6 ~ c3@6 ~@26 c3@3", C: "ab2@6 eb3@6 ~ ab2@6 ~@26 c3@3",
  D: "bb2@6 f3@6 ~ bb2@6 ~@26 b2@3",
})).s("gm_timpani").gain(0.4)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note("<~@12 A@2 ~@2 B@2 ~@9 A@2 ~@2 B@2 ~@4>".pickRestart({
  A: "[db3,c4,eb5,f5,ab5]/2", B: "[c3,bb3,d5,eb5,g5]/2",
})).s("gm_string_ensemble_1").gain(0.3)

// drums · kick
const kick = s("bd").struct(`<
  [x ~@9 x ~@27 x ~@6 x ~@2]!19
  [x ~@4 x ~@18]
  [x ~@9 x ~@27 x ~@6 x ~@2]!14
  [x ~@4 x ~@18]
  [x ~@9 x ~@27 x ~@6 x ~@2]!2
>`).gain(0.4)

// drums · snare
const snare = s("sd").struct(`<
  [~@5 x ~@10 x ~@2 x ~@4 x ~@4 x ~@12 x ~@5]!19
  [~@5 x ~@10 x ~@2 x ~@4 x ~@4 x ~@2 x ~ x!2 ~ x ~@2 x ~ x!2 ~ x ~@2]
  [~@5 x ~@10 x ~@2 x ~@4 x ~@4 x ~@12 x ~@5]!14
  [~@5 x ~@10 x ~@2 x ~@4 x ~@4 x ~@2 x ~ x!2 ~ x ~@2 x ~ x!2 ~ x ~@2]
  [~@5 x ~@10 x ~@2 x ~@4 x ~@4 x ~@12 x ~@5]!2
>`).gain(0.4)

// drums · low tom
const low_tom = s("lt").struct("~@29 x ~@18").gain(0.4)

// drums · hihat
const hihat = s("hh").struct(`<
  [~@2 x!2 ~ x!2 ~@3 x ~@2 x ~@2 x ~@25 x ~@5]
  [x ~ x!2 ~ x!2 ~@3 x ~@2 x ~@2 x ~@25 x ~@5]!18
  [x ~ x!2 ~ x!2 ~@3 x ~@2 x ~@2 x ~@31]
  [~@2 x!2 ~ x!2 ~@3 x ~@2 x ~@2 x ~@25 x ~@5]
  [x ~ x!2 ~ x!2 ~@3 x ~@2 x ~@2 x ~@25 x ~@5]!13
  [x ~ x!2 ~ x!2 ~@3 x ~@2 x ~@2 x ~@31]
  [~@2 x!2 ~ x!2 ~@3 x ~@2 x ~@2 x ~@25 x ~@5]
  [x ~ x!2 ~ x!2 ~@3 x ~@2 x ~@2 x ~@25 x ~@5]
>`).gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  [~@19 x ~@4 x ~@7 x ~@4 x!2 ~@9]!19
  [~@19 x ~@4 x ~@23]
  [~@19 x ~@4 x ~@7 x ~@4 x!2 ~@9]!14
  [~@19 x ~@4 x ~@23]
  [~@19 x ~@4 x ~@7 x ~@4 x!2 ~@9]!2
>`).gain(0.4)

// drums · open hat
const open_hat = s("oh").struct("<[~@32 x ~@12 x ~@2]!19 ~ [~@32 x ~@12 x ~@2]!14 ~ [~@32 x ~@12 x ~@2]!2>").gain(0.4)

// drums · crash
const crash = s("cr").struct("<x ~@19 x ~@14 x ~>").gain(0.4)

stack(overdriven_guitar, bass, timpani, string_ensemble_1, kick, snare, low_tom, hihat, mid_tom, open_hat, crash)

More by Shogo Sakai