Strudelify

bojack horseman - end theme

Misc Cartoons

KeyA majorTempo90 bpm
0:00/0:00
// bojack horseman - end theme — Misc Cartoons
// 90 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5293392; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 55 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(90/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note("<~@14 A B A C D E A F C G A H I J ~@12 K L A C ~ C M A@2 C@2 A@2 N O>".pickRestart({
  A: "g2", B: "f2@6 f2 e2", C: "d3", D: "d3@3 ~", E: "a2@7 g#2", F: "g2!4", G: "d3@7 c3", H: "g2 ~@3",
  I: "~@5 g2!3 ~ g2!3 ~ g2!2 ~", J: "~@2 g2!4 ~ g2 ~ g2 ~ g2!2 ~@3", K: "d3 f3@3", L: "f3", M: "a2",
  N: "~@9 f#2 g2 g2@2 g2@2 f#2", O: "g2 ~ g2!2 ~@2 g2!2 ~@2 g2!2 g2@2 ~@2",
})).s("gm_baritone_sax").gain(0.3)

// other · alto sax · "Alto Saxophone"
const alto_sax = note("<~@12 A B A@2 B C@2 D B@2 C@2 B@3 D ~@10 A B C@2 B C ~ C D B@2 C@2 B@2 A E>".pickRestart({
  A: "g4", B: "b4", C: "f4", D: "a4", E: "g4@3 ~",
})).s("gm_alto_sax").gain(0.3)

// other · electric guitar clean · "Electric Guitar"
const electric_guitar_clean = note("<A B C B D E F G D E H G D E ~@14 C B D E ~@23>".pickRestart({
  A: "~ d#3 c4 ~ e3 c3 ~ c3", B: "~ c3 d#3 c3 ~ c4 ~ d#3", C: "~ d#3 c4 ~ d#3 c3 ~ c3", D: "~ d3 f3 ~ g3 f3 d3 ~",
  E: "b2 ~ d3 ~ f3 g3 f3 ~", F: "~ d#3 c4 ~ g3 d#3 ~ g3", G: "~ d#3 g3 d#3 ~ c4 ~ g3", H: "~ d#3 c4 ~ g3 d#3 ~ c4",
})).s("gm_electric_guitar_clean").gain(0.3)

// bass · electric bass pick · "Bass Guitar"
const bass = note("<A B ~ C D E A C D E A C D E ~@14 A C D E ~@23>".pickRestart({
  A: "c2 ~@2 c2 ~@2 c2 ~", B: "c2 ~@2 c2 ~ c2 ~@2", C: "c2 ~@3 c2 ~ c2 ~", D: "b1 ~@2 b1 ~@3 b1", E: "~ b1 ~ b1 ~@3 b1",
})).s("gm_electric_bass_pick").gain(0.3)

// bass · electric bass pick · "Bass Guitar"
const bass_2 = note(`<
  A B C B D@2 E@2 D@2 E@2 D@2 F@2 D F@2 G D@2 F@2 D@4 E@2 D@2 E@2 D@2 E@2 D@2 F@2 D@2 ~ F G D@2 F@2 D@4
>`.pickRestart({
  A: "~@7 c2", B: "c2 ~@7", C: "c2 ~@6 c2", D: "g1@2 ~@3 g1 g1@2 g1@2 g1 ~@2 g1 g1@2",
  E: "c2@2 ~@3 c2 c2@2 c2@2 c2 ~@2 c2 c2@2", F: "d2@2 ~@3 d2 d2@2 d2@2 d2 ~@2 d2 d2@2",
  G: "a1@2 ~@3 a1 a1@2 a1@2 a1 ~@2 a1 a1@2",
})).s("gm_electric_bass_pick").gain(0.3)

// bass · electric bass pick · "Bass Guitar"
const bass_3 = note("<~@4 A@2 B@2 A@2 B@2 A ~@19 B@2 A@2 B@2 A@2 ~@15>".pickRestart({
  A: "~ g2!3 ~ g2!3 ~ g2!3 ~@4", B: "~ c2!3 ~ c2!3 ~ c2!3 ~@4",
})).s("gm_electric_bass_pick").gain(0.3)

// drums · snare
const snare = s("sd").struct("<~@3 A B@24 ~ A B C B@5 D E F B@4 ~ B@10>".pickRestart({
  A: "~@11 x!5", B: "~ x ~ x", C: "~@4 x ~@4 x!7", D: "~@4 x ~@8 x!3", E: "x!2 ~@2 x ~@3 x!5 ~@3",
  F: "~@3 x!3 ~@6 x ~@3",
})).gain(0.3)

// drums · low tom
const low_tom = s("lt").struct("<~@11 [~@12 x!4] ~@19 [~@12 x!4] ~@23>").gain(0.3)

// drums · hihat
const hihat = s("hh").struct("<~@4 A@7 B A@16 ~@2 A@7 B A C A@4 ~ A@10>".pickRestart({
  A: "x!8", B: "x ~ x ~ x ~ x ~ x ~ x ~ x!4", C: "x!7 ~ x ~ x ~ x ~ x ~",
})).gain(0.3)

// drums · crash
const crash = s("cr").struct("<~@20 [~@3 x] [~ x ~@2] ~@25 [~@3 x] [~ x ~@2] ~@6>").gain(0.3)

stack(baritone_sax, alto_sax, electric_guitar_clean, bass, bass_2, bass_3, snare, low_tom, hihat, crash)

More by Misc Cartoons