Strudelify

band of brothers

Micheal Kamen

KeyF majorTempo120 bpm
0:00/0:00
// band of brothers — Micheal Kamen
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 3 "Alto Saxophone" alto sax (copy of ch 1 "Bb Clarinet" clarinet)
// note: Transcription provider: pdmx. https://musescore.com/score/48590; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 50 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 · clarinet · "Bb Clarinet"
const clarinet = note(`<
  A@3 B@3 C@3 D@3 E F G H I J K L M@2 N O P@2 Q R@2 S T@2 U V W X Y Z AA AB AC AD AE@3 AF@3 AG@2
>`.pickRestart({
  A: "[a3 c4 f4 e4@2 f4 a4@6]/3", B: "[~ c5 f4 g4@2 a4 a4@6]/3", C: "[a3 c4!2 f4!2 g4 g4@4 a4@2 d4@6 c4@6]/3",
  D: "[~@2 d5@2 c5@2 g4@4 g4 a4 a4@6 ~@2 f4@2 g4@2]/3", E: "a4 g4 f4!2", F: "c4 eb4!2 d4", G: "c4!2 bb3 f4",
  H: "bb3 f4 a4 g4", I: "f4 g4 c4 g4", J: "f4 d4 g4 f4", K: "e4 g4 f4!2", L: "~ c4 f4 a4", M: "[e4@4 e4 f4 f4@8 ~@2]/2",
  N: "~ a3 c4 f4", O: "g4@2 e4@4 e4 f4", P: "[f4@6 ~ a4]/2", Q: "c4@2 e4@4 e4 f4", R: "[f4@12 a3 c4!2 f4]/2",
  S: "f4 g4 e4@4 f4@2", T: "[d4@3 c4@3 ~ bb4]/2", U: "a4@2 e4@4 e4 f4", V: "f4@3 ~", W: "f4 g4 a4 g4", X: "f4!2 c4 eb4",
  Y: "eb4 d4 c4!2", Z: "bb3 f4 a3 f4", AA: "a4 f4 g4!2", AB: "c4 g4 f4 d4", AC: "g4 f4 e4 g4", AD: "f4!2 ~@2",
  AE: "[c4@2 f4@2 a4@2 e4@4 e4 f4 f4@6 g4@6]/3", AF: "[a4 g4 f4@2]/3", AG: "[a3@3 ~]/2",
})).s("gm_clarinet").gain(0.3)

// other · trumpet · "Bb Trumpet"
const trumpet = note("<~@6 A@3 B C ~@39>".pickRestart({
  A: "[a3 c4!2 f4!2 g4 g4@4 a4@2 bb4@6 a4@6]/3", B: "~ d5 c5 g4", C: "g4@2 g4 a4 a4@4",
})).s("gm_trumpet").gain(0.4)

// bass · tuba · "Euphonium"
const bass = note(`<
  A B C D E C F G H I@2 J K@3 L M@2 N O@2 P Q R S T U S T U V W@2 S X@2 Y@3 Z@3 AA@3 AB@3 AC@2
>`.pickRestart({
  A: "f3", B: "f3@2 f2 c3", C: "f3 a3 f3 c3", D: "f2 c3 f3 c4", E: "g3 c3 f2 c3", F: "f2 c3 f3 g3", G: "e3 c3 d3 f3",
  H: "e3 f3 c3 a2", I: "[c3@3 c3@3 c3@2]/2", J: "f2!3 g2", K: "[a2!2 bb2 bb2]/3", L: "c3@3 c3",
  M: "[c3 bb2 e3@3 bb3@3]/2", N: "c4@3 d4", O: "[~ c3@6 f2]/2", P: "c3 f3 a3 f3", Q: "c3 f2 c3 f3", R: "g3 e3 c3 f2",
  S: "f2 c3 f3 a3", T: "f3 c3 f2 c3", U: "f3 g3 e3 c3", V: "d3 f3 e3 f3", W: "[c3 a2 c3@3 c3@3]/2",
  X: "[f3 c3 a3@3 a3@3]/2", Y: "[bb3@3 bb2@3 c3@3 c3!2 bb2]/3", Z: "[a3@3 bb3@3 c4@3 d4 ~@2]/3", AA: "[c3 f3]/3",
  AB: "[f3 f3]/3", AC: "[e3@3 ~]/2",
})).s("gm_tuba").gain(0.3)

// bass · tuba · "Euphonium"
const bass_2 = note(`<
  A B C D E C F G H I@2 C J@3 K L@2 M N@2 O P Q R S T R S T U V W X Y@2 Z@3 AA@3 A AB AC@2 AD AC AE@2
>`.pickRestart({
  A: "c3", B: "f3@2 f2 c3", C: "f3 a3 f3 c3", D: "f2 c3 f3 c4", E: "g3 c3 f2 c3", F: "f2 c3 f3 g3", G: "e3 c3 d3 f3",
  H: "e3 f3 c3 a2", I: "[c3@3 c3@3 f2 c3]/2", J: "[a3!2 bb3 bb2]/3", K: "c3@3 c3", L: "[c3 bb2 e3@3 f3@3]/2",
  M: "g3@3 d3", N: "[~ c3@6 ~]/2", O: "c3 f3 a3 f3", P: "c3 f2 c3 f3", Q: "g3 e3 c3 f2", R: "f2 c3 f3 a3",
  S: "f3 c3 f2 c3", T: "f3 g3 e3 c3", U: "d3 f3 e3 f3", V: "c3 a2 c3@2", W: "c3 c3@3", X: "f2@3 f2",
  Y: "[f2 g2 a2@3 a2@3]/2", Z: "[bb2@3 bb2@3 c3@3 c3!2 bb2]/3", AA: "[e3@3 f3@3 g3@3 a3 ~@2]/3", AB: "c3 f3", AC: "f3",
  AD: "f3!2", AE: "[f3@3 ~]/2",
})).s("gm_tuba").gain(0.3)

// other · trombone
const trombone = note("<A@6 B@3 C@3 D@3 E F@2 G H@6 I@7 ~ J K L M N O P@3 Q R S@2 T S U@2>".pickRestart({
  A: "f2", B: "[f2 f2]/3", C: "[c3@3 c3@3 f2@3 f2!2 g2]/3", D: "[a2!2 b2 b2]/3", E: "c3@3 c3", F: "[c3 b2 e3@3 f3@3]/2",
  G: "g3@3 a3", H: "[~ c2@6 f2@6 f2@6 f2@5]/6", I: "[~ f2@6 f2@6 f2@6 f2@6 f2 ~@2]/7", J: "f2@3 f2", K: "f2 g2 a2@2",
  L: "a2 a2@3", M: "bb2@3 bb2", N: "bb2 c3", O: "c3!3 b2", P: "[a2@3 b2@3 c3@3 d3 ~@2]/3", Q: "c3", R: "c3 f3", S: "f3",
  T: "f3!2", U: "[f2@3 ~]/2",
})).s("gm_trombone").gain(0.3)

stack(clarinet, trumpet, bass, bass_2, trombone)