Strudelify
Paparazzi cover art

The Fame

Paparazzi

Lady Gaga

KeyB♭ majorTempo116 bpm
0:00/0:00
// Paparazzi — Lady Gaga
// 116 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5490364; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 133 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(116/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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.

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  ~@4 A B@3 C@4 B@4 D E F G H I J K H I J K H I J K H L J K M N O P Q@32 ~ A@4 C@4 B@4 D E F G H I J K H I J K H I J K H
  L J K R S R S T U V W X@2 Y Z Y X Y Z X Y@2 Z X Y@2 Z ~@4
>`.pickRestart({
  A: "c3@6 c3@4 c3@2 ~@4 c3@2 c3@4 c3 ~", B: "c3@3 c3@2 c3 ~@2 c3 c3@2 c3",
  C: "ab2@6 ab2@4 ab2@2 ~@4 ab2@2 ab2@4 ab2 ~", D: "ab2@6 ab2@4 ab2@2 ~@6 c4 ~ d4 eb4 ~ f4", E: "g3 eb3 d3 c3",
  F: "bb3@6 b3@4 ab3@8 ~@3 g3 ~ g3", G: "g3@2 f3 g3@2 bb3 g3@3 ~@3", H: "ab2@3 ab2@2 ab2 ab2@3 ab2@2 g2",
  I: "eb2@3 eb2@2 eb2 eb2@3 eb2@2 eb2", J: "f2@3 f2@2 f2 f2@3 f2@2 g2", K: "bb2@3 bb2@2 bb2 bb2@3 bb2@2 bb2",
  L: "eb2@3 eb2@2 eb2 eb2@3 eb2@2 f2", M: "ab2@10 f2 ~@13", N: "g2@10 eb2 ~@13", O: "f2@10 db2 ~@13",
  P: "db3@10 bb2 ~@13", Q: "d3!4", R: "d3@5 c3 c3@2 ~ d3@2 eb3", S: "g3@3 d3@4 d3@4 c3@12 ~",
  T: "~@3 d3@3 c3@3 c3@2 c3", U: "g2@2 g2 ~@6 ab2@3", V: "bb2@2 bb2 c3@2 d3 ~@3 bb3@2 bb3", W: "c4@2 ~ c4@2 ~ c4@2 ~@4",
  X: "eb3@3 eb3", Y: "f3@3 f3", Z: "f3 ~",
})).s("gm_baritone_sax").gain(0.3)

// other · trombone
const trombone = note(`<
  ~@4 A B C D ~ E F ~ G H I J ~ K L M N@3 O P Q R O S@4 N@3 O T U V W X@32 Y A B C D ~ E F ~ G H I J ~ K L M P Q R O N@3
  O S@4 N@3 O Z AA Z AA AB AC AD AE AF AG AF AH AF AG AF AH AF AG AF AH AF AG AF AH ~@4
>`.pickRestart({
  A: "c3 ~@3", B: "~@12 bb3@3 ~ bb3@2 ~@6", C: "~@8 f3 ~@3", D: "~@5 bb3 bb3@3 ~@3", E: "g3 eb3 d3 c3",
  F: "d3@3 eb3@2 c3@7", G: "g3 ~@3", H: "~@12 c4@3 ~ c4@2 ~@6", I: "~@8 g3 ~@3", J: "~@5 c4 c4@3 ~@3",
  K: "e3 c3 b2 ab2", L: "ab2@3 c3@2 ab2@7", M: "g3@2 f3 g3@2 bb3 g3@3 ~@3",
  N: "[ab3@2 ab3 ab3@2 ab3 ab3@3 bb3@2 g3@3 g3 g3@2 g3 g3@3 ab3@2 c4@3 ab3@4 f3@2 g3@4]/3",
  O: "f3@4 g3@4 c4@5 ~ ab3@10", P: "ab3@2 ab3 ab3@2 ab3 ab3@3 bb3@2 g3", Q: "g3@2 g3 g3@2 g3 g3@3 ab3@2 c4",
  R: "c4 ab3@2 f3 g3@2", S: "[eb4@3 db4@3 c4@2 bb3@3 g3@6 eb3 eb3@2 eb3 f3@2 eb3]/2", T: "~@3 ab3", U: "~@3 gb3",
  V: "~@3 e3", W: "~@3 db4", X: "d3!4", Y: "~@9 c3@2 c3", Z: "f3@5 eb3 eb3@2 ~ f3@2 gb3", AA: "g3@3 d3@4 d3@4 c3@12 ~",
  AB: "~@3 f3@3 eb3@3 eb3@2 eb3", AC: "bb2@2 bb2 ~@6 ab2@3", AD: "bb2@2 bb2 c3@2 d3 ~@3 bb3@2 bb3",
  AE: "c4@2 ~ c4@2 ~ c4@2 ~@4", AF: "ab3@3 ab3", AG: "g3@3 g3", AH: "ab3 ~",
})).s("gm_trombone").gain(0.3)

// other · trombone
const trombone_2 = note(`<
  ~@4 A B@2 C D E F ~ G@4 H@3 I J K J L J K J L M@4 J K J L N O P Q R@32 ~ A B@2 C D E F ~ G@4 H@3 I J K J L J K J L M@4
  J K J L S T S T U V W X Y@2 Z AA Y@2 Z AA Y@2 Z AA Y@2 Z AA ~@4
>`.pickRestart({
  A: "g3@6 c3 ~@3 c3@2 ~@6 c3@6", B: "g3 ~@3 g3@2 g3@4 c3@2 ~@6 c3@4 c3@2", C: "g3 ~@3 ab3@2 bb3@4 ab3@6 g3@6 eb3@2",
  D: "d3@3 eb3@2 c3@7", E: "e3 c3 b2 ab2", F: "b2@3 c3@2 ab2@7", G: "c3@3 c3@2 c3 ~@2 c3 c3@2 c3",
  H: "ab2@6 ab2@4 ab2@2 ~@4 ab2@2 ab2@4 ab2 ~", I: "g3@2 f3 g3@2 bb3 g3@3 ~@3", J: "ab3@3 ab3", K: "g3@3 g3",
  L: "ab3 ~", M: "[eb4@3 db4@3 c4@2 bb3@3 g3@13]/2", N: "~@3 f3", O: "~@3 eb3", P: "~@3 db3", Q: "~@3 bb3", R: "d3!4",
  S: "d3@5 c3 c3@2 ~ d3@2 eb3", T: "g3@3 d3@4 d3@4 c3@12 ~", U: "~@3 d3@3 c3@3 c3@2 c3", V: "g2@2 g2 ~@6 ab2@3",
  W: "bb2@2 bb2 c3@2 d3 ~@3 bb3@2 bb3", X: "c4@2 ~ c4@2 ~ c4@2 ~@4", Y: "eb3@3 eb3", Z: "f3@3 f3", AA: "f3 ~",
})).s("gm_trombone").gain(0.3)

// bass · electric bass finger · "Electric Bass"
const bass = note(`<
  A@3 B C D E F G H I J C D E F G H I K L M N O L M N O L M N O L M N O P Q R S T@2 U V T@2 U V T@2 U V T@2 U V T@2 U V
  T@2 U V T@2 U V T@2 U V ~ C D E F G H I J C D E F G H I K L M N O L M N O L M N O L M N O W X Y Z W X Y Z AA AB AC AD
  AA AB AC AD AA AB AC AD AA AB AC AD ~@4
>`.pickRestart({
  A: "c2@6 c2@4 c2@2 ~@4 c2@2 c2@4 c2 ~", B: "c2@6 c3@4 c3@2 ~@4 c3@2 c3@4 c3 ~", C: "c2 eb2 g2 c2", D: "c2 bb1 g1 f1",
  E: "c2 f2 ab2 c3", F: "c3 bb2 ab2@2", G: "ab2 eb2 c2 ab1", H: "g2 eb2 d2 c2", I: "ab1 c2 bb1 ab1", J: "ab1 c2 d2 c2",
  K: "g1 c2 g2 ~", L: "ab2 bb2 d3 c3", M: "eb2 d2 bb1 ab1", N: "f1 ab1 c2 eb2", O: "bb2 f2 eb2 d2", P: "ab1 c2 eb2 c2",
  Q: "g1 c2 eb2 ab2", R: "f2 d2 c2 bb1", S: "db2 eb2 f2 eb2", T: "c2@3 c2@2 c2 ~@2 c2 c2@2 c2",
  U: "ab1@3 ab1@2 ab1 ~@2 ab1 ab1@2 ab1", V: "g1@3 g1@2 g1 ~@2 g1 g1@2 g1", W: "d2 eb2 f2 eb2", X: "g1 bb1 d2 eb2",
  Y: "g2 eb2 c2 bb1", Z: "c2 d2 g2 d2", AA: "ab1", AB: "eb2", AC: "f2", AD: "bb1",
})).s("gm_electric_bass_finger").gain(0.3)

// drums · kick
const kick = s("bd").struct(`<
  A@3 B A@3 B A@3 B A@3 B A@3 C A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B C A@3 B
  A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B ~@8 A@3 B A@3 B A@3 B
>`.pickRestart({
  A: "x ~@10 x!2 ~@11", B: "x ~ x", C: "x",
})).gain(0.3)

// drums · snare
const snare = s("sd").struct(`<
  A@3 B A@3 B A@3 B A@3 B A@3 ~ A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 C A@3 B A@3 B A@3 B A@3 C A@3 B A@3 B ~ A@3 B
  A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B ~@8 A@3 B A@3 B A@3 B
>`.pickRestart({
  A: "~ x ~ x", B: "~@3 x ~@5 x ~ x", C: "~ x ~@2",
})).gain(0.3)

// drums · ride
const ride = s("rd").struct(`<
  ~@4 A@3 B A@3 B A@3 B A@3 ~ A@3 B A@3 B A@3 B A@3 B ~@4 A@3 B A@3 ~ A@3 B A@3 B A@3 B A@3 ~ A@3 B A@3 B ~ A@3 B A@3 B
  A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B ~@8 A@3 B A@3 B A@3 B
>`.pickRestart({
  A: "x ~ x", B: "~ x ~ x",
})).gain(0.3)

stack(baritone_sax, trombone, trombone_2, bass, kick, snare, ride)

More by Lady Gaga