Strudelify

Song Of The Hero

Koji Kondo

KeyF majorTempo72 bpm
0:00/0:00
// Song Of The Hero — Koji Kondo
// 72 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/109310; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 11 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(72/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// bass · choir aahs · "Bass"
const bass = note("<~@2 A B ~ C D B E F B>".pickRestart({
  A: "a3 g3 f3 c3", B: "d3", C: "a2 bb2", D: "a2 ~", E: "d3 a2", F: "d2",
})).s("gm_synth_bass_1").gain(0.3)

// bass · choir aahs · "Bass"
const bass_2 = note("<~@2 A B ~ C D E F B G>".pickRestart({
  A: "a3 bb3 f3 c3", B: "d3", C: "d3 f3 e3 g3", D: "a3 g3 a3 a2", E: "d3!2 c3!2", F: "d4@4 d4@4 ~@2 d3@2 d3 e3 f3 g3",
  G: "d4",
})).s("gm_synth_bass_1").gain(0.3)

// chords · oboe
const oboe = note("<~@3 A ~ B C D E F G>".pickRestart({
  A: "[g4,b4,d5,d6]", B: "d5@4 a4@6 ~@2 d5 e5 f5 g5", C: "a5@8 ~@4 c5 d5 e5 c5",
  D: "d5@2 ~@2 [a3,f4,a4]@4 ~@2 [a4,d5]@2 [a4,d5] [bb4,e5] [c5,f5] [d5,g5]", // Dm D5 Bbdim F5 G5
  E: "[a4,d5,a5] [d5,f5,a5,d6] [f5,a5,d6,f6] [e5,g5,a5,e6]", F: "[a4,d5,f5,a5,d6]", G: "[a4,d5,gb5,a5]",
})).s("gm_oboe").gain(0.25)

// other · orchestral harp · "Harp" · G C
const orchestral_harp = note(`<
  [bb5 f5 d5 bb4 f4 d4 bb3 e3 g5 e5 c5 a4 e4 c4 g3 e3]
  [d4 f4 a4 c5 d5 f5 a5 c6 c4 e4 g4 b4 c5 e5 g5 a5]
  [d5 e5 f5 a5 c5 e5 f5 a5 bb4 e5 f5 a5 c5 e5 f5 a5]
  [[g4,b4,d5,d6]]
  [f3 a3 c4 e4 f4 a4 c5 ~ f5@2 ~@2 [c4,e4,g4,c5]@4, ~@7 e5@3 ~@6]
  ~@6
>`).s("gm_orchestral_harp").gain(0.2)

// other · tubular bells
const tubular_bells = note("<A B C D ~ E F E G H I>".pickRestart({
  A: "bb4 f4 g5 c5", B: "d4 d5 c4 c5", C: "d5 c5 bb4 c5", D: "d5", E: "d5 a4 ~@2", F: "a4 ~@3", G: "a4 d5 f5 e5",
  H: "d5 ~@3", I: "gb4 ~@3",
})).s("gm_tubular_bells").gain(0.25)

stack(bass, bass_2, oboe, orchestral_harp, tubular_bells)

More by Koji Kondo