Strudelify
All I Have to Do Is Dream cover art

1958 · The Everly Brothers' Best

All I Have to Do Is Dream

The Everly Brothers

KeyE majorTempo110 bpm
0:00/0:00
// All I Have to Do Is Dream — The Everly Brothers
// 110 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 63 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(110/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, A@4 for four bars: edit a riff to change every repeat.

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~ A B A B A B A B A B A C A B A B A B D E F G H E F G I J A B A B A B A B D E F G H E F G I J A C A C A B A B A B A C
  A B K ~
>`.pickRestart({
  A: "e2@5 ~ e2@2 c#2@5 ~ c#2@2", B: "a1@5 ~ a1@2 b1@5 ~ b1@2", C: "a1@5 ~ a1@2 b1@4 c#2@2 d#2@2",
  D: "e2@5 ~ e2@2 a1@5 ~ a1@2", E: "e2@5 ~ e2@2 ~@2 e2@2 b1@2 e2@2", F: "a1@4 ~@2 a1 ~ a1@4 ~@2 a1@2",
  G: "g#1@4 ~@2 g#1 ~ g#1@5 ~ g#1@2", H: "f#1@5 ~ f#1@2 b1@5 ~ b1@2", I: "f#1@5 ~ f#1 ~ f#1@5 ~ f#1@2",
  J: "b1@2 b1@2 a1 ~ a1 ~ g#1@2 g#1@2 f#1 ~ f#1@2", K: "e2",
})).s("gm_acoustic_bass").gain(0.36)

// chords · epiano2 · "E.PIANO"
const epiano2 = note(`<
  A B C D E B F G C B H D E G C B C B H ~@2 I J K L M N O P B C B C G H B Q ~@2 M R S T U N O V B C B W B H B X B Y B Y
  B H Z ~
>`.pickRestart({
  A: "[e2,g#2,b2], e3@7 ~, [a#2,c5] ~@15", B: "~@3 [e3,g#3,c#4]", C: "[e3,a3,c#4]@7 ~@9", D: "~@3 [c#3,e3,g#3]",
  E: "[c#3,e3,a3]@3 ~@5", F: "[e3,a3,c#4]@5 ~@11", G: "~@12 [e3,g#3,c#4]@3 ~",
  H: "[e3,a3,c#4]@5 ~@3 [d#3,f#3,b3]@6 ~@2", I: "[a3,c#4,e4]@5 ~ [a3,c#4,e4]@2",
  J: "[g#3,b3,d#4]@10 ~@2 [g#3,b3,d#4]@3 ~", K: "[f#3,a3,c#4]@10 ~@2 [f#3,a3,c#4]@3 ~", L: "[e3,g#3,b3]@13 ~@3",
  M: "[a3,c#4,e4]@13 ~@3", N: "[g#3,b3,d#4]@13 ~@3", O: "[f#3,a#3,c#4]@13 ~@3", P: "[d#3,f#3,b3]@13 ~@3",
  Q: "[e3,a3,c#4]@5 ~@3 [d#3,f#3,b3]@5 ~@3", R: "[g#3,b3,d#4]@3 ~", S: "[f#3,a3,c#4]@9 ~@7", T: "b3@11 ~@5",
  U: "[a3,c#4,e4]@7 ~", V: "[d#3,f#3,b3]@3 ~", W: "[e3,a3,c#4] ~", X: "[e3,a3,c#4]@7 ~ [d#3,f#3,b3]@6 ~@2",
  Y: "[e3,a3,c#4]@3 ~ [d#3,f#3,b3]@3 ~", Z: "[e3,g#3,b3]",
})).s("gm_epiano2").gain(0.45)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A B C D E B F B F B G D E B C B C B G ~@2 H I J K L M N O B C B C B G B G ~@2 L P Q R S M N T B C B U B V B W B V B V
  B V X ~
>`.pickRestart({
  A: "[e3,g#3,b3], e4@7 ~, [a#3,c6] ~@15", B: "~@12 [e4,g#4,c#5]@3 ~", C: "[e4,a4,c#5]@7 ~@9",
  D: "~@12 [c#4,e4,g#4]@3 ~", E: "[c#4,e4,a4]@3 ~@5", F: "[e4,a4,c#5]@5 ~@11",
  G: "[e4,a4,c#5]@5 ~@3 [d#4,f#4,b4]@5 ~@3", H: "[a4,c#5,e5]@10 ~@2 [a4,c#5,e5]@3 ~",
  I: "[g#4,b4,d#5]@10 ~@2 [g#4,b4,d#5]@3 ~", J: "[f#4,a4,c#5]@9 ~@3 [f#4,a4,c#5]@2 ~@2", K: "[e4,g#4,b4]@3 ~",
  L: "[a4,c#5,e5]@3 ~", M: "[g#4,b4,d#5]@13 ~@3", N: "[f#4,a#4,c#5]@3 ~", O: "[d#4,f#4,b4]@13 ~@3",
  P: "[g#4,b4,d#5]@11 ~@5", Q: "[f#4,a4,c#5] ~", R: "b4@11 ~@5", S: "[a4,c#5,e5]@13 ~@3", T: "[d#4,f#4,b4]@11 ~@5",
  U: "[e4,a4,c#5] ~", V: "[e4,a4,c#5]@3 ~ [d#4,f#4,b4]@3 ~", W: "[e4,a4,c#5]@7 ~ [d#4,f#4,b4]@6 ~@2", X: "[e4,g#4,b4]",
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(0.1)

// chords · synth strings 1 · "SYN STRING"
const synth_strings_1 = note("<~ A@8 B@6 C@7 D E@3 F G@2 H@8 I@3 F E@3 F J@4 K@8 L@6>".pickRestart({
  A: "[b3@7 ~@9 a3@7 ~ [d#3,f#3]@8 ~@16 a3@7 ~ [d#3,f#3]@8 ~@16 a3@7 ~ [d#3,f#3]@8 ~@16 a3@7 ~ [d#3,f#3,b3]@8, e3@24 ~@8 e3@23 ~@9 e3@23 ~@9 e3@23 ~@9, g#3@16 ~@16 g#3@15 ~@17 g#3@15 ~@17 g#3@15 ~@17, ~@8 c#4@15 ~ b3@16 c#4@15 ~ b3@16 c#4@15 ~ b3@16 c#4@15 ~@9]/8", // D#m B
  B: "[~@16 a3@8 d#3@7 ~@17 a3@7 ~ [d#3,f#3]@8 ~@16 a3@7 ~ [f#3,b3]@8, e3@23 ~ f#3@10 ~@62, g#3@15 ~@17 e3@23 ~@9 e3@23 ~ d#3@6 ~@2, ~@8 c#4@15 ~ b3@16 c#4@15 ~ b3@16 c#4@16 ~@8, ~@32 g#3@15 ~@17 g#3@16 ~@16]/6", // D#m B5
  C: "[~@16 a3@7 ~ [d#3,f#3]@8 ~@16 a3@7 ~ [d#3,f#3]@8 g#3@7 ~ [a3,c#4]@7 ~ b3@8 d4@8 [a3,c#4]@15 ~, e3@23 ~@9 e3@23 ~@9 e3@47 ~, g#3@16 ~@16 g#3@15 ~@33 g#3@16 ~@16, ~@8 c#4@15 ~ b3@16 c#4@15 ~ b3@16 ~@40]/7", // D#m A
  D: "[d#3,b3], g#3@7 ~", // G#m
  E: "[[c#3,a3]@8 d#3@7 ~@9 d4@8 [a3,c#4]@15 ~, f#3@16 e3@31 ~, ~@8 b3@15 ~@25, ~@16 g#3@15 ~@17]/3", F: "[d#3,g#3,b3]",
  G: "[[c#3,a#3]@15 ~ b3@8 a3@8, f#3, ~@16 d#3@15 ~]/2", // F#
  H: "[b3@7 ~@9 a3@7 ~ [d#3,f#3]@8 ~@16 a3@7 ~ [d#3,f#3]@8 ~@16 a3@7 ~ [d#3,f#3]@8 ~@16 a3@7 ~ [d#3,f#3,b3]@8, e3@24 ~@8 e3@23 ~@9 e3@23 ~@9 e3@23 ~@9, g#3@16 ~@8 g#3 ~@7 g#3@15 ~@17 g#3@15 ~@17 g#3@15 ~@17, ~@8 c#4@15 ~ b3@16 c#4@15 ~ b3@16 c#4@15 ~ b3@16 c#4@15 ~@9]/8", // D#m B
  I: "[g#3@7 ~ [a3,c#4]@7 ~ b3@8 d4@8 [a3,c#4]@15 ~, e3@47 ~, ~ g#3 ~]/3", // A
  J: "[[c#3,a#3]@15 ~ d#3@15 ~@17 a3@7 ~ [d#3,f#3,b3]@8, f#3@31 ~ e3@23 ~@9, c3 ~@15 b3@24 c#4@15 ~@9, ~@32 g#3@15 ~@17]/4", // F# B
  K: "[~@16 a3@7 ~ d#3@8 ~@16 a3@7 ~ d#3@8 ~@16 a3@7 ~ [d#3,f#3]@8 ~@16 a3@7 ~ [d#3,f#3,b3]@8, e3@23 ~ f#3@32 f#3@32 ~@40, g#3@15 ~@17 e3@23 ~@9 e3@23 ~@9 e3@23 ~@9, ~@8 c#4@15 ~ b3@16 c#4@15 ~ b3@16 c#4@15 ~ b3@16 c#4@15 ~@9, ~@32 g#3@15 ~@17 g#3@15 ~@17 g#3@15 ~@17]/8", // D#m B
  L: "[~@16 a3@7 ~ [d#3,f#3]@8 ~@16 a3@6 ~@2 [d#3,f#3]@8 [e3,g#3]@17 ~@15, e3@23 ~@9 e3@23 ~@41, g#3@15 ~@17 g#3@15 ~@49, ~@8 c#4@15 ~ b3@16 c#4@15 ~ b3@25 ~@15]/6", // D#m E
})).s("gm_synth_strings_1").gain(0.21)

// other · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel_2 = note(`<
  ~ A B A B A B A C D E F G H C I C J C K L M N O P Q R S T U V F V W E F V X Y Z R AA AB AC R AD T AE C U C U C U C U C
  U C U AF AG ~
>`.pickRestart({
  A: "~ g#4 b4 g#4 ~ g#4 e4 g#4, e4 ~ c#5 ~", B: "~ a4 c#5 e4 b4 f#4 d#4 f#4, e4 ~@3", C: "e4 a4 c#5 e4 b4 f#4 d#4 f#4",
  D: "~@2 g#4@2 b4@2 g#4@2 ~@2 g#4@2 ~@2 g#4 ~, e4 ~ c#5 e4",
  E: "a4@2 ~@2 a4@2 c#5 ~ b4@2 f#4@2 d#4@2 f#4@2, ~@2 e4@7 ~@7", F: "~ g#4 b4 e4 c#5 g#4 ~ g#4, e4 ~@2 e4",
  G: "a4@2 ~@2 a4@2 c#5 ~@3 f#4@2 d#4@2 f#4@2, ~ e4@2 ~ b4@2 ~@2", H: "~ g#4 b4 g#4 c#5 g#4 e4 g#4, e4@5 ~@11",
  I: "~ g#4 b4 g#4 c#5 g#4 e4 g#4, e4 ~@3", J: "e4 g#4 b4 e4 c#5 ~ g#4 c#5, ~@10 e4@5 ~",
  K: "~ g#4 b4 e4 c#5 a4 ~ a4, e4 ~@2 e4", L: "b4 g#4 e4 ~ g#4 e4 d5 e4, ~@3 d5@2 ~@3",
  M: "~ a4 e4 c#5 ~ a4 c#5 e4, c#5 ~ e4 ~", N: "~@2 g#4@2 d#4@2 ~@2 g#4@2 ~@2 g#4@2 b4 ~, b4@2 ~ b4@2 d#4@3",
  O: "~ f#4 ~ f#4 b4 ~ f#4 b4, a4@2 c#4@2 ~ d#4@2 ~", P: "~@2 g#4@2 b4@2 e4@2 ~@2 g#4@2 ~@2 d5 ~, e4@5 ~@3 d5@4 e4@4",
  Q: "c#5 a4 e4 c#5 ~ a4 c#5 e4, ~@2 e4 ~", R: "b4 g#4 d#4 b4 ~ g#4 b4 d#4, ~@2 d#4 ~",
  S: "~ f#4 c#4 a#4 ~ f#4 a#4 c#4, a#4 ~ c#4 ~", T: "b4 ~@2 b4 a4 ~ f#4 a4, ~ d#4@2 ~@2 d#4@2 ~, ~ f#4 ~@2",
  U: "~ g#4 b4 e4 c#5 g#4 e4 g#4, e4 ~@3", V: "a4@2 ~@2 a4@2 c#5 ~ b4@2 f#4@2 d#4@2 f#4@2, ~ e4@2 ~@5",
  W: "e4 g#4 b4 e4 ~ g#4 ~ g#4, ~@2 c#5 e4", X: "~ g#4 b4 e4 c#5 a4 e4 c#5, e4 ~@3", Y: "e4 b4 g#4 e4 d5 g#4 e4 d5",
  Z: "c#5 a4 e4 c#5 e4 a4 c#5 e4", AA: "a4 ~ f#4 a4 ~ f#4 b4 d#4, ~@2 c#4@5 ~ d#4@4 ~@4",
  AB: "[d#4,b4] g#4 e4 ~ g#4 ~ g#4 d5, ~@6 d5@4 e4@5 ~", AC: "~ a4 e4 a4 ~ a4 c#5 e4, c#5 ~ e4 ~",
  AD: "a#4 f#4 c#4 a#4 ~ f#4 a#4 c#4, ~@2 c#4 ~", AE: "~ g#4 b4 e4 c#5 g#4 e4 g#4, e4@5 ~@11",
  AF: "~ a4 c#5 e4 b4 f#4 d#4 b4, e4 ~@3", AG: "e4",
})).s("gm_acoustic_guitar_steel").gain(0.4).pan(0.8)

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

// drums · rim
const rim = s("rim").struct("<~ [~@2 x ~@3 x!2]!60 ~@2>").gain(0.15)

// drums · hihat
const hihat = s("hh").struct("<~ [x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~]!60 ~@2>").gain(0.45)

// drums · shaker
const shaker = s("sh").struct("<~ [~@3 x ~ x ~ x]!60 ~@2>").gain(0.05)

stack(bass, epiano2, acoustic_guitar_steel, synth_strings_1, acoustic_guitar_steel_2, kick, rim, hihat, shaker)

More by The Everly Brothers