MC Recipe 04: ClassicSurround

MC Concepts
Using mc.mixdown~ to perform complex mix/routing
Implementing a secondary mc.mixdown~ to provide LFE extraction
Commentary
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.
Ingredients
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
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).
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.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.
In order to create the 5.1 output, mc.combine~ is used to glue the sixth channel to the five full-frequency channels.
Learn More: See all the articles in this series
by Darwin Grosse on November 21, 2018