Strudelify

Je Te Veux

Erik Satie

KeyC majorTempo140 bpm
0:00/0:00
// Je Te Veux — Erik Satie
// 140 bpm, 3/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5962769; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 282 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(140/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/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 · cello · "Violoncello"
const cello = note(`<
  A B C D@2 B E F G F H I@2 J@2 K@2 L@2 M N B E F G F O G P Q R S T U V W X Y@2 Z@2 AA@2 AB AC Y@2 AD@2 AE@2 F AC Y@2
  AF@2 AA@2 AG AH AI@2 AJ@2 AK B AL@2 B E F G F H I@2 J@2 K@2 L@2 M N B E F G F O G P Q R S T U V AM AN AO AP AQ AR AS@2
  AT@2 AO AP AQ AR AU AV O AW AO AP AQ AR AS@2 AT@2 AO AP AQ AR AU AV O AX AY@2 AZ@2 BA BB BC@2 AY@2 AZ@2 BD BE BF BG
  AY@2 AZ@2 BA BB BC@2 AY@2 AZ@2 BH BI BJ AN AO AP AQ AR AS@2 AT@2 AO AP AQ AR AU AV O BK B E F G F H I@2 J@2 K@2 L@2 M
  N B E F G F O G P Q R S T U V W X Y@2 Z@2 AA@2 AB AC Y@2 AD@2 AE@2 F AC Y@2 AF@2 AA@2 AG AH AI@2 AJ@2 AK B AL@2 B E F
  G F H I@2 J@2 K@2 L@2 M N B E F G F O G P Q R S T U V BL@2 BM BN BF BO@2
>`.pickRestart({
  A: "~@5 e4@5 ~ g4@5", B: "d4", C: "a4@11 e4@5", D: "[g4@21 e3@5 ~ g3@5]/2", E: "c4@11 e4@5", F: "b3", G: "a3",
  H: "a3@11 e3@5", I: "[b3@21 d3@5 ~ e3@5]/2", J: "[g3@21 d3@5 ~ e3@5]/2", K: "[a3@21 d3@5 ~ e3@5]/2",
  L: "[g3@11 f3@10 g3@11]/2", M: "e3", N: "d3@5 e3@5 ~ g3@5", O: "a3@11 g3@5", P: "d3@5 f3@5 ~ g3@5",
  Q: "a3@5 b3@5 ~ c4@5", R: "d4@5 e4@5 ~ f4@5", S: "g4@5 e4@5 ~ c4@5", T: "a3@5 c4@5 ~ e4@5", U: "g4@11 f4@5",
  V: "e4@5 d4@11", W: "c4@5 d4@5 ~ e4@5", X: "f#4@5 b4@5 ~ c5@5", Y: "[e4@21 e4@5 ~ f#4@5]/2",
  Z: "[d4@21 f#4@5 ~ g4@5]/2", AA: "[d4@11 d4@10 d4@11]/2", AB: "e4", AC: "d4@5 b3@5 ~ c4@5",
  AD: "[d4@21 b3@5 ~ g3@5]/2", AE: "[f#3@11 f#3@10 f#3@11]/2", AF: "[d4@21 f#3@5 ~ g3@5]/2", AG: "f#4",
  AH: "e4@5 d4@5 ~ b3@5", AI: "[e3@21 e3@5 ~ f#3@5]/2", AJ: "[d3@21 g3@5 ~ f#3@5]/2", AK: "e3@5 g3@5 ~ c4@5",
  AL: "[g4@19 ~@2 e3@5 ~ g3@5]/2", AM: "c4", AN: "c3@3 d3@2 e3@3 f3@3 g3@2 a3@3",
  AO: "[a#3,d4]@9 [a#3,d4] ~ [a#3,d4]@5, e3@5 ~@11", AP: "~@5 g3@9 ~ e3",
  AQ: "[a3,c4]@9 [a3,c4] ~ [a3,c4]@5, d3@5 ~@11", AR: "~@5 f3@9 ~ d3", AS: "[a#3@11 a#3@10 a#3@9 ~ a#3]/2",
  AT: "[a3@9 g3 ~ f3@9 d3 c3@5 ~ e3@2 g3@3]/2", AU: "a#3@5 a3@5 ~ a#3@5", AV: "a3@5 g3@5 ~ a#3@5",
  AW: "f3@5 e3@3 f3@3 g3@2 a3@3", AX: "f3@9 f3 ~ f3@5", AY: "[f3@11 g3@10 a3@11]/2", AZ: "[a#3@11 c4@10 d4@11]/2",
  BA: "f4@5 d#4@5 ~ d4@5", BB: "c4@5 g3@5 ~ a3@5", BC: "[f4@27 ~@5]/2", BD: "a#4@11 a4@5", BE: "g4@11 a4@5", BF: "g4",
  BG: "f4", BH: "g3@11 a#3@5", BI: "a3@11 d4@5", BJ: "a#3", BK: "f3@5 e3@5 ~ g3@5", BL: "[c4@21 d4@5 ~ e4@5]/2",
  BM: "b3@11 g3@5", BN: "d4@11 c4@5", BO: "[c4@21 ~@11]/2",
})).s("gm_cello").gain(0.3)

// other · cello · "Violoncello"
const cello_2 = note(`<
  ~ A B C@2 D E D E F G H I J I J I K L M N O G F G F P Q R S T U V W X Y Z AA AB AC AB AD AE AC AB AA AB AC AB AF AG AH
  AI AA AB AC AB AD AE AC AB AA AB AC AB AJ AK AL AM F G F G F G H I J I J I K L M N O G F G F P Q R S T U V W X AN@2 AO
  AP AQ AP AR AS AT AP AO AP AQ AP AU AV AW R AO AP AQ AP AR AS AT AP AO AP AQ AP AU AV AW AX AY AZ AY BA BB BC BD BE AY
  AZ AY BA BB BF BG BE AY AZ AY BA BB BC BD BE AY AZ AY BA BH BI BJ BK AO AP AQ AP AR AS AT AP AO AP AQ AP AU AV AW R F
  G F G F G H I J I J I K L M N O G F G F P Q R S T U V W X Y Z AA AB AC AB AD AE AC AB AA AB AC AB AF AG AH AI AA AB AC
  AB AD AE AC AB AA AB AC AB AJ AK AL AM F G F G F G H I J I J I K L M N O G F G F P Q R S T U V BL BM F AP BN BE BO BP
  BQ
>`.pickRestart({
  A: "[g2,f3]", B: "[g2,e3,a3]", C: "[[g2,f3,b3]@21 ~@11]/2", D: "c2@5 e3@3 ~@3 e3@3 ~@2", E: "g2@5 e3@3 ~@3 e3@3 ~@2",
  F: "c2@5 e3@5 ~ e3@5", G: "g2@5 e3@5 ~ e3@5", H: "d2@5 f3@5 ~ f3@5", I: "g2@5 ~@11", J: "d2@5 b2@5 ~ b2@5",
  K: "d2@5 b2@11", L: "g2@11 b2@5", M: "c2@5 g3@5 ~ g3@5", N: "b2@5 ~@11", O: "a2@5 e3@5 ~ e3@5", P: "g2@5 e3@5 ~ g2@5",
  Q: "d2@5 c3@5 ~ c3@5", R: "f2@5 ~@11", S: "g2@5 f3@5 ~ e3@5", T: "f2@5 g3@5 ~ a3@5", U: "e2@5 g3@5 ~ a3@5",
  V: "f#2@5 f#3@5 ~ a3@5", W: "g2@5 c4@5 ~ a2@5", X: "f2@5 g2@5 ~ f3@5", Y: "c2", Z: "d2@5 ~@6 e2@5",
  AA: "a2@5 f#3@5 ~ f#3@5", AB: "d2@5 ~@11", AC: "g2@5 g3@5 ~ g3@5", AD: "a2@5 [f#2,c3]@11", AE: "d2@5 [f#2,c3]@11",
  AF: "f#2@5 ~@11", AG: "c#3@5 ~@11", AH: "d2@5 d3@5 ~ d3@5", AI: "c2@5 e3@5 ~ b2@5", AJ: "[a2,g3]@5 ~@11",
  AK: "g#2@5 [g#3,c4]@11", AL: "g2@5 [a3,c4]@5 ~ [g3,b3]@5", AM: "[g2,g3]@3 ~@13", AN: "[c2@21 ~@11]/2",
  AO: "[g2,g3]@5 a#3@11", AP: "c2@5 ~@11", AQ: "f2@5 [a3,c4]@11", AR: "f#3@5 c#4@11", AS: "g3@5 c4@11",
  AT: "f3@5 a3@11", AU: "c#2@5 c#3@5 ~ c#3@5", AV: "c3@5 d3@5 ~ d3@5", AW: "c3@5 a#2@11", AX: "f2@9 f2 ~ f2@5",
  AY: "a#2", AZ: "f2@5 ~@6 a#3@5", BA: "f2@5 a#2@5 ~ a#3@5", BB: "c3", BC: "f2", BD: "c3@5 a3@5 ~ a3@5",
  BE: "f2@5 a3@5 ~ a3@5", BF: "f2@5 a#3@5 ~@6", BG: "c3@5 a#3@5 ~ a#3@5", BH: "d#2@5 a#3@5 ~@6", BI: "f2@5 a3@5 ~@6",
  BJ: "a#2@5 d3@5 ~ d3@5", BK: "a#2@11 a2@5", BL: "g2@5 ~@6 a2@5", BM: "g2@5 a2@5 ~ f3@5", BN: "e2@5 e3@5 ~@6",
  BO: "d2@5 b3@5 ~ b3@5", BP: "[c2,c3]@5 [g2,e3]@5 ~ [g2,e3]@5", BQ: "[c2,c3]@5 ~@11",
})).s("gm_cello").gain(0.3)

stack(cello, cello_2)

More by Erik Satie