Strudelify

Sonic Boom!

Ben Archbold

KeyA♭ majorTempo120 bpm
0:00/0:00
// Sonic Boom! — Ben Archbold
// 120 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1764656; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 25 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

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

// other · trombone · "Low Brass 2"
const trombone = note("<A B C D A E F G A B C D A B C D A B H D A B C D I>".pickRestart({
  A: "f3@4 ~@4 f3@3 f3@3 f3@2", B: "eb3@4 ~@6 eb3 eb3@3 eb3@2", C: "db3@4 ~@4 db3@3 db3@3 db3@2",
  D: "c3@4 ~@4 bb3@2 bb3@2 c4 bb3 ab3@2", E: "g3@4 ~@6 g3 g3@3 g3@2", F: "ab3@4 ~@4 ab3@3 ab3@3 ab3@2",
  G: "c4@4 ~@4 bb3@2 bb3@2 c4 bb3 ab3@2", H: "db3@2 ~@6 db3@3 db3@3 db3@2", I: "f3",
})).s("gm_trombone").gain(0.5)

// other · trombone · "Low Brass 3"
const trombone_2 = note("<A B C D A B C D A B C D A B C D A E F G A B C D H>".pickRestart({
  A: "f3@4 ~@4 f3@3 f3@3 f3@2", B: "eb3@4 ~@6 eb3 eb3@3 eb3@2", C: "db3@4 ~@4 db3@3 db3@3 db3@2",
  D: "c3@4 ~@4 bb3@2 bb3@2 c4 bb3 ab3@2", E: "g3@4 ~@6 g3 g3@3 g3@2", F: "ab3@4 ~@4 ab3@3 ab3@3 ab3@2",
  G: "c4@4 ~@4 bb3@2 bb3@2 c4 bb3 ab3@2", H: "f3",
})).s("gm_trombone").gain(0.5)

// bass · tuba
const bass = note("<A B C D A B C D E F E G H I H J K L M N A B C D O>".pickRestart({
  A: "f2@4 ~@4 f2@3 f2@3 f2@2", B: "eb2@4 ~@6 eb2 eb2@3 eb2@2", C: "db2@4 ~@4 db2@3 db2@3 db2@2",
  D: "c2@4 ~@4 bb2@2 bb2@2 c3 bb2 ab2@2", E: "~ c3 db3 c3 ~ c3 db3 c3", F: "~ c3 db3 c3 f3 c3 db3 c3",
  G: "~@2 c3@2 db3@2 c3@2 bb2@2 bb2@2 c3 bb2 ab2@2", H: "~@2 c3!2 db3!2 c3!2 ~@2 c3!2 db3!2 c3!2",
  I: "~@2 c3!2 db3!2 c3!2 f3!2 c3!2 db3!2 c3!2", J: "~@2 c3!2 db3!2 c3!2 bb2@2 bb2@2 c3 bb2 ab2@2",
  K: "f1@4 ~@4 f1@3 f1@3 f1@2", L: "g1@4 ~@6 g1 g1@3 g1@2", M: "ab1@4 ~@4 ab1@3 ab1@3 ab1@2",
  N: "c2@4 ~@4 bb1@2 bb1@2 c2 bb1 ab1@2", O: "f1",
})).s("gm_tuba").gain(0.5)

// bass · tuba · "Bb Tuba"
const bass_2 = note("<A B C D A E F G A B C D A B C D A B H D A B C D I>".pickRestart({
  A: "f2@4 ~@4 f2@3 f2@3 f2@2", B: "eb2@4 ~@6 eb2 eb2@3 eb2@2", C: "db2@4 ~@4 db2@3 db2@3 db2@2",
  D: "c2@4 ~@4 bb2@2 bb2@2 c3 bb2 ab2@2", E: "g2@4 ~@6 g2 g2@3 g2@2", F: "ab2@4 ~@4 ab2@3 ab2@3 ab2@2",
  G: "c3@4 ~@4 bb2@2 bb2@2 c3 bb2 ab2@2", H: "db2@2 ~@6 db2@3 db2@3 db2@2", I: "f2",
})).s("gm_tuba").gain(0.5)

// bass · tuba · "Bb Tuba"
const bass_3 = note("<A B C D A B C D A B C D A B C D A E F G A B C D H>".pickRestart({
  A: "f2@4 ~@4 f2@3 f2@3 f2@2", B: "eb2@4 ~@6 eb2 eb2@3 eb2@2", C: "db2@4 ~@4 db2@3 db2@3 db2@2",
  D: "c2@4 ~@4 bb2@2 bb2@2 c3 bb2 ab2@2", E: "g2@4 ~@6 g2 g2@3 g2@2", F: "ab2@4 ~@4 ab2@3 ab2@3 ab2@2",
  G: "c3@4 ~@4 bb2@2 bb2@2 c3 bb2 ab2@2", H: "f2",
})).s("gm_tuba").gain(0.5)

stack(trombone, trombone_2, bass, bass_2, bass_3)

More by Ben Archbold