Strudelify

Hamster Dance

Misc tunes

KeyA♭ majorTempo150 bpm
0:00/0:00
// Hamster Dance — Misc tunes
// 150 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/2540946; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 20 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(150/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 · "Trompette en Si♭"
const trumpet = note("<~ A B C ~ A B D E@2 F G E@2 H I J K L M>".pickRestart({
  A: "~@3 gb4 db5@2 ~@2", B: "~@3 db5 gb4@2 ~@2", C: "gb4!4 f4!4 db4@4 ~@4", D: "gb4!4 f4!4 db4@6 gb4 f4",
  E: "[gb4@2 db4@2 db4@2 db4 db4@3 bb3@2 ~@2 db4@4 bb3@2 db4 gb4@2 ab4@5 ~@4]/2",
  F: "~@2 bb4 gb4 bb3 db4 bb3 db4 gb4@2 db4 bb3@2 db4 eb4 bb3", G: "db4@2 gb4 bb3@2 b3 db4@2 db4@6 gb4 f4",
  H: "~@2 bb4 gb4 bb3 db4 bb3 db4 gb4@2 db4 bb3@2 db4 f4 gb4", I: "db4@2 gb4 bb3@2 b3 db4@2 db4@6 bb4 b4",
  J: "db5@2 db5@2 b4@2 b4@2 bb4@3 bb4 ~@2 bb4!2", K: "bb4@2 bb4@2 b4@2 db5@2 db5@3 db5 ~@2 bb4 b4",
  L: "db5@2 bb4@2 db5@2 gb5@2 eb5@4 ~@2 bb4 b4", M: "db5!2 db5@2 b4!2 b4@2 bb4@8",
})).s("gm_trumpet").gain(0.3)

// other · vibraphone
const vibraphone = note("<~@12 A B C D A B C E>".pickRestart({
  A: "gb4 bb4 db5 gb5 gb4 bb4 db5 gb5", B: "gb4 bb4 db5 gb5 db4 f4 ab4 bb4", C: "eb4 gb4 bb4 b4 b3 eb4 gb4 ab4",
  D: "db4 f4 ab4 db5 gb4 bb4 db5 gb5", E: "db4 f4 ab4 db5 gb4@4",
})).s("gm_vibraphone").gain(0.3)

// bass · tuba · "Euphonium"
const bass = note("<A@2 B C A@2 B C D E B C A@2 B C A@2 B C>".pickRestart({
  A: "[gb3@3 db3]/2", B: "eb3 b2", C: "db3 gb3", D: "gb3", E: "gb3 db3",
})).s("gm_tuba").gain(0.25)

// drums · snare
const snare = s("sd").struct("<~@8 [~ x ~ x]!11 [~ x!2 ~]>").gain(0.25)

// drums · hihat
const hihat = s("hh").struct("<~@8 [~@2 x!2 ~@2 x ~@3 x ~@3 x ~]!11 [~@2 x!2 ~@2 x ~@9]>").gain(0.25)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<[x!4]!8 ~@12>").gain(0.15)

// drums · china
const china = s("cr").struct("<~@19 [~ x]>").gain(0.25)

stack(trumpet, vibraphone, bass, snare, hihat, hihat_soft, china)

More by Misc tunes