Strudelify

super mario sunshine - dolpic town

Koji Kondo

KeyA majorTempo280 bpm
0:00/0:00
// super mario sunshine - dolpic town — Koji Kondo
// 280 bpm, 2/2, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/5863805; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 106 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(280/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · violin
const violin = note("<~@2 A@2 B C B C B C B C ~@94>".pickRestart({
  A: "[~@2 e4@12 b3!2]/2", B: "c#4 ~ c#4 ~ a#3 ~ a#3 ~", C: "a3 ~ a3 ~ g#3 ~ g#3 ~",
})).s("gm_violin").gain(0.3)

// other · pizzicato strings
const pizzicato_strings = note(`<
  ~@12 A B A B A B A B A B A B A B C@2 D@2 E@2 D@2 E@2 D@2 E@2 F@2 G@2 A B A B A B C@2 H I J K H L M@2 N O M P N Q R@2 H
  S M T H U T V W X W X W X Y Z AA AB AA AB A B A B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "a4 ~ a4 ~ g4 ~ g4 ~", B: "f#4 ~ f#4 ~ d4 ~ f4 ~", C: "[c#4,e4] ~ [c#4,e4] ~ [c#4,e4] ~ [c#4,e4] ~",
  D: "a4 ~ a4 ~ a4 ~ a4 ~", E: "e4 ~ e4 ~ e4 ~ e4 ~", F: "[c4,f4] ~ [c4,f4] ~ [c4,f4] ~ [c4,f4] ~",
  G: "[b3,e4] ~ [b3,e4] ~ [b3,e4] ~ [b3,e4] ~", H: "~@2 e5 ~ e5 ~ e5 ~", I: "d5@4 b4 ~ b4 ~", J: "c#5", K: "a4",
  L: "d5@4 g5 ~ d5 ~", M: "e5", N: "~@2 g5 ~ g5 ~ g5 ~", O: "f5@4 d5 ~ f5 ~", P: "c5", Q: "[d5,f5]@4 a#5 ~ f5 ~",
  R: "g5", S: "f#5@4 f#5 ~ f#5 ~", T: "d5", U: "[a#4,e5]@4 [a#4,e5] ~ [a#4,e5] ~", V: "b4", W: "a5 ~ a5 ~ g5 ~ g5 ~",
  X: "f#5 ~ f#5 ~ d5 ~ f5 ~", Y: "[c#5,e5] ~ [c#4,e4] ~ [c#4,e4] ~ [c#4,e4] ~", Z: "[c#4,e4] ~ [c#4,e4] ~ [c#4,e4]!3 ~",
  AA: "c#4 ~ c#4 ~ a#3 ~ a#3 ~", AB: "a3 ~ a3 ~ g#3 ~ g#3 ~",
})).s("gm_pizzicato_strings").gain(0.25)

// chords · viola
const viola = note("<~@2 A@2 B C B C B C B C ~@94>".pickRestart({
  A: "[~ d4@6 ~]/2", B: "a3 ~ a3 ~ [c#4,e4] ~ [c#4,e4] ~", C: "d4 ~ d4 ~ [b3,d4] ~ [b3,d4] ~",
})).s("gm_viola").gain(0.3)

// other · pizzicato strings
const pizzicato_strings_2 = note(`<
  ~@12 A B A B A B A B A B A B A B C@2 D@2 E@2 D@2 E@2 D@2 E@2 C@2 F@2 A B A B A B C@2 G H G@3 H G E I J K L I J M N E O
  P I E Q C F A B A B A B C R S T S T A U A U A U A U A U A U A U A U A U
>`.pickRestart({
  A: "[c#4,e4] ~ e4 ~ [c#4,e4] ~ e4 ~", B: "b3 ~ b3 ~ b3 ~ d4 ~", C: "a3 ~ a3 ~ a3 ~ a3 ~",
  D: "f#4 ~ f#4 ~ f#4 ~ f#4 ~", E: "c#4 ~ c#4 ~ c#4 ~ c#4 ~", F: "g#3 ~ g#3 ~ g#3 ~ g#3 ~", G: "c#4 ~ e4 ~ c#4 ~ e4 ~",
  H: "b3 ~ d4 ~ b3 ~ d4 ~", I: "e4 ~ e4 ~ e4 ~ e4 ~", J: "d4 ~ d4 ~ d4 ~ d4 ~", K: "c4 ~ c4 ~ c4 ~ c4 ~",
  L: "g3 ~ g3 ~ g3 ~ g3 ~", M: "[c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~", N: "[c4,e4] ~ [b3,e4] ~ [a#3,e4] ~ [a3,e4] ~",
  O: "d#4 ~ d#4 ~ d#4 ~ d#4 ~", P: "b3 ~ b3 ~ b3 ~ b3 ~", Q: "c#4 ~ [c#4,f#4] ~ c#4 ~ [c#4,f#4] ~",
  R: "a3 ~ a3 ~ a3!3 ~", S: "a3 ~ a3 ~ [c#4,e4] ~ [c#4,e4] ~", T: "d4 ~ d4 ~ [b3,d4] ~ [b3,d4] ~",
  U: "d4 ~ d4 ~ [b3,d4] ~ d4 ~", // Bm
})).s("gm_pizzicato_strings").gain(0.25)

// other · cello
const cello = note("<~@2 A@2 B C B C B C B C ~@94>".pickRestart({
  A: "[~ b2@6 ~]/2", B: "a2 ~ e3 ~ a#2 ~ e3 ~", C: "b2 ~ d3 ~ e2 ~ b2 ~",
})).s("gm_cello").gain(0.3)

// other · pizzicato strings
const pizzicato_strings_3 = note(`<
  ~@12 A B A B A B A B A B A B A B C@2 D@2 C@2 D@2 E F D@2 E G H@2 I@2 A B A B A B C@2 J K J@3 K J L M N M@3 N M O P Q R
  S T P U V A B A B A B C W A X A X A B A B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "a2 ~ e3 ~ a#2 ~ e3 ~", B: "b2 ~ d3 ~ e2 ~ g#2 ~", C: "a2 ~ a2 ~ a2 ~ a2 ~", D: "d3 ~ d3 ~ d3 ~ d3 ~",
  E: "a2 ~ a2 ~ g#2 ~ g#2 ~", F: "f#2 ~ f#2 ~ e2 ~ e2 ~", G: "f#2 ~ f#2 ~ f#2 ~ f#2 ~", H: "f2 ~ f2 ~ f2 ~ f2 ~",
  I: "e2 ~ e2 ~ e2 ~ e2 ~", J: "a2 ~ c#3 ~ a2 ~ c#3 ~", K: "a2 ~ b2 ~ a2 ~ b2 ~", L: "a2 ~ c#3 ~ a#2 ~ b2 ~",
  M: "c3 ~ e3 ~ c3 ~ e3 ~", N: "c3 ~ d3 ~ c3 ~ d3 ~", O: "c3 ~ b2 ~ a#2 ~ a2 ~", P: "f#2 ~ c#3 ~ f#2 ~ c#3 ~",
  Q: "b2 ~ d#3 ~ b2 ~ d#3 ~", R: "e2 ~ b2 ~ e2 ~ b2 ~", S: "e2 ~ b2 ~ b2 ~ c3 ~", T: "c#3 ~ e3 ~ c#3 ~ e3 ~",
  U: "b2 ~ d3 ~ b2 ~ d3 ~", V: "g#2 ~ e2 ~ f#2 ~ g#2 ~", W: "a2 ~ a2 ~ a2!3 ~", X: "b2 ~ d3 ~ e2 ~ b2 ~",
})).s("gm_pizzicato_strings").gain(0.25)

stack(violin, pizzicato_strings, viola, pizzicato_strings_2, cello, pizzicato_strings_3)

More by Koji Kondo