Strudelify
Make It With You cover art

Make It with You

Make It With You

Bread

KeyE majorTempo85 bpm
0:00/0:00
// Make It With You — Bread
// 85 bpm, 4/4, key E 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 73 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(85/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
const piano = note(`<
  A B C D E F G H I J K L E F G H M N O P Q R S T U V U W X Y Z@3 F G H M N O P AA R AB T AC@2 AD AE AF@3 AG ~ E F G H M
  N O P AH AI AH AI AH AI AH AI AJ ~@3
>`.pickRestart({
  A: "[g#3,b3,d#4,e4,g#4]@6 [g#3,b3,d#4,g#4]@6 [g#3,b3,d#4,g#4]@3 e3, e2, e3 ~@5 e3 ~@9", // Emaj7 G#m
  B: "[e3,a3,c#4,e4]@6 [e3,a3,c#4,e4]@5 e3 ~@2 g#3@2, e2, ~@3 [e3,a3,c#4,e4]", // A
  C: "[g#3,b3,d#4,g#4]@6 g#3@4 g#3@2 ~@2 e3!2, [e2,e4], e3 ~@5 [b3,d#4,g#4]@6 [g#3,b3,d#4,g#4]@4, ~@5 e3@2 ~", // G#m E G#m
  D: "[e3,a3,c#4,e4]@3 e3@2 e3 [e3,a3,c#4,e4]@2, e2, ~@3 [a3,c#4,e4]@3 ~@2", // A
  E: "[e3,g#3,b3,d#4]@6 [e3,g#3,b3,d#4]@6 [e3,g#3,b3,d#4]@3 ~", // Emaj7
  F: "[e3,a3,c#4,e4]@6 [e3,a3,c#4,e4]@6 [e3,a3,c#4,e4]@3 ~", G: "[e3,g#3,b3,d#4]@3 [e3,g#3,b3,d#4]@3 [e3,g#3,b3,d#4]@2",
  H: "[e3,a3,c#4,e4]@6 [e3,a3,c#4,e4]@4 a3 ~ [e3,a3,c#4,e4]@4", I: "[a2,e3,a3,c#4]@3 [a2,e3,a3,c#4]@3 [a2,e3,a3,c#4]@2",
  J: "[g#2,g#3,b3,d#4]@3 [g#2,g#3,b3,d#4]@2 [g#2,g#3,b3,d#4] [g#2,g#3,b3,d#4]@2", // G#m
  K: "[f#2,f#3,a3,c#4]@3 [f#2,f#3,a3,c#4]@3 [f#2,f#3,a3,c#4]@2", // F#m
  L: "[f#2,f#3,a3,c#4]@6 [f#2,f#3,a3,c#4]@6 [f#2,f#3,a3,c#4]@3 ~", M: "c#6@3 b5@3 c#6@8 e6@2",
  N: "d#6@3 b5@3 c#6@6 ~@4", O: "~ g#4 c#5 f5 f#5 f5 c#5 g#4", P: "[b4,e5]@5 ~@11", Q: "[g#3,b3,d#4]", R: "[a3,c#4,e4]",
  S: "[g#3,b3,d#4]@15 ~", T: "e4@2 d#4@2 ~@2 c#4 ~@3 b3@5 ~", U: "[e2,g#3,b3,d#4]@3 [e2,g#3,b3,d#4]@5",
  V: "[e2,a3,c#4,e4]@3 [e2,a3,c#4]@5", W: "[e2,a3,c#4,e4]@3 [e2,a3,c#4,e4]@5", X: "a2@3 a2, [a3,c#4,e4]",
  Y: "[g#2,g#3,b3,d#4]", // G#m
  Z: "[f#2@23 f#2@2 ~@2 a3 ~@4 [e3,g#3,b3,d#4]@6 [e3,g#3,b3,d#4]@6 [e3,g#3,b3,d#4]@3 ~, [a3,c#4]@7 c#4 ~@4, f#3@25 f#2@5 f#3@4 ~@14, ~@26 f#3@3 a3@4 ~@15]/3", // Emaj7 A
  AA: "~@6 b5!2, [g#3,b3,d#4]@9 g#5@7, g#5@4 g#5 e5@11, ~ a5@2 a5@13, ~ b5@2 e6@5", // G#m
  AB: "g#5 ~@11 b5@2 b5@2, [g#3,b3,d#4]@9 g#5@6 ~, ~ a5@2 a5@12 ~, ~@2 b5@4 e6@9 ~, ~@4 g#5 e5@10 ~", // G#m
  AC: "[e6@3 b5@3 a5@3 b5@3 g#5@10 b5@3 g#5@3 b5@2 e6@2]/2",
  AD: "e6@3 b5@3 a5@3 b5@3 [c#5,c#6] ~ [d#5,d#6] ~, ~@6 g#5 ~", // C# D#
  AE: "[e5,e6] ~ [f#5,f#6] ~ [g#5,g#6] ~ [a5,a6] ~ b5 ~ c#6 ~ d#6 ~@2 e6", AF: "e6@2 e5 b5@2 e5 a5@3 g#5@3 f#5@2 g#5@2",
  AG: "f#5@2 g#5 ~@3 g#5@5 ~@5", AH: "~@6 b5@3 ~@5 b5@2, g#5@9 g#5@7, ~@3 e6@6 ~@3 a5@4",
  AI: "~@12 b5@2 a5 ~, a5@9 a5@5 ~@2, ~@3 e6@12 ~, ~@6 c#6@9 ~", AJ: "[e2,g#3,b3,d#4]@13 ~@3",
})).s("gm_piano").gain(0.42).pan(0.3)

// bass · fretless bass · "BASS"
const bass = note(`<
  ~@5 A@2 B C D E F G H G I J K L M N@2 O P Q R S I C D E F G H G I J K L M N@2 O P T@8 U G H G I J K L M V W X W X Y X
  Y Z ~@3
>`.pickRestart({
  A: "[~@8 b2 c#3 e3 c#3 e3@2 e2@18]/2", B: "~@8 b2 c#3 e3 c#3 e3 ~ e2@2", C: "a1", D: "g#1@13 ~ g#1 ~",
  E: "f#1@13 ~ f#1 ~", F: "f#1@7 ~", G: "e1", H: "~@8 b2 c#3 e3 c#3 e3@2 e2@2, e2@7 ~",
  I: "~@8 b2 c#3 e3 c#3 e3 ~ e2@2, e2@7 ~", J: "a2", K: "g#2", L: "c#2", M: "b2@5 ~@11", N: "[e2@3 ~ b1 ~ e2@25 ~]/2",
  O: "b1@3 ~ b1@2 e2@10", P: "a1@2 g#1@2 ~@2 f#1 ~@3 b1@5 c#2", Q: "e2@5 ~ e2@10",
  R: "~@8 b2 c#3 e3 c#3 e3@2 e2 ~, e2@7 ~", S: "e2@5 ~ e2@9 ~", T: "e1@3 e2@3 b1@3 a1@3 b1@2 b1@2", U: "e1@3 ~",
  V: "e1@2 ~ e1@3 e2@2 ~ e2@3 g#1@2 b1@2, ~@12 f#1 ~@3", W: "e1@2 ~ e1@3 e2@3 e2@3 a1@2 b1@2",
  X: "e1@3 e1@3 e2@3 e2@3 g#1@2 b1@2", Y: "e1@2 ~ e1@3 e2@2 ~ e2@3 a1@2 b1@2", Z: "e1@9 ~@7",
})).s("gm_fretless_bass").gain(0.45)

// chords · string ensemble 1 · "STRING 1"
const string_ensemble_1 = note(`<
  A B C D@2 ~@3 B E F ~ G H G I J K L M N@2 O@2 G H G I J K ~@2 G H G I J K L M N@2 P@2 Q R S T U V W X ~ G H G I J K L
  M Y@4 Z@2 AA@2 AB ~@3
>`.pickRestart({
  A: "~@8 d#4 e4 g#4 ~ e5 f#5 g#5 b5, ~@11 b4@2 ~@3", B: "e6", C: "e6@2 b5@2 f#5 e5 b5 f#5",
  D: "[f#5@2 e5@2 b4@17 ~@11]/2", E: "d#6", F: "c#6", G: "[g#3,b3,d#4]", H: "[a3,c#4,e4]", I: "[a3,c#4,e4]@15 ~",
  J: "[a2,a3,c#4,e4]", K: "[g#3,b3,d#4]@7 ~, g#2", L: "~ g#4 c#5 f5 f#5 f5 c#5 g#4, [c#2,c#3,g#3]", M: "b4@3 ~@13",
  N: "[g#5@3 b5@3 c#6@9 ~]/2", O: "[g#5@3 b5@3 c#6@3 ~@7]/2",
  P: "[g#5@6 b5@6 c#6@6 ~@10 b4 [c#5,d#5] [e5,f#5,g#5] a5]/2", Q: "b5@7 g#5", R: "f#5@5 e5 f#5 g#5", S: "b5@6 c#6 d#6",
  T: "e6 d#6 e6 f#6 g#6 f#6 g#6 a6", U: "b6@3 g#6", V: "f#6@4 e6 b5 a5 g#5", W: "b5@7 ~", X: "f#6@2 g#6 ~@3 e6@4 ~@6",
  Y: "[~@4 a6 ~ g#6 ~ a6 ~ g#6 ~ f#6 ~ e6 ~ e6@2 ~@12 [e6,f#6] [g#6,a6], b6@29 ~@3]/2", // Esus2 Amaj7
  Z: "[~@4 a6 ~ g#6 ~ a6 ~ g#6 ~ f#6 ~ e6 ~ e6 ~@13 [e6,f#6,g#6] a6, b6@29 ~@3]/2", // E
  AA: "[~@4 a6 ~ g#6 ~ a6 ~ g#6 ~ f#6 ~ e6 ~@17, b6]/2", AB: "f#5@2 g#5 ~@3 g#5@6 ~@4",
})).s("gm_string_ensemble_1").gain(0.24)

// chords · string ensemble 1 · "STRINGS 2"
const string_ensemble_1_2 = note(`<
  ~ A B ~@8 C D@4 E F G ~@4 H ~@6 I J D@4 E F G ~@4 H K L K L M N O P ~ D@4 E F G Q R S T S T S T S U ~@3
>`.pickRestart({
  A: "~@3 g#4 a4 g#4@2 e4", B: "f#4 e4", C: "~@3 [b3,f#4]@5", D: "e2/4", E: "a2", F: "g#2", G: "c#2",
  H: "[a3,e5]@2 [g#3,d#5] ~@3 [f#3,c#5] ~@3 e3@5 ~, ~@10 c#5@3 ~@3", I: "~@12 b3 ~ b3@2", J: "g#4 b4 g#4 f#4@3 ~@2",
  K: "e4", L: "a4", M: "g#4 a4 g#4 a4 g#4 a4 g#4 a4, e4", N: "~@2 g#4@2 ~@2 g#4@2 ~@2 g#4@2 ~@2 g#4 ~, a4",
  O: "g#4@2 a4@2 g#4@2 a4@2 g#4@2 a4@2 g#4@2 a4 [a#4,b4,c#5], e4@3 ~", // A#m
  P: "[a3,d#5,f#5]@2 [g#3,e5,g#5] ~@3 [e3,c#5,e5]@5 ~@5", Q: "~@14 [b4,c#5] [d#5,e5]", R: "g#5@3 b5, f#5 ~@15",
  S: "f#5", T: "g#5@3 b5", U: "[b4,e5]@2 g#4 ~@3 d#4@7 ~@3",
})).s("gm_string_ensemble_1").gain(0.28)

// other · timpani
const timpani = note("<~@19 A ~@19 A ~@11 B C ~@7 A ~ D C D ~ E C F C ~@3>".pickRestart({
  A: "~@12 d#2@3 ~", B: "~@11 e2!5", C: "e2 ~@15", D: "~@9 e2!7", E: "~@11 e2 ~ e2!3", F: "~@6 e2!10",
})).s("gm_timpani").gain(0.4)

// other · timpani · soft notes
const timpani_soft = note("<~@51 A ~@10 B ~ C ~ D ~ E ~@4>".pickRestart({
  A: "~@10 e2 ~@5", B: "~@6 e2!3 ~@7", C: "~@8 e2 ~@7", D: "~@12 e2 ~@3", E: "~@5 e2 ~@10",
})).s("gm_timpani").gain(0.25)

// chords · acoustic guitar steel · "ACOUSTIC GUITAR"
const acoustic_guitar_steel = note(`<
  ~@20 A B C D E F G H I J K L E F G H I J ~@2 A B C D M N O N P Q R S ~ E F G H I J ~@2 T U V W X Y Z AA ~@4
>`.pickRestart({
  A: "[g#3,b3,d#4]@3 [g#3,b3,d#4]@3 [b3,d#4]@6 [g#3,b3,d#4]@4, ~@3 g#3@2 ~@3", // G#m B G#m
  B: "[a3,c#4,e4]@3 [a3,c#4,e4]@3 [a3,e4]@6 [a3,c#4,e4]@4", // A A5 A
  C: "[g#3,b3,d#4]@3 [g#3,b3,d#4]@3 [g#3,b3]@4 [g#3,b3]@4 [g#3,b3] ~, ~@6 d#4@9 ~", D: "e3@2 d#3 ~@3 c#3 ~@3 e3@5 ~",
  E: "[e3,g#3,b3,d#4]@2 g#3 [e3,g#3,b3,d#4]@3 [b3,d#4]@6 [g#3,d#4]@2 g#3 e3, ~@6 [e3,g#3]@3 ~@7", // Emaj7 B G#5 E
  F: "[e3,a3,c#4,e4]@2 a3 [e3,a3,c#4,e4]@2 a3 a3@2 ~@2 [a3,c#4]@2 a3!2 ~ e3, ~@6 [e3,c#4,e4]@3 e3@3 [e3,c#4,e4]@3 ~, ~@4 a3 ~@2 [a3,c#4,e4]", // A C#m A
  G: "[e3,g#3,b3,d#4]@3 [e3,g#3,b3,d#4]@3 [e3,g#3,b3,d#4]@3 [e3,b3,d#4]@3 ~@3 e3, ~@9 g#3@2 ~ d#4@4, ~@6 [g#3,b3]!2, ~@13 e3@2 ~", // Emaj7 G#m
  H: "[e3,a3,c#4,e4]@2 a3 [e3,a3,e4]@2 a3 a3@2 a3@2 a3@2 a3@2 a3@2, ~@3 [c#4,e4]@3 [c#4,e4]@2", // A A5 C#m
  I: "[a2,a3]@2 ~ a2@2 a2 [a2,a3]@2 ~@2 a3!2 [a3,c#4,e4]@4, [c#4,e4]@3 [c#4,e4]@3 ~@2, ~ a3@2 ~ a3 ~@3, ~@9 a2@6 ~", // A C#m
  J: "[g#2,g#3,b3,d#4]@3 [g#3,b3,d#4]@3 [g#2,g#3,b3,d#4]@3 ~ [g#3,b3,d#4]@2 [g#3,b3,d#4]@4, ~@9 g#2@7", // G#m
  K: "[f#3,a3,c#4]@3 [f#3,a3,c#4] ~@2 [f#3,a3,c#4]@4 [f#3,a3,c#4] ~ b2 ~ b2@2", L: "[f#3,g#3]@2 b3@2 g#3@2 f#3@5 ~@5",
  M: "[b3,e4,g#4]@3 [b3,e4,g#4]@3 [b3,e4,g#4]@3 [b3,e4,g#4]@3 [b3,e4,g#4]@4", // E
  N: "[c#4,e4,a4]@3 [c#4,e4,a4]@3 [c#4,e4,a4]@3 [c#4,e4,a4]@3 [c#4,e4,a4]@2 [c#4,e4,a4]@2", // A
  O: "[b3,e4,g#4]@3 [b3,e4,g#4]@3 [b3,e4,g#4]@3 [b3,e4,g#4]@3 [b3,e4,g#4] ~ [b3,e4,g#4]@2", // E
  P: "[b3,e4,g#4] ~@2 [b3,e4,g#4]@3 [b3,e4,g#4]@3 [b3,e4,g#4]@3 [b3,e4,g#4]@2 [b3,e4,g#4]@2", // E
  Q: "[c#4,e4,a4]@3 [c#4,e4,a4]@3 [c#4,e4,a4]@3 [c#4,e4,a4]@3 [c#4,e4,a4]@4", // A
  R: "[b3,e4,g#4]@3 [b3,e4,g#4]@3 [b3,e4,g#4] ~@2 [b3,e4,g#4]@3 [b3,e4,g#4]@4", // E
  S: "[b3,d#4,f#4]@2 [b3,e4,g#4] ~@3 [b3,e4,g#4]@4 ~@6", // B E
  T: "[e2,b3,e4,g#4]@3 [e2,b3,e4,g#4]@2 b3 b3@2 ~@2 [b3,e4,g#4]@2 b3@2 ~ e2, ~@6 [e2,e4,g#4]@3 e2@5 b3@2, ~@4 b3 ~ [e4,g#4]@2", // E
  U: "[e2,c#4,e4,a4]@2 c#4!2 ~ e4 [e2,c#4,e4,a4]@2 c#4 [e2,c#4,e4,a4] [e2,e4,a4]@3 ~@2 [b2,b3], ~@3 [e2,e4,a4]@3 ~@8 e2@2, ~@4 c#4@2 ~@4 c#4@2 ~ [c#4,e4,a4]@3", // A A5 B A5 A
  V: "[e2,b3,e4,g#4]@2 b3 [e2,b3,e4,g#4]@2 b3 [e2,b3,e4,g#4]@2 b3 [e2,b3,e4,g#4]@2 b3!3 ~ e2, ~@6 [e2,e4,g#4] [b3,e4,g#4]", // E
  W: "[e2,c#4,e4,a4]@2 c#4 [e2,c#4,e4,a4]@2 c#4 [e2,c#4,e4,a4]@2 ~ [e2,e4,a4] [e2,c#4,e4,a4]@2 ~@3 [e2,c#4], ~@4 c#4 ~ [c#4,e4,a4]!2, ~@13 e2@2 ~", // A A5 A C#m A
  X: "[e2,e4,g#4]@2 b3 [e2,b3,e4,g#4]@2 [b3,e4] [e2,b3,e4,g#4]@2 b3 [e2,b3,e4,g#4]@2 b3 [e2,b3,e4,g#4]@2 [b3,e4,g#4] e2, b3 ~@15", // E E5 E
  Y: "[e2,c#4,e4,a4]@2 c#4 [e2,c#4,e4,a4]@2 c#4 [e2,c#4,e4,a4]@2 c#4 [e2,c#4,e4,a4]@2 c#4 [e2,c#4,e4,a4]@2 ~ e2, ~@7 [c#4,e4,a4]", // A
  Z: "[e2,e4,g#4]@2 b3 [e2,b3,e4,g#4]@2 b3 [e2,b3,e4,g#4]@2 b3 [e2,e4,g#4]@3 [e2,b3,e4,g#4]@2 ~ e4, b3 ~@8 b3 ~@4 [e2,b3,e4,g#4]@2", // E
  AA: "[e2,c#4,e4,a4]@3 [e2,c#4,e4,a4]@2 c#4 [e2,c#4,e4,a4]@2 c#4 [e2,c#4,e4,a4]@2 c#4 [e2,c#4,e4,a4]@2 [e2,c#4,e4,a4] ~", // A
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(0.6)

// chords · acoustic guitar steel · "ACOUSTIC GUITAR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@20 A B ~@2 C D E F G H ~@2 C D E F G H ~@2 A B ~@11 C D E F G H ~@2 I J ~@2 K ~ L M ~@4
>`.pickRestart({
  A: "~@2 g#3 ~@2 g#3 ~@4 g#3@2 ~@4", B: "~@3 c#4@3 ~@2", C: "~@5 g#3 ~@6 b3@3 ~, ~@4 g#3!2 ~@2, ~@9 e3@2 e3@4 ~",
  D: "~@5 e4 ~@2", E: "~@2 g#3 ~@2 g#3 ~@2 g#3 ~@2 g#3 ~@4", F: "~@3 c#4@3 e3@3 e3@2 e3@5", G: "~@15 a2",
  H: "~@3 g#2@2 g#3 ~@10", I: "~@2 b3 ~@13", J: "~@12 c#4 ~@3", K: "~@15 e4", L: "~@10 b3@2 ~ b3 ~@2",
  M: "~@2 c#4 ~@10 c#4 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.11).pan(0.6)

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

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@13 A@6 B A@4 ~ A@7 ~ A@6 B A@12 ~@2 A@6 B ~ A@3 ~ A@3 ~@4>".pickRestart({
  A: "~@15 x", B: "~@3 x",
})).gain(0.36)

// drums · clap
const clap = s("cp").struct("<~@24 A@15 ~ A@12 ~ A@7 ~ A@8 ~@4>".pickRestart({
  A: "~ x ~ x",
})).gain(0.36)

// drums · snare
const snare = s("sd").struct("<~@11 A B@7 ~ B@11 C B@7 ~ B@12 ~ B@7 ~ B@7 D ~@4>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@4 x ~@4 x ~@2 x ~ x!2", D: "~@4 x ~@5 x!6",
})).gain(0.57)

// drums · hihat
const hihat = s("hh").struct("<~@4 A@8 B@7 ~ B@19 ~ B@12 ~ B@7 ~ B@8 ~@4>".pickRestart({
  A: "x ~ x ~ x!3 ~", B: "x!8",
})).gain(0.64)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@4 A@8 ~@7 B ~@19 B ~@20 B ~@12>".pickRestart({
  A: "~ x ~ x ~@3 x", B: "~ x ~@14",
})).gain(0.36)

// drums · open hat
const open_hat = s("oh").struct("<~@19 A ~@19 A ~@12 A ~@7 A ~@12>".pickRestart({
  A: "x",
})).gain(0.43)

// drums · crash
const crash = s("cr").struct("<~@20 A ~@2 B ~@8 A ~@7 A ~@2 B C@8 ~ A ~@7 A ~@3 A ~@3 A ~@3>".pickRestart({
  A: "x", B: "~@5 x ~@2", C: "~@3 x",
})).gain(0.57)

// drums · tambourine
const tambourine = s("tb").struct("<~@24 A@7 ~@9 B ~ C ~ D@8 ~@21>".pickRestart({
  A: "~@3 x", B: "x!3 ~", C: "x!4", D: "x!16",
})).gain(0.29)

// drums · congas
const congas = s("conga:13").struct("<~@12 A@7 ~ A@19 ~ A@12 ~ A@7 ~ A@8 ~@4>".pickRestart({
  A: "~ x!2 ~ x!2 ~ x ~ x!2 ~@5",
})).gain(1.37)

// drums · shaker
const shaker = s("sh").struct("<~@12 A@7 ~ A@19 ~ A@12 ~ A@7 ~ A@8 ~@4>".pickRestart({
  A: "x!16",
})).gain(0.43)

stack(
  piano, bass, string_ensemble_1, string_ensemble_1_2, timpani, timpani_soft, acoustic_guitar_steel,
  acoustic_guitar_steel_2, kick, kick_soft, clap, snare, hihat, hihat_soft, open_hat, crash, tambourine, congas, shaker
)

More by Bread