Strudelify

People Everyday

Arrested Development

KeyG majorTempo91 bpm
0:00/0:00
// People Everyday — Arrested Development
// 91 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 9 "TROMBONE" trombone (copy of ch 8 "TRUMPET" trumpet)
// note: Full arrangement: all 99 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(91/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.

// bass · electric bass finger · "FINGERDBAS"
const bass = note("<~ A@55 ~ A@19 ~ A@19 B@2 ~>".pickRestart({
  A: "c2@2 ~ g1@2 ~ a1@2 ~@2 a1 ~ a1 b1@2 ~", B: "[c2@2 ~ g1@2 ~ a1@2 ~@2 a1 ~ a1 b1@18 ~]/2",
})).s("gm_electric_bass_finger").gain(0.5)

// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~ A@55 ~ A@19 ~ A@19 B@2 ~>".pickRestart({
  A: "[g3,b3,e4]@2 ~ [g3,b3,d4]@2 ~ [a3,c4,e4]@3 ~ [a3,c4,e4]@2 ~ [b3,d4,f#4]@2 ~", // Em G Am Bm
  B: "[[g3,b3,e4]@2 ~ [g3,b3,d4]@2 ~ [a3,c4,e4]@3 ~ [a3,c4,e4]@2 ~ [b3,d4,f#4]@18 ~]/2", // Em G Am Bm
})).s("gm_electric_guitar_jazz").gain(0.18).pan(0.4)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~@9 A@2 B C D@2 E@2 F@2 G@2 ~@24 D@2 E@2 F@2 G@2 ~@8 D@2 E@2 F@2 G@2 ~@12 D@2 E@2 F@2 G@2 D@2 E@2 F@2 H@2 ~@2
>`.pickRestart({
  A: "[g4,g5]@3 [e4,e5] [d4,d5]@2 ~@2 [g3,g4]@3 [e3,e4] [d3,d4]@2 [d4,d5] ~", // G E D G E D
  B: "[g4,g5] ~@3 [g3,g4] ~@3 [g4,g5] ~@3 [g3,g4] ~@3", // G
  C: "[g4,g5] ~ [g3,g4] ~ [g4,g5] ~ [g3,g4] ~ [g4,g5] ~ [g3,g4] ~ [g4,g5] ~ [g3,g4] ~", // G
  D: "[[a4,a5]@4 [g4,g5]@16 ~@2 [e4,e5]@2 [g4,g5] ~@2 [e4,e5] ~ [d4,d5] [e4,e5]@2]/2", // A G E G E D E
  E: "[[b3,b4] ~ [a3,a4]@2 [g3,g4]@16 ~@10 [d4,d5] ~]/2", // B A G D
  F: "[[a4,a5]@4 [g4,g5]@16 ~@2 [e4,e5]@2 [g4,g5] ~@2 [e4,e5] ~ [d4,d5] [e4,e5] ~]/2", // A G E G E D E
  G: "[[b3,b4] ~ [a3,a4]@2 [g3,g4]@16 ~@12]/2", H: "[[b3,b4] ~ [a3,a4]@2 [g3,g4]@24 ~@4]/2",
})).s("gm_string_ensemble_1").gain(0.4)

// other · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note(`<
  ~@13 A@2 ~@2 B@2 ~@26 A@2 ~@2 B@2 ~@10 A@2 ~@2 B@2 ~@14 A@2 ~@2 B@2 ~@2 A@2 ~@2 B@2 ~ C@2 ~
>`.pickRestart({
  A: "[[e4,e5] [d4,d5]@4 ~@3]/2", B: "[[e4,e5]@4 [d4,d5]@15 ~@13]/2", C: "[~@13 [e3,b3,e4]@19]/2",
})).s("gm_string_ensemble_1").gain(0.2)

// chords · trumpet · Em
const trumpet = note("<~@60 [[b3,e4,g4] ~@3] ~@16 [[e4,g4] ~@3]!4 ~@18>").s("gm_trumpet").gain(0.22).pan(0.3)

// chords · trumpet · soft notes
const trumpet_soft = note("<~@77 [b3 ~]!4 ~@18>").s("gm_trumpet").gain(0.12).pan(0.3)

// chords · acoustic guitar nylon · "NYLON GTR" · Am
const acoustic_guitar_nylon = note(`<
  ~
  [~@11 [a3,c4,e4]!2 ~@3]!55
  ~
  [~@11 [a3,c4,e4]!2 ~@3]!19
  ~
  [~@11 [a3,c4,e4]!2 ~@3]!20
  ~@2
>`).s("gm_acoustic_guitar_nylon").gain(0.15).pan(0.4)

// drums · kick
const kick = s("bd").struct("<[x!2 ~@5 x ~ x ~ x ~ x ~ x] [x!2]!96 ~@2>").gain(0.5)

// drums · snare
const snare = s("sd").struct(`<
  [~@2 x ~ x ~@5 x ~@3 x!2]
  [~ x ~ x]!75
  [~ x!2 ~ x ~ x!2]
  [~ x ~ x]!19
  [~@4 x ~@7 x!2 ~@2]
  ~@2
>`).gain(0.45)

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  A B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C B D B C
  B D B C B D B C B D B C B D B C B E B C B D B C B D B C B D B C B D B C B C ~@2
>`.pickRestart({
  A: "x ~@2 x!2 ~ x ~", B: "~@15 x", C: "x", D: "x ~@6 x", E: "x ~@5 x!2 ~@2 x ~@2 x ~ x",
})).gain(0.05)

// drums · clap
const clap = s("cp").struct("<~ [~ x ~ x]!96 ~@2>").gain(0.4)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@76 [~@7 x ~@5 x!3] ~@22>").gain(0.25)

// drums · china
const china = s("cr").struct("<~@96 [~@13 x ~@2] ~@2>").gain(0.35)

stack(
  bass, electric_guitar_jazz, string_ensemble_1, string_ensemble_1_soft, trumpet, trumpet_soft, acoustic_guitar_nylon,
  kick, snare, snare_soft, clap, hihat, mid_tom, china
)

More by Arrested Development