Strudelify
Daydream Believer cover art

Pisces, Aquarius, Capricorn & Jones Ltd.

Daydream Believer

The Monkees

KeyG majorTempo124 bpm
0:00/0:00
// Daydream Believer — The Monkees
// 124 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 104 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(124/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 · "Ac Piano"
const piano = note(`<
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD V
  W X Y Z AA AB AC AE AF AG AH U V W X Y Z AA AB AC U V W X Y Z AA AB AC AD V W X Y Z AA AB AC A B C AI@7
>`.pickRestart({
  A: "[b4,d5]@3 ~ g4@2 [b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@4 g4 ~, g2@23 ~", // Bm
  B: "[a4,c5]@3 ~ g4 ~ [a4,c5]@4 g4 ~ [a4,c5]@3 ~ g4 ~ [a4,c5]@3 ~ g4@2, d3", // Am
  C: "[b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@2 ~@2 g4 ~ [b4,d5]@3 ~ g4 ~, g2@23 ~", // Bm
  D: "[a4,c5]@3 ~ g4@2 [a4,c5]@4 g4 ~ [a4,c5]@4 g4 ~ [a4,c5]@2 ~@2 g4@2, d3", // Am
  E: "[b4,d5]@4 g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@4 g4@2, g2@23 ~", // Bm
  F: "[a4,c5]@3 ~ g4 ~ [a4,c5]@3 ~ g4 ~ [a4,c5]@3 ~ g4 ~ [a4,c5]@4 g4 ~, a2@23 ~", // Am
  G: "[b4,d5]@3 ~ g4 ~ [b4,d5]@4 g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4@2, b2", // Bm
  H: "[c5,e5]@2 ~@2 g4@2 [c5,e5]@3 ~ g4 ~ [c5,e5]@3 ~ g4 ~ [c5,e5]@3 ~ g4 ~, c3@11 ~", // C
  I: "[b4,d5]@2 g4 [b4,d5]@2 g4 [b4,d5]@2 g4 [b4,d5]@2 g4, g3@17 ~@7, g4 ~@11", // Bm
  J: "[b4,e5]@3 ~ g4 ~ [b4,e5]@4 g4@2 [b4,e5]@4 g4@2 [b4,e5]@3 ~ g4 ~, e3", // E5
  K: "[c#5,e5]@3 ~ g4@2 [c#5,e5]@3 ~ g4 ~ [c#5,e5]@3 ~ g4@2 [c#5,e5]@4 g4 ~, a3@11 ~", // C#m
  L: "[c5,f#5]@4 a4@2 [c5,f#5]@4 a4 ~ [c5,f#5]@3 ~ a4 ~ [c5,f#5]@4 a4 ~, d3@23 ~, ~@18 a4 ~@5", // Cdim
  M: "[b4,d5]@3 ~ g4 ~ [b4,d5]@2 ~@2 g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~, g3@10 g3@13 ~", // Bm
  N: "[c5,d5]@4 ~@2 [c5,d5]@3 ~ g4 ~ [c5,d5]@4 g4 ~ [c5,d5]@4 g4 ~, a3@23 ~", // Csus2
  O: "[b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@2 ~@2 g4 ~ d5@4 g4 ~, b3@23 ~, ~@9 b4 ~@2", // Bm
  P: "[c5,e5]@3 ~ g4 ~ [c5,e5]@3 ~ g4 ~ [c5,e5]@3 ~ g4 ~ [c5,e5]@3 ~ g4 ~, c4@11 ~", // C
  Q: "[b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~, g3@11 ~ e3@11 ~", // Bm
  R: "[c5,e5]@3 ~ g4 ~ [c5,e5]@4 g4 ~ d5@3 ~ f#4 ~ d5@4 f#4 ~, a3@11 ~ d3@12, ~@9 a4 ~@2", // C
  S: "[b4,d5]@3 ~ g4 ~ [g3,d5]@4 g4 ~ [f#3,a4,d5]@4 f#4 ~ [g3,d5]@4 g4 ~, g3@4 ~@2 b4@3 ~@9 b4@3 ~@3", // Bm G5 D G5
  T: "[a3,c5]@4 a4 ~ [g3,b4,d5]@4 g4 ~ [f#3,a4,d5]@4 f#4 ~ [e3,g4,d5]@4 e4 ~, a4 ~@2 g4 ~@2 f#4 ~@2 e4 ~@2, d5 ~@23", // Am G D Em7
  U: "[c5,e5]@3 ~ g4 ~ [c5,e5]@4 g4 ~ [d5,f#5]@4 a4 ~ [d5,f#5]@4 a4 ~, c3@10 ~@2 d3@11 ~, ~@6 g4@2 ~@4 a4 ~@5 a4@2 ~@4", // C D
  V: "[b4,d5]@3 ~ f#4 ~ [b4,d5]@4 f#4 ~ [b4,d5]@4 f#4 ~ [b4,d5]@4 f#4 ~, b2@11 ~", // Bm
  W: "[c5,e5]@4 g4 ~ [c5,e5]@3 ~ g4 ~ [d5,f#5]@4 a4 ~ [d5,f#5]@4 a4 ~, c3@11 ~ d3@11 ~", // C D
  X: "[e5,g5]@4 b4 ~ [e5,g5]@4 b4 ~ [e5,g5]@3 ~ c5@2 [e5,g5]@4 c5 ~, e3@11 ~ c3@10 ~@2", // Em
  Y: "[b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@4 g4 ~, g3@23 ~", // Bm
  Z: "[c5,e5]@3 ~ g4 ~ [c5,e5]@4 g4 ~ [c5,e5]@3 ~ g4 ~ [c5,e5]@3 ~ g4 ~, c3@11 ~", // C
  AA: "[b4,d5]@3 ~ g4 ~ [b4,d5]@4 g4 ~ [b4,e5]@3 ~ g4 ~ [b4,e5]@3 ~ g4 ~, g3@11 ~ e3@11 ~", // Bm E5
  AB: "[c#5,e5]@3 ~ g4 ~ [c#5,e5]@3 ~ g4 ~ [c#5,e5]@3 ~ g4 ~ [c#5,e5]@4 g4 ~, a3@23 ~", // C#m
  AC: "[c5,f#5]@4 a4 ~ [c5,f#5]@4 a4 ~ [c5,f#5]@4 a4 ~ [c5,f#5]@3 ~ a4 ~, d3@11 ~", // Cdim
  AD: "[c5,e5]@3 ~ g4 ~ [c5,e5]@4 g4 ~ [d5,f#5]@4 a4 ~ [d5,f#5]@4 a4 ~, c3@10 ~@2 d3@11 ~, ~@6 g4@2 ~@4 a4 ~@5 a4 ~@5", // C D
  AE: "[b4,d5]@3 ~ g4@2 [b4,d5]@4 g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@4 g4 ~, g3@23 ~", // Bm
  AF: "[c5,d5]@4 g4 ~ [c5,d5]@4 g4 ~ [c5,d5]@4 g4 ~ [c5,d5]@4 g4 ~, d3@23 ~", // Csus2
  AG: "[b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@3 ~ g4 ~ [b4,d5]@4 g4 ~, g3", // Bm
  AH: "[c5,d5]@4 a4 ~ [c5,d5]@3 ~ a4 ~ [c5,d5]@4 a4 ~ [c5,d5]@3 ~ a4 ~, d3@11 ~", // Csus2
  AI: "[[a4,c5]@4 g4@2 ~ [a4,c5]@4 g4 ~ [a4,c5]@5 g4@2 ~ [a4,c5]@4 ~@3 g4@3 ~@3 [b4,g5]@132 ~@2, d3@31 ~ [g2,d4]@131 ~@5]/7", // Am Em G5
})).s("gm_piano").gain(0.32)

// bass · fretless bass · "El Bass"
const bass = note(`<
  ~@4 A B C D A E B F G H I J K L M N O P O Q R S T U V A B C D A E B F G H I J K L M N O P O Q R S T U V O P O Q R S T
  U V W X Y Z O P O Q R S T U V O P O Q R S T U V O P O Q R S T U V AA AB W AC@6 ~
>`.pickRestart({
  A: "g2@23 ~", B: "a2@23 ~", C: "b2@23 ~", D: "c3@23 ~", E: "e2@11 ~", F: "d2@17 ~ d2@5 ~", G: "g1@21 ~ g1 ~",
  H: "a1@20 g1 ~ a1 ~", I: "b1@18 a1@3 ~ b1@2", J: "c2@21 ~ e2 ~", K: "g2@9 ~ g2 ~ e2@8 ~@2 e2 ~",
  L: "a2@9 ~ a2 ~ d2@8 ~@2 d2 ~", M: "g2@5 ~ g2@5 ~ f#2@5 ~ g2@5 ~", N: "a2@5 ~ g2@5 ~ f#2@5 ~ e2@5 ~",
  O: "c2@5 ~ c2@5 ~ d2@5 ~ d2@5 ~", P: "b1@5 ~ b1@5 ~ b1@5 ~ b1@5 ~", Q: "e2@5 ~ e2@5 ~ c2@5 ~ c2@3 ~ d2 ~",
  R: "g2@5 ~ g2@5 ~ g2@5 ~ g2@5 ~", S: "c2@5 ~ c2@5 ~ c2@6 c2@4 e2 ~", T: "g2@4 ~@2 g2@5 ~ e2@5 ~ e2@5 ~",
  U: "a2@5 ~ a2@5 ~ a2@5 ~ a2@5 ~", V: "d2@5 ~ d2@5 ~ d2@5 ~ d2@4 ~@2", W: "g2", X: "d2", Y: "g2@21 ~ g2@2",
  Z: "d2@11 ~ d2@3 ~ d2@3 ~ d2@2 ~@2", AA: "g1@23 ~", AB: "d2@23 ~", AC: "[d3@28 ~@4 g1@91 ~@21]/6",
})).s("gm_fretless_bass").gain(0.4)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  ~@20 A B A C@2 D E F G H I J K L@2 M N O I J K J P Q@2 A B A C@2 D E F G A B A C@2 D E F G R S T U A B A C@2 D E F G A
  B A C@2 D E F G A B A C@2 D E F G ~@4 V@4 ~@2
>`.pickRestart({
  A: "[c3,g3,e4] [d3,a3,f#4]", B: "[b2,f#3,d4]", C: "[[e3,b3,g4] [c3,e4] [g2,b3,d4]@2, ~ g3@3]/2", D: "[c3,g3,e4]",
  E: "[g2,g3,b3,d4] [e3,d4,g4]", F: "[a2,a3,c#4]", G: "[d3,c4,f#4]", H: "[g3,d4,b4]", I: "[a3,e4,c5]", J: "[b3,g4,d5]",
  K: "[c4,g4,e5]", L: "[[b3,g4] [e3,b3,g4], d5@13 ~@11]/2", M: "[a2,c#4,g4]", N: "~ f#4@22 ~, [d3,c4]",
  O: "[g3,b4], d4@11 ~", P: "[a3,e4,c5] [d3,c4,f#4]",
  Q: "[[b3,g4]@6 b4@6 a4@5 ~ b4@6 c5@5 ~ b4@6 a4@6 g4@5 ~, ~@3 d4@20 ~]/2", R: "~ g3 d4 g4", S: "d4@23 ~",
  T: "~ g4 d5 g5", U: "d5@23 ~", V: "[~@4 [g2,d3,b3,g4]@43 ~]/4",
})).s("gm_string_ensemble_1").gain(0.31)

// chords · electric guitar clean · "Guitar"
const electric_guitar_clean = note(`<
  ~@10 A@2 ~@8 B C B D E F G H I ~@6 A@2 ~@8 B C B D E F G H I B C B D E F G H I ~@4 B C B D E F G H I B C B D E F G H I
  B C B D E F G H I ~@10
>`.pickRestart({
  A: "[g4@7 ~@6 e5@6 ~@5 [c5,f#5]@2 ~@2 e5 ~@5 d5@11 ~@3, ~@11 [g4,c#5]@8 ~@4 a4@2 ~@23]/2", // Cdim Gdim
  B: "~@6 [c4,e4,g4] ~@11 [d4,f#4,a4] ~@5", C: "~@6 [b3,d4,f#4] ~@11 [b3,d4,f#4] ~@5",
  D: "~@6 [e4,g4,b4] ~@11 [c4,e4,g4] ~@5", E: "~@6 [d4,g4] ~@11 [d4,g4] ~@5", F: "~@6 [c4,e4,g4] ~@11 [c4,e4,g4] ~@5",
  G: "~@6 [d4,g4] ~@11 [d4,e4,g4] ~@5", H: "~@6 [c#4,e4,g4] ~@11 [c#4,g4] ~@5",
  I: "~@6 [c4,d4,f#4] ~@11 [c4,d4,f#4] ~@5", // D7
})).s("gm_electric_guitar_clean").gain(0.35)

// other · clarinet
const clarinet = note("<~@20 A B ~@23 A B ~@7 A B ~@11 A B ~@7 A B ~@7 A B ~@7 C D E F G@3 ~@3>".pickRestart({
  A: "~@6 a5@4 b5@2 a5@9 ~ f#5@2", B: "d5@11 ~", C: "~@6 g3@6 d4@5 ~ g4@6", D: "d4", E: "~@6 g3@5 ~ d4@6 b4@5 ~",
  F: "a4@6 g4 ~", G: "[~@4 g4@67 ~]/3",
})).s("gm_clarinet").gain(0.25)

// other · timpani
const timpani = note("<~@66 A B ~@6 C D E F E G H B I C J E K E G H B I C L ~@10>".pickRestart({
  A: "~@10 d3!3 ~@3 d3@2 ~@2 d3 ~@3", B: "c3 ~@11", C: "a2 ~@11", D: "d3 ~@5 d3 ~@5 d3@2 ~@2 d3@2 d3@2 ~@2 d3@2",
  E: "c3 ~@5 d3 ~@5", F: "b2 ~@10 b2", G: "e3 ~@5 c3 ~@4 d3", H: "g2 ~@11", I: "g2 ~@5 e2 ~@5",
  J: "d3@2 ~@10 d3@2 d3 ~ d3@2 d3@2 d3 ~ d3@2", K: "b2 ~@23", L: "d3 ~@11",
})).s("gm_timpani").gain(0.45)

// drums · kick
const kick = s("bd").struct("<~@18 A@11 B@4 C B@8 D A@20 E@3 F A@27 ~@10>".pickRestart({
  A: "x!4", B: "x ~@4 x!2 ~@4 x", C: "x ~@5 x ~@4 x", D: "x ~@4 x!2 ~@5", E: "x ~@10 x", F: "x",
})).gain(0.45)

// drums · snare
const snare = s("sd").struct("<~@19 A B@9 ~@15 A B@18 ~@3 C B@8 A B@8 A B@9 ~@10>".pickRestart({
  A: "x!12", B: "~ x ~ x", C: "~@3 x ~@2 x ~ x ~ x ~",
})).gain(0.45)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@20 A B@6 A C D@13 E ~@2 A B@6 A C A B@6 A C D@3 ~ A B@6 A ~ A B@6 A ~ A B@6 A C ~@10
>`.pickRestart({
  A: "~ x!3", B: "x!4", C: "~ x!2 ~", D: "~ x ~ x", E: "~ x ~@2",
})).gain(0.4)

// drums · open hat
const open_hat = s("oh").struct("<~@42 [~@3 x] ~@23 [~ x ~@2] ~@37>").gain(0.45)

// drums · high tom
const high_tom = s("ht").struct("<~@66 [~@3 x!3] ~@37>").gain(0.4)

// drums · crash
const crash = s("cr").struct("<~@20 A ~@24 A ~@21 A ~@6 A@3 ~@6 A ~ A ~@6 A@2 ~@10>".pickRestart({
  A: "x",
})).gain(0.4)

// drums · ride
const ride = s("rd").struct(`<
  ~@18 A ~@8 B C D ~@6 E D ~@5 A ~@8 B C D ~@6 B C D ~@10 E F ~@7 E ~@8 E F ~@10
>`.pickRestart({
  A: "x!4", B: "x ~@10 x", C: "x ~@7 x!2 ~ x", D: "x", E: "~@11 x", F: "~@8 x!2 ~ x",
})).gain(0.35)

// drums · tambourine
const tambourine = s("tb").struct("<~@20 A@9 ~@16 A@18 ~@2 A B A@27 ~@10>".pickRestart({
  A: "~ x ~ x", B: "~@3 x ~@2 x ~ x ~ x ~",
})).gain(0.45)

stack(
  piano, bass, string_ensemble_1, electric_guitar_clean, clarinet, timpani, kick, snare, hihat, open_hat, high_tom,
  crash, ride, tambourine
)

More by The Monkees