Strudelify
Mr. Jones cover art

1993 · August And Everything After

Mr. Jones

Counting Crows

KeyC majorTempo143 bpm
0:00/0:00
// Mr. Jones — Counting Crows
// 143 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 158 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(143/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · electric guitar clean · "Clean Guitar"
const electric_guitar_clean = note(`<
  A@4 B@4 A@4 B@4 A@4 B@4 A@4 B@4 A@4 B@4 A@4 B@4 C D E@2 C D E@2 C D E@2 C D E@2 A@4 B@4 A@4 B@4 C D E@2 C D E@2 C D
  E@2 C D E F G@2 H@2 G@2 I@2 G@2 H@2 G@2 I@2 G@2 H@2 J@2 K@2 C D E@2 C D E@2 C D E@2 C D E@2 C D E@2 C D E@2 C D E@2 C
  D E@2 C D L@3 ~
>`.pickRestart({
  A: "[[e2,a2,e3,a3,c4,e4]@2 [e2,a2,e3,a3,c4,e4]@2 ~ a3 ~ [f2,c3,f3,a3,c4,f4]@3 [f2,c3,f3,a3,c4,f4]@2 a3 ~@2 [f#2,a2,d3,a3,d4,f#4]@3 [f#2,a2,d3,a3,d4,f#4]@2 ~@2 d3 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4] [g2,d3,g3,b3,g4]@2]/4", // Am F D G
  B: "[[e2,a2,e3,a3,c4,e4]@2 [e2,a2,e3,a3,c4,e4]@2 ~ a3 ~ [f2,c3,f3,a3,c4,f4]@3 [f2,c3,f3,a3,c4,f4]@2 a3 ~@2 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@2 ~@2 g3 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4]@3 [g2,d3,g3,b3,g4] [g2,d3,g3,b3,g4]@2]/4", // Am F G
  C: "[e2,a2,e3,a3,c4,e4]@2 [e2,a2,e3,a3,c4,e4]@4 [e2,a2,e3,a3,c4,e4]!2", // Am
  D: "[f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@4 [f2,c3,f3,a3,c4,f4]!2", // F
  E: "[g2,d3,g3,b3,g4]@2 [g2,d3,g3,b3,g4]@4 [g2,d3,g3,b3,g4]!2", F: "[g2,d3,g3,b3,g4] [g2,d3,g3,b3,g4]@3",
  G: "[e2,a2,e3,a3,c4,e4]/2", H: "[f2,c3,f3,a3,c4,f4]/2", I: "[g2,d3,g3,b3,g4]/2", J: "[e2,a2,e3,a3,c4,e4]!2",
  K: "[g2,d3,g3,b3,g4]!8", L: "[g2,d3,g3,b3,g4]/3",
})).s("gm_electric_guitar_clean").gain(0.31).pan(0.6)

// chords · electric guitar clean · "Clean Guitar" · soft notes
const electric_guitar_clean_2 = note(`<
  A B C ~ A B D ~ A B C ~ A B D ~ A B C ~ A B D ~ A B C ~ A B D ~ A B C ~ A B D ~ A B C ~ A B D ~@17 A B C ~ A B D ~ A B
  C ~ A B D ~@79
>`.pickRestart({
  A: "~@4 [e2,a2,e3,a3,c4,e4] [e2,a2,e3,c4,e4] [e2,a2,e3,a3,c4,e4] ~", // Am
  B: "~@4 [f2,c3,f3,c4,f4] [f2,c3,f3,a3,c4,f4]!2 ~", C: "~@4 [f#2,a2,d3,a3,d4,f#4]!2 [f#2,a2,a3,d4,f#4] ~",
  D: "~@4 [g2,d3,g3,b3,g4]!2 [g2,d3,b3,g4] ~", // G
})).s("gm_electric_guitar_clean").gain(0.15).pan(0.6)

// other · electric guitar clean · "Clean Guitar"
const electric_guitar_clean_3 = note("<~@15 A B@2 ~@5 A B@2 ~@5 C D@2 ~@29 A B@2 ~@9 C D@2 ~@80>".pickRestart({
  A: "~@7 g2", B: "a2/2", C: "~@4 c4 d4 c4 g3", D: "a3/2",
})).s("gm_electric_guitar_clean").gain(0.51).pan(0.3)

// other · electric guitar clean · "Clean Guitar" · soft notes
const electric_guitar_clean_4 = note("<~@113 A@2 B ~@42>".pickRestart({
  A: "[~ e4 g4 a4@11 ~@2]/2", B: "~ e4 g4 a4 c5 b4 a4@2",
})).s("gm_electric_guitar_clean").gain(0.26).pan(0.3)

// bass · electric bass pick · "Picked Bass"
const bass = note(`<
  ~@22 A@2 B C@3 B D E F B C@3 B D E F B C@3 B D E F G H I J G H I J G H I J G H I J B C@3 B D E F B C@3 B D E F G H I J
  G H I J G H I J G H I J K@2 L@2 K@2 M@2 K@2 L@2 K@2 M@2 K@2 L@2 K@2 A@2 G H I J G H I J G H I J G H I J G H I J G H I
  J G H I J G H I J G H N@4
>`.pickRestart({
  A: "g1!8", B: "g1@2 a1@3 g1@3", C: "[f1@3 e1@3 d1@3 d1@3 d1@2 g1@3 g1@3 g1!4]/3", D: "f1@3 e1@3 d1@2",
  E: "g1@3 g1 g1@3 g1", F: "g1@3 g1!5", G: "a1@4 c2 e2 c2 a1", H: "f1 a1@2 f1", I: "g1 g1@2 f1", J: "g1 g1@2 e1",
  K: "[a1 a1@6 a1]/2", L: "[f1 f1@6 f1]/2", M: "[g1 g1@6 g1]/2", N: "g1/4",
})).s("gm_electric_bass_pick").gain(0.51)

// drums · kick
const kick = s("bd").struct(`<
  A B A ~ A B A ~ A B A ~ A B A ~ A B A ~ A B A C D@71 E F@21 G H I D@34 A ~@3
>`.pickRestart({
  A: "x", B: "~@7 x", C: "~@6 x!2", D: "x!2", E: "x!3 ~", F: "x!2 ~@2", G: "x!2 ~ x", H: "x ~@2 x", I: "~@5 x ~ x",
})).gain(0.26)

// drums · snare
const snare = s("sd").struct(`<
  ~@23 A B@3 C B@19 D B@3 C B@3 C B@3 C B@3 D B@3 C B@11 D B@3 C B@3 C B@3 C B@3 E F G F G H G F I F G F I F@3 J F@3 K F
  K L M B@3 D B@3 D B@3 D B@3 D B@3 D B@3 D B@3 D B@3 D B@2 E ~@3
>`.pickRestart({
  A: "~@6 x!2", B: "~ x ~ x", C: "~@2 x ~@3 x!2", D: "~@2 x ~ x ~@5 x ~ x ~ x!2", E: "x", F: "~ x", G: "~ x ~@2 x ~@3",
  H: "~@2 x!2", I: "~ x ~@2 x ~@2 x", J: "~@8 x ~@3 x!2 ~@2", K: "~@4 x ~@2 x", L: "~@2 x ~@2 x ~@2", M: "x!2 ~ x",
})).gain(0.31)

// drums · hihat
const hihat = s("hh").struct(`<
  A@23 B A@3 B A@19 C A@3 B A@3 B A@3 B A@3 D A@3 B A@11 C A@3 B A@3 B A@3 B E A@2 F ~@24 A@3 D A@3 D A@3 D A@3 D A@3 D
  A@3 D A@3 D A@3 D A@2 F ~@3
>`.pickRestart({
  A: "x!2 ~ x!3 ~ x", B: "x!2 ~ x!3 ~@2", C: "x ~@2 x!2 ~@3", D: "x!2 ~ x!2 ~ x ~", E: "~ x ~ x!3 ~ x", F: "x",
})).gain(0.31)

// drums · low tom
const low_tom = s("lt").struct("<~@95 [~@6 x!2] ~@62>").gain(0.31)

// drums · open hat
const open_hat = s("oh").struct(`<
  A@23 B A@23 ~ A@15 C A@15 ~ A@15 ~ D@24 A@3 C A@3 C A@3 C A@3 C A@3 C A@3 C A@3 C A@3 C A@2 ~@4
>`.pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "~@2 x ~@2 x ~@2", D: "x!4",
})).gain(0.31)

// drums · open hat · soft notes
const open_hat_soft = s("oh").struct("<~@96 [~ x ~ x ~ x ~ x]!24 ~@38>").gain(0.1)

// drums · mid tom
const mid_tom = s("mt").struct("<~@95 [~@6 x!3 ~ x ~@5] ~@62>").gain(0.31)

// drums · crash
const crash = s("cr").struct(`<
  ~@24 A ~@23 A ~@3 A ~@3 A ~@3 A ~@3 A ~@15 A ~@3 A ~@3 A ~@3 A ~@3 A ~@15 A ~@5 B C A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A
  ~@3 A ~@3 A ~@3 A ~ A ~@3
>`.pickRestart({
  A: "x", B: "~@2 x ~@2 x ~@2", C: "x!4",
})).gain(0.51)

// drums · ride
const ride = s("rd").struct("<~@47 [~ x!2 ~@2 x!2 ~] ~@31 [~ x!2 ~@2 x!2 ~] ~@78>").gain(0.31)

stack(
  electric_guitar_clean, electric_guitar_clean_2, electric_guitar_clean_3, electric_guitar_clean_4, bass, kick, snare,
  hihat, low_tom, open_hat, open_hat_soft, mid_tom, crash, ride
)

More by Counting Crows