Strudelify
Ich brauch ein bisschen Gluck cover art

1994 · Ich brauch ein bisschen Glück

Ich brauch ein bisschen Gluck

Borg Andy

KeyC majorTempo128 bpm
0:00/0:00
// Ich brauch ein bisschen Gluck — Borg Andy
// 128 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 104 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(128/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.

// bass · synth bass 2 · "SYN BASS 2"
const bass = note(`<
  A B C D E F C D G H I J K L M N I J K L M N O P Q N R S M T C D E F C D G H U V G H C D G W I J K L M N O P Q N R S M
  T C D E F C D G H U V G H C D G X O P Q N R S M T C D E F C D G H U V G H C D G W C D Y ~
>`.pickRestart({
  A: "c2", B: "c2 ~@15", C: "g1@3 ~ g1@2 ~ g1!2 ~ d1@2 e1@2 d1@2", D: "g1@3 ~ g1@2 ~ g1!2 ~ g1@2 a1@2 g1@2",
  E: "c2@3 ~ c2@2 ~ c2 c2@2 g1 ~ a1@2 g1@2", F: "c2@3 ~ c2@2 ~ c2 c2@2 c2@2 g1@2 a1@2",
  G: "c2@3 ~ c2@2 ~ c2 c2@2 g1@2 a1@2 g1@2", H: "c2@3 ~ c2@2 ~ c2 c2@2 c2@4 c2@2", I: "g1@5 ~ g1 ~ g1@3 ~ d1@4",
  J: "g1@5 ~ g1 ~ g1@4 e1@2 d1@2", K: "g1@5 ~ g1 ~ g1@3 ~ g1@4", L: "g1@3 f#1 f1@2 g1 a1", M: "c2@5 ~ c2 ~ c2@4 g1@4",
  N: "c2@5 ~ c2 ~ c2@4 g1@2 a1@2", O: "f2@4 ~@2 f2 ~ f2@4 c2@4", P: "f2@5 ~ f2 ~ f2@3 ~ e2@2 d2@2",
  Q: "c2@4 ~@2 c2 ~ c2@4 g1@4", R: "g1@5 ~ g1 ~ g1@4 d2@4", S: "g1@5 ~ g1 ~ g1@3 ~ a1@2 b1@2", T: "c2 ~@7",
  U: "f2@3 ~ f2@2 ~ f2 f2@2 c2@2 d2@2 c2@2", V: "f2@3 ~ f2@2 ~ f2 f2@2 f2@4 f2@2",
  W: "c2@3 ~ c2@2 ~ c2 d2@2 c2@2 b1@2 a1@2", X: "c2@3 ~ c2@2 ~ c2 d2@2 c2@2 d2@2 e2@2",
  Y: "c2@3 ~ c2@2 ~ c2 c2@2 g1@2 a1@2 c2@2",
})).s("gm_synth_bass_2").gain(0.36)

// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  A B@6 C@3 D E F G H I D E F G H I J@2 K@2 L@2 M N O@5 C@3 P Q R S T U V W D E F G H I J@2 K@2 L@2 M N O@5 C@3 P Q R S
  T U V W J@2 K@2 L@2 M N O@5 C@3 P Q R S T U V W T U V ~
>`.pickRestart({
  A: "[c3,g3,c4,e4]", // C
  B: "[~@4 g4@2 f#4@2 g4@2 a4 ~@3 [g3,b3,d4]@6 [g3,b3,d4]@3 ~@3 [g3,b3,d4] ~@3 [g3,b3,d4]@4 ~@2 f4@2 e4 ~ f4@2 g4 ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 ~@4 [g3,c4,e4] ~@3 [g3,c4,e4]@5 ~ [g3,c4,e4]@2 [g3,c4,e4] ~@3 [g3,c4,e4] ~@3 [g3,b3,d4]@5 ~ [g3,b3,d4]@2 [g3,b3,d4] ~@3 [g3,b3,d4] ~@3 [g3,b3,d4]@2]/6", // G C G
  C: "[~@2 [g3,b3,d4] ~ f4@2 e4 ~ f4@2 g4 ~@3 [g3,c4,e4]@5 ~ [g3,c4,e4]@2 [g3,c4,e4] ~@3 [c4,e4] ~@3 [g3,c4,e4]@5 ~ [g3,c4,e4]@2 e4 ~@3 [g3,c4,e4] ~@5]/3", // G C
  D: "g3 ~ g3 ~ g3@2 d3 f3 g3 ~ g3 ~ [g3,c4]@2 [g3,b3] ~", E: "g3 ~ g3 ~ g3@2 d3 ~ g3 d3 e3 g3 f3@2 d3 ~",
  F: "g3 ~ g3 ~ g3 ~ d3 e3 g3 ~ g3 ~ [g3,c4]@2 [g3,b3] ~", G: "g3 ~ g3 ~ g3 ~ g3!2 f3!3 ~ f3 ~ f3 ~",
  H: "c3 ~ c3 ~ c3@2 g2 a2 c3!3 ~ c3 ~ g3 ~", I: "c3 ~ c3 ~ c3 ~ c3!2 ~ c3!2 ~ c3 ~ c3!2",
  J: "f3 ~ f3 ~ f3 ~ f3!3 [f3,c4]@2 f3!2 [f3,c4] f3 [f3,c4]", // F5
  K: "e3 ~ e3 ~ e3 ~ e3!3 [e3,c4]@2 e3!2 [e3,c4] e3 [e3,c4]", L: "d3 ~ d3 ~ d3 ~ d3!4 ~ d3!5",
  M: "c3 ~ c3 ~ c3 ~ c3!3 [c3,g3]@2 c3!2 [c3,g3] c3 [c3,g3]", N: "c3 ~@15",
  O: "[~@4 [g3,b3,d4]@3 ~@3 [g3,b3,d4] ~@3 [g3,b3,d4]@4 ~@2 f4@2 e4 ~ f4@2 g4 ~@3 [g3,c4,e4]@6 [g3,c4,e4]@2 ~@4 [g3,c4,e4] ~@3 [g3,c4,e4]@5 ~ [g3,c4,e4]@2 [g3,c4,e4] ~@3 [g3,c4,e4] ~@3 [g3,b3,d4]@5 ~ [g3,b3,d4]@2 [g3,b3,d4] ~@3 [g3,b3,d4] ~@3 [g3,b3,d4]@2]/5", // G C G
  P: "[f3,c4]@3 ~ [f3,c4]@2 ~@4 [f3,c4]@2 ~@2 [f3,c4]@2", Q: "~@4 [f3,c4] ~ [f3,c4] ~@3 [f3,c4] ~ [f3,c4] ~ [f3,c4] ~",
  R: "[e3,c4] ~@3 [e3,c4]@4 ~@2 [e3,c4] ~@3 [e3,c4]@2", S: "~@2 c4 ~ c4 ~ [e3,c4] ~@3 [e3,c4] ~ [e3,c4] ~ [e3,c4] ~",
  T: "d4 ~ [g3,d4] ~@3 [g3,d4]@2 ~@2 [g3,d4] ~@3 [g3,d4]@2", U: "~@2 [g3,d4]@2 ~@2 [g3,d4]@2 ~@2 [g3,d4]@3 ~ [g3,d4] ~",
  V: "[e3,c4] ~@3 [e3,c4]@3 ~@3 [e3,c4] ~@3 [e3,c4]@2", // C
  W: "~@2 [e3,c4] ~ [e3,c4] ~ [e3,c4] ~ [e3,c4] ~ c4 ~ [e3,c4]@2 ~@2", // C
})).s("gm_electric_guitar_muted").gain(0.11)

// chords · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note(`<
  ~@8 A B ~ C ~@5 C ~@18 A B D E ~ F G ~ H I ~ C ~@18 A B D E ~ F G ~ H I ~@14 A B D E ~ F G ~ H I G ~ H ~
>`.pickRestart({
  A: "~@10 g3 ~@5", B: "~@6 [g3,c4] ~@9", C: "~@7 f3 ~@8", D: "~@6 [f3,c4] ~ [f3,c4] ~@7",
  E: "~@2 [f3,c4] ~@5 [f3,c4] ~@7", F: "~@2 e3 ~ e3 ~@11", G: "~@4 [g3,d4] ~@3 [g3,d4] ~@7",
  H: "~@2 [e3,c4] ~@3 e3 ~@9", I: "~@10 e3 ~@5",
})).s("gm_electric_guitar_muted").gain(0.06)

// chords · pad warm · "WARM PAD"
const pad_warm = note(`<
  A ~ B@4 C@2 D@6 E@2 F@4 E@2 G@4 C@2 H@2 B@4 C@2 I@8 E@2 F@4 E@2 G@4 C@2 H@2 B@4 C@2 I@8 E@2 G@4 C@2 H@2 B@4 C@2 I@8
  E@2 J@2 K ~
>`.pickRestart({
  A: "[e3,g3,c4]", B: "[[b3,d4] [c4,e4], g3@63 ~]/4", C: "[[g3,b3,d4]@31 ~]/2",
  D: "[[c4,e4]@32 [b3,d4]@56 [f3,a3,c4]@7 ~, g3@65 ~@31]/6", E: "[[g3,c4,e4]@31 ~]/2",
  F: "[[g3,b3,d4]@56 [f3,a3,c4]@7 ~]/4", G: "[[a3,f4]@31 ~ [g3,e4]@31 ~, c4@63 ~]/4", H: "[[g3,c4,e4]@9 ~@7]/2",
  I: "[[g3,e4]@32 [a3,f4]@31 ~ e4@32 [b3,d4]@31 ~, c4@97 ~@31, ~@64 g3@63 ~]/8", J: "[[b3,d4]@31 ~]/2", K: "[g3,c4,e4]",
})).s("gm_pad_warm").gain(0.11)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~ A@8 ~@12 B C D E F G H I J@8 K@6 L@3 M ~@4 B C D E F G H I J@8 K@6 N@3 O D E F G H I J@8 K@6 P@6 ~
>`.pickRestart({
  A: "[~@4 [g4,e5]@2 [f#4,d#5]@2 [g4,e5]@2 a4@2 ~@2 [f4,d5]@20 ~@2 [f4,d5]@2 [e4,c#5]@2 [f4,d5]@2 [g4,e5]@2 ~@2 [e4,c5]@21 ~ [g4,e5]@2 [f#4,d#5]@2 [g4,e5]@2 [a4,f5]@2 ~@2 [f4,d5]@21 ~ [f4,d5]@2 [e4,c#5]@2 [f4,d5]@2 [g4,e5]@2 ~ [e4,c5]@17 e5@2, ~@10 f5 ~@117]/8", // C D#m C Dm C#m Dm C D#m …
  B: "~@6 e4 g4", C: "a4@2 a4 a4@3 a4 b4", D: "c5@2 b4 d5@2 c5@3", E: "g4@2 g4 g4@3 g4 a4", F: "b4@2 a4 c5@2 b4@3",
  G: "f4@2 f4@4 f4 g4", H: "a4@2 a4 g4@3 f4@2", I: "e4",
  J: "[~@2 e5 d#5 e5 f5@2 d5@11 d5 c#5 d5 e5@2 c5@11 e5 d#5 e5 f5@2 d5@11 d5 c#5 d5 e5@2 c5@9]/8",
  K: "[~@4 e5@2 d#5@2 e5@2 g5@4 f5@22 d5@2 c#5@2 d5@2 f5@4 e5@21 ~ e5@2 d#5@2 e5@2 f5@4 d5@18]/6",
  L: "[~@2 d5 c#5 d5 e5@2 c5@15 b4 a4]/3", M: "g4", N: "[~@2 d5 c#5 d5 e5@2 c5@15 f4 g4]/3", O: "a4 ~ a4 a4@3 a4 b4",
  P: "[~@4 d5@2 c#5@2 d5@2 e5@4 c5@22 e5@2 d5@2 e5@2 f5@4 d5@21 ~ d5@2 c#5@2 d5@2 e5@4 c5@18]/6",
})).s("gm_string_ensemble_1").gain(0.12)

// chords · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
  A B ~@26 C D E@2 F@2 G@2 H@2 I@2 H@2 E@2 J@2 ~@12 C D E@2 F@2 G@2 H@2 I@2 H@2 E@2 K@2 ~@6 C D E@2 F@2 G@2 H@2 I@2 H@2
  E@2 K@2 ~@2 L ~
>`.pickRestart({
  A: "~@5 e4 g4 a4", B: "c5@2 [a#4,b4] ~@13", C: "~@6 g4@2 e4@2 d4@2 c4@2 a3 ~", D: "c4@3 ~@13", E: "[g2,d3]/2",
  F: "[[c3,g3]@15 ~]/2", G: "[[g2,d3]@31 ~]/2", H: "[[c3,g3]@31 ~]/2", I: "[[f2,c3]@31 ~]/2",
  J: "[c3@12 d3 c3 b2 a2]/2", K: "c3/2", L: "c3@15 ~",
})).s("gm_distortion_guitar").gain(0.1)

// chords · distortion guitar · "DISTORTION" · soft notes
const distortion_guitar_soft = note("<~ A ~@27 B ~@29 B ~@23 B ~@20>".pickRestart({
  A: "~@3 [g#4,a4] g4 ~@11", B: "~@3 [a3,b3] [f3,g3] e3 ~@10",
})).s("gm_distortion_guitar").gain(0.06)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  A B@4 C@2 D@3 E@2 F@2 G H E@2 F@2 G H ~@7 I@4 C@2 D@3 J K L@2 M N O@2 E@2 F@2 G H ~@7 I@4 C@2 D@3 J K L@2 M N O@2 ~@7
  I@4 C@2 D@3 J K L@2 M N O@2 P N Q ~
>`.pickRestart({
  A: "~@4 e3 g3 c4 e4 e3 g3 c4 e4 g3 c4 e4 g4",
  B: "[c5@2 ~@2 e4@2 d#4@2 e4@2 f4 ~@3 [g3,b3,d4]@11 ~ [g3,b3,d4] ~@3 [g3,b3,d4]@5 ~ d4@2 c#4@2 d4@2 e4 ~@3 [g3,c4]@11 ~ [e3,g3,c4] ~@3 [e3,g3,c4]@2, ~@9 [g3,b3]@2 ~@5]/4", // G C5 C G
  C: "[~@4 e4@2 d#4@2 e4@2 f4@2 ~@2 [g3,b3,d4]@11 ~ [g3,b3,d4] ~@3 [b3,d4] ~, ~@15 g3]/2", // G Bm
  D: "[~@4 d4@2 c#4@2 d4@2 e4 ~@3 [e3,g3,c4]@15 ~ [e3,g3,c4]@18, ~@4 [g3,b3]@7 ~@37]/3", // C G
  E: "[[g3,b3,d4]@26 g3 ~ [g3,b3,e4]@2 g3 ~]/2", F: "[[g3,b3,d4]@18 [g3,b3,d4] ~@5 [a3,c4,f4]@7 ~]/2",
  G: "[g3,c4,e4]@13 ~ [g3,c4,e4] ~", H: "~@2 [g3,c4,e4]@11 ~@3",
  I: "[~@4 e4@2 d#4@2 e4@2 f4 ~@3 [g3,b3,d4]@11 ~ [g3,b3,d4] ~@3 [g3,b3,d4]@5 ~ d4@2 c#4@2 d4@2 e4 ~@3 [g3,c4]@11 ~ [e3,g3,c4] ~@3 [e3,g3,c4]@2, ~@9 [g3,b3]@2 ~@5]/4", // G C5 C G
  J: "[a3,c4,f4]@13 ~ [a3,c4,f4] ~", K: "~ [a3,c4,f4]@6 ~",
  L: "[[g3,c4,e4]@13 ~ [g3,c4,e4]@4 [g3,e4]@8 [g3,e4]@5 ~, ~@18 c4@13 ~]/2", M: "[g3,b3,d4]@3 [g3,b3,d4]@5",
  N: "[g3,d4] ~ [g3,b3,d4]@4 [g3,b3,d4]@3 ~ b3@2 b3@3 ~, b3@2 ~@8 [g3,d4]@5 ~", // G5 G G5
  O: "[[g3,e4]@6 [g3,e4]@16 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@3 ~@3, c4@11 ~@5]/2", P: "~@3 [g3,b3,d4]@5",
  Q: "[g3,e4]@3 [g3,e4]@5, c4", // C
})).s("gm_epiano2").gain(0.17)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@9 A ~@4 B C ~ D@2 ~ E@2 ~@25 D@2 ~ F@2 ~@52>".pickRestart({
  A: "~@3 [a4,d5]@2 [g4,c5] ~@2", B: "~@10 [a4,d5]@4 c5 ~, ~@10 c#5 ~@5", C: "~ e4@5 d4@7 c4 ~ g3",
  D: "[~@5 g4@8 ~@3]/2", E: "[~@10 d4@4 g4@4 d4@5 c4@7 ~@2]/2", F: "[~@3 a4@2 g4 f4 e4@6 ~@3]/2",
})).s("gm_electric_guitar_jazz").gain(0.11)

// other · electric guitar jazz · "JAZZ GTR" · soft notes · A#maj7
const electric_guitar_jazz_2 = note("<~@9 [~@6 c#5 ~@9] ~@5 [~@13 b3 [a3,a#3] ~] ~@88>")
  .s("gm_electric_guitar_jazz").gain(0.06)

// drums · kick
const kick = s("bd").struct(`<
  A B C D C D C D C D C@3 D C D C@3 D C D C@3 D C D@2 B C@3 D C D C@5 D C D@3 C@3 D C D C@3 D C D@2 B C@3 D C D C@5 D C
  D@3 C@3 D C D@2 B C@3 D C D C@5 D C D@3 C D@2 ~
>`.pickRestart({
  A: "x!2 ~@2", B: "x!4", C: "x!2", D: "x ~@3 x ~@2 x",
})).gain(0.42)

// drums · snare
const snare = s("sd").struct("<~ A B@27 C B@7 D B@7 E B@13 C B@7 D B@7 E B@7 C B@7 D B@7 E B@2 D ~>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@15 x", D: "~@4 x ~@7 x!2 ~@2", E: "~@2 x ~@3 x!2",
})).gain(0.54)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@29 A ~@7 B ~@7 C ~@13 A ~@7 B ~@7 C ~@7 A ~@7 B ~@7 C ~@2 D ~>".pickRestart({
  A: "~@5 x!3", B: "~@10 x!2 ~@4", C: "~@5 x ~@2", D: "~@7 x ~@8",
})).gain(0.3)

// drums · low tom
const low_tom = s("lt").struct("<~@28 A ~@8 B ~@20 A ~@8 B ~@14 A ~@8 B ~@12>".pickRestart({
  A: "~@14 x!2", B: "~@7 x",
})).gain(0.3)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@2 A B C D C B A E C B C B C B C B C B C B C B C B C B F ~ C B C B C B C G A B C B A B C G C B C B C B C B C B C B F
  ~ C B C B C B C G A B C B A B C G C B C B C B F ~ C B C B C B C G A B C B A B C G A B G ~
>`.pickRestart({
  A: "~@2 x ~@3 x ~ x ~ x ~@3 x!2", B: "x!2 ~ x!5", C: "x ~ x ~@3 x ~ x ~ x ~@3 x!2", D: "x!2 ~ x!4 ~",
  E: "x!2 ~ x!3 ~ x", F: "~ x ~ x!5", G: "x!2 ~ x!3 ~@2",
})).gain(0.3)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@2 A@27 ~ A@29 ~ A@23 ~ A@19 ~>".pickRestart({
  A: "~@3 x ~ x ~@10",
})).gain(0.18)

// drums · mid tom
const mid_tom = s("mt").struct("<A B ~@7 C ~@18 C ~@15 C ~@13 C ~@15 C ~@7 C ~@15 C ~@3 D ~>".pickRestart({
  A: "~@14 x!2", B: "~@5 x ~@2", C: "~@10 x!2 ~@4", D: "~@9 x!3 ~@4",
})).gain(0.3)

// drums · open hat
const open_hat = s("oh").struct("<~@9 A ~@27 A ~@7 B ~@21 A ~@7 B ~@15 A ~@7 B ~@4>".pickRestart({
  A: "~@3 x", B: "~@6 x!2",
})).gain(0.24)

// drums · crash
const crash = s("cr").struct(`<
  A@3 ~@2 B ~@2 A ~@19 A@2 ~@8 A ~@3 A ~@15 A@2 ~@8 A ~@3 A ~@9 A@2 ~@8 A ~@3 A ~@3 A ~ B ~
>`.pickRestart({
  A: "x", B: "~@7 x",
})).gain(0.3)

stack(
  bass, electric_guitar_muted, electric_guitar_muted_2, pad_warm, string_ensemble_1, distortion_guitar,
  distortion_guitar_soft, epiano2, electric_guitar_jazz, electric_guitar_jazz_2, kick, snare, snare_soft, low_tom,
  hihat, hihat_soft, mid_tom, open_hat, crash
)

More by Borg Andy