Strudelify
Pretending cover art

1989 · Journeyman

Pretending

Eric Clapton

KeyG majorTempo100 bpm
0:00/0:00
// Pretending — Eric Clapton
// 100 bpm, 4/4, key G 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 87 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 30.
// note: The whole transcription plays 30 ms behind the beat; the grid follows it, so its parts stay together.
setcpm(100/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, A@4 for four bars: edit a riff to change every repeat.

// other · glockenspiel
const glockenspiel = note("<~ A@2 B@2 C@2 D@3 ~@77>".pickRestart({
  A: "[~@5 b4 ~ c5 ~ d5@3 ~ d5 ~ d5@2 e5@2 ~ e5 ~@11, ~@15 a4 ~@16]/2",
  B: "[~@3 g4@2 b4@2 c5@2 d5@3 ~@3 d5@2 e5@11 ~@4]/2",
  C: "[~@5 b4@2 c5@2 d5@3 ~ d5 ~ d5@2 e5@2 ~ e5 ~@11, ~@3 g4@4 ~@25]/2",
  D: "[~ g4@2 b4@2 c5@2 d5@6 d5@2 e5@16 c5@2 ~@15]/3",
})).s("gm_glockenspiel").gain(0.48)

// chords · piano
const piano = note("<~ A B A B A B A C ~@16 D@3 E@2 F@8 G@3 H@2 I@3 J K@4 L M@2 ~@33>".pickRestart({
  A: "~ [g3,b3,d4]@5 ~@3 [f#3,a3,d4]@4 ~@3", B: "~ [g3,c4,e4]@13 ~@2", C: "~ [g3,c4,e4]@10 ~@5",
  D: "[~@19 a#4@2 g4 ~ [g4,a#4,d#5]@13 ~@3 [f4,a#4]@8 d5, ~@15 d5@5 ~@28, ~@17 c5@4 ~@27]/3", // D# A#5
  E: "[~@3 a#4@2 g4 ~ [g4,a#4,d#5]@13 ~ [f4,a#4,d5]@11, ~ c5@4 ~@27]/2", // D# A#
  F: "[~@7 [f4,a4,c5]@29 ~@3 [a3,c#4,e4]@14 ~@2 [a3,d4,f#4]@15 ~ [a3,d4,f#4]@14 ~@2 [a3,c#4,e4]@14 ~@2 [g#3,c#4,e4]@2 ~ [g#3,c#4] ~ [g#3,c#4,e4] ~@2 [g#3,c#4,e4]@2 ~ [g#3,c#4,e4] ~ [g#3,c#4,e4] ~ [g#3,c#4,e4] [a3,d4,f#4]@3 [a3,d4,f#4] ~ [a3,d4,f#4] ~@2 [a3,d4,f#4]]/8", // F A D A C#m C#5 C#m D
  G: "[~@2 [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] [a3,d4,f#4]@3 [a3,d4,f#4] ~ [a3,f#4] d4 ~@3 g#6 [a3,d4,f#4,f#6] e6 [a3,d4,f#4] ~ [g#3,c#6] [a3,c#4,e4,a5]@14 ~@11, ~@15 [a3,d4,f#4]@2 ~@4 d6@2 ~@25, ~@8 a6 ~ e6 ~@13]/3", // D C#5 A D
  H: "[~@7 [e3,f3] ~ b4 [g4,c5] [g5,a5] ~@12 c#4 d#4 e4 f#4@4 ~, ~@11 f#5@10 ~@2 b3@2 ~@7]/2", // Fmaj7 C5 Gsus2
  I: "[~ [a#4,d#5,f#5]@4 ~@2 b3@2 c#4@2 d#4@4 e4@2 [g#3,c#4]@6 ~@4 [g#3,b3]@3 ~ [f#3,a#3]@2 ~@2 [g#3,b3]@2 ~@2 [a#3,c#4]@4 ~@5]/3", // D#m C#5 G#m F# G#m A#m
  J: "~@7 [b4,d#5,f#5]@9", // B
  K: "[~ b4@4 ~@2 b3@2 c#4@2 d#4@4 e4@2 [g#3,c#4]@6 ~@4 [g#3,b3]@3 ~ [f#3,a#3]@2 ~@2 [g#3,b3]@2 ~@2 [a#3,c#4]@2 ~@2 d#4@9 ~@3 [b4,d#5,f#5]@7 ~@2]/4", // C#5 G#m F# G#m A#m B
  L: "~ b4@4 ~@2 b3@2 c#4@2 d#4@4 e4", M: "[~ [g#3,c#4]@5 ~@5 [a3,d4]@3 ~ [a3,c#4]@3 ~ [a3,d4]@2 ~@2 [c#4,e4]@3 ~@6]/2",
})).s("gm_piano").gain(0.4)

// chords · piano · soft notes
const piano_soft = note("<~@26 A ~@9 B ~@4 C ~@7 D@2 ~@36>".pickRestart({
  A: "~@5 a#4 ~@10", B: "~@10 e4 ~@5", C: "~@8 [g3,a3,b3,c4,d4] [e4,f4,g4,a4] [d5,e5,f5] ~@5",
  D: "[~@11 [b3,f#4]@10 ~@11]/2", // B5
})).s("gm_piano").gain(0.2)

// chords · celesta
const celesta = note("<~ A B C B D B E F ~@78>".pickRestart({
  A: "~ [g4,b4]@6 ~@2 [f#4,a4,d5]@5 ~@2", B: "~ [g4,c5,e5]@15", C: "~ [g4,b4,d5]@7 ~ [f#4,a4,d5]@6 ~",
  D: "~ [g4,b4,d5]@7 ~ [f#4,a4,d5]@3 [f#4,a4,d5] ~ [f#4,a4,d5] ~", // G D
  E: "~ [g4,b4,d5]@2 ~ [g4,b4,d5] ~ [g4,b4,d5] ~@2 [f#4,a4,d5]@5 ~ [f#4,a4,d5]", F: "~ [g4,c5,e5]@13 ~@2",
})).s("gm_celesta").gain(0.1)

// bass · oboe
const bass = note(`<
  A B C D@3 C E@2 ~@17 F G H I J K L M@2 N M@4 O P@8 Q@5 R S T@2 U V W@2 X@2 T@2 U V Y@3 Z T@2 U V AA@3 ~@8
>`.pickRestart({
  A: "~ g1 a1 c2 d2 f2@2 c2@2 d2@2 ~@5", B: "~ g1@2 ~ g1 b1@2 c2@2 ~@4 g1@3, ~@9 d2@6 ~",
  C: "~ c2@4 g1 ~@2 g1 c2@2 b1@2 a1@2 g1",
  D: "[~ g1@2 ~ g1 b1@2 c2@2 d2@5 ~ d2@2 c2@5 ~ c2 ~ c2@5 ~ c2@2 g1@2 ~ g1 b1@2 c2@2 ~@4 g1@3, ~@41 d2@6 ~]/3",
  E: "[~ g1@2 ~ g1 b1@2 c2@2 d2@5 ~ d2@2 c2@5 ~ c2 ~ c2@5 ~ c2]/2", F: "~@7 d#2@6 ~ d#2 ~",
  G: "d#2!2 ~@3 d#2!2 a#1@6 ~ a#1 ~", H: "a#1!2 ~@3 a#1 ~ d#2@6 ~ d#2 ~", I: "d#2!2 ~@3 d#2 ~ a#1@6 ~ a#1 ~",
  J: "a#1!2 ~@3 a#1 ~ f1@6 ~ f1 ~", K: "f1!2 ~@5 f1@7 f1 ~", L: "f1!2 ~@5 a1@6 ~ a1 ~", M: "a1!2 ~@5 a1@6 ~ a1 ~",
  N: "a1!2 ~@5 a1@7 a1 ~", O: "a1!2 ~@14",
  P: "[~@9 e2 f#2 b1@16 d#2@16 e1@15 ~ f#1@14 e2 f#2 b1@16 d#2@16 e1@15 ~ f#1@5]/8",
  Q: "[~@9 e2 f#2 b1@15 ~ d#2@15 ~ e1@15 ~ a1@15 ~ d2@4 ~]/5", R: "~ d2 ~ d2@4 ~@4 b1@4 ~", S: "~@13 g2@3",
  T: "[~@3 g2@2 d2@5 ~ d2@2 g2@5 ~ g2@2 d2@4 g2@2 d2@2 c3@3]/2", U: "~@3 c3@2 g2@4 ~@2 g2@2 c3@3",
  V: "~@3 c3@2 g2@4 c3@2 g2@2 a2@3", W: "[~@3 a2@2 e2@5 ~ e2 ~ d2@5 ~ d2 ~ d2@4 ~@2 d2@2 g2@3]/2",
  X: "[~@3 g2@2 d2@5 ~ d2@2 g2@5 ~ g2@2 d2@4 g2@2 d2@2 g2@3]/2",
  Y: "[~@3 a2@2 e2@4 ~@2 e2@2 a2@5 ~ a2@2 e2@4 a2@2 e2@2 d3@5 ~ d3@2 c3@4 ~@2 c3@2 b2@3]/3",
  Z: "~@3 b2@2 a2@4 ~@2 a2 ~ g2@3", AA: "[~@3 a2@2 e2@5 ~ e2 ~ d2@5 ~ d2 ~ d2@5 ~ d2@2 g2@5 ~ g2@2 d2@4 g2@2 ~@5]/3",
})).s("gm_electric_bass_finger").gain(0.55)

// other · guitar harmonics
const guitar_harmonics = note("<~@16 A@2 B@2 C D E F G H ~@61>".pickRestart({
  A: "[~@15 f#4@2 a4 b4@3 ~@9 e4 f#4]/2", B: "[~ f#4 e4 d4@2 ~@10 f#4@2 a4 b4@2 d5@3 ~@8 f#4]/2",
  C: "~ f#4 ~ d4 ~@12, ~ e4 ~@6", D: "~ f#4 a4 b4@4 d4@3 e4@3 ~@3", E: "~ f#4 a4 b4@3 ~ d4!3 e4@3 ~@3",
  F: "~ f#4 a4 b4 b4@3 d4!3 f#4 e4@3 ~@2", G: "~ f#4 a4!2 b4 ~@2 d4!2 ~ e4@3 ~ d4 f#4", H: "~ f#4 ~ e4 d4 ~@11",
})).s("gm_guitar_harmonics").gain(0.56)

// bass · guitar harmonics
const bass_2 = note("<~@12 A B C@3 D@8 E ~@61>".pickRestart({
  A: "~@15 d2", B: "d2 c2!2 ~@12 d2", C: "[[c2,d2] c2!2 ~@12 d2@4 g1@4 b1@3 a1@5 d2@4 g1@4 b1@3 a1@5 d2]/3",
  D: "d2 ~ g1 ~@4 b1!2 ~ a1 ~@4 d2", E: "~ d2 ~ g1@3 ~@10",
})).s("gm_guitar_harmonics").gain(0.64)

// chords · percussive organ
const percussive_organ = note("<~@41 A B C@3 ~@7 D E ~@32>".pickRestart({
  A: "~@7 [a#5,c#6]@4 ~@5", B: "~@11 [b5,d#6,f#6]@5",
  C: "[~ [b5,b6]@4 ~@2 b5@2 c#6@2 d#6@4 e6@2 [g#5,c#6]@6 ~@4 [g#5,b5]@3 ~ [f#5,a#5]@2 ~@2 [g#5,b5]@2 ~@2 [a#5,c#6]@2 ~@7]/3", // B C#5 G#m F# G#m A#m
  D: "~@11 a5 ~ a5 ~ a5", E: "~ a5 ~ a5@4 f#5@2 b5@2 ~@5",
})).s("gm_percussive_organ").gain(0.07)

// other · piano
const piano_2 = note("<~@63 A B C D@5 A E@2 F@3 G ~@9>".pickRestart({
  A: "~@13 b4 ~@2", B: "~@3 b4@6 ~@2 b4 ~ b4 ~ b4", C: "~@3 b4@4 d5@6 b4@3",
  D: "[~ a4@2 g4@20 e4@3 ~ g4@2 a4@5 ~ a4@5 ~ b4@2 a4@4 g4@6 f#4@2 g4@2 a4 ~ a4@14 ~@7]/5",
  E: "[~ b4 ~ b4@6 ~@2 b4 ~ b4 ~ b4@2 ~@2 b4@4 d5@2 ~@4 b4@3]/2",
  F: "[~ a4@2 g4@20 e4@4 g4@2 a4 ~ a4@2 ~@2 a4@6 b4 ~@3 a4@2 ~]/3", G: "~ g4@4 e4@3 ~ g4 ~@6",
})).s("gm_piano").gain(0.4)

// chords · piano
const piano_3 = note("<~@55 A@8 B@4 C@2 D@8 ~@10>".pickRestart({
  A: "[~@13 [g3,b3,d4]@16 [f#3,b3,d4]@16 [g3,c4,e4]@32 [a3,c4,e4]@15 ~ [a3,d4,f#4]@16 [g3,b3,d4]@19]/8", // G Bm C Am D G
  B: "[~@13 [b3,d4]@16 ~@16 [c4,e4]@19, ~@13 g3@32 ~@19, ~@29 [b3,d4]@32 ~@3]/4", C: "[~@13 [c4,e4]@19]/2",
  D: "[~@13 [a3,d4,f#4]@31 ~ [g3,b3,d4]@14 ~@2 [f#3,b3,d4]@16 [g3,c4,e4]@32 [c4,e4]@16 [g3,c4]@3, ~@109 a3@18 ~]/8", // D G Bm C C5
})).s("gm_piano").gain(0.48)

// chords · piano · soft notes
const piano_soft_2 = note("<~@64 A@6 ~@6 B@2 ~@9>".pickRestart({
  A: "[~@29 g3@29 ~@3 a3@32 ~@3, ~@13 f#3@32 ~@51]/6", B: "[~@13 e4@15 ~@4]/2",
})).s("gm_piano").gain(0.24)

// other · tremolo strings
const tremolo_strings = note("<~@80 A B@2 C D E@2>".pickRestart({
  A: "~@7 c5 ~ d#5@6 ~", B: "[~@5 f4@2 g#4@2 a#4@2 c5 ~ c5@2 a#4@2 g#4 ~ g#4 ~ g#4 ~ g#4 ~ g#4@2 a#4@2 c5@2 ~]/2",
  C: "~ c5@3 ~@7 f5@3 c5!2", D: "~@7 c5@2 d#5@6 ~", E: "[~@5 a#4 ~@5 c5 ~ c5@2 a#4@2 g#4 ~ g#4@4 ~@4 a#4 ~ a#4@2 ~]/2",
})).s("gm_tremolo_strings").gain(0.48)

// other · muted trumpet
const muted_trumpet = note(`<
  ~@80
  [~@3 f5@5 ~@8]
  [~@3 d#5@6 ~@7]
  [~@3 c5@7 ~@6]
  [~@3 a#4@6 ~@7]
  [~@3 f5@6 ~@7]
  [~@3 d#5@6 ~@7]
  [~@3 c5@6 ~@2 a#4@4 ~]
>`).s("gm_muted_trumpet").gain(0.49)

// chords · timpani
const timpani = note("<~@80 A@7>".pickRestart({
  A: "[~@11 [d#3,g3,a#3]@16 [c#3,f3,g#3]@16 [d#3,g3,a#3]@16 [f3,g#3,c4]@16 [d#3,g3,a#3]@16 [c#3,f3,g#3]@16 [d#3,g3,a#3]@3 ~@2]/7", // D# C# D# Fm D# C# D#
})).s("gm_timpani").gain(0.19)

// bass · soprano sax
const bass_3 = note("<~@78 A ~ B C D E B C D>".pickRestart({
  A: "~@11 d2@2 ~@3", B: "~ f2 ~ f2@4 c2@4 d#2@4 ~", C: "~ d#2 ~ d#2@5 ~ d#2 ~ c#2@4 ~",
  D: "~ c#2 ~ c#2@4 ~@2 c#2@2 d#2@4 ~", E: "~ d#2 ~ d#2@4 c2@2 d#2@2 f2@4 ~",
})).s("gm_electric_bass_finger").gain(0.48)

// drums · kick
const kick = s("bd").struct("<A B C B C D B E D ~@2 F G@13 H I@2 J K@2 L M@8 N ~@11 O@2 P Q R@22 S ~ P@7>".pickRestart({
  A: "~@9 x ~@6", B: "~ x ~@7 x ~@6", C: "~ x ~@7 x ~ x ~@4", D: "~ x ~@3 x ~@3 x ~@3 x ~@2", E: "~ x ~@7 x ~@3 x ~@2",
  F: "~@15 x", G: "~@2 x!2 ~@3 x!2 ~ x!2 ~@3 x", H: "~@2 x!2 ~@12", I: "~@7 x ~@2 x ~ x ~ x!2",
  J: "x!2 ~@5 x ~@2 x ~ x ~ x!2", K: "x!2 ~@3 x ~ x ~@2 x ~ x ~ x!2", L: "x!2 ~@5 x!2 ~ x ~ x ~ x!2",
  M: "x!2 ~@3 x!3 ~@2 x ~ x ~ x!2", N: "x!2 ~@3 x!2 ~@9", O: "~@11 x ~@4", P: "~ x ~ x ~@7 x ~@4", Q: "~@13 x ~@2",
  R: "~@3 x ~ x ~@7 x ~@2", S: "~@3 x ~ x ~@10",
})).gain(0.36)

// drums · rim
const rim = s("rim").struct(`<
  ~@12
  [~ x ~@3 x ~@3 x ~@3 x ~@2]!13
  [~ x ~@14]
  ~@30
  [~ x ~@7 x ~@6]!23
  [~@15 x]
  [~@7 x ~@7 x]!6
  [~@7 x ~@8]
>`).gain(0.36)

// drums · snare
const snare = s("sd").struct("<A B C@6 D E ~@16 F@14 ~@12 G H I ~@32>".pickRestart({
  A: "~@5 x ~@7 x!3", B: "x ~@4 x ~@7 x ~@2", C: "~@5 x ~@7 x ~@2", D: "~@5 x ~@3 x ~@2 x!4", E: "x", F: "~@7 x ~@7 x",
  G: "~@11 x ~@4", H: "~@15 x", I: "~@7 x ~@8",
})).gain(0.46)

// drums · clap
const clap = s("cp").struct("<~@79 [~@15 x] [~@7 x ~@7 x]!6 [~@7 x ~@8]>").gain(0.36)

// drums · low tom
const low_tom = s("lt").struct("<~@53 [~@2 x ~@2 x ~@10] ~@33>").gain(0.51)

// drums · hihat
const hihat = s("hh").struct("<~@25 A B@14 C D E F@3 E F@6 G H I J@22 K ~@8>".pickRestart({
  A: "~@15 x", B: "x!16", C: "x!7 ~@9", D: "~@7 x ~@3 x ~@3 x", E: "~@3 x ~@7 x ~@3 x", F: "~@3 x ~@3 x ~@3 x ~@3 x",
  G: "~@3 x ~@3 x ~@3 x ~ x ~ x", H: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~@2", I: "~@13 x ~ x",
  J: "~ x ~ x ~ x ~ x ~ x ~@3 x ~ x", K: "~ x ~ x ~ x ~ x ~ x ~@6",
})).gain(0.31)

// drums · mid tom
const mid_tom = s("mt").struct("<~@53 [~@7 x!3 ~@6] ~@33>").gain(0.46)

// drums · open hat
const open_hat = s("oh").struct("<~@56 [~@11 x ~@4]!23 ~@8>").gain(0.26)

// drums · crash
const crash = s("cr").struct("<~ [~ x ~@14] ~@3 [~ x ~@14] ~@81>").gain(0.46)

// drums · high tom
const high_tom = s("ht").struct("<~@52 [~@15 x] [~@3 x ~@12] ~@33>").gain(0.46)

// drums · ride
const ride = s("rd").struct("<~@41 [~@7 x!5 ~@4] [~@7 x!3 ~@6] ~@3 [~@7 x!3 ~@6] ~@40>").gain(0.36)

// drums · tambourine
const tambourine = s("tb").struct("<~@12 [x!8]!5 ~@7 [~@15 x] [x!5 ~@11] ~@61>").gain(0.41)

// drums · bongos
const bongos = s("bongo:4").struct("<~@12 [~ x ~@3 x ~@3 x ~@3 x ~@2]!13 [~ x ~@14] ~@61>").gain(1.35)

// drums · bongos
const bongos_2 = s("bongo:18").struct(`<
// … 63 more lines

More by Eric Clapton