Strudelify

The Scientist String Quartet

Allison Sabbah

KeyF majorTempo70 bpm
0:00/0:00
// The Scientist String Quartet — Allison Sabbah
// 70 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4881256; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 92 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/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 · violin · "Violin I"
const violin = note(`<
  A B A C A B A C D@8 E@8 F@2 G H@2 I@2 J K L K J K M N@8 O@8 F@2 G P@3 G Q@2 R@2 S T U V S T U V S T U V S T U V S T W
  X S T W X Y@3
>`.pickRestart({
  A: "a4!4", B: "bb4@2 bb4@2 bb4@2 bb4 c5", C: "g4!2 e4!2",
  D: "[~@4 f4 g4 f4 c5@2 a4@2 ~ f4 g4 f4 c5@2 a4 ~ c4 f4 g4 f4 a4@4 bb4 a4@2 g4 f4]/4",
  E: "[~@4 f4 g4 f4 c5@2 a4@2 ~ f4 g4 f4 c5@2 a4@2 ~ f4 g4 f4 a4@4 bb4 a4@2 g4 f4]/4",
  F: "[~@3 f5@2 d5 c5 f5@2 d5 c5 f5@2 d5 c5@2]/2", G: "~@3 a4@2 c5!2 a4", H: "[d5@2 a4!3 g4 f4 e4@9]/2",
  I: "[~ a5 bb5 f5 bb5!3 bb5@2 ~ f5@6]/2", J: "bb5", K: "a5", L: "g5 f5 e5@2", M: "g5",
  N: "[~@4 f5 g5 f5 c6@2 a5@2 ~ f5 g5 f5 c6@2 a5@2 ~ f5 g5 f5 a5@4 bb5 a5@2 g5 f5]/4",
  O: "[~@4 f5 g5 f5 c6@2 a5@2 c5 f5 g5 f5 c6@2 a5@2 ~ f5 g5 f5 a5@2 a5@2 bb5 a5@2 g5 f5]/4",
  P: "[d5 a4!3 a4@2 g4 f4@2 ~@2 f5@2 d5 c5 f5@2 d5 c5 f5@2 d5 c5@2]/3", Q: "[d5@2 a4!3 g4 f4 e4@2 ~@7]/2",
  R: "[~@2 a5@2 bb5@2 f5@2 bb5@2 bb5@2 bb5@2 bb5@5 a5 f5@4 ~@8]/2", S: "c4", T: "bb3", U: "a3", V: "g3", W: "b3",
  X: "c4 bb3", Y: "[~@6 c5 a5@6 g5 f5 d5@2 f5@7]/3",
})).s("gm_violin").gain(0.4)

// other · viola
const viola = note(`<
  A B C D A B C D E F G H E F G H I J K L I J K L M@4 N O P B P N Q R Q S T U T V T U T V T U T V T U T V U@2 T W U@2
  W@2 N C ~ X Y Z AA X Y Z AA X Y Z AA X Y Z AA X Y AB AC X Y AB AC P C@2
>`.pickRestart({
  A: "d3", B: "bb3", C: "f3", D: "c3", E: "d4!4", F: "bb3!4", G: "f3!4", H: "c3!4", I: "d4 a3 d4 a3 d4 a3 d4 a3",
  J: "d4 bb3 d4 bb3 d4 bb3 d4 e4", K: "f4 c4 f4 c4 f4 c4 f4 c4", L: "g4 c4 g4 f4 e4 c4 e4 c4", M: "f3/2", N: "g3",
  O: "c4", P: "a3", Q: "~ a3@2 a3@2 a3@2 a3", R: "~ bb3@2 bb3@2 c4@2 bb3", S: "~ g3@2 g3@2 g3@2 g3",
  T: "a3 bb3 a3 f3 a3 bb3 a3 f3 a3 bb3 a3 f3 a3 bb3 a3 f3",
  U: "bb3 c4 bb3 f3 bb3 c4 bb3 f3 bb3 c4 bb3 f3 bb3 c4 bb3 f3", V: "f3 g3 f3 c3 f3 g3 f3 c3 e3 f3 e3 c3 e3 f3 e3 c3",
  W: "f3 g3 f3 c3 f3 g3 f3 c3 f3 g3 f3 c3 f3 g3 f3 c3", X: "d4 a3 d4 a3 d4 a3 d4 a3 d4 a3 d4 a3 d4 a3 d4 a3",
  Y: "bb3 d4 bb3 d4 bb3 d4 bb3 d4 bb3 d4 bb3 d4 bb3 d4 bb3 d4", Z: "a3 c4 a3 c4 a3 c4 a3 c4 a3 c4 a3 c4 a3 c4 a3 c4",
  AA: "g3 c4 g3 c4 g3 c4 g3 c4 g3 c4 g3 c4 g3 c4 g3 c4", AB: "b3 d4 b3 d4 b3 d4 b3 d4 b3 d4 b3 d4 b3 d4 b3 d4",
  AC: "c4 e4 c4 e4 c4 e4 c4 e4 bb3 e4 bb3 e4 bb3 e4 bb3 e4",
})).s("gm_viola").gain(0.4)

// other · cello · "Violoncello"
const cello = note(`<
  A B C D A B C D A B C D A B C D A B C D A B C D E@2 F@2 G H I@3 J K L M N O P Q R O P Q R O P Q R O P Q R S@2 T U S@2
  T@2 G H ~ V@2 W X V@2 W X V@2 W X V Y W X V Y@2 Z V Y@2 Z AA@2 J
>`.pickRestart({
  A: "d3!8", B: "bb2!7 c3", C: "f2!6 g2 f2", D: "c2!8", E: "bb2/2", F: "a2/2", G: "e3 c3 e3 c3 e3 c3 g3 a3", H: "bb3",
  I: "f3/3", J: "c3", K: "d3 f3 a3 f3 d3 f3 a3 f3", L: "bb2 f3 bb3 f3 bb2 f3 bb3 f3", M: "c3 f3 a3 f3 c3 f3 a3 f3",
  N: "c3 e3 g3 e3 c3 e3 g3 e3", O: "d3 a2 d3 a2 d3 a2 d3 a2", P: "bb2 f2 bb2 f2 bb2 f2 bb2 f2",
  Q: "a2 f2 a2 f2 a2 f2 a2 f2", R: "g2 f2 g2 f2 e2 c2 e2 c2", S: "f2!2 bb2 f3 bb3 f3 bb2 f2!3 bb2 f3 bb3 f3 bb2 f2",
  T: "f2 a2 c3 f3 a3 f3 c3 a2 f2 a2 c3 f3 a3 f3 c3 a2", U: "f2 c3 e3 c3 f2 c3 e3 c3 f2 c3 e3 c3 f2 c3 e3 c3",
  V: "f3 d3 f3 d3 f3 d3 f3 d3 f3 d3 f3 d3 f3 d3 f3 d3", W: "f3 c3 f3 c3 f3 c3 f3 c3 f3 c3 f3 c3 f3 c3 f3 c3",
  X: "g3 c4 g3 c4 g3 c4 g3 c4 g3 c4 g3 c4 g3 c4 g3 c4", Y: "f3 d3 f3 e3 f3 d3 f3 d3 f3 d3 f3 d3 f3 d3 f3 d3",
  Z: "g3 c3 g3 c3 g3 c3 g3 c3 g3 c3 g3 c3 g3 c3 g3 c3", AA: "d3",
})).s("gm_cello").gain(0.4)

stack(violin, viola, cello)