Pop-production as problem-solving

Ben Swift

11 Jan '19

give a guest lecture? sure 😊

oh, is it January already?

extempore: a livecoding language



what I’m gonna do

  • learn a new song (by ear!)
  • figure out how to turn it into code
  • find a bunch of sounds which sound (approximately) like the recording
  • lay down a vocal track (maybe)
  • make the whole process make sense to you guys

all in 45 minutes ⏲


what you’re gonna do

  • help me choose the song
  • be kind when I make mistakes
  • clap politely at the end (even if I flame out)

I'm old...

what’s a producer?

a producer is someone who makes songs happen

pop songs are characterised by:

  • catchy hooks
  • repetitive harmonic patterns (e.g. chord progressions)
  • processed/synthetic sounds (lots of computers involved in the production)

Quincy Jones

Max Martin

programming as problem solving

the problem:

write a no. 1 hit

music (n.)

a series of pitched “events” over time

pedantry alert!

dimensions of the domain

  • time
  • pitch
  • loudness


  • time (in beats), e.g. 1, 2, 3, 4, 5, 6, 7, 8
  • pitch (in MIDI note numbers), e.g. middle C as 60, C# as 61, etc.
  • loudness (0 is silent, 127 is super loud)

extempore: a livecoding language

extempore is a programming language designed for musical livecoding (written Andrew Sorensen and me)

don’t worry about the syntax, I’ll explain enough for you to follow along

what did we learn?

pop music isn’t black magic, it’s a domain with lots of structure/patterns

computers/code are really useful for modelling/exploring this stuff

this is not AI, either



creative-commons creative-commons-by creative-commons-nc creative-commons-sa twitter github vimeo envelope