Strudelify

la vie en rose

James Elliott

KeyG majorTempo76 bpm
0:00/0:00
// la vie en rose — James Elliott
// 76 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5482671; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 36 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(76/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 · cello · "Violoncello"
const cello = note("<A@3 B C D E F A@3 G@2 A H I A@3 B J K L F A@3 G@2 A H I A@2 M N>".pickRestart({
  A: "~ b3!3", B: "c4 f#4", C: "~ a3!3", D: "~ f#3!3", E: "e4 ~", F: "e4 a4", G: "c4", H: "e4", I: "g4 a4", J: "~ a4!3",
  K: "~ f#4!2 e4", L: "~ e4!3", M: "c4!2", N: "b3",
})).s("gm_cello").gain(0.3)

// bass · cello · "Violoncello"
const bass = note("<A B C D E F@2 D A B G H I A J D A B C K E L@2 D A B M N I A J D A B O P>".pickRestart({
  A: "~ g2!3", B: "~ f#2!3", C: "~ d2!3", D: "c2 f#2", E: "~ e2!3", F: "~ c3!3", G: "~ d3!2 f3", H: "e3", I: "g2",
  J: "c2", K: "c3 f#2", L: "~ c2!3", M: "~ d2!2 f2", N: "e2", O: "g2 e2", P: "d2 e2 g2@2",
})).s("gm_cello").gain(0.3)

// other · cello · "Violoncello"
const cello_2 = note("<A B@2 C D E@2 F A B G H I J K F L M N O P Q R O L M S J T U T V A B W J>".pickRestart({
  A: "g3@3 g3", B: "g3 ~@3", C: "a3 d3", D: "c4@3 c4", E: "a3@3 a3", F: "a3 d4", G: "g3@3 b3", H: "c3", I: "d#3",
  J: "g3", K: "a3", L: "g3@6 f#3@2 e3@2 d3@2 b2 ~ g3 ~", M: "f#3@6 e3@2 d3@2 b2@2 g2 ~ f#3 ~",
  N: "e3@6 d3@2 b2@2 f#2@2 g2 ~ f#3 ~", O: "e3 d3", P: "a3@6 g3@2 f#3@2 e3@2 c3 ~ g3 ~",
  Q: "f#3@6 e3@2 d3@2 c3@2 a2 ~ f#3 ~", R: "e3@6 d3@2 c3@2 g#2@2 a2 ~ f#3 ~", S: "e3@6 d3@2 b2@2 f#2@2 g2 ~ g3 ~",
  T: "a3 a3@2 g3 a3 a3@2 g3", U: "a3 a3@2 g3 d3@4", V: "a3 a3@2 g3 b3@2 a3@2", W: "c4 a3",
})).s("gm_cello").gain(0.4)

stack(cello, bass, cello_2)