MC Recipe 04: ClassicSurround

    MC Concepts

    • Using mc.mixdown~ to perform complex mix/routing
    • Implementing a secondary mc.mixdown~ to provide LFE extraction


    The mc.mixdown~ object can find many uses within a single patch. In this recipe, we use this object to generate panning for incoming audio across five channels, and to create a single-channel mix that can be filtered for LFE (Low Frequency Effects) separation. We also perform a little MC manipulation to conform the output into the standard output configuration of a 5.1 surround output.


    • mc.mixdown~ : an object that mixes MC input to multiple output channels based on MC location signals.
    • mc.resize~ : a tool for resizing and rearranging MC signals.
    • mc.combine~ : an object for creating a combined-channel MC signal.

    Things to Note

    1. The dial UI object is set to circular mode (in the Inspector) and outputs values between 0. and 1. - the panning range that mc.mixdown~ understands when used in panning mode 0 (the default).
    2. For this case - panning a single file in 5-channel space - we use a standard audio signal input for both audio and panning information. Once the audio is panned into position, we use mc.resize~ (and its select attribute) to move the channels into L-C-R-Ls-Rs positioning.
    3. In order to generate an LFE (.1) signal, we mix all of the channels into a single output signal, and run that through a cascade~ object managed by a filterdesign object.
    4. In order to create the 5.1 output, mc.combine~ is used to glue the sixth channel to the five full-frequency channels.