Jamie Bullock

Jamie Bullock

  • About
  • Blog
  • Projects
  • Publications
Twitter: @jamiebullock
  • Max, Integra and the Turing Tar Pit

    With Integra Live, we’re trying to make live sound processing simple for musicians. We achieve this by hiding the complexity of signal processing from our users and exposing only musically-useful controls. This technique is known as abstraction because the user-facing representation is more abstract than that used in the underlying software.

    Integra Live modules — simple-to-use, but the implementation details are hidden:

    Integra TapDelay

    The problem with abstraction is that it limits possibilities. Audio programming environments like Pure Data and Max, remove this limitation by providing low-level processing objects that allow the user to make custom abstractions. This means that users coming from a Max or Pd background often find Integra Live constraining. Conversely, Max represents a Turing Tar Pit, requiring significant technical skill for even basic musical tasks.

    Bottom-up approach in Max — the TapDelay~ abstraction is created by connecting low-level objects:

    Max abstraction

    This highlights an interesting design problem: how do we build sound-processing software that makes simple things simple and complex things possible?

    My first instinct is that we should invert the Max paradigm and create a top-down approach where high-level modules can be edited through an integrated UI.

    Any other thoughts…?

    Published: April, 2011.