Strudelify

hawai five theme

Daniel Silva

KeyB♭ majorTempo164 bpm
0:00/0:00
// hawai five theme — Daniel Silva
// 164 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5941107; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 20 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(164/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · trumpet · "Trompete em B♭"
const trumpet = note("<~@3 A@2 B@2 C@2 D@3 E F G H I J@3>".pickRestart({
  A: "[~@2 c4!2 eb4 g4@2 f4@4 c4@5]/2", B: "[~@2 c4!2 bb3 eb4@2 c4@9]/2", C: "[~@2 c4!2 eb4 g4@2 f4@4 c5@5]/2",
  D: "[~@2 bb4!2 g4 eb4@2 c5@17]/3", E: "~@2 eb5@2 c5 bb4 ab4 f4", F: "ab4 bb4 ab4 f4@5", G: "~@2 f5@2 d5 c5 bb4 g4",
  H: "f4 eb4 db4 eb4@2 f4 g4@2", I: "f4@3 c5@5", J: "[~@2 bb4!2 g4 eb4@2 f4@13 c5 ~@3]/3",
})).s("gm_trumpet").gain(0.4)

// other · trombone
const trombone = note("<A@3 B A C A D E C D F A@2 G H C I C J>".pickRestart({
  A: "c3@3 c3 c3@4", B: "c3 ~@7", C: "bb2@3 bb2 bb2@4", D: "eb3@3 eb3 eb3@4", E: "bb2@3 c3 c3@4", F: "g3@3 g3 g3@4",
  G: "f3@3 f3 f3@4", H: "db3@3 eb3 eb3@4", I: "ab2 ~@7", J: "bb2@3 f3 bb2 ~@3",
})).s("gm_trombone").gain(0.2)

// bass · tuba
const bass = note("<A@3 B A C A D A C D E A@2 F G A H A I>".pickRestart({
  A: "f2@3 f2 f2@4", B: "f2 ~@7", C: "eb2@3 eb2 eb2@4", D: "ab2@3 ab2 ab2@4", E: "c3@3 c3 c3@4", F: "bb2@3 bb2 bb2@4",
  G: "db3@3 eb3 eb3@4", H: "eb2 ~@7", I: "f2@3 c3 f2 ~@3",
})).s("gm_tuba").gain(0.2)

// drums · snare
const snare = s("sd").struct("<[x!16]!3 ~@17>").gain(0.05)

// drums · crash
const crash = s("cr").struct("<~@3 x ~@15 [~ x]>").gain(0.45)

stack(trumpet, trombone, bass, snare, crash)