Strudelify

Star spangled banner-low brass trio

James Mcgill

KeyC majorTempo72 bpm
0:00/0:00
// Star spangled banner-low brass trio — James Mcgill
// 72 bpm, 3/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (3/4 at bar 1, 2/4 at bar 29, 3/4 at bar 30) are rendered on a constant 3/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/3008431; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 35 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(72/3)

// 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 · trombone
const trombone = note("<A B C D E F G H I B C D J F K H L M N O P F K Q R S T U V ~@3 W@3>".pickRestart({
  A: "~@2 g3@3 e3", B: "c3 e3 g3", C: "e3@2 d3", D: "e3@2 a3", E: "g3@4 g3!2", F: "c4 b3 a3 b3 c4 d4",
  G: "d4@8 g3@3 a3", H: "c4!2 g3", I: "e3@4 c3@4 g3@3 e3", J: "d3@4 d3 f3", K: "d4@8 a3@3 b3", L: "e3@4 c3@4 c4@3 c4",
  M: "c4 d4 e4", N: "e3 g3 d4", O: "b3 c4 d4", P: "g3@2 d4", Q: "c4@2 a3", R: "d3@2 g3", S: "c4@2 c4@2 c4 b3",
  T: "c4!3", U: "d3@2 f3 e3 d3 c3", V: "c3 b2@2", W: "[~@2 c4 d4 e4@3 f4 d4@2 c4@6 ~@2]/3",
})).s("gm_trombone").gain(0.15)

// bass · tuba
const bass = note("<A B C D E F G H I J K L M N O H P Q R S T F U V W X Y Z AA ~@3 AB AC@2>".pickRestart({
  A: "~@2 g2@3 e2", B: "c3@2 b2", C: "a2@2 g#2", D: "a2@2 d3", E: "g2@4 g2!2", F: "c3@3 d3 e3 f3", G: "g3@8 f2@3 g2",
  H: "c3!2 g2", I: "e2@4 c2@4 g2@3 e2", J: "c2@2 b1", K: "a1@2 g#1", L: "a1@2 d2", M: "g1@4 g1!2", N: "c2@3 d2 e2 f2",
  O: "g2@8 f2@3 g2", P: "e2 c2 ~", Q: "g2@8 g2@4 g2@4 g2@3 g2@2 g2@3", R: "c3@2 d3", S: "g2@8 d3@3 d3@2 d3@3 g2@4 g2@4",
  T: "b2@2 b2", U: "g3@8 d3@3 d3", V: "c3@2 c3", W: "g2@2 d3", X: "g2@2 g2@2 g2!2", Y: "f2!3", Z: "d3 c3 b2 a2 g2!2",
  AA: "f2 f2@2", AB: "~@2 g2!2 g2@2", AC: "[g2 f2 c2@3 ~]/2",
})).s("gm_tuba").gain(0.3)

stack(trombone, bass)