Music theorists have a questionable history of taking tendencies observed in European musics and deploying them as prescriptive rulesets. Fortunately, musicians break these rules whenever it suits them. In fact, cognitive science suggests that rulebreaking and manipulating audience expectations is fundamental to how music is able to provoke emotion. But in the universe of algorithmic music, we can, if we choose, use software correctness techniques like schemas and types to enforce musical rules. This gives rise to a dilemma. If we make illegal states unrepresentable, do we make innovative states unimaginable? This talk will attempt to resolve the dilemma using a practical reconciliation between Paul Hudak’s Haskell school of expression and David Huron’s psychological theory of expectations.
Chris began to make music with code to compensate for his poor piano technique. It was only later that he realised that programming offers deep insight into musical structures. Over the past few years, Chris has given many talks presenting music theory to programming audiences, covering topics including European classical music, complexity theory, jazz, central African polyrhythms and tuning systems. His work with ThoughtWorks has taken him to many places around the world. Currently, he lives and works in Barcelona.