Strudelify

Star Trek Deep Space Nine - Main Title

Dennis McCarthy

KeyC majorTempo80 bpm
0:00/0:00
// Star Trek Deep Space Nine - Main Title — Dennis McCarthy
// 80 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: metre changes (4/4 at bar 1, 7/4 at bar 11, 4/4 at bar 12) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5827329; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 37 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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 · "Trumpet I in C"
const trumpet = note("<~@2 A@3 B@2 ~@2 C@2 ~ D@2 E@2 F@2 G@2 H@2 I ~@2 J@3 K@4 L@5>".pickRestart({
  A: "[~@3 g5@10 ~@3]/3", B: "[~@2 g5@11 ~@3]/2", C: "[~@9 g5@22 ~]/2", D: "[g4 c5 e5 d5@12 f5@3 e5 f5 g5@12]/2",
  E: "[g4 c5 e5 d5@12 f5@3 e5 c5 g4@2 f4@4 c5@6]/2", F: "[g4 c5 e5 d5@12 f5@3 e5 f5 g5@10 c5@2]/2",
  G: "[c6@2 b5 g5 c5@2 d5@8 f4@6 g4@3 c5 c5@8]/2", H: "[g4@6 c5 b4]/2", I: "g4", J: "[~ g5@5]/3", K: "g4/2", L: "g4/5",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "Trumpet II in C"
const trumpet_2 = note("<A@8 ~@4 B@8 ~@3 C D@2 ~@2 E@2 F@2 G@2 H@3>".pickRestart({
  A: "[~@3 g4@61]/8", B: "g4/4", C: "~ d5 e5 f5", D: "g5/2", E: "[g4 c5 e5 d5@12 f5@3 e5 f5 g5@12]/2",
  F: "[g4 c5 e5 d5@12 f5@3 e5 c5 g4@2 f4@4 c5@6]/2", G: "[g4 c5 e5 d5@12 f5@3 e5 f5 g5@10 c5@2]/2",
  H: "[c6@2 b5 g5 c5@2 d5@8 f4@6 g4@3 c5 c5@24]/3",
})).s("gm_trumpet").gain(0.4)

// other · french horn · "Horn II in F"
const french_horn = note("<~@9 A@3 ~@8 B C D E B F@3 G@4 H@5>".pickRestart({
  A: "[~@5 g3@2 c4@2 d4@4 g4@9 g3 b3 ~ c4 d4@22]/3", B: "f4@2 e4 f4 g4@8 c5@2 b4@2", C: "g4@3 f4 f4@12",
  D: "d4@2 e4 f4 g4@8 f4@2 e4@2", E: "c4@3 d4 d4@12", F: "[g4@3 a4 a4@10 b4@4 c5@4 g4@2 f4 e4 c4@4 c4@18]/3", G: "c4/2",
  H: "c4/5",
})).s("gm_french_horn").gain(0.4)

// other · trombone
const trombone = note("<A@8 ~@4 B@12 C D E F G@2 H@2 I@2 J K@2>".pickRestart({
  A: "[~@3 g3@61]/8", B: "c3/4", C: "c3 e3", D: "f3", E: "g3@3 f3", F: "c3",
  G: "[g3 c4 e4 d4 d4@11 d4@3 c4 d4 e4@12]/2", H: "[g3 c4 e4 d4 d4@11 d4@7 f3@2 g3@8]/2",
  I: "[g3 c4 e4 d4 d4@11 d4@3 c4 d4 e4@10 c4@2]/2", J: "f4@2 e4 c4 a3@2 a3@10", K: "[f3@4 e3@3 d3 c3@24]/2",
})).s("gm_trombone").gain(0.4)

// bass · tuba
const bass = note("<~@12 A@12 B C D E F@4 G H I J@2>".pickRestart({
  A: "c2/4", B: "c2 e2", C: "f2", D: "g2", E: "c2", F: "c2/2", G: "d2", H: "e2", I: "a2", J: "[g2 c2@3]/2",
})).s("gm_tuba").gain(0.3)

// bass · tuba · soft notes
const bass_soft = note("<A@8 ~ B@3 ~@25>".pickRestart({
  A: "[~@3 g2@61]/8", B: "[g1@3 b1@3 f2@10]/3",
})).s("gm_tuba").gain(0.15)

stack(trumpet, trumpet_2, french_horn, trombone, bass, bass_soft)