#Pop-production as problem-solving

Ben Swift, School of Cybernetics

National Youth Science Forum ‘19

#outline

  • what’s a producer?
  • modelling the domain
  • crowdsourced livecoding

#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

all in 45 minutes ⏲

yikes!

#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)

programming as problem solving

the problem:

write a no. 1 hit

#modelling the domain

music (n.)

a series of pitched “events” over time

#dimensions of the domain

  • time
  • pitch
  • loudness

#parameterisation

  • time (in beats): 1, 2, 3, 4, 5, 6, 7, 8
  • pitch (in MIDI note numbers): 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 by 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 and patterns

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

this is not AI, either

🤔

https://benswift.me