Strudelify

Eye Level (Van der Valk theme)

Simon Park Orchestra

KeyF majorTempo120 bpm
0:00/0:00
// Eye Level (Van der Valk theme) — Simon Park Orchestra
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/2497781; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 65 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. 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.

// bass · electric bass pick · "Bass Guitar [Tablature]"
const bass = note(`<
  A B C B D E F G H I J K L F M N O P Q R ~@3 S@2 G T U V D H W M S H P Q X Y Z AA Z AB W AC AD AE AF AG AC AE W M N AE
  P Q R AH ~ AI AJ AK ~ AK
>`.pickRestart({
  A: "~@10 c2@2 d2 ~ e2 ~", B: "f2", C: "bb1@8 c2@2 c2@2 d2 ~ e2 ~", D: "bb1 c2", E: "a1@3 a1 a1@2 ~@2",
  F: "f1@3 f1 f1@2 ~@2", G: "a1@3 a1 c2 c2@3", H: "f2@10 c2@2 d2 ~ e2 ~", I: "f2@2 c2!2 d2@2 d2@2",
  J: "bb1 a1 bb1 c2@2 bb1 a1@2", K: "bb1@2 bb1@2 c2 bb1@3", L: "~ f1@3 c2 f1 ~@2", M: "g1@3 g1 g1@2 ~@2",
  N: "c2@3 c2!2 c2@3", O: "f2@10 c2 ~ d2@2 e2@2", P: "f2@2 f2 c2", Q: "bb1@3 bb1 bb1@2 ~@2", R: "~@2 c2@2 c2 c2@3",
  S: "c2@3 c2 c2@2 ~@2", T: "f2@5 c2 d2 e2", U: "f2 bb1", V: "c2!2", W: "f2@3 f2 f2@2 ~@2", X: "c2", Y: "c2@5 c2 d2 e2",
  Z: "f2@3 ~", AA: "d2@3 ~", AB: "bb1@10 c2@2 d2 ~ e2 ~", AC: "bb1@3 bb1 c2@2 ~@2", AD: "f2@3 f2 c2@2 ~@2",
  AE: "f2@6 c2@2 bb1 ~ c2 ~ d2 ~ e2 ~", AF: "f2@3 f2 g2@2 ~@2", AG: "c2@3 c2 f2@2 ~@2", AH: "c2 ~", AI: "~@5 c2 bb1 g1",
  AJ: "f1@2 f1!2 c2 c2@3", AK: "f1 ~@3",
})).s("gm_electric_bass_pick").gain(0.3)

// bass · electric bass pick · "Bass Guitar [Tablature]" · soft notes
const bass_soft = note("<~@20 [c2@8 ~@2 c2@2 d2 ~ e2 ~] [f2@3 f2 f2@2 ~@2]!2 ~@42>")
  .s("gm_electric_bass_pick").gain(0.2)

// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  ~ A@2 ~@9 B C D E F C G H I J ~ K L M N O P Q R ~@7 S ~@4 T U M N O P V W X D E F C G H Y K Z M R ~ R
>`.pickRestart({
  A: "[~@2 a4@2 a4 a4@2 a4@2 a4 a4@2 f4@2 ~@2]/2", B: "~@6 c5!2", C: "a4@2 c5!2 a4@2 c5@2",
  D: "d5@2 c5@2 bb4 ~ a4 ~ bb4@4 bb4@2 bb4@2", E: "g4@2 bb4!2 g4 bb4@3", F: "c5@6 c5!2", G: "d5 c5@2 bb4@2 a4 g4 f4",
  H: "c4", I: "c4@8 ~@2 c4@2 d4 ~ e4 ~", J: "f4@3 f4 f4@2 ~@2", K: "f4@2 f4!2 f4@2 f4!2",
  L: "f4@2 e4@2 d4 ~ c4 ~@3 c4@2 d4@2 e4@2", M: "f4@2 f4!2 g4 g4@3", N: "a4", O: "a4@2 a4!2 bb4@2 bb4!2",
  P: "g4 f4 g4 a4@2 g4 f4@2", Q: "d4@2 d4!2 e4 e4@3", R: "f4@3 ~", S: "c5", T: "f4@4 f4 ~ f4 ~ f4@4 f4 ~ f4 ~",
  U: "f4 e4 d4 c4 ~ c4 d4 e4", V: "bb4@3 a4 g4@4", W: "a4@2 ~@4 c5!2", X: "a4@2 c5!2 a4@2 c5!2", Y: "c4@4 ~ c4 d4 e4",
  Z: "f4@2 eb4@2 db4 ~ c4 ~@3 c4@2 d4@2 e4@2",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "B♭ Trumpet" · soft notes
const trumpet_soft = note("<~@39 A@2 B C ~@20 D ~>".pickRestart({
  A: "[~@2 a4@2 a4 a4@2 a4@2 a4 a4@2 f4@2 g4@2]/2", B: "~@2 a4@2 a4 a4@3", C: "d5@2 d5!2 bb4@2 c5@2",
  D: "f4@2 f4!2 g4 g4@3",
})).s("gm_trumpet").gain(0.2)

// other · trumpet · "B♭ Cornet"
const trumpet_2 = note(`<
  ~ A@2 ~@9 B C D E F C G H I J ~ K L M N O P Q R ~@6 S@2 ~@4 T U V N W X ~ B Y D E F C G H I ~ Z M AA ~ AB
>`.pickRestart({
  A: "[~@2 f4@2 e4 e4@2 d4@2 d4 d4@2 c4@2 ~@2]/2", B: "~@6 a4!2", C: "f4@2 a4!2 f4@2 a4@2",
  D: "bb4@2 a4@2 g4 ~ f4 ~ g4@4 g4@2 g4@2", E: "e4@2 g4!2 e4 g4@3", F: "a4@6 a4!2", G: "bb4 a4@2 g4@2 f4 e4 d4",
  H: "~@2 f4@2 f4 f4@3", I: "e4 ~", J: "a3@3 a3 a3@2 ~@2", K: "a3@2 a3!2 a3@2 a3!2",
  L: "a3@2 c4@2 bb3 ~ a3 ~@3 c4@2 a3@2 g3@2", M: "c4@2 c4!2 e4 e4@3", N: "f4", O: "f4@2 f4!2 g4@2 g4!2",
  P: "e4 d4 e4 f4@2 c4 a3@2", Q: "bb3@2 bb3!2 c4 bb3@3", R: "a3@3 ~", S: "c4", T: "f4@4 f4 ~ f4 ~ f4@4 f4 ~ f4 ~",
  U: "f4 e4 d4 c4 ~ c4 d4 e4", V: "f4@2 f4!2 e4 g4@3", W: "a4@2 a4!2 bb4@2 bb4!2", X: "g4!2 bb4 a4@2 g4 f4@2",
  Y: "f4@2 a4!2 f4@2 a4!2", Z: "~@5 c4 d4 e4", AA: "f4@3 ~", AB: "c4@3 ~",
})).s("gm_trumpet").gain(0.4)

// other · trumpet · "B♭ Cornet" · soft notes
const trumpet_soft_2 = note("<~@39 A@2 B C ~@20 D ~>".pickRestart({
  A: "[~@2 f4@2 e4 e4@2 d4@2 d4 d4@2 d4@2 c4@2]/2", B: "~@2 f4@2 e4 e4@3", C: "d4@2 d4!2 d4@2 e4@2",
  D: "c4@2 c4!2 d4 d4@3",
})).s("gm_trumpet").gain(0.2)

// other · alto sax · "Alto Saxophone"
const alto_sax = note("<~ A@2 ~@9 B C D E F G H ~@31 B I J E F G K L M N O P Q ~@2>".pickRestart({
  A: "[~@2 a3@2 a3 a3@2 a3@2 a3 a3@2 f3@2 ~@2]/2", B: "~@6 c4!2", C: "a3@2 c4!2 a3@2 ~@2", D: "~@6 bb3!2",
  E: "g3@2 bb3!2 g3 bb3@3", F: "c4@6 c4!2", G: "a3@2 c4!2 a3@2 c4@2", H: "d4 c4@2 bb3@2 ~@3", I: "a3@2 c4!2 a3@2 c4!2",
  J: "d4@2 c4@2 bb3 ~ a3 ~ bb3@4 bb3@2 bb3@2", K: "d4 c4@2 bb3@2 a3 g3 f3", L: "c4", M: "c4@4 ~ c4 d4 e4",
  N: "f4@2 f4!2 f4@2 f4!2", O: "f4@2 eb4@2 db4 ~ c4 ~@3 c4@2 d4@2 e4@2", P: "f4@2 f4!2 g4 g4@3", Q: "f4@3 ~",
})).s("gm_alto_sax").gain(0.3)

// other · alto sax · "Alto Saxophone" · soft notes
const alto_sax_soft = note("<~@24 A B C D E F G ~@7 H I@2 J K ~@4 L M N O ~@14>".pickRestart({
  A: "~@5 c4 d4 e4", B: "f4@2 f4!2 g4 g4@3", C: "a4", D: "f3@2 f3!2 g3@2 g3!2", E: "e3 d3 e3 f3@2 c4 a3@2",
  F: "bb3@2 bb3!2 c4 bb3@3", G: "a3@3 ~", H: "c4", I: "[~@2 a3@2 a3 a3@2 a3@2 a3 a3@2 f3@2 g3@2]/2",
  J: "~@2 a3@2 a3 a3@3", K: "d4@2 d4!2 bb3@2 c4@2", L: "a3 g3", M: "e3 f3", N: "bb3@3 a3 g3@4", O: "a3 ~@3",
})).s("gm_alto_sax").gain(0.2)

stack(bass, bass_soft, trumpet, trumpet_soft, trumpet_2, trumpet_soft_2, alto_sax, alto_sax_soft)