Strudelify
Du bist die Antwort fur mich cover art

1994 · Ich bin da!

Du bist die Antwort fur mich

Howard Carpendale

KeyC majorTempo120 bpm
0:00/0:00
// Du bist die Antwort fur mich — Howard Carpendale
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 88 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. 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.

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~@8 A@3 ~ B@3 ~ C D E F G@2 H I@2 J@4 K@2 L@2 J@4 K@2 M@2 N A@3 ~ B@3 ~ C D E F G@2 H I@2 J@4 K@2 L@2 J@4 K@2 L@2 O@2
  P@2 N Q@2 ~@6
>`.pickRestart({
  A: "[c1@35 ~@13]/3", B: "[c1@25 ~@3 c2@2 f1@17 ~]/3", C: "f1", D: "e1@15 ~", E: "d#1@7 ~", F: "d1@6 g1@5 ~ g1@4",
  G: "[c1@29 ~ c1@2]/2", H: "f1@2 g1!2", I: "[c2@6 c2@7 ~ c2@9 ~@3 d2@2 e2@2 ~@2]/2",
  J: "[f2@6 f1@5 ~ f1@2 g1@7 ~ g1@8 c1@8 c2@4 c1@2 e1@2 f1@12 c1 ~ f1@2 e1@2]/4",
  K: "[d1@5 ~ d1@4 d1@3 ~ g1@9 ~ g1@2 f1@6]/2", L: "[c2@7 ~ c2@2 d2@4 e2@8 e1@4 f1@2 g1@3 ~]/2",
  M: "[c2@3 ~@9 c3@2 c2@13 ~ c3@2 c2@2]/2", N: "f2@6 f2@2 g2@3 ~ g2@4", O: "[f2@6 f1@5 ~ f1@2 g1@7 ~ g1@8 ~@2]/2",
  P: "[c2@12 c3@2 c2@13 ~ c3@2 c2@2]/2", Q: "c1/2",
})).s("gm_fretless_bass").gain(0.48)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  ~@25 A@2 B@2 C@2 D@2 A@2 B@2 C@2 E@2 ~ F@3 G H@2 I J K@2 L M@3 N O@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 P@6 ~@5
>`.pickRestart({
  A: "[~@6 f3 ~@7 g3 b3, f3@6 ~ d3@6 d3@2 ~, ~@2 a3@8 a3@4 ~@4 g3@9 ~@5, ~@2 c4@5 ~@3 b3@5 ~, ~@3 f4@4 ~@4 g4@4 ~]/2",
  B: "[~@5 g3 e4 ~@8 f4, c3@13 ~@9 f4@8 ~@2, ~@2 g3@8 ~@4 f3@9 ~ f3@7 ~, ~@2 c4@5 ~@2 a3@4 a3@3, ~@3 e4@3 ~@4 c4@4 c4@2]/2",
  C: "[~@11 g4@2 g3 g4@2, d3@15 ~@17, ~ a3@4 a3@3 g3@4 ~@4, ~@2 d4@7 b3@6 ~, ~@3 f4@3 f4@3 ~ d4@6]/2",
  D: "[~@28 c4@2 e4 ~, c3@9 ~ c3@14 c3@8, ~@2 g3@9 ~ g3@8 g3@6 g3@5 ~, ~@4 c4@13 ~ c4@10 ~@4, ~@3 e4@4 e4@4 e4@4 ~]/2",
  E: "[~@3 e4@13, c3@31 ~, ~@2 g3@29 ~, ~ c4@7]/2",
  F: "[~@23 f4, c3@8 c3@7 d4@2 f3 c4 f4@2 c4 f3@2, ~ g3@5 g3@2 ~ g3@2 g4@2 c4@3 c3@8, ~@2 c4@3 c4@7 g3@12, ~@3 g4@4 g4@3 d4@4 g4@10]/3",
  G: "~@3 c4 ~@3 b3, a3@9 ~@7, e4@4 e4@5 ~ d4@6, ~ c4@2 ~ g3@2 g3@2",
  H: "[~@8 g3@2 ~@2 g3 ~@2 d4, c3 ~, ~ g3@5 g3@2 ~@2 g3@2 ~ g3@3, ~@2 c4@3 c4@3 ~@8, ~@3 g4@4 g4@4 g4@3 g4@2]/2",
  I: "~@7 c4, f3@5 f3@3, ~@2 c4@5 ~, ~@3 f4@3 f4@2", J: "~@7 g3, a3@3 g3@4 ~, ~ c4@2 ~ b3@2 b3@2, ~ e4@3, ~@5 d4@3",
  K: "[~@15 e4, f3@4 f3@4 e3@3 e4@3 c4@2, ~ a3@4 a3@3 ~ g3@3 e3@4, ~@2 c4@4 c4@2 ~@2 c4@3 g3@3, ~@3 f4@4 f4@9]/2",
  L: "~@7 d#4, d#3!2, ~ g3@4 g3@3, ~ c4@2 c4, ~@3 d#4@4 ~",
  M: "[~@2 d4 [f3,c4]@3 ~@17 c4, d3@3 ~@3 g3@3 g3@2 e4@3 g3 e4@3 e4@3 e4@3, ~ a3@2 ~@3 b3@10 g3@3 g3@3 g3@2, ~ c3 ~, ~@20 c4@4 g3@2 c4@7 ~ c4@6 c4@6 ~@2]/3", // F5
  N: "~@3 f4 [g3,c4]@2 [g3,b3]@2, f3 ~, ~ a3@3 ~@4, ~ c4 ~@2", // C5 G
  O: "[~@6 d4 ~@6 c4 c3 ~, c3@7 ~, ~@2 g3@6 g3@7 ~ g3@8 g3@4 ~@4, ~@2 c4@3 c4@4 c4@2 c4@2 ~@3, ~@6 e4@8 e4@6 e4@9 ~@3]/2",
  P: "[~@38 f4@2 c4@4 b3@3 ~@2 e4@32 ~@15, c3@34 a3@6 g3@8 [g3,c4]@33 ~@15, ~@2 g3@30 f3@8 ~@7 c3@34 ~@15, ~@4 c4@10 d4@22 c4@4 ~@7 e3@32 ~@17, ~@3 d4@2 g4@13 ~@30]/6", // C5
})).s("gm_acoustic_guitar_steel").gain(0.16).pan(0.6)

// other · alto sax
const alto_sax = note(`<
  ~@8 A B C@2 ~@4 D@2 E ~@5 F@2 G H I@2 J@2 F@2 G H K@2 L M ~@6 A B N O ~@4 P Q ~@2 F@2 G H I@2 J@2 F@2 G H I@2 J@2 R@2
  L M ~@10
>`.pickRestart({
  A: "~@2 e4 g4!2 ~@3", B: "~@2 d4 g4!2 ~@3", C: "[~@5 d4 e4@2 f4@2 e4@2 ~@2 d4 ~ e4@6 d4@5 ~@5, ~@15 c4@2 ~@15]/2",
  D: "[~@4 a4@2 b4@2 c5@4 d5@2 c5@4 g4@3 ~@11]/2", E: "~@2 g4 a4 ~ a4 c5 f4",
  F: "[~@6 g4@2 c5@2 d5 ~ e5@2 e5@4 d5@2 c5@2 d5@4 ~@6]/2", G: "~@8 b4@2 c5@2 d5 ~ f5@2",
  H: "~@2 e5@3 ~ c5@3 ~ g4@4 ~@2", I: "[~@8 c5@2 d5@2 e5 ~ e5@4 d5@2 c5@2 d5@3 ~@7]/2",
  J: "[d5@3 ~ e5@2 d5@4 c5@3 ~ e5@10 ~@8]/2", K: "[~@8 c5@2 d5@2 e5 ~ g5@4 f5@2 e5@2 d5@3 ~@7]/2",
  L: "g5@2 f5@2 e5@2 d5@3 ~@5 c5@2", M: "c5@3 ~", N: "~@6 d4 e4 ~ e4 d4@4 c4@2, ~@4 f4 ~@3", O: "e4@6 d4@5 ~@5",
  P: "~@4 e4@2 g4@2 g4@3 ~@5", Q: "~@7 g4 g4@3 ~@5, ~@3 d4 ~@4",
  R: "[~@6 g4@2 c5@2 d5 ~ e5@2 g5@4 f5@2 e5@2 d5@3 ~@7]/2",
})).s("gm_alto_sax").gain(0.4).pan(0.4)

// chords · pad warm · "WARM PAD"
const pad_warm = note("<~@25 A@2 B@3 C@4 ~@25 A@2 B@3 D@3 E@2 B@3 F@5 G@3 H@2 ~@6>".pickRestart({
  A: "[[c4,f4,a4]@7 [d4,g4,b4]@9]/2", B: "[[e4,g4]@14 ~@18 d4@15 ~, c4@2 ~, ~@7 [f4,a4]@17]/3",
  C: "[[b3,d4,g4]@10 [f4,a4]@4 [e4,g4]@12 [a3,d4,f4]@5 [e4,g4]@17 ~@16, ~@10 c4@14 ~@7 c4@29 ~@4]/4", // G F Em Dm Em
  D: "[[b3,d4,g4]@10 [f4,a4]@4 [e4,g4]@12 [a3,d4,f4]@5 [c4,e4,g4]@17, ~@5 c4@7 ~@12]/3", // G F Em Dm C
  E: "[[f4,a4] ~@13 [d4,g4,b4]@18, c4@3 ~@5]/2", // F G
  F: "[[b3,d4,g4]@10 [f4,a4]@4 [e4,g4]@12 [a3,d4,f4]@5 [e4,g4]@17 [f4,a4] ~@13 [d4,g4,b4]@18, ~@10 c4@14 ~@7 c4@29 ~@20]/5", // G F Em Dm Em F G
  G: "[[e4,g4]@14 ~@2 d4@15 ~ f4@7 c4@4 b3@4 ~, c4@32 c4 ~@15, ~@16 b3@14 ~ a3@7 ~ [g3,d4]@7 ~@2]/3", // Em G5
  H: "[[e3,g3], c4@15 ~@17]/2", // Em
})).s("gm_pad_warm").gain(0.18)

// other · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<~@8 A@7 B@3 C@8 ~@13 D@3 A@7 B@3 C@8 ~@17 D@3 E@8>".pickRestart({
  A: "[c7@53 b6@6 g6@50 ~@2 a6]/7", B: "[~ g6 c7@6]/3",
  C: "[g6@17 f6@4 c6@6 d6@11 g6@6 d7@13 e7@6 c7@12 b6@4 ~ g5@20 f5@2 e5@2 c5@21 ~@3, ~@79 g6@20 ~@29]/8",
  D: "[g5@47 ~]/3", E: "c7/8",
})).s("gm_string_ensemble_2").gain(0.04).pan(0.4)

// chords · pad halo · "HALO PAD"
const pad_halo = note("<~@33 A@2 B@2 C@4 ~@36 D@2 ~@9>".pickRestart({
  A: "[[c4,f4,a4]@7 [d4,g4,b4]@9]/2", B: "[[e4,g4,c5]@7 [f4,a4,c5]@9]/2",
  C: "[[f4,a4]@16 [g4,b4]@10 [f4,a4]@5 ~ e4@16 d4@16, d4@25 ~ c4@20 ~@2 b3@14 ~@2, ~ g4]/4", // F G F
  D: "[e4 d4, g4, ~@8 b3@7 ~]/2",
})).s("gm_pad_halo").gain(0.2).pan(0.6)

// chords · pad halo · "HALO PAD" · soft notes · Dm G5 Dm G5
const pad_halo_soft = note(`<
  ~@41
  [[a3,f4]@2 c4 b3, c4@6 ~@2 [g3,d4]@7 ~]
  ~@37
  [[a3,f4]@2 c4 b3, c4@6 ~@2 [g3,d4]@7 ~]
  ~@8
>`).s("gm_pad_halo").gain(0.07).pan(0.6)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  A@4 B@3 C@4 D E@3 F G H I J K@3 L M N@4 O@2 P@2 N@4 O@2 Q@3 R@3 D S@3 F G H I J T@3 L M U@4 V@2 P@2 U@4 V@2 P@2 W@5
  X@2 ~@6
>`.pickRestart({
  A: "[~@14 c5 f3@6 ~@2 c4 [g3,c4,e4]@3 ~@3 c3@2, c2@31 ~, c3@22 a3@2 ~@3 [g3,b3,d4]@5, [g3,c4,e4]@7 [g3,b3,d4]@8 c4@8 ~@9, ~@6 g4@9 a3@6 f3@3 ~@8]/4", // C G C G
  B: "[~@3 c3 ~@7 c3 ~@4 c3@3 c3 ~@3 c4, c2@11 a3, [g3,c4,e4]@7 [g3,b3,d4]@7 c5 c4@8 ~, ~@4 c3@7 ~ c3@3 a3@6 f3@3, ~@6 g4@9 f3@5 c3@4]/3", // C G
  C: "[[g2,f3,a3,c4]@3 [f3,a3,c4]@3 g3@2 c2@3 ~@11 c5 f3@6 ~@2 c4, ~@6 g2@25 ~@27 f3@6, ~@6 [b3,d4]@8 g4@9 a3@7 a3@2, ~@8 [g3,c4,e4]@7 [g3,b3,d4]@8 c4@8 ~, ~@8 c3@3 c2@8 c2@8 ~@5]/4", // F Bm C G
  D: "[a2,a3,c4,e4]@3 [g2,g3,b3,d4]@5", // Am G
  E: "[c2@3 ~@11 c5 [f2,f3,a3,c4]@4 [f2,f3,a3,c4]@5, [c4,e4] ~@2, g3@10 ~@2 g4@19 ~@17, ~@3 c2@8 c2@5 ~@8, ~@14 [g3,b3,d4]@17 ~@17]/3", // F C G
  F: "[a2,a3,c4,e4]@6 [g2,g3,b3,d4]@6 [e2,g3,b3,e4]@3 ~", G: "[f2,f3,a3,c4]",
  H: "~@4 c4 d4 ~ g4, [c4,e4]@9 ~@3 e4@4, ~@3 g3@5", I: "[d#2,g3,c4,d#4,g4]",
  J: "[d2,f3,a3,d4]@3 [g2,f3,a3,c4]@3 [g2,g3,b3,d4]@2", // Dm F G
  K: "[~@7 c5 [f3,a3,c4]@2 ~ b3, c2@3 c2@2 ~, c3@11 c3@5 ~@4 [g2,d3,g3,c4]@4, [e3,g3,c4,e4]@7 [g3,b3,d4]@9 ~@8, ~@3 g4@5 ~@4]/3", // F Gsus4 C G
  L: "c4, g3@7 ~, e3@3 ~", M: "~@4 c4 d4 e4 ~, c4 ~, ~@3 g3@4 ~",
  N: "[[a3,c4,f4]@11 ~ [a3,c4,f4]@2 ~@12 g3@2 [g3,b3,d4]@2 [e3,g3,c4]@8 [g3,c4]@6 [g3,c4,e4]@2 [f2,a3,c4,f4]@18, [f2,f3]@7 g2@8 c3@8 ~@9, ~@7 [b3,d4]@7 ~@18, ~@7 g3@6 ~@10 f3@3 ~@6, ~@23 g4@7 ~@34]/4", // F G C C5 C F Bm
  O: "[[f3,a3,d4]@3 d4@2 d4@2 [g3,b3,d4]@5 [g3,b3,d4] [f3,a3,c4]@3, d2 ~, ~@14 g2@13 ~@5]/2", // Dm G F
  P: "[[g3,c4,e4]@6 [c2,g3,c4,e4]@4 [d2,d3,f3,a3,d4]@3 ~ [g3,c4,e4]@8 g3@4 ~@2 e2@3 ~, c3@10 ~@4 e3@17 ~, ~@7 e2@7 ~@2, ~@22 [c4,e4]@9 ~, ~@26 g3@5 ~]/2", // C Dm C
  Q: "[~@28 c5@3 ~ [f3,a3,c4]@8 ~@4 b3@4, c3@22 c3@9 ~@9 [g2,d3,g3,c4]@8, ~@12 g4@19 ~@17, ~@14 [g3,b3,d4]@17 ~@17, ~@3 c2@2 ~]/3", // F Gsus4 G
  R: "[c2@3 ~@11 c5 f3@6 ~@2 c4, [g3,c4,e4]@7 [g3,b3,d4]@8 c4@8 ~, c3@5 ~ g4@9 a3@7 a3@2, ~@3 c2@8 c2@8 ~@2 f3@3]/3", // C G
  S: "[g3@5 ~@9 c5 [f2,f3,a3,c4]@4 [f2,f3,a3,c4]@5, [c4,e4]@8 ~@3 c2@5 ~@8, c2@6 ~@6 g4@19 ~@17, ~@14 [g3,b3,d4]@17 ~@17]/3", // F C G
  T: "[~@7 c5 [f3,a3,c4]@2 ~ b3, c2@3 c2@2 ~, c3@11 c3@5 ~@4 [d3,g3,c4]@4, [e3,g3,c4,e4]@7 [g3,b3,d4]@9 ~@8, ~@3 g4@5 ~@4]/3", // F Csus2 C G
  U: "[[a3,c4,f4]@11 ~ [a3,c4,f4]@2 ~@12 g3@2 [g3,b3,d4]@2 [e3,g3,c4]@8 [g3,c4]@6 [g3,c4,e4]@2 f3@6 f3@2 ~@10, [f2,f3]@7 g2@8 c3@8 [f2,a3,c4,f4]@9, ~@7 [b3,d4]@7 ~@18, ~@7 g3@6 ~@6 e3@4 ~@9, ~@23 g4@7 ~@34]/4", // F G C C5 C F Bm
  V: "[[f3,a3,d4]@3 [a3,d4]@2 d4@2 [g3,b3,d4]@5 [g3,b3,d4] [f3,a3,c4]@3, [d2,d3] ~, ~@14 g2@13 ~@5]/2", // Dm D5 G F D
  W: "[[a3,c4,f4]@11 ~ [a3,c4,f4]@2 ~@12 g3@2 [g3,b3,d4]@2 c3@2 c3@10 ~@18 c5@3 ~ [f3,a3,c4]@8 ~@4 b3@4, [f2,f3]@14 g2@16 ~@24 c3@9 ~@9 [g2,d3,g3,c4]@8, ~@7 [b3,d4]@7 ~@14 c2@8 ~@4, ~@14 g3@12 ~@4 [e3,g3,c4]@12 ~@4 [g3,b3,d4]@17 ~@17, ~@23 g4@7 ~@14 g4@19 ~@17]/5", // F G F Gsus4 Bm C G
  X: "[[c2,c3,g3,c4,e4]@5 ~@3]/2", // C
})).s("gm_epiano2").gain(0.38).pan(0.4)

// chords · epiano2 · "E.PIANO 2" · soft notes
const epiano2_soft = note(`<
  ~@3 A ~@4 B C@2 ~ D@2 ~@3 E ~@5 F@2 ~@2 G H I ~ J ~@3 G H I ~@4 B C@2 ~ K@2 ~@3 E ~@4 L F@2 ~@3 M N ~ J ~@4 M N ~ J
  ~@14
>`.pickRestart({
  A: "c3@3 c3@3 ~@2", B: "~@10 c3@5 ~", C: "[c3@5 ~@6 c2@5, ~@5 c3@11]/2", D: "[~@10 g3@4 c3@17 ~, c3@7 ~@9]/2",
  E: "e2, g3@3 ~@5", F: "[~@3 c3@2 ~@7 c3@3 ~, c2@8 c2@7 ~, ~@5 c3@7 ~@4, ~@3 e3@3 ~@2, ~@7 g3@4 ~@5]/2",
  G: "~@3 e3@4 ~", H: "~@2 f3 ~@2 f3@3, ~@3 f3@2 ~@3, ~ c3", I: "~@6 [f3,a3]@5 ~@5, d3", J: "~@3 d#2@2 ~@3",
  K: "[~@10 g3@4 c3@17 ~, c3@7 ~@9, ~@3 c2@8 ~@5]/2", L: "~ g2", M: "~@5 f3@3, ~@3 f3@2 ~@3, ~ c3", N: "~@6 f3@5 ~@5",
})).s("gm_epiano2").gain(0.21).pan(0.4)

// drums · kick
const kick = s("bd").struct("<~@25 [x ~@2 x ~@4]!7 [x ~@2 x ~ x ~@2] [x ~@2 x ~@4]!8 ~@18 [x ~@2 x ~@4]!20 ~@9>")
  .gain(0.42)

// drums · clap
const clap = s("cp").struct("<~@25 [~@3 x]!14 ~@20 [~@3 x]!18 ~@11>").gain(0.42)

// drums · snare
const snare = s("sd").struct("<~@32 [~@3 x]!7 ~@20 [~@3 x]!16 ~@13>").gain(0.54)

// drums · hihat
const hihat = s("hh").struct("<[x!8]!80 x ~@7>").gain(0.24)

// drums · low tom
const low_tom = s("lt").struct("<~@32 [~ x] ~@25 [~@10 x!5 ~] ~@7 [~@4 x!2 ~ x] ~@21>").gain(0.42)

// drums · open hat
const open_hat = s("oh").struct("<~@24 A B ~@15 A B ~@36 A B ~@7>".pickRestart({
  A: "~@13 x!3", B: "x",
})).gain(0.06)

// drums · mid tom
const mid_tom = s("mt").struct("<~@32 [~@6 x!2 ~@8] ~@25 [~@3 x!2 ~@3] ~@7 [~@7 x ~@8] ~@21>").gain(0.48)

// drums · crash
const crash = s("cr").struct("<~@24 A B ~@7 B ~@7 C B ~@16 B ~@7 B ~@11 A B ~@7>".pickRestart({
  A: "~@14 x!2", B: "x", C: "~@15 x",
})).gain(0.12)

// drums · crash · soft notes
const crash_soft = s("cr").struct("<~@24 [~@7 x] ~@16 [~@14 x!2] ~@37 [~@7 x] ~@8>").gain(0.06)

// drums · high tom
const high_tom = s("ht").struct("<~@32 [~ x ~@6] ~@25 [x!2 ~@6] ~@7 [~ x ~@2] ~@21>").gain(0.54)

// drums · congas
const congas = s("conga:18").struct(`<
  ~@4 A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A C A B A C A B A C A B A C A B A C A B A
  C A B A C A B A C A B A C A B A C A C ~@8
>`.pickRestart({
  A: "~@2 x ~@2 x ~ x", B: "~@2 x ~@2 x ~@2", C: "~@3 x ~@4",
})).gain(0.96)

// drums · congas
const congas_2 = s("conga:33").struct(`<
  ~@4 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@9
>`.pickRestart({
  A: "~@3 x!2 ~@3",
})).gain(0.96)

// drums · claves
const claves = s("clave:2").struct(`<
  ~@7 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~ A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~ A
  ~@8
>`.pickRestart({
  A: "~@3 x",
})).gain(1.76)

stack(
  bass, acoustic_guitar_steel, alto_sax, pad_warm, string_ensemble_2, pad_halo, pad_halo_soft, epiano2, epiano2_soft,
  kick, clap, snare, hihat, low_tom, open_hat, mid_tom, crash, crash_soft, high_tom, congas, congas_2, claves
)

More by Howard Carpendale