Strudelify

Something in the Way She Moves

James Taylor

KeyC majorTempo78 bpm
0:00/0:00
// Something in the Way She Moves — Taylor James
// 78 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 7 "JAZZ GTR" electric guitar jazz (copy of ch 1 "STEEL GTR" acoustic guitar steel)
// note: Full arrangement: all 57 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(78/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 · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A@6 B C@4 D@2 E F G H I F G H I J K L@2 M N O L@2 P Q R S T@2 U V@4 W@2 X F Y H I F G H Z@2 AA AB@2
>`.pickRestart({
  A: "[~@7 g3 ~@5 a3@3 ~@2 f3 ~@4 g3 ~@5 a3@3 ~@2 f3 ~@4 g3 ~@5 a3@3 ~@2 f3 ~@4 g3 ~@10 g3@2 ~@2 g3@2 [g2,a3,a#3,f4]@4 ~@10 g3@2 ~@6 f3@2, c3@16 c3@16 c3@16 c3@13 a3@5 ~@12 g3@2 g2@3 g4@5 f3@6 ~@2, ~@2 g3@4 ~@2 a3@3 a#3@5 ~@3 g3@3 ~@2 a3@3 a#3@5 ~@3 g3@3 ~@2 a3@3 a#3@5 ~@3 g3@3 ~@2 a3@3 a#3@5 c3@12 c3@15 a#4@5, ~@4 e4@14 ~@2 e4@14 ~@2 e4@14 ~@2 e4@12 ~@4 e4@4 ~@7 d4@10 ~ d4@6, ~@9 f4@7 ~@9 f4@7 ~@9 f4@7 ~@9 f4@10 ~@12 g4@3 g3@2 g2@8 a#2@4]/6", // Gm7
  B: "~@9 d4 ~@4 g3@2, c3@3 g4@9 ~ g4@3, ~ c4@5 g2@2 c3@8, ~ g3@4 g3!2 ~, ~@4 g2 d4@2 c4@3 ~ e4@5",
  C: "[~@14 a#3 ~@9 g4 a4@2 c4 [d4,e4,g4] d4 ~@4 c4@3 ~ c4@2 g2@4 ~@10 g3@2 f3@2 ~@4 f3@2, g2@6 a2@2 a#2@4 d#3@4 f3@7 ~ f3@6 d3@2 c3@11 ~ c3@6 ~@2 d4@12, ~@2 g3@2 g3@6 g3@3 ~@2 a#3@2 ~ c4@4 ~ c4@4 ~@3 c4@4 ~@6 [a3,a#3,f4]@6 g3@3 ~ g3@4 ~@4 f3@4 ~@2, ~@3 d4@2 e4@2 d4@4 d4@2 ~@6 [f4,g4]@2 f4@6 ~@4 d4@2 ~@15 g2@11 ~ a#2@4, ~@20 a4@4 ~@23 g4@11 ~@6]/4", // Em7 A#maj7 Fsus2
  D: "[~@6 g2 c4 d4 ~@5 c3@2 ~@6 a2@2 ~@2 f3@2 ~@2 d#4 a#3, c3@8 c3@5 ~@3 g2@5 a#3@3 ~@8, ~ c4@4 d4@3 ~ e4@2 ~@9 d4@4 ~@8, ~ g3@4 g3@3 ~ g3@2 ~ a#2@2 d#3@2, ~@3 g4 g2 g4@5 ~ g4@12 ~@9]/2",
  E: "~@7 c4 d4 e4@2 ~@3 g3 ~, c3!2, ~ g3@2 g2 ~@2 g2@2, ~@3 g4@7 ~ g4@5, ~@4 g2 d4@2 ~@9",
  F: "~ [g3,e4]!3 ~ [a#3,d4] ~ [g3,c4], c3@2 g3 f3", // C A# C5
  G: "~@7 c4 d4 ~@5 b2@2, c3@4 g2@2 g2@2 c3@5 ~@3, ~@2 g3@3 [g3,d4]@4 ~ g3@5 ~, ~@3 g4@8 g4@4 ~, ~@5 c4@2 ~@2 e4@2 ~ c4@4", // G5
  H: "~@7 a3, a2 d3, ~@2 g3@3 c4@3 ~@4 f4@4, ~@3 a4@4 f4@4 a4@5, ~@4 e4@2 g3@2 ~@2 a3@3 d4@2 ~",
  I: "~@2 [g3,c4,d4]@2 ~@2 g3 ~@3 [d4,f4]@2 ~@2 [g3,c4,d4]@2, g2@7 ~ d3@4 g2@4, ~@4 d4@3 a4@5 ~@4, ~@5 c4@2 ~@9", // Gsus4 Dm Gsus4
  J: "~@2 c4 g4 [d4,e4,g4] ~ c4@2 a#3 ~@2 f4 ~@3 f4, c3@8 ~@2 a#4@2 ~ c4@3, ~@5 d4@3 ~ a#3@3 f3@4, ~@7 a4", // Em7
  K: "~@5 c4 ~ c4 d4 ~@5 g3@2, c3@2 g2!2 c3@4, ~ c4@2 g4@6 e4@4 e4@3, ~@2 g3@3 [g3,d4]@3 ~@2 g3@2 g3@2 ~@2, ~@11 g4@5", // G5
  L: "[~@2 [c4,f4,a4]@2 [c4,f4,a4]@2 [c4,f4,a4] ~@7 d#3@2 d3@2 ~@8 [c4,f4,a4]!3 [c4,f4,a4]@2 ~, f3@8 d#3@6 ~@4 f3@3 ~ g3@2 f3@8, ~@10 g3@2 ~ g3@2 ~@5 d#3@4 ~@8, ~@11 a#3@8 a#3@3 ~ a#3@2 ~@7]/2", // F
  M: "~@7 a#3 ~@5 [c4,f4]!2 c4, d3@3 a#3@2 ~ g3@2 f3@8, ~ f3 d#3@2 ~ c4 a4@2, ~@11 [f4,g4]@2 ~@3", // F5 Fsus2
  N: "~@3 [g3,a#3] g3 [g3,a#3]@3 ~@2 a3 ~@3 c4!2, d#3 d3, ~@11 f4@5, ~@3 a#3", // Gm
  O: "~@5 [a#3,d4]!2 ~@6 e4 e3@2, g2@7 d4@2 g3@2 d4@2 ~@3, ~@2 f3@2 c3@2 d3 ~, ~@5 g4@3", // A#
  P: "d3@2 ~@8 [c4,f4,a4]!3 [c4,f4,a4]@2 ~, ~@2 f3@2 d#3@3 a#3@2 ~@7, ~@3 a#3@3 g3@2 f3@8", // F
  Q: "d3@2 ~@8 [c4,f4,a4] ~@3 [g3,c4]@2, ~@2 f3@2 d#3@3 a#3@2 ~@2 [c4,f4,a4]@2 ~@3, ~@3 a#3@3 g3@2 f3@4 c3@4", // F C5 F
  R: "~@2 [d4,a4] [c4,d4,a4]!2 [c4,d4,a4]@3 ~@2 [c4,d4,a4]!3 [c4,d4,a4]@2 ~, d3 g3", // D5 D7
  S: "~@6 f4@2 ~@2 [c4,d4,a4] [c4,d4,a4]@4 ~, d3 g2, ~@2 f4@3 a4@3 ~@8, ~@3 c5@5 ~@8", // D7
  T: "[~ g3 ~ g3 [g2,a3,a#3,f4]@2 ~@5 g3 ~@3 f3, c3@12 c3@15 a#4@5, ~@4 e4@4 ~@6 g3@2 g2@3 g4@5 f3@6 ~@2, ~@15 d4@10 ~ d4@6, ~@15 g4@3 g3@2 g2@8 a#2@4]/2", // Gm7
  U: "~@7 c4 d4 ~ g3@2 ~@2 g3@2, c3@3 g4@9 ~ g4@3, ~ c4@4 d4@3 ~ e4@5 ~@2, ~ g3@4 ~ g3 ~, ~@2 g2!2 [c3,c4]@4", // C
  V: "[~@14 d#4 ~@9 a#4 a4 g4 f4 ~@6 c4@2 ~@2 c4@2 ~@2 c3@2 ~@10 g3@2 f3@2 ~@4 f3@2, g2@6 a2@2 a#2@4 d#3@4 f3@7 ~ f3@4 [f3,g4]@2 d3@2 c3@9 ~@3 c3@6 ~@2 d4@12, ~@2 g3@2 g3@6 g3@3 ~@6 [f4,g4]@2 f4@5 ~@5 d4@2 ~@3 e4@4 g2@4 ~@4 g2@11 ~ a#2@4, ~@3 d4@2 e4@2 d4@4 d4@2 ~@2 d#4@2 ~ c4@4 ~ c4@4 ~@3 c4@4 ~@6 [a3,a#3,f4]@6 g3@3 ~ g3@4 ~@4 f3@4 ~@2, ~@20 a4@4 ~@5 a4@3 ~@15 g4@11 ~@6]/4", // Fsus2 A#maj7
  W: "[~@6 g2 c4 d4 ~@5 c3@2 ~@6 a2@2 ~@2 f3@2 ~@2 a#3!2, c3@8 c3@5 ~@3 g2@5 a#3@3 ~@8, ~ c4@4 d4@3 ~ e4@2 ~@9 d4@4 ~@8, ~ g3@4 g3@3 ~ g3@2 ~ a#2@2 d#3@2, ~@3 g4 g2 g4@5 ~ g4@12 ~@9]/2",
  X: "~@8 d4 e4@2 ~@3 g3 ~, c3!2, ~ g3@2 g2 ~@2 g2@2, ~@3 g4@7 ~ g4@5, ~@4 g2 [c4,d4]@2 c4@6 ~@3", // Csus2
  Y: "~@8 d4 ~@5 b2@2, c3@4 g2@2 g2@2 c3@5 ~@3, ~@2 g3@3 [g3,d4]@4 e4@2 g4@4 ~, ~@3 g4@7 g3@5 ~, ~@5 c4@2 c4@4 ~ c4@4", // G5
  Z: "[~@2 [a3,c4,f4] ~@8 [c4,f4] ~@7 f4 [a3,c4,f4] c4 [d3,a3,c4]@2 ~@6 [a3,c4,f4]@2, g2@4 g2@3 g2, ~@3 [c4,f4]@2 f4@6 ~@2 f4@6 ~@2 f4@8 ~@3, ~@2 [a3,c4] [a3,c4]@2 [a3,c4] [a3,c4,f4] [a3,c4]@2 [a3,c4] ~@3 [a3,c4]@2 ~, ~@2 d3@2 ~@2 d3 ~]/2", // F F5 F D7 F F5 Am F …
  AA: "~@3 g4 e4 ~ c4 ~@4 f4 ~@3 f4, c3@4 a#2@2 ~ a4, ~@2 c4@3 d4@2 d4@2 a#3@3 f3@4, ~@10 a#4@2 ~ c4@3",
  AB: "[~@2 g3 ~@2 e4 ~ c4 g4 [d4,e4] ~ c4 ~ d4@19, c3@9 ~ [g2,d4]@2 [c3,g3,c4]@19 ~, ~ c4@3 g4@2 d4@3 g4@3 ~@20, ~@3 g3@5 g3@4 ~@20]/2", // Dsus2 G5 C5
})).s("gm_acoustic_guitar_steel").gain(0.28).pan(0.6)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  A B C D E F G H I J F K H L M N O P M N O P Q R S T U V W S T@2 X Y Z J F K H AA J F AB H L AC AD O P M AE AF AG AH Q
  AI@2
>`.pickRestart({
  A: "c3@8 g2 ~ g2 ~ g2@2 g2@2", B: "c3@5 ~ c3@2 g2 ~ g2 ~ g2 ~ g2@2", C: "c3@5 ~ c3@2 g2!2 g2@3 ~ d3@2",
  D: "c3@8 g2 ~ g2 ~ g2@4", E: "c2@7 ~ g1@4 c2@4", F: "g2@2 f2 a#1", G: "c2@4 g2 ~ g2@2 c2@8", H: "g2@3 a2 a#2@2 d#2@2",
  I: "f2@13 ~ d2@2", J: "c2@2 g1 c2", K: "c2@4 g2 ~ g2@2 c2@5 ~ c2@2", L: "c2@4 g2 ~ g2@2 c2@4 g1@4", M: "c2@2 g2 f2",
  N: "c2@4 g1 ~ g1@2 c2@6 b1@2", O: "a1@3 e2 d2@3 a2", P: "g2@2 d2 g1", Q: "c2@2 a#1 f1",
  R: "c2@4 g1 ~ g1@2 c2@4 d2@2 e2@2", S: "f2 d#2", T: "a#1@2 c2@2 f2@3 a1", U: "a#1@4 c2@4 f2@5 ~ f2 e2",
  V: "d#2@7 ~ d2@8", W: "g1@5 g2 f2 d2 c2@4 d2@2 e2@2", X: "a#1 c2 f2 c2", Y: "d2@6 a2@2 g2@5 ~ g2 a2",
  Z: "d2@8 g1@5 ~ g1@2", AA: "f2@4 f2@2 d#2 d2", AB: "c2@4 g2 ~ g2 g1 c2@5 ~ c2@2", AC: "c2@5 ~ c2@2 g2@4 f2@4",
  AD: "c2@3 ~ c2 a1 f1 d2 c2@6 b1@2", AE: "c2@3 ~ c2 a1 g1 d2 c2@5 ~ b1@2", AF: "a1 d2", AG: "g1@8 d2@7 ~",
  AH: "g2@2 d2 g2", AI: "[c2@8 g2@2 g1 ~ c2@20]/2",
})).s("gm_fretless_bass").gain(0.38).pan(0.4)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<A ~@22 B@5 C D E F G H ~@23>".pickRestart({
  A: "~@4 c4 ~@11", B: "[~@15 a4@8 g4@8 f4@8 a4@6 ~@2 f4@8 a4@7 ~ g4@8 f4@6 ~@3]/5", C: "d5@4 c5@4 a#4@3 ~ a#4@4",
  D: "c5@4 a#4@3 ~", E: "d5@8 f5@7 ~", F: "f5@4 a5@3 ~", G: "f5@2 g5 e5", H: "f5",
})).s("gm_electric_guitar_jazz").gain(0.3).pan(0.2)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz_2 = note("<A ~@27 B C D E F G ~@23>".pickRestart({
  A: "~@4 c4 ~@11", B: "a#4@4 a4@4 g4@3 ~ f4@4", C: "a4@8 g4@7 ~", D: "f4@4 a4@3 ~", E: "d5@2 f5 ~", F: "d5@2 d#5 c5",
  G: "a4@7 ~",
})).s("gm_electric_guitar_jazz").gain(0.31).pan(0.7)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz_3 = note("<A ~@23 B@2 C D E@2 F G H@3 ~@22>".pickRestart({
  A: "~@4 c4 ~@11", B: "[~ a4@4 g4@4 f4@4 a4@3]/2", C: "~ f4@4 a4@3", D: "~ g4@4 f4@3",
  E: "[~@2 d5@4 c5@4 a#4@3 ~ a#4@4 c5@8 a#4@6]/2", F: "~ d5@4 f5@3", G: "~ f5@4 a5@3",
  H: "[~ f5@4 g5@2 e5@2 f5@8 ~@7]/3",
})).s("gm_electric_guitar_jazz").gain(0.15).pan(1)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz_4 = note("<A ~@26 B@2 C@5 ~@23>".pickRestart({
  A: "~@4 c4 ~@11", B: "[~@15 a#4@4 a4@4 g4@3 ~ f4@4 ~]/2",
  C: "[a4@7 g4@7 ~ f4@8 a4@6 ~@2 d5@8 f5@6 ~@2 d5@8 d#5@4 c5@4 a4@14 ~@3]/5",
})).s("gm_electric_guitar_jazz").gain(0.11).pan(0)

stack(
  acoustic_guitar_steel, bass, electric_guitar_jazz, electric_guitar_jazz_2, electric_guitar_jazz_3,
  electric_guitar_jazz_4
)

More by James Taylor