Strudelify

du bes die stadt

Black Fooss

KeyC majorTempo88 bpm
0:00/0:00
// du bes die stadt — Bläck Fööss
// 88 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5561772; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 54 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(88/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · accordion · "Akkordeon"
const accordion = note(`<
  ~@4 A B A C D E F G ~@7 H A B A C D E F G ~@7 H A B A C D E F G I J K L M N O P O P
>`.pickRestart({
  A: "[c3,e3,g3,c4]", B: "[g2,g3,b3,d4]@3 [g2,f3,g3,b3] [c3,e3,g3,c4]@4", C: "[d3,f#3,c4,d4] [g2,g3,b3,d4]",
  D: "[f2,f3,a3,c4] [c3,e3,g3,c4]", E: "[g2,g3,b3,d4] [a2,e3,a3,c4]", F: "[d3,f3,a3,d4] [c3,e3,g3,c4]",
  G: "[g2,g3,b3,d4]@3 [g2,f3,g3,b3] [c3,e3,g3,c4]@3 ~", H: "~ [g2,f3,g3,b3]",
  I: "f2 [f3,a3,c4,f4] [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@4", J: "[c3,c4,e4,g4]@3 [c3,a#3,c4,e4] [f3,a3,c4,f4]@4",
  K: "[f3,a3,c4,f4]", L: "[g3,b3,f4,g4] [c3,c4,e4,g4]", M: "[a#2,a#3,d4,f4] [f3,a3,c4,f4]",
  N: "[c3,c4,e4,g4] [d3,a3,d4,f4]", O: "[g3,a#3,d4,g4] [f3,a3,c4,f4]",
  P: "[c3,c4,e4,g4]@3 [c3,a#3,c4,e4] [f3,a3,c4,f4]@3 ~", // C C7 F
})).s("gm_accordion").gain(0.09)

// chords · accordion · "Akkordeon" · soft notes
const accordion_soft = note("<~@12 A B C D A B C E ~@8 A B C D A B C E ~@18>".pickRestart({
  A: "[g2,g3,b3,d4] [d3,f#3,a3,d4]", B: "[e2,e3,g3,b3]!2", C: "[c3,e3,g3,c4] [d3,f#3,c4,d4]",
  D: "[g2,g3,b3,d4] [d3,f#3,c4,d4]", E: "[g2,g3,b3,d4] ~",
})).s("gm_accordion").gain(0.05)

// other · glockenspiel
const glockenspiel = note(`<
  ~@4 A B C D E F G H I J K L I J M N A B C D E F G O I J K L I J M P A B C D E F G Q R S T U V W X Y Z AA
>`.pickRestart({
  A: "c6@6 d6 e6 f6@2 e6@2 d6@2 c6@2", B: "d6@3 g6 e6@4", C: "c7 b6 a6 g6 a6@2 g6@2", D: "f#6@2 d6@2 g6@3 g#6",
  E: "a5@6 b5 c6 c6@2 c6@2 b5@2 c6@2", F: "g6@3 g#6 a6@4", G: "f6@6 e6 d6 e6@2 c6@2 b5@2 c6@2", H: "d6@2 g6 c6 c6@3 ~",
  I: "~@4 g6 a6 g6@2 ~@4 f#6 g6 f#6@2", J: "~@4 e6 f#6 e6@2 d6@8", K: "~@4 c6 d6 c6@2 d6@4 c6@4", L: "b5 a5",
  M: "~@4 c6 d6 c6@2 d6@4 d6@4", N: "g6 d7 e7 f#7", O: "d6@3 c6 c6@3 ~", P: "g6 ~", Q: "d6@3 c6 c6@2 e6@2",
  R: "f6@6 g6 a6 a#6@2 a6@2 g6@2 f6@2", S: "g6@3 c7 a6@4", T: "f7 e7 d7 c7 d7@2 c7@2", U: "b6@2 g6@2 c7@3 c#7",
  V: "d6@6 e6 f6 f6@2 f6@2 e6@2 f6@2", W: "c7@3 c#7 d7@4", X: "a#6@6 a6 g6 a6@2 f6@2 e6@2 f6@2", Y: "g6@3 f6 f6@3 ~",
  Z: "g7@3 g7!3 g7@3 g7@3 a7@3 a7!3 a7@3 a7@3", AA: "[g6,g7]@3 [g6,g7]!3 [g6,g7]@3 [f6,f7]@3 [f6,f7]@9 ~@3",
})).s("gm_glockenspiel").gain(0.6)

// other · reed organ · "Pipe Organ"
const reed_organ = note(`<
  ~@4 A B C D E F G H I J K L I M K N A B C D E F G O ~@7 N A B C D E F G P Q R S T U V W X W X
>`.pickRestart({
  A: "c5@6 d5 e5 d5@2 c5@2 g4@2 e4@2", B: "b3@3 b3 c4@3 g4", C: "g4!2 e4 c4 c4@2 e4@2", D: "d4@3 c4 b3@4",
  E: "f4@3 g4 e4 c4 d4 e4", F: "g4@3 d4 c4@4", G: "f4@6 g4 a4 g4@2 c5@2 e4@2 g4@2", H: "b3@3 b4 c5@3 ~", I: "g4 f#4",
  J: "e4 d4", K: "c4@2 d4 c4", L: "b3@3 d4 a3@3 ~", M: "e4@4 d4@3 e4", N: "g3!2 a3 b3", O: "b3@3 g4 c5@3 ~",
  P: "b3@3 g4 c5@2 e4@2", Q: "f5@6 g5 a5 g5@2 f5@2 c5@2 a4@2", R: "e4@3 e4 f4@3 c5", S: "c5!2 a4 f4 f4@2 a4@2",
  T: "g4@3 f4 e4@4", U: "a#4@3 c5 a4 f4 g4 a4", V: "c5@3 g4 f4@4", W: "a#4@6 c5 d5 c5@2 f5@2 a4@2 c5@2",
  X: "e4@3 c5 f5@3 ~",
})).s("gm_reed_organ").gain(0.17)

// other · reed organ · "Pipe Organ" · soft notes
const reed_organ_soft = note("<~@28 A B C D A B C ~@19>".pickRestart({
  A: "g4 f#4", B: "e4 d4", C: "c4@2 d4 c4", D: "b3@3 d4 a3@3 ~",
})).s("gm_reed_organ").gain(0.08)

// drums · rim
const rim = s("rim").struct(`<
  A B A B A B A B A B A B C D C D C D C D A B A B A B A B C D C D C D C D A B A B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "x!9 ~@3 x ~@3 x ~@3 x ~@3 x ~@11 x ~@3 x ~@3 x ~@3", B: "x!9 ~@3 x ~@3 x ~@3 x ~@3 x ~@11 x ~@11",
  C: "x ~@2 x!2 ~@2 x", D: "x ~@2 x!2 ~ x ~",
})).gain(0.39)

stack(accordion, accordion_soft, glockenspiel, reed_organ, reed_organ_soft, rim)

More by Black Fooss