Strudelify

sherlock bbc theme

Misc Television

KeyA minorTempo60 bpm
0:00/0:00
// sherlock bbc theme — Misc Television
// 60 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/8 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5045852; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 9 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(60/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.

// chords · piano
const piano = note("<~ A B C D E F G H>".pickRestart({
  A: "[e4,c5,e5]!6 [g4,c5,g5]!6", B: "[f#4,d5,f#5]!3 [d4,d5]!9", C: "[d4,d5]!6 [f4,d5,f5]!6", D: "[e4,e5]!12",
  E: "[c4,a4,c5]!6 [e4,a4,e5]!6", F: "[d4,a4,d5]!3 [a3,a4]!9", G: "[c4,a4,c5]!5 [d4,a4,d5] [b3,e4,b4]!5 [c4,e4,c5]",
  H: "[a3,e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2 [a3,e4,a4]@2 [a1,e2,a2,a3,e4,a4]@11 ~", // A5
})).s("gm_piano").gain(0.4)

// other · viola
const viola = note("<~ [~@3 d4 e4 c4 c4@6] [~@3 e4 f#4 d4 d4@6]!2 [~@3 d4 e4 c4 c4@6]!2 [~@3 f#4 e4 d4 d4@6] ~@2>")
  .s("gm_viola").gain(0.3)

// chords · electric guitar clean · "Guitarra eléctrica"
const electric_guitar_clean = note("<~ A B C A D E F G>".pickRestart({
  A: "[e3,a3,c4,e4]", B: "[f#3,b3,d4,f#4]", C: "[d3,f#3,a3,d4] [f3,f4]", D: "[c3,e3,a3,c4]", E: "[d3,f#3,a3,d4]",
  F: "[c3,f3,a3,c4]", G: "~ [a2,e3,a3]",
})).s("gm_electric_guitar_clean").gain(0.3)

// drums · high tom
const high_tom = s("ht").struct("<A B C B D E F E G>".pickRestart({
  A: "~@22 x!2", B: "~ x!3", C: "~@6 x ~@5 x ~@5 x!3 ~ x ~", D: "~@6 x ~@5 x!7 ~ x ~ x ~", E: "~ x ~ x",
  F: "~@6 x ~@5 x ~ x!2 ~@2 x ~ x ~@3", G: "~ x",
})).gain(0.45)

// drums · tambourine
const tambourine = s("tb").struct(`<
  [~@22 x!2]
  [~@3 x!4 ~@5]!2
  [x ~ x!2]
  x
  [x!2]
  [x ~@2 x ~@6 x ~]
  [~@5 x ~@5 x]
  [~ x]
>`).gain(0.25)

stack(piano, viola, electric_guitar_clean, high_tom, tambourine)

More by Misc Television