The DSP Status Window shows you the complete set all of the parameters
of audio input and output in MSP. You can use the DSP Status Window
to set these parameters, and as a way to monitor your current audio
settings.
Using the DSP Status Window, you can:
-
Enable/disable audio processing in Max
-
View and select an audio driver
-
Monitor the amount of signal processing MSP is currently doing
-
Set the audio sampling rate
-
Set the number of samples MSP processes at a time - the I/O Vector Size) for input and output.
-
Enable/disable Overdrive
-
Map logical input and outputs channels for I/O in MSP
All of these options can also be changed from within your Max patch
by using the
adstatus object in your max patch, or by sending
messages to the Max application.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
You can also double-click on any
dac~ or
adc~ object in a locked Patcher window.
The DSP Status Window includes of a set of tabs you can use to change what is
displayed in the window, and a listing of all the settings associated
with DSP processing in Max/MSP.
-
Position your cursor over the Setting column of any row in the window. A brief description of
the setting will be shown in the
Clue Window.
-
If the the parameter is a pop-up menu, click on the menu, choose a setting, and release.
-
If the parameter has a check box, click in the box to toggle the value
-
If the parameter has a number box that includes a triangle, you can type values into the
box. Number boxes without the triangle will only display values.
-
If the parameter has a text button, click on it to open a new window.
You can turn audio processing on and off using the DSP Status Window, and also
toggle audio processing using the MSP UI objects
ezdac~ and
ezdac~,
or the
adc~ and
dac~ MSP objects.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
-
Click on the speaker icon to to toggle audio processing.
Note: You must have placed an MSP object in a patcher
to be able to turn audio on or off using the DSP Window. If no MSP objects
have been instantiated, audio will turn itself off immediately.
-
If you’re using ezdac~ or ezdac~ objects in your Max patch,
click on them to start the audio. Both of these UI objects function as toggle switches.
-
If you’re using a dac~ object in your Max patch, click on any toggle box or message box
containing the message 1, start, or startwindow.
Audio is disabled by sending the messages
0 or
stop to a
dac~ object.
If you want to only turn on audio processing for a specific patcher window,
use the
startwindow message sent to the
dac~ object.
While some specific features and settings for using audio on your computer will
vary according to the type of audio interface and audio drivers you have installed,
you can access these settings in MSP using DSP Status Window.
The Driver pop-up menu in the DSP Status Window lets you view and select an
audio driver for MSP. The list of available drivers will vary according to
the audio drivers installed on your system. Here is a brief summary of
the default options:
-
None shuts off MSP audio processing.
-
CoreAudio is the default audio driver for MSP on Macintosh.
-
MME, DirectSound, or ASIO drivers for Windows systems will appear if you have correctly installed external hardware that supports the standard.
-
The ad_rewire driver supports ReWire, a standard developed by Propellerhead Software that allows sound generating applications (ReWire Devices) to send multiple channels of audio and midi to other applications (ReWire Mixers) that process and output it.
-
The ad_nonreal driver enables MSP to work in non real-time mode, allowing you to synthesize and process audio without any real-time processor performance limitations.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
-
Click on the Driver pop-up menu and choose an audio driver from
the pop-up menu.
This menu lists all the audio drivers installed on and available
for use with Max/MSP. When you choose a driver from the menu, it becomes your
default audio driver, and will remain so the next time you launch Max.
When you have selected the audio driver you want to use, various input (Input Channels,
Input Device, and Input Source) and output (Output Channels,
Output Destination, and Playthrough Input)
parameter settings will become available based on the audio driver you choose.
Note: the number of input channels and output channels displayed in the
DSP window are displayed with the grey attribute icon because the number of
channels is driver/interface-dependent.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
-
Click on the Input Source or Output Destination pop-up menus and choose
the source or destination you want to use from the menu.
These menu lists all the input and output sources and destinations available
for use with your audio driver. When you choose a source or destination from the menu,
it becomes your default setting, and will remain so the next time you launch Max.
The Playthrough Input option is available on Macintosh non-Intel systems only.
This checkbox lets you choose whether or not the input
device is ‘monitored’ directly through to the output. When playthrough is enabled,
the dry signal from the input source will play through to the output mixed
in with any processed signal you may be sending to the output in MSP.
Disabling playthrough will enable you to control how much (if any) dry signal
from the audio input is routed to the output. This option can be changed in MSP on Macintosh by
sending a message to the dsp object
to change it.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
Three fields in the DSP Status window monitor the amount of signal processing MSP is currently doing.
CPU Utilization displays a rough estimate of how much of your computer's CPU is being allocated for crunching audio in MSP.
The number of Function Calls gives an approximate idea of how many calculations are being required for each sample of audio.
The number next to Signals Used shows the number of internal buffers that were needed by MSP
to connect the signal objects used in the current signal network.
You can set the audio sampling rate with the Sampling Rate pop-up menu.
For full-range audio, the recommended sampling rate is 44.1 kHz. Using a lower rate
will reduce the number of samples that MSP has to calculate, thus lightening
your computer’s burden, but it will also reduce the frequency range.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
-
Click on the Sampling Rate pop-up menu to show a list of the available
audio sampling rates. When you choose a driver from the menu, it becomes your default
sampling rate.
Max/MSP processes audio in by using a block of samples called a
signal vector
(for an introduction to how MSP works, click
here).
You can use the DSP Status Window to select the I/O vector size (i.e., the number of audio
samples) of the block size that Max/MSP uses when working with audio input and
audio output. You can also set the signal vector size - the number of samples that Max/MSP
processes at a time.
The I/O Vector size and Signal Vector size in MSP are commonly expressed as powers of two. They can be
set as low as 2 samples, and in most cases can go as
high as the largest available I/O Vector Size for your audio driver. However, if the
I/O Vector Size is not a power of 2, the maximum signal vector size is the largest power
of 2 that divides evenly into the I/O vector size.
Optimizing the performance of any particular large audio patch when you are close to the
limit of your CPU’s capability is a trial-and-error process that requires an
understanding of how signal vector sizes and the Max scheduler interact. THe
Audio I/O chapter of the MSP
Tutorial contains a thorough discussion of
CPU usage, the
sampling rate,
vector sizes and
signal vectors,
and Max scheduler parameters such as
overdrive and
audio interrupt.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
-
Click on the I/O Vector Size or Signal Vector size pop-up menu and choose
an audio vector size from the menu. When you choose a value from the menu,
it becomes your default vector size.
Some audio interface cards do not provide a choice of I/O Vector Sizes.
There are also some ASIO drivers whose selection of I/O Vector Sizes may not conform to the
multiple-of-a-power-of-2 limitation currently imposed by MSP's ASIO support. In some cases,
this limitation can be remedied by using the ASIO driver at a different sampling rate.
When Overdrive is enabled, Max gives priority to timing and MIDI processing
over screen drawing and user interface tasks such as responding to mouse clicks.
If you are primarily going to be using Max for MIDI or audio processing, Overdrive
should be enabled. If you are primarily going to be using Jitter, Overdrive should be disabled.
You can use the DSP Status Window to set this feature.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
-
Click on the checkbox in the Value column for the Scheduler in Overdrive setting to
enable Overdrive. To disable Overdrive, click in the checkbox to unselect the option.
MSP includes a non real-time driver that lets you to use MSP as a disk-based audio
processing and synthesis system, removing the limit of how much processing you
can do with your CPU in real time. Using the ad_nonreal driver means that
Max/MSP calculates samples in MSP independently of any physical scheduling
priority, allowing you to process a vector of audio using a signal path
that might take your computer more than one vector's worth of real time to
compute.
Patches that use the non real-time driver typically use the
dsptime~
object to see how long the audio has been turned on, and pipe their output of
to
sfrecord~ to capture the results.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
-
Click on the Driver pop-up menu and choose the ad_nonreal audio driver.
Max/MSP will use the ad_nonreal driver, and hardware input and output are disabled.
In Max/MSP, you can create a
dac~ or
adc~ object that uses
a channel number between 1 and 512. These numbers refer to what are called
logical channels. Logical channels can be dynamically assigned and
reassigned to the physical device channels of a particular driver using the
DSP Status window and its I/O Mappings subwindow, (you can also do this remapping
using the
adstatus object.
The pop-up menus labeled Input Channel 1, Input Channel 2,
Output Channel 1, and Output Channel 2 allow you to map the
first two logical channels of I/O in MSP (i.e. the first two
outlets of the
adc~ object and the first two inlets of the
dac~ object) to physical channels used by your audio driver.
Different audio drivers give you different options - for example,
the MME driver on Windows only supports two channels, so you will
normally use the default options. To map additional logical
channels, use the I/O Mappings window, which you can view by
clicking the I/O Mappings button at the bottom of the DSP Status window.
In addition, you can use the
adstatus object from within your
patch to map any of the 512 logical audio I/O channels.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
-
Click on an Output Channel pop-up menu and choose one of the available output
channels that appear (the precise content of the pop-up menu
will vary depending on the type of audio driver you are using).
The output you select will be used as the outlet for channel 1 or 2 for the
dac~ object,
and will become the new default physical outputs.
The reason for using logical and physical channels is to let you create
patches that use as many channels as you need without
regard to the particular hardware configuration you're using. For instance,
some audio interfaces use physical device channels 1 and 2 for S/PDIF input and output.
If you don't happen to have a S/PDIF-compatible audio interface, you may wish to
use channels 8 and 9 instead. You can simply go to the DSP Status window and choose the eighth and ninth
physical channels listed in the Input and Output pop-up menus.
Logical channels in MSP are only created if there is a
dac~ or
adc~
object using them. In other words, if you're only using logical outputs 1 and 2,
there aren't 510 unused audio streams sitting around hogging your CPU. However,
since you can mix any number of logical channels to a single physical channel if
necessary, you can create a complex multi-channel setup that will allow other
people to hear all of your logical channels when they use it on a two-channel
output device.
-
Choose DSP Status... from the Options menu to show the DSP Status Window.
-
Click on the I/O Mappings textbutton at the bottom of the DSP Status window to show the
I/O Mappings subwindow.
-
For each output channel you wish to map to the first (left) output channel, choose
1 output from the pop-up menu. For each output channel you want to map to the second
(right) output channel, choose 2 output from the pop-up menu. The multiple channels
will now be mapped to a pair of output channels - 1 and 2.