Strudelify

Pomme anxiété

Pomme

KeyA majorTempo125 bpm
0:00/0:00
// Pomme anxiété — Pomme
// 125 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/6045385; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 113 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/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 · alto sax · "Alt Saxophon"
const alto_sax = note(`<
  A B C D@2 B C E@8 ~ F G@2 ~ F G@2 ~ H I J H K J ~ A B C D@2 B C E@8 ~ F G@2 ~ F G@2 ~ H I J H K J ~ A B C D@2 B C E@8
  ~ F G@2 ~ F G@2 ~ H I J H L J ~ A B C D@2 B C E@8 ~@5
>`.pickRestart({
  A: "e4", B: "f4", C: "e4@3 e4", D: "[d4@6 f4 e4@7 e4@2]/2",
  E: "[d4@6 c4 e4@7 e4 b3@7 c4 d4@7 d4 e4@7 b3 b3@7 b3 c4@7 d4 e4@7 b3!2]/8", F: "a3 b3 c4 d4 e4@2 a4@2",
  G: "[g4@3 f4 e4@2 b3 b3@3 ~@6]/2", H: "b3 c4 d4 b3 c4 d4 e4@2", I: "f4 e4@11 e4@4", J: "d4 ~", K: "f4 e4@11 g4@4",
  L: "f4 e4@11 a4@4",
})).s("gm_alto_sax").gain(0.4)

// other · clarinet · "B Klarinette"
const clarinet = note(`<
  A B C D@2 B C E@8 ~ F G@2 ~ F G@2 ~ H I J H K J ~ A B C D@2 B C E@8 ~ F G@2 ~ F G@2 ~ H I J H K J ~ A B C D@2 B C E@8
  ~ F G@2 ~ F G@2 ~ H I J H L J ~ A B C D@2 B C E@8 ~@5
>`.pickRestart({
  A: "e5", B: "f5", C: "e5@3 e5", D: "[d5@6 f5 e5@7 e5@2]/2",
  E: "[d5@6 c5 e5@7 e5 b4@7 c5 d5@7 d5 e5@7 b4 b4@7 b4 c5@7 d5 e5@7 b4!2]/8", F: "a4 b4 c5 d5 e5@2 a5@2",
  G: "[g5@3 f5 e5@2 b4 b4@3 ~@6]/2", H: "b4 c5 d5 b4 c5 d5 e5@2", I: "f5 e5@11 e5@4", J: "d5 ~", K: "f5 e5@11 g5@4",
  L: "f5 e5@11 a5@4",
})).s("gm_clarinet").gain(0.45)

// other · orchestral harp · "Harfe"
const orchestral_harp = note(`<
  ~@31 A B A C A B A C A D E F D E F A@2 G C H A G C H D E C D E C@2 A B A C A B A C A D E F D E F A@2 G C H A G C H D E
  C D E C@2 I J I K I J I K I L M K L M K I A@3 ~
>`.pickRestart({
  A: "a3 c4 e4 a3 c4 e4 a3 c4", B: "a3 c4 f4 a3 c4 f4 a3 c4", C: "g3 b3 d4 g3 b3 d4 g3 b3",
  D: "e3 g3 b3 e3 g3 b3 e3 g3", E: "f3 a3 c4 f3 a3 c4 f3 a3", F: "g3 b3 d4 g3 b3 e4 g3 b3",
  G: "f4 a3 c4 f4 a3 c4 f4 c4", H: "f3 a3 d4 f3 a3 d4 f3 a3", I: "[a3,c4,e4]!4", J: "[a3,c4,f4]!4", K: "[g3,b3,d4]!4",
  L: "[e3,g3,b3]!4", M: "[f3,a3,c4]!4",
})).s("gm_orchestral_harp").gain(0.3)

// other · electric guitar clean · "Elektrische Gitarre"
const electric_guitar_clean = note(`<
  ~@62 A B A C A B A C A D E F D E F A@2 G C H A G C H D E C D E C@2 I J I K I J I K I L M K L M K I A@2 ~@2
>`.pickRestart({
  A: "a3 c4 e4 a3 c4 e4 a3 c4", B: "a3 c4 f4 a3 c4 f4 a3 c4", C: "g3 b3 d4 g3 b3 d4 g3 b3",
  D: "e3 g3 b3 e3 g3 b3 e3 g3", E: "f3 a3 c4 f3 a3 c4 f3 a3", F: "g3 b3 d4 g3 b3 e4 g3 b3",
  G: "f4 a3 c4 f4 a3 c4 f4 c4", H: "f3 a3 d4 f3 a3 d4 f3 a3", I: "[a3,c4,e4]!4", J: "[a3,c4,f4]!4", K: "[g3,b3,d4]!4",
  L: "[e3,g3,b3]!4", M: "[f3,a3,c4]!4",
})).s("gm_electric_guitar_clean").gain(0.2)

// other · violin · "Violine"
const violin = note(`<
  A B A C A B A C A D E C D E F A@2 G C@2 A G C@2 D E C D E H@2 A B A C A B A C A D E C D E F A@2 G C@2 A G C@2 D E C D
  E H@2 A B A C A B A C A D E C D E F A@2 G C@2 A G C@2 D E C D E H@2 A B A C A B A C A D E C D E F A ~@4
>`.pickRestart({
  A: "e5", B: "f5", C: "d5", D: "b4", E: "c5", F: "d5 e5", G: "f5@3 f5@5", H: "d5/2",
})).s("gm_violin").gain(0.2)

// drums · kick
const kick = s("bd").struct("<[x ~@2 x ~@4]!93 ~@20>").gain(0.2)

// drums · rim
const rim = s("rim").struct("<[~@3 x] [~ x ~ x]!92 ~@20>").gain(0.25)

stack(alto_sax, clarinet, orchestral_harp, electric_guitar_clean, violin, kick, rim)