Strudelify

super mario 64 - inside the castle walls

Jonathan Paugois

KeyC majorTempo146 bpm
0:00/0:00
// super mario 64 - inside the castle walls — Jonathan Paugois
// 146 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5824941; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 66 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(146/4)

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

// other · trombone · "Violons"
const trombone = note("<A B C D E F G H ~ B C D E F I J K ~@20 A B C D E F I J K ~@20>".pickRestart({
  A: "~@5 g4!3", B: "g4 ~@5 a4 ~@3 g4 ~@3 f#4@2", C: "g4@2 c5@2 e5 ~@11", D: "f4 ~@5 g4 ~@3 f4 ~@3 e4@2",
  E: "f4@2 a4@2 d5 ~@11", F: "e4 ~@5 f4 ~@3 e4 ~@3 d#4@2", G: "e4@2 a4@2 c5 ~@5 c5@2 d5@2 e5@2", H: "d5 c5 f#4@3 ~@3",
  I: "e4@2 a4@2 c5 ~@5 a4@2 b4@2 c5@2", J: "d5 c5 d5 a4@2 b4 a4 b4", K: "c5 ~@3 c5 ~@5 c5 ~ c5 ~ c5 ~",
})).s("gm_trombone").gain(0.4)

// other · trombone · "Violons" · soft notes
const trombone_soft = note("<~@28 A B C D E F G H I ~@20 A B C D E F G H I>".pickRestart({
  A: "e2@3 e2@5", B: "f2@4 f2 e2@3", C: "d2@5 a2@3", D: "b2@8 b2@2 a2 ~ g2 ~ f2 ~", E: "g2@5 g#2 b2 d3", F: "c3 b2",
  G: "a2!2", H: "a2 b2", I: "c3 ~@3 c3 ~@5 c3 ~ c3 ~ c3 ~",
})).s("gm_trombone").gain(0.15)

// other · string ensemble 1 · "Violons"
const string_ensemble_1 = note("<~ A B C D E F G H A B C D E I J K ~@21 A B C D E I J K ~@20>".pickRestart({
  A: "e4 ~@5 f4 ~@3 e4 ~@3 d#4@2", B: "e4@2 g4@2 c5 ~@11", C: "d4 ~@5 e4 ~@3 d4 ~@3 c#4@2", D: "d4@2 f4@2 a4 ~@11",
  E: "c4 ~@5 d4 ~@3 c4 ~@3 b3@2", F: "c4@2 e4@2 a4 ~@5 a4@2 b4@2 c5@2", G: "a4 f#4 d4@3 c4@3", H: "a3@3 ~@5",
  I: "c4@2 e4@2 a4 ~@5 e4@2 f#4@2 g4@2", J: "f#4@3 c4@3 c4 d4", K: "e4 ~@3 e4 ~@5 f4 ~ f4 ~ e4 ~",
})).s("gm_string_ensemble_1").gain(0.3)

// other · pizzicato strings
const pizzicato_strings = note("<~@2 A ~ B ~ C ~@3 A ~ B ~ C ~@24 A ~ B ~ C ~@22>".pickRestart({
  A: "~@3 c3 g3 c4 g4 c5", B: "~@3 b2 g3 d4 g4 b4", C: "~@3 a2 e3 a3 c4 e4",
})).s("gm_pizzicato_strings").gain(0.3)

// other · string ensemble 1 · "Violoncelles"
const string_ensemble_1_2 = note(`<
  ~@7 A B ~@9 C D E F G H I J K L C D E F G H M N O ~@10 C D E F G H I J K L C D E F G H M N O
>`.pickRestart({
  A: "f#3@3 d3@5", B: "c3@3 [d2,a2]@4 ~", C: "c3@3 g3@5", D: "a3@3 a3@5", E: "f3@3 c4@3 a3@2", F: "g3@2 f3 g3",
  G: "e3 g3 b3 e4@2 d4 c4@2", H: "d4@2 c4 ~ c4 ~ c4@6 a3@4", I: "a3@3 f#3@3 a3@2", J: "a3@3 f3@3 a3@2",
  K: "g3@3 e3@3 g3 c4", L: "d4 a3 b3 g3", M: "a3 f#3 a3 d3@2 g3 f#3 a3", N: "a3 f#3 a3 d3@2 g3 f3 g3",
  O: "e3 ~@3 e3 ~@5 f3 ~ f3 ~ e3 ~",
})).s("gm_string_ensemble_1").gain(0.2)

// other · string ensemble 1 · "Contrebasses"
const string_ensemble_1_3 = note(`<
  A B ~@7 B ~@6 C A D E F G H I J K L M D E F G H I N O C A B ~@6 C A D E F G H I J K L M D E F G H I N O C
>`.pickRestart({
  A: "~@3 b1", B: "c2 ~@7", C: "c2@4 ~@6 c#2 ~ c#2 ~ c2 ~", D: "c2@3 e2@5", E: "f2@3 e2@5", F: "d2", G: "g2@3 f2@5",
  H: "e2@5 g#2@3", I: "a2 g2", J: "f#2", K: "f2", L: "e2", M: "d2 g2", N: "f#2!2", O: "f2 g2",
})).s("gm_string_ensemble_1").gain(0.25)

stack(trombone, trombone_soft, string_ensemble_1, pizzicato_strings, string_ensemble_1_2, string_ensemble_1_3)