Strudelify

Bad Ideas

Alle Farben

KeyG majorTempo120 bpm
0:00/0:00
// Bad Ideas — Alle Farben
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4901798; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 69 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/4)

// 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.

// chords · piano · "Flöte"
const piano = note(`<
  A B A B C@2 D@2 E F G H I J K L E M N O P Q R@2 S Q T@2 U V U V W X W X C@2 D@2 E F G H I J K L E M N O P Q R@2 S Q
  R@2 U V U Y W X W Z AA
>`.pickRestart({
  A: "e4@6 ~ [g4,b4] c5@2 b4@2 a4@2 g4@2, e2 c2, ~@3 e4 ~@4", B: "~ d4 d5 d4 a4 b4 a4 g4, g2 d2",
  C: "[e4@3 [e4,g4,b4]@3 [e4,g4,b4]@2 [e4,g4,b4]@8 e4@3 [e4,g4,b4]@3 [e4,g4,b4]@2 [c3,e4,g4,c5]@4 [d3,d4,f#4,a4,a5]@4, e5@27 ~@5, [e2,e3]@15 ~ [e2,e3]@8 ~@8]/2", // Em C D E
  D: "[d4@3 [d4,g4,b4]@3 [d4,g4,b4]@2 [d4,g4,b4]@8 d4@3 [d4,g4,b4]@3 [d4,g4,b4]@2 [e3,e4,g4,b4,g5]@4 [b2,d#4,f#4,a4,b4,a5]@4, [g2,g3]@15 ~ [g2,g3]@8 ~@8, g5@8 d5@15 ~@9]/2", // G Em B7 G
  E: "[b3,e4,g4,b4,b5] [g3,d#4,f#4,b4,g5] [e4,g4,b4,e5]@2, ~@2 e3 ~", // Em B Em
  F: "e4@3 [e4,g4,b4]@3 [e4,g4,b4]@2 [c3,e4,g4,c5]@4 [d3,d4,f#4,a4,a5]@4, e5@11 ~@5, [e2,e3] ~", // Em C D E
  G: "[d4,g4,b4,g5] [d4,g4,b4,d5] [d4,g4,b4]@2, [g2,g3]@15 ~", // G
  H: "d4@3 [d4,g4,b4]@3 [d4,g4,b4]@2 [c3,e4,g4,b4,g5]@4 [d#3,d#4,f#4,a4,f#5]@4, [g2,g3,g5] ~", // G Cmaj7 D#dim G
  I: "[e4,e5]@3 [e4,g4,b4,g5]@3 [e4,g4,b4,d6]@2 [e4,g4,b4,b5]@8, [e2,e3]@15 ~", // E Em Em7 Em E
  J: "e4@2 ~@2 b5@2 b5 ~@3 b5@2 a5@2 g5@2, [e2,e3]@15 ~, ~@2 b5@2 ~@3 c6@3 ~@6, ~@3 [e4,g4,b4]@3 [e4,g4,b4]@2 [e4,g4,c5]@4 [d4,f#4,a4]@4", // E Em C D
  K: "[d4,d5]@3 ~ g5 ~ [d4,g4,b4]@2 [d4,g4,b4,b5]@8, [g2,g3]@15 ~, ~@3 [d4,g4,b4]@2 d6@3 ~@8", // D G
  L: "d4@2 ~@2 b5@2 b5 ~@3 b5@2 a5@2 g5@2, [g2,g3]@15 ~, ~@2 b5@2 ~@3 c6@3 ~@6, ~@3 [d4,g4,b4]@3 [d4,g4,b4]@2 [e4,g4,b4]@4 [d#4,f#4,a4,b4]@4", // G Em B7
  M: "e4@2 ~@2 b5@2 b5 ~@3 b5@2 a5@2 g5@2, [e2,e3]@2 [c3,e4,g4,c5] [d3,d4,f#4,a4], ~@2 b5@2 ~@3 c6@3 ~@6, ~@3 [e4,g4,b4]@3 [e4,g4,b4]@2 ~@8", // E C D Em
  N: "[d4,g4,b4,b5]@2 [d4,g4,b4,g5]@2 d5 e5 d5@2, [g2,g3]@15 ~, ~ [d4,g4,b4]", // G
  O: "d4@3 [d4,g4,b4]@3 [d4,g4,b4,d5]@2 [b2,e4,g4,b4,e5]@4 [d#3,d#4,f#4,a4,f#5]@4, [g2,g3] ~, d5@3 ~@5", // G Em D#dim G
  P: "[e4,g4,b4,e5]@2 [e4,g4,b4,d5,g5]@2 [c4,e4,a4,a5]@2 [a4,a5] [g4,g5], [e3,b3] c3, ~@3 [c4,e4]", // Em Em7 Am A G E5 C
  Q: "~@2 [d4,g4,b4,d6]@2 c6 b5 a5 g5, [g2,g3] [d3,d4,f#4,a4,d5]", // G D
  R: "[~@2 g4!2 g4@2 g4 ~@3 g4@2 g4@2 g4 ~@3 g4@2 g4@2 d5 ~@3 b4@2 a4@2 g4@2, [e2,e3,g5]@7 g4@3 ~@5 g4@3 ~@5 c5@3 ~@6, ~ [c3,c4,e5] [g2,g3,b4] [d3,d4,d5]]/2", // Em C G D
  S: "[e4,g4,b4,e5]@2 [e4,g4,b4,d5,g5]@2 [c4,e4,a4,a5]@2 [a4,a5] [g4,g5], ~@3 [c4,e4]", // Em Em7 Am A G C
  T: "[~@2 g4!2 g4@2 g4 ~@3 g4@2 g4@2 g4 ~@3 g4@2 g4@2 d5 ~@3 b4@2 a4@2 g4@2, [e2,e3,e5]@7 g4@3 ~@5 g4@3 ~@5 c5@3 ~@6, ~ [c3,c4,e5] [g2,g3,g5] [d3,d4,a5]]/2", // E C G D5
  U: "e2@4 ~@3 [g4,b4] c5@2 b4@2 a4@2 g4@2, e4@3 e4 ~@4, ~ e2 c3!2", V: "g2@2 [g2,d5]@2 a4 b4 a4 g4, ~@2 d3!2",
  W: "e2@4 ~@3 [g4,b4] [c5,c6]@2 [b4,b5]@2 [a4,a5]@2 [g4,g5]@2, [e4,e5]@3 [e4,b5] ~@4, ~ e2 c3!2", // G C B A G E E5
  X: "g2@2 [g2,d5,d6]@2 [a4,a5] [b4,b5] [a4,a5] [g4,g5], ~@2 d3!2", // G5 A B A G
  Y: "g2@2 [g2,d5]@2 a4 b4 [a4,g5] [g4,f#5], ~@2 d3!2", // G5 A7 Gmaj7
  Z: "g2@2 [g2,d5,d6]@2 [a4,a5] [b4,b5] [a4,c6] [g4,d6], ~@2 d3!2", AA: "e6@15 ~, e2 ~@3",
})).s("gm_piano").gain(0.41)

// other · violin
const violin = note("<~@5 A B@2 C D E F G@2 E H I D J ~@25 G@2 E H I D J ~@18>".pickRestart({
  A: "e4@2 e4 f#4", B: "[b4@2 b4@4 g4 f#4]/2", C: "e4 g4 g4@2", D: "g4@2 e4 f#4", E: "b4!2",
  F: "g4@3 g4@3 g4@2 g4@4 a4@4", G: "[g4@6 e4 f#4]/2", H: "g4@2 g4 f#4", I: "e4 f#4 g4@2", J: "b4 g4",
})).s("gm_violin").gain(0.2)

// other · pizzicato strings
const pizzicato_strings = note(`<
  A B C D ~@16 E F E F G H G H G I G I G I G J ~@16 E F E F G H G H G I G I G I G I ~
>`.pickRestart({
  A: "e4 g4", B: "b4 a4", C: "b4 g4", D: "b4 f#4", E: "b4!2 c5!2", F: "g4!2 a4!2", G: "e4@3 b4 c5 b4 a4 g4",
  H: "d4@2 d5@2 a4 b4 a4 g4", I: "~@2 d5@2 a4 b4 a4 g4", J: "~@2 d5@2 a4 g4 f#4 e4",
})).s("gm_pizzicato_strings").gain(0.3)

// other · clarinet · "B Klarinette"
const clarinet = note(`<
  ~@4 A@2 B@2 C D E F A@2 B@2 C D E G H I J K H L J K M N M N M N O P ~@8 A@2 B@2 C D E G H I J K H L J K M N M N M N O
  P ~
>`.pickRestart({
  A: "[b3@7 d4]/2", B: "[d4@6 e4 d#4]/2", C: "e4", D: "~@2 g4@2 g4@2 g4 g4@3 g4@2 f#4@2 e4@2",
  E: "g4@2 d4@2 d4 e4 d4@2", F: "d4@3 d4@3 d4@2 c4@4 b3@4", G: "d4@3 d4@3 d4@2 e4@4 d#4@4", H: "e5@2 d5@2 a4@2 a4 g4",
  I: "~@2 d5@2 c5 b4 a4 g4", J: "g4 c4", K: "d4 f#4", L: "~@2 d5@2 c5 g4 f#4 e4", M: "~ e4 ~ e4 ~ g4 ~ g4",
  N: "~ g4 ~ g4 ~ a4 ~ a4", O: "g4 b4", P: "b4 d5",
})).s("gm_clarinet").gain(0.3)

// other · cello
const cello = note(`<
  ~@5 A B@2 C D E F G@2 B@2 C D H I J K J K J K J L ~@8 M@2 N@2 C D E F G@2 B@2 C D H I J K J K J K J K ~@9
>`.pickRestart({
  A: "e3@2 c3 b2", B: "[g2@6 c3 b2]/2", C: "g3 f#3 e3@2", D: "g2@2 c3 d3", E: "g2 b2 d3@2", F: "b2@2 c3 d#3",
  G: "[e3@6 c3 b2]/2", H: "d3 b2 g2@2", I: "g2!2 b2!2", J: "b2 c3", K: "b2 a2", L: "b2 ~", M: "[b2@6 c3 b2]/2",
  N: "[d3@6 c3 b2]/2",
})).s("gm_cello").gain(0.23)

// other · pizzicato strings
const pizzicato_strings_2 = note("<A B A B ~@24 C D C D C D C D ~@24 C D C D C D C D E>".pickRestart({
  A: "e3 c3", B: "g2 d3", C: "e2!2 g2!2", D: "g2!2 f#2!2", E: "e2 ~@3",
})).s("gm_pizzicato_strings").gain(0.22)

stack(piano, violin, pizzicato_strings, clarinet, cello, pizzicato_strings_2)