Strudelify

Tetris for Percussion Ensemble

Noah Walters

KeyA minorTempo150 bpm
0:00/0:00
// Tetris for Percussion Ensemble — Noah Walters
// 150 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5603763; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 40 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(150/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 · xylophone
const xylophone = note("<A B C D E F G D A B C D E F G D H I H J H I H K A B C D E F G D A B C D E F G D>".pickRestart({
  A: "e6@2 b5 c6 d6 ~ c6 b5", B: "a5@2 a5 c6 e6@2 d6 c6", C: "b5@3 c6 d6@2 e6@2", D: "c6 a5 a5@2",
  E: "d6@3 f6 a6@2 g6 f6", F: "e6@3 c6 e6@2 d6 c6", G: "b5@2 b5 c6 d6@2 e6@2", H: "a5 e6 a5 e6 a5 e6 a5 e6",
  I: "b5 d6 b5 d6 b5 d6 b5 d6", J: "g#5 e6 g#5 e6 g#5 e6 g#5 e6", K: "[a5,a6]",
})).s("gm_xylophone").gain(0.4)

// other · vibraphone
const vibraphone = note(`<
  A B C D E F G H A B C D E F G H I J K L I J M N A B C D E F G H A B C D E F G H
>`.pickRestart({
  A: "e4 e5 e4 e5 e4 e5 e4 e5", B: "a3 a4 a3 a4 a3 a4 a3 a4", C: "g#3 g#4 g#3 g#4 g#3 g#4 g#3 g#4",
  D: "a3 a4 a3 a4 a3 b3 c4 d4", E: "d4 d5 d4 d5 d4 d5 d4 d5", F: "c4 c5 c4 c5 c4 c5 c4 c5",
  G: "g3 g4 g3 g4 g3 g4 g3 g4", H: "a3 a4 a3 a4 a3@2 a3@2", I: "[c5,e5] [a4,c5]", J: "[b4,d5] [g#4,b4]",
  K: "[a4,c5] [e4,a4]", L: "[e4,g#4] [g#4,b4]", M: "[a4,c5] [c5,e5] [e5,a5]!2", N: "[e5,g#5]",
})).s("gm_vibraphone").gain(0.3)

// other · glockenspiel
const glockenspiel = note(`<
  A B C D E F G D A B C D E F G D H I J K H I L M A B C D E F G D A B C D E F G D
>`.pickRestart({
  A: "e7@2 b6 c7 d7 ~ c7 b6", B: "a6@2 a6 c7 e7@2 d7 c7", C: "b6@3 c7 d7@2 e7@2", D: "c7 a6 a6@2",
  E: "d7@3 f7 a7@2 g7 f7", F: "e7@3 c7 e7@2 d7 c7", G: "b6@2 b6 c7 d7@2 e7@2", H: "[c7,e7] [a6,c7]",
  I: "[b6,d7] [g#6,b6]", J: "[a6,c7] [e6,a6]", K: "[e6,g#6] [g#6,b6]", L: "[a6,c7] [c7,e7] [e7,a7]!2", M: "[e7,g#7]",
})).s("gm_glockenspiel").gain(0.4)

// drums · snare
const snare = s("sd").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "~@2 x ~@3 x ~@3 x!3 ~ x ~", B: "~ x ~ x ~ x!3",
})).gain(0.25)

stack(xylophone, vibraphone, glockenspiel, snare)

More by Noah Walters