Strudelify

the red one

Pat Metheny

KeyD majorTempo100 bpm
0:00/0:00
// the red one — Pat Metheny
// 100 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/72349; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 111 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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 · "Electric Guitar"
const electric_guitar_clean = note(`<
  A B C D E F G H I@5 B C D J@5 K L@2 M K L@2 N@5 K L@2 O K L@2 M K L@2 N@5 K L@2 O P@4 Q@4 A B C D E F G H I@5 B C D
  J@5 K L@2 M K L@2 N@5 K L@2 O P@4 Q@4 D R D R S
>`.pickRestart({
  A: "~@13 f#4 f4 f#4", B: "a4 f#4 e4 c#4 d4 b3 f#3!2 e3!2 f#3@2 a3@2 b3 a#3",
  C: "b3 d4 c#4 b3 a3!2 f#3@2 a3@2 b3@2 ~ d3 e3 d3", D: "e3 f#3 a3 f#3 a3 b3 d4 b3 e4 f#4 a4@2 [a4,b4]@2 f4 [d4,e4]",
  E: "e4 d4 b3 f#3 a3!2 b3 a3 d4 b3 b3@2 ~ b4 a#4 b4", F: "d5 b4 a4 ~ f#4 e4 d4 ~ b3@2 d4@2 e4@2 f#4 f4",
  G: "f#4 b4 a4 f#4 e4!2 d4@2 e4@2 f#4@2 ~@3 b3", H: "d4@2 e4@2 e4 f#4 a4 f#4 b4@2 d5@2 [e5,f#5]@2 f5 [d5,e5]",
  I: "[e5 d5 b4 f#4 a4!2 b4 a4 d5 a4 b4@2 ~@2 [e2,b2,e3,g#3,d4,f#4]@16 [e2,b2,e3,g#3,d4,f#4]@16 [e2,b2,e3,g#3,d4,f#4]@16 [c3,e3,g3,b3,e4]@14 ~ f#4 f4 f#4]/5", // E7 Cmaj7
  J: "[e4 d4 b3 f#3 a3!2 b3 a3 d4 a3 b3@2 ~@2 [f#2,c#3,f#3]@16 [f#2,c#3,f#3]@16 [f#2,c#3,f#3]@16 [f#2,c#3,f#3]@18]/5", // F#5
  K: "[b2,d3,f#3,a3]@8 [a2,d3,f#3,b3]@3 [g3,b3,d4,f#4]@5", // Bm7 Gmaj7
  L: "[[e3,g3,b3,d4]@4 [f#3,a3,c#4,e4]@4 [d3,g3,b3,f#4]@3 [c3,e3,g3,b3]@3 [b2,d3,f#3,a3]@6 [a2,d3,f#3,b3]@4 [g3,b3,d4]@3 [e3,g#3,b3,d4]@5]/2", // Em7 F#m7 Gmaj7 Cmaj7 Bm7 G E7
  M: "[g3,b3,d4]@4 [f#3,a3,c#4,e4]@4 [c3,g3,b3,e4]@3 [b2,d3,f#3,a3]@5", // G F#m7 Cmaj7 Bm7
  N: "[[g3,b3,d4]@4 [f#3,a3,c#4,e4]@4 [c3,g3,b3,e4]@3 [b2,d3,f#3,a3]@3 [e2,b2,e3,g#3,d4,f#4]@16 [e2,b2,e3,g#3,d4,f#4]@16 [e2,b2,e3,g#3,d4,f#4]@16 [c3,e3,g3,b3,e4]@14 ~@4]/5", // G F#m7 Cmaj7 Bm7 E7 Cmaj7
  O: "[g3,b3,d4]@4 [f#3,a3,c#4,e4]@4 [c3,g3,b3,e4]@3 [b2,d3,f#3,a3]@3 ~@2", // G F#m7 Cmaj7 Bm7
  P: "[[f#2,c3,f#3]@7 [f#2,c#3,f#3]@8 [f#2,c#3,f#3]@8 [f#2,c#3,f#3]@9]/4", // F#dim F#5
  Q: "[[f#2,c#3,f#3]@7 [f#2,c#3,f#3]@8 [f#2,c#3,f#3]@8 [f#2,c#3,f#3]@9]/4", // F#5
  R: "e4 d4 b3 f#3 a3!2 b3 a3 d4 a3 b3@2 ~ d3 e3 d3", S: "e4 d4 b3 f#3 a3!2 b3 a3 d4 a3 b3@2 ~@4",
})).s("gm_electric_guitar_clean").gain(0.22)

// bass · electric bass finger · "Electric Bass"
const bass = note(`<
  ~ A B@2 C A B@2 D E@2 F G H B@2 I J@3 K A B@2 C A B@2 D E@2 F L A B@2 C A B@2 C A B@2 D E@2 F L A B@2 C M J@2 K M J@2
  K ~ A B@2 C A B@2 D E@2 F G H B@2 I J@3 K A B@2 C A B@2 D E@2 F L A B@2 C M J@2 K M J@2 K N O@2 P Q
>`.pickRestart({
  A: "~@2 b2 a2 b2!2 ~@2 a2@2 a2 g2 ~@2 f#2@2",
  B: "[~ e2@3 f#2@2 ~@2 g2!3 c#2 ~@2 b1@4 b2@2 ~ a2 ~@2 g2@3 e2 ~@2 e2@2]/2", C: "~ g2 ~@2 f#2@2 f#2 a1 c2 a1 b1@4 ~@2",
  D: "~ g2 ~@2 f#2@2 f#2 a1 c2 a1 b1@4 e1@2", E: "~ e1@3 e1@4 e1@3 e1@3 e1@2", F: "~ e1@3 e1@4 e1@3 e1@3 c2@2",
  G: "~ c2@3 g2@3 g2 c3@8", H: "~@2 b2 a#2 b2!2 ~@2 a2@2 a2 g2 ~@2 f#2@2",
  I: "~ g2 ~@2 f#2@2 f#2 a#1 c#2 a#1 b1@4 f#1@2", J: "~ f#1@3 f#1@4 f#1@3 f#1@3 f#1@2", K: "~ f#1@3 f#1@4 f#1@3 f#1@5",
  L: "~ c2@3 g2@3 g2 c3@4 ~@4", M: "f#1 f#1@3 f#1@4 f#1@3 f#1@3 f#1@2", N: "b1@2 b2@2 ~ a2 ~@2 g2@3 e2 ~@2 e2@2",
  O: "[~ f#2 ~@2 f#2@2 f#2 a#1 c#2 a#1 b1@2 ~@2 b1@4 b2@2 ~ a2 ~@2 g2@3 e2 ~@2 e2@2]/2",
  P: "~ f#2 ~@2 f#2@2 f#2 a#1 c#2 a#1 b1@2 ~@2 b1@2", Q: "~ g2 ~@2 f#2@2 f#2 a#1 c#2 a#1 b1@2 ~@4",
})).s("gm_electric_bass_finger").gain(0.24)

stack(electric_guitar_clean, bass)

More by Pat Metheny