Strudelify
uptown funk cover art

2014 · Uptown Special

uptown funk

Mark Ronson

KeyD minorTempo120 bpm
0:00/0:00
// uptown funk — Mark Ronson
// 120 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5889252; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 29 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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.

// other · trumpet
const trumpet = note("<A B C ~ D B C ~ D@4 E ~ F@2 G ~ F@2 H ~ F@2 I ~ F@2 J>".pickRestart({
  A: "~@12 f5!2 ~@2", B: "f5 d5 c5 d5 ~@2 f5 d5 c5 d5 ~@2 f5 d5 c5 d5", C: "~@2 f5 ~@9 f5 e5 d5 c5", D: "~@10 f5!6",
  E: "d5 ~ d5 ~ d5 ~ d5 ~", F: "[~@12 f5 e5 d5 c5@2 ~ d5 ~@13]/2", G: "~@8 a4 c5 d5 f5@3 d5 ~",
  H: "d5@2 c5@2 a4@2 g4@2 f4@2 g4@2 ~ f4@3", I: "f4 ~ f4 ~ f4 ~ f4 ~ a4 c5 d5 f5@3 d5 ~",
  J: "[d5,f5]!4 ~ [d5,f5] ~ [d5,f5]!3 ~@2 d5@2 ~@2", // Dm
})).s("gm_trumpet").gain(0.3)

// other · trombone
const trombone = note("<A B C ~ D B C ~ D@4 E ~ F@2 G ~ F@2 H ~ F@2 I ~ F@2 J>".pickRestart({
  A: "~@12 f4!2 ~@2", B: "f4 d4 c4 d4 ~@2 f4 d4 c4 d4 ~@2 f4 d4 c4 d4", C: "~@2 f4 ~@9 f4 e4 d4 c4", D: "~@10 f4!6",
  E: "d4 ~ d4 ~ d4 ~ d4 ~", F: "[~@12 f4 e4 d4 c4@2 ~ d4 ~@13]/2", G: "~@8 a3 c4 d4 f4@3 d4 ~",
  H: "d4@2 c4@2 a3@2 g3@2 f3@2 g3@2 ~ f3@3", I: "f3 ~ f3 ~ f3 ~ f3 ~ a3 c4 d4 f4@3 d4 ~",
  J: "f4!4 ~ f4 ~ f4!3 ~@2 d4@2 ~@2",
})).s("gm_trombone").gain(0.3)

stack(trumpet, trombone)