Strudelify

believe me - steins gate

Takeshi Abo

KeyG majorTempo108 bpm
0:00/0:00
// believe me - steins gate — Takeshi Abo
// 108 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 5/4 at bar 15, 4/4 at bar 17) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/327536; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 53 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(108/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · violin
const violin = note(`<
  A@6 B@4 C@2 D@2 E@2 F@2 G H I J K L M N O P Q R@2 S@2 T@4 U V F G W X Y X Z AA AB AC AD AE@3
>`.pickRestart({
  A: "[~@6 b4@3 d5@13 b4@3 d5@13 c5@3 d5@5 d5@2]/6", B: "[~ d5@5 b4@8 a4@8 b4@3 d5@4 a4 b4 c5]/4",
  C: "[d5 b4@5 d5@6 ~ a4 b4 c5]/2", D: "[d5 b4@5 e5@3 d5@3 c5@2 d4 a4]/2", E: "[b4 f#4@3 a4@2 e4@3 b4@2 a4@2 f#4@3]/2",
  F: "b4", G: "a4", H: "f#4", I: "b4@3 g4@5", J: "f#4@3 b4@5", K: "b4@3 d5@5", L: "e4 f#4 g4 d5@5",
  M: "f#4 a4 b4 f#5@5", N: "f#4@3 e4@3 g4@2", O: "f#4@3 d4@3 ~@2", P: "d4@3 b3@3 a4@2", Q: "d4@3 d4@5",
  R: "[e4@2 g4 a4@2 b4@2 a4@5 g4@2 c5@2]/2", S: "e5", T: "[b4@3 d5@13]/2", U: "c5@3 d5@5", V: "d5@3 d5@5",
  W: "b4@3 d5@4 a4", X: "b4 c5 d5 b4@5", Y: "d5@6 ~ a4", Z: "e5@3 d5@3 c5@2", AA: "d4 a4 b4 f#4@3 a4@2", AB: "~@3 d4@5",
  AC: "~@3 e4@5", AD: "g4 b4@7", AE: "[b4@22 b3@17 ~@9]/3",
})).s("gm_violin").gain(0.3)

// other · violin
const violin_2 = note(`<
  A@7 B@7 C@2 D E F@2 G ~ H I@3 J@2 K L@2 M@2 N@2 O@2 P Q R S T I U V P J W J X Y@3
>`.pickRestart({
  A: "[~@3 e4@8 f#4@8 g4@4 f#4@4 ~]/7", B: "[~ d4@5 [b3,d#4]@8 g3@3 b3@5 e4@8 d4@16 c4@3 d4@3 c4@2 ~@2]/7",
  C: "[~@3 e4@5]/2", D: "d4", E: "b3", F: "a3", G: "d4@3 d4@5", H: "f4@3 d4@5", I: "e4", J: "a4", K: "b4@3 g4@5",
  L: "[c4@6 ~ f4@5 e4@2 a4@2]/2", M: "d5", N: "e4/2", O: "f#4/2", P: "g4", Q: "f#4", R: "~@3 d4@5", S: "[b3,d#4]",
  T: "g3@3 b3@5", U: "d4@6 ~ b4", V: "a4 g4 f#4 d4@5", W: "b4", X: "g3 b3 d4 e4@5", Y: "[b4@3 a4@7 ~@2]/3",
})).s("gm_violin").gain(0.25)

// other · viola
const viola = note(`<
  A@6 B@4 C@2 D@3 E F G H I J G K H@2 L M I J N@2 O@2 P@2 Q@2 R S H K T U V U W X Y Z G AA@3
>`.pickRestart({
  A: "[~@6 g4@3 d4@13 b3@3 d4@13 b4@3 d4@5 a4@2]/6", B: "[~ d4@5 b3@8 a3@8 e3@6 ~ a3 b3 c4]/4",
  C: "[d4 b3@5 b3@6 ~ a3 b3 c4]/2", D: "[d4 b3@5 b3@4 ~ b4 g4 f#4@4 d4@2 e4 f#4 e4 ~@2]/3", E: "~ g3@2 f#3@2 d3@3",
  F: "g#3", G: "g3", H: "b3", I: "f#3", J: "g3@3 e3@5", K: "a3", L: "[g3,e4]", M: "[d3,b3]",
  N: "[f3 c4 e4 a4@2 b4@2 c5@9]/2", O: "b4", P: "[g4@3 d4@13]/2", Q: "[b3@3 d4@13]/2", R: "b4@3 d4@5", S: "a4@3 d4@5",
  T: "e3@6 ~ a3", U: "b3 c4 d4 b3@5", V: "b3@6 ~ a3", W: "c4@3 d4@3 c4@2", X: "d4", Y: "e4@3 e4@5", Z: "d4@3 d4@5",
  AA: "[f#4@3 f#4@7 ~@2]/3",
})).s("gm_viola").gain(0.3)

// other · cello · "Violoncello"
const cello = note("<A@8 B@6 C@2 D@2 E F G D H I J K E F G L@2 M N O@2 P@2 Q E D F R@2 S@2 K T U V K W@3>".pickRestart({
  A: "[~@3 e3@8 f#3@8 g3@4 f#3@4 e3@4 b2]/8", B: "[~@6 b2@3 d3@4 e3@9 d3@16 g2@8 d2 a2]/6",
  C: "[b2 f#3@3 a3@2 e2@3 b2@2 a2@2 f#2@3]/2", D: "e3", E: "f#3", F: "b2", G: "e3@3 b2@5", H: "d3", I: "e2 f#2 g2 d3@5",
  J: "f#2 a2 b2 f#3@5", K: "c3", L: "[e2@2 g2 a2@2 b2@2 a2@5 g2@2 c3@2]/2", M: "a2", N: "g#2", O: "e3/2", P: "f#3/2",
  Q: "g3", R: "[b2@3 d3@4 e3@9]/2", S: "d3/2", T: "d2 a2 b2 f#3@3 a3@2", U: "b2@3 d3@5", V: "a2@3 e3@5",
  W: "[b3@22 b2@17 ~@9]/3",
})).s("gm_cello").gain(0.25)

stack(violin, violin_2, viola, cello)