MC allows multiple channels of audio in a single patchcord. It also supports standard MSP objects operating on many channels of audio at the same time. MC objects typically have an mc. or mcs. prefix.
Visualization objects, like meter~ and scope~ will automatically adapt themselves to multichannel signals present at their inputs.
Existing MSP objects work inside a "Wrapper" that allows them to operate on multichannel signals. Many new objects have also been added to provide multichannel signal manipulation.
MC can be split into several categories:
Spatialization: Working with multiple channels over multiple speakers.
Complexity: Creating more complex patches using MC objects.
Polyphony: Using MC to manage polyphony.
Gen: Dealing with MC signals in Gen.
Events: Generating events for MC objects.
Other MC Topics
Plug-in Support is provided by the mc.vst~, mcs.vst~, mc.amxd~ and mcs.amxd~ objects.
MC Mixing and Panning can take many forms, including up- and down-mixing, multi-speaker panning and advanced routing.
Common Help Files
- mcwrapper-group.maxhelp - MC Wrapper Features
- mc_message_objects.maxhelp - MC Message Objects
|Sound Processing Techniques||Sound Processing Techniques|
|mc.adc~||Multichannel audio input and on/off|
|mc.cell||Format messages from a jit.cellblock for use with MC objects|
|mc.channelcount~||Report channel count|
|mc.combine~||Combine inputs into a multichannel signal|
|mc.dac~||Multichannel audio output and on/off|
|mc.degrade~||Signal quality reducer (multichannel)|
|mc.deinterleave~||Deinterleave a multichannel audio signal|
|mc.dup~||Create a multichannel signal that duplicates a single-channel input|
|mc.evolve~||Generate a periodic multichannel function from breakpoint ranges|
|mc.gradient~||Generate a time-varying function over the space of a multichannel signal|
|mc.interleave~||Interleave two or more multichannel signals|
|mc.list~||Create a multichannel signal from a list of values|
|mc.mixdown~||Mix and pan a multichannel signal|
|mc.noteallocator~||Manage voice numbers for MIDI note events|
|mc.pack~||Combine single inputs into a multichannel signal|
|mc.resize~||Resize a multichannel signal|
|mc.route||Direct output of messages based on an index received|
|mc.separate~||Split a multichannel signal|
|mc.target||Format messages to control MC objects|
|mc.targetlist||Format messages based on inlet number for controlling MC objects|
|mc.unpack~||Split a multichannel signal into single-channel signals|
|multirange||Graphical function breakpoint editor|