Strudelify

Green Hill Zone (Sonic)

Masato Nakamura

KeyA majorTempo150 bpm
0:00/0:00
// Green Hill Zone (Sonic) — Masato Nakamura
// 150 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5857483; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 33 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 · baritone sax · "Baritone Saxophone"
const baritone_sax = note("<A B@3 C B@3 D E F E F E G H D E F E F E G H B I@2 J@2 K@2 L@2>".pickRestart({
  A: "~ a2 a3 a2 a#2 a#3 b2 b3", B: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~",
  C: "c3 ~ c3@2 a2 ~ a2@2 a#2 ~ a#2@2 b2 ~ b2@2", D: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3@2 d3@2 e3@2",
  E: "f3 ~ f3 ~ f3 ~ f3 ~ f3 ~ f3 ~ f3 ~ f3@2", F: "e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ c3@2 d3@2 e3@2",
  G: "e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3 ~ e3@2", H: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3@2",
  I: "[a#2@3 a2@3 g2@3 f2@3 e2 ~ d2 ~]/2", J: "[a2@3 b2@3 c3@3 d3@3 e3 ~ a3 ~]/2",
  K: "[g#3@3 g3@3 f3@3 d#3@3 d3 ~ c3 ~]/2", L: "[g2@3 d3@3 g2@3 g3 e2 e3 f2 f3 g2 g3]/2",
})).s("gm_baritone_sax").gain(0.5)

// other · alto sax · "Alto 2"
const alto_sax = note("<~ A B C@2 D@2 E@2 F G F G F G H ~ I J@2 K@2 L@2 M N O P Q R S T U>".pickRestart({
  A: "e4@2 ~ d4@2 ~ e4@2", B: "~@2 d4@3 ~@3 e4@2 ~@2 d4@2 ~@2", C: "[f4@2 ~ e4@2 ~ d4@10]/2", D: "d4@2 ~ e4@2 ~ f4 ~",
  E: "[f4@2 ~ e4@13]/2", F: "~@2 e4 ~@2 e4 ~@2", G: "~@2 d4 ~@2 d4 ~@2", H: "~@2 c4 ~@2 c4 ~@2", I: "c4@4 c5 a4@2 c5",
  J: "[b4@2 c5 b4@2 g4@6 a4 e5 d5@2 c5]/2", K: "[b4@2 c5 b4@2 g4@7 c5 a4@2 c5]/2",
  L: "[b4@2 c5 b4@2 g4@6 a4!2 f4@2 a4]/2", M: "g4@2 a4 g4@2 c4@2 ~", N: "f4@2 ~ f4@2 ~ f4@2",
  O: "~@2 f4@3 ~@3 f4@2 ~@2 f4@2 ~@2", P: "e4@2 ~ e4@2 ~ e4@2", Q: "~@2 e4@3 ~@3 e4@2 ~@2 e4@2 ~@2",
  R: "d#4@2 ~ d#4@2 ~ d#4@2", S: "~@2 d#4@3 ~@3 d#4@2 ~@2 d#4@2 ~@2", T: "a4@2 ~ a4@2 ~ a4@2",
  U: "~@2 a4@3 ~@3 a4@2 ~@2 a4@2 ~@2",
})).s("gm_alto_sax").gain(0.5)

// other · alto sax · "Alto 3"
const alto_sax_2 = note("<~ A B C@2 D@2 E@2 F G F G F H I J K L K L K L M ~ N O P Q P Q R S>".pickRestart({
  A: "g4@2 ~ f4@2 ~ g4@2", B: "~@2 f4@3 ~@3 g4@2 ~@2 f4@2 ~@2", C: "[a4@2 ~ g4@2 ~ f4@10]/2", D: "f4@2 ~ g4@2 ~ a4 ~",
  E: "[a4@2 ~ g4@13]/2", F: "e4 c4 a3 f3", G: "d4 b3 g3 d4", H: "d4 b3 g3 e3", I: "c4 a3 f3 d3", J: "b3 ~@3",
  K: "e4@2 c4 ~@9 e4@2 c4 ~", L: "d4@2 b3 ~@13", M: "c4@2 a3 ~@13", N: "d4@2 ~ d4@2 ~ d4@2",
  O: "~@2 d4@3 ~@3 d4@2 ~@2 d4@2 ~@2", P: "c4@2 ~ c4@2 ~ c4@2", Q: "~@2 c4@3 ~@3 c4@2 ~@2 c4@2 ~@2",
  R: "f4@2 ~ f4@2 ~ f4@2", S: "~@2 f4@3 ~@3 f4@2 ~@2 f4@2 ~@2",
})).s("gm_alto_sax").gain(0.4)

stack(baritone_sax, alto_sax, alto_sax_2)

More by Masato Nakamura