Strudelify

Airship Theme (Brass Quintet)

Koji Kondo

KeyG minorTempo120 bpm
0:00/0:00
// Airship Theme (Brass Quintet) — Koji Kondo
// 120 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/3661146; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 38 bars on a 24-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 · trumpet · "Bb Trumpet 1"
const trumpet = note("<~@8 A B C@2 A B C@2 D@2 E@2 ~@2 A B F@2 A B C@2 G H I J K L M N>".pickRestart({
  A: "c4", B: "c5", C: "b4/2", D: "g4@3 ~@3 g4@3 ~@3 g4@3 g4@3 g4@2 bb4@2 bb4@2",
  E: "d5@3 ~@3 d5@3 ~@3 d5@3 d5@3 d5@2 f5@2 f5@2", F: "[b4@7 ~]/2", G: "g4@15 gb4@3 c5@3 ~@2 b4", H: "eb5",
  I: "d5@18 e5@3 ~@2 d5", J: "g5", K: "g4@3 ~@3 g4@3 ~@3 g4@2 g4@2 g4@2 g4@3 ~@3",
  L: "g4@3 ~@3 g4@2 g4@2 g4@2 g4@3 g4@3 g4@2 g4@2 g4@2", M: "g5@3 ~@3 g5@3 ~@5 g5@2 g5@2 g5@2 g5@2 g5@2", N: "g5 ~@7",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "Bb Trumpet 2"
const trumpet_2 = note("<~@8 A B C@2 A B C@2 D@2 E@2 ~@2 A B F@2 A B C@2 G B H I J K L M>".pickRestart({
  A: "bb3", B: "bb4", C: "a4/2", D: "d4@3 ~@3 d4@3 ~@3 d4@3 d4@3 d4@2 f4@2 f4@2",
  E: "a4@3 ~@3 a4@3 ~@3 a4@3 a4@3 a4@2 c5@2 c5@2", F: "[a4@7 ~]/2", G: "e4@15 e4@3 g4@3 ~@2 b4", H: "a4@18 g4@3 ~@2 f4",
  I: "eb5", J: "g3@3 ~@3 g3@3 ~@3 g3@2 g3@2 g3@2 g3@3 ~@3", K: "g3@3 ~@3 g3@2 g3@2 g3@2 g3@3 g3@3 g3@2 g3@2 g3@2",
  L: "g4@3 ~@3 g4@3 ~@5 g4@2 g4@2 g4@2 g4@2 g4@2", M: "g4 ~@7",
})).s("gm_trumpet").gain(0.4)

// other · french horn · "Horn"
const french_horn = note("<~@4 A B A B C D E@2 C D E@2 F@2 G@2 ~@2 C D H@2 C D E@2 I J K L ~@2 M N>".pickRestart({
  A: "g3 ~@5 g3 ~@5 g3 ~ g3 ~ g3 ~ g3 ~@5", B: "g3 ~@5 g3 ~ g3 ~ g3 ~ g3 ~@2 g3 ~@2 g3 ~@5", C: "f3", D: "f4",
  E: "e4/2", F: "c4@3 ~@3 c4@3 ~@3 c4@3 c4@3 c4@2 eb4@2 eb4@2", G: "g4@3 ~@3 g4@3 ~@3 g4@3 g4@3 g4@2 bb4@2 bb4@2",
  H: "[e4@7 ~]/2", I: "c3@9 c3 d3 eb3", J: "bb3@9 c3 b2 bb2", K: "a3@3 ~", L: "eb4",
  M: "d4@3 ~@3 d4@3 ~@5 d4@2 d4@2 d4@2 d4@2 d4@2", N: "d4 ~@7",
})).s("gm_french_horn").gain(0.4)

// bass · tuba
const bass = note("<A B A B C D C D C D C D C D C D C E C E C D C D C D C D C F G H I J K L M N>".pickRestart({
  A: "g1@2 ~@4 g1@2 ~@4 g1 ~ g1 ~ g1 ~ g1@2 ~@4", B: "g1@2 ~@4 g1 ~ g1 ~ g1 ~ g1@2 ~ g1@2 ~ g1@2 ~@4",
  C: "g1 ~@5 g1 ~@5 g1 ~ g1 ~ g1 ~ g1 ~@5", D: "g1 ~@5 g1 ~ g1 ~ g1 ~ g1 ~@2 g1 ~@2 g1 ~@5",
  E: "g1 ~@5 g1 ~ g1 ~ g1 ~ g1 ~@2 g1 ~@2 g1 ~ g1 ~ g1 ~", F: "g1 ~@5 g1 ~ g1 ~ g1 ~ g1 ~@2 g1 ~@2 g1 ~ ab1 ~ bb1 ~",
  G: "c2 ~@5 c2 ~@5 c2 ~@2 c2 ~@2 c2 ~ d2 ~ eb2 ~", H: "c2 ~@5 c2 ~@5 c2 ~@2 c2 ~@2 c2 ~ b1 ~ bb1 ~",
  I: "a1 ~@5 a1 ~@5 a1 ~@2 a1 ~@2 a1 ~ b1 ~ c2 ~", J: "c2 ~@5 c2 ~@5 c2 ~@2 c2 ~@2 c2 ~ c2 ~ c2 ~",
  K: "g2 ~@5 g2 ~@5 g2 ~ g2 ~ g2 ~ g2 ~@5", L: "g2 ~@5 g2 ~ g2 ~ g2 ~ g2 ~@2 g2 ~@2 g2 ~ g2 ~ g2 ~",
  M: "g2@3 ~@3 g2@3 ~@5 g2@2 g2@2 g2@2 g2@2 g2@2", N: "g2 ~@7",
})).s("gm_tuba").gain(0.25)

stack(trumpet, trumpet_2, french_horn, bass)

More by Koji Kondo