Strudelify

the mine song

LazyTown

KeyC majorTempo165 bpm
0:00/0:00
// the mine song — LazyTown
// 165 bpm, 4/4, key C 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/3176776; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 42 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(165/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 · "B♭ Trumpet"
const trumpet = note("<~@8 A@2 B C D A E F G H I J G K L J M N@2 O@2 P Q R@2 S@2 T U C S V W X>".pickRestart({
  A: "~@2 a#4 ~@3 a#4 ~", B: "~@2 d5 ~@3 d5 ~", C: "~@2 g4 ~@3 g4 ~", D: "~@2 f4 ~@3 f4 ~", E: "~@2 c5 ~@3 f4 ~",
  F: "~@6 a#4@3 ~@13 a#4 ~", G: "d#5!2 f5 d#5", H: "d5", I: "c#5@3 c#5@3 d#5@2 d#5 c#5@3", J: "c5 ~@5", K: "d5@3 ~",
  L: "g4 ~@5", M: "e5 ~@5", N: "[e5@3 e5@3 d#5@3 e5@2 c5@7 ~@6]/2", O: "[e5@3 g5@3 a5@2 g5 e5@2 d5@7 ~@5 g4]/2",
  P: "b4@3 b4@3 a#4@2 b4 ~@3", Q: "c5@3 c5@3 b4@2 c5 ~@3", R: "[d5@3 d5@3 e5@2 d5 a4@2 g4@7 ~@6]/2",
  S: "~@2 c5 ~@3 c5 ~", T: "~@2 e5 ~@3 e5 ~", U: "~@2 a4 ~@3 a4 ~", V: "d5 ~ d5 ~ g4 ~ b4 ~", W: "c5 ~@7",
  X: "~@5 c6 ~@2",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "B♭ Trumpet"
const trumpet_2 = note("<~@8 A@2 B C D A E F G H I J G H K L M N@2 O P Q R S T R@2 O A Q R U V W>".pickRestart({
  A: "~@2 f4 ~@3 f4 ~", B: "~@2 b4 ~@3 b4 ~", C: "~@2 d#4 ~@3 d#4 ~", D: "~@2 c4 ~@3 c4 ~", E: "~@2 g4 ~@3 c4 ~",
  F: "~@2 f4 ~@3 a#3@2", G: "d#4", H: "d4", I: "c#4", J: "c4 ~@5", K: "e4 ~@5", L: "f4 ~@5", M: "c5 ~@5",
  N: "[e4@2 c4@5 ~]/2", O: "~@2 c#5 ~@3 c#5 ~", P: "d4@4 d4 ~ e4@6 f4@6 f#4@6", Q: "~@2 d4 ~@3 d4 ~",
  R: "~@2 g4 ~@3 g4 ~", S: "~@2 a4 ~@3 a4 ~", T: "~@2 g4 ~@5", U: "a4 ~ a4 ~ d4 ~ d4 ~", V: "g4 ~@7", W: "~@5 c5 ~@2",
})).s("gm_trumpet").gain(0.4)

// other · french horn · "Horn in F"
const french_horn = note("<~@8 A B C D E F G H I J K L I J L M N G O P Q R G S T U O P Q R G V W X>".pickRestart({
  A: "a#3 ~ a#3@2 a#3 ~ a#3 ~", B: "a#3@3 ~@7 a#3 ~ a3@6 g#3@6", C: "g3 ~ g3 ~ g3 ~ g3 ~",
  D: "c4@4 c4 ~ d4@6 d#4@6 e4@6", E: "f4 ~ f4 ~ f4 ~ f4 ~", F: "a#3 ~ a#3 ~ a#3 ~ a#3 ~", G: "c4 ~ c4 ~ c4 ~ c4 ~",
  H: "a#3@3 ~@7 a#3 ~ c4@6 a#3@6", I: "a#3", J: "a3", K: "g#3", L: "g3 ~@5", M: "a3 ~@5", N: "g4 ~@5",
  O: "c4@3 ~@7 c4 ~ b3@6 a#3@6", P: "a3 ~ a3 ~ a3 ~ a3 ~", Q: "d4@4 d4 ~ e4@6 f4@6 f#4@6", R: "g4 ~ g4 ~ g4 ~ g4 ~",
  S: "d4 ~ d4 ~ d4 ~ d4 ~", T: "g3@3 ~@7 g3 ~ a3@6 b3@6", U: "c4 ~ c4@2 c4 ~ c4 ~", V: "d4 ~ d4 ~ g3 ~ b3 ~",
  W: "c4 ~@7", X: "~@5 g4 ~@2",
})).s("gm_french_horn").gain(0.4)

// bass · tuba
const bass = note("<A B C D E A F G A B C H E A I J K L M N K L O P Q F R S T U F L V F R S T U F W X Y>".pickRestart({
  A: "a#1 ~ f1 ~", B: "a#1 ~ a1 g#1", C: "g1 ~ d2 ~", D: "c2@4 c2 ~ d2@6 d#2@6 e2@6", E: "f2 ~ c2 ~", F: "c2 ~ g1 ~",
  G: "f1 ~@3", H: "c2 d2 d#2 e2", I: "c2 ~ f1 ~", J: "a#1!2 c2 d2", K: "d#2 ~ a#1 ~", L: "d2 ~ a1 ~", M: "c#2 ~ g#1 ~",
  N: "c2@2 ~@7 g1@3", O: "c2 ~@5", P: "f1 ~@5", Q: "g1 ~@5", R: "c2 ~ b1 a#1", S: "a1 ~ e2 ~", T: "d2 e2 f2 f#2",
  U: "g2 ~ d2 ~", V: "g1 ~ a1 b1", W: "d2 ~ g1 ~", X: "c2 ~@3", Y: "~@5 c2@2 ~",
})).s("gm_tuba").gain(0.4)

stack(trumpet, trumpet_2, french_horn, bass)

More by LazyTown