programming with max/msp - Virtual Sound
programming with max/msp - Virtual Sound
programming with max/msp - Virtual Sound
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.1<br />
234<br />
Practice<br />
Paragraph 2.1 - Fixed spectrum additive synthesis<br />
As we learned in Section IA.10 of Interlude A, we can create a list of numbers<br />
by using either a message box or a multislider. The first technique is immediately<br />
obvious in this patch: desired amplitudes are grouped into lists <strong>with</strong>in<br />
message boxes, and then dispatched to the 10 multipliers by using a send object<br />
([s partials]). The corresponding receive object is connected to an unpack<br />
object that takes care of distributing single values to appropriate multipliers (as<br />
seen in Figure 2.1b).<br />
Fig. 2.1b The unpack object breaking a list into single elements<br />
Amplitude lists might also, however, be created using a multislider. Create<br />
one now in the lower right of the patch, and configure it using the Inspector<br />
to have 10 sliders, each ranging from 0 to 1. This multislider will need to<br />
be connected to a send object <strong>with</strong> the argument “partials”. It’s also possible<br />
to manipulate the float number boxes connected to the right inlet of the signal<br />
multipliers in order to set different amplitudes, and then save the result by using<br />
the preset object on the left (by shift-clicking on the small dots).<br />
The component signals in the patch, after being rescaled by their individual<br />
amplitude multipliers, are routed to a final multiplication object in the signal<br />
path that reduces the overall amplitude of the summed signal to 1/10th of its<br />
original strength. We know that any two or more signals that enter a single<br />
inlet are summed. So in the case of 10 oscillators, if all of the components have<br />
the <strong>max</strong>imum amplitude of 1, the resulting summed waveform would have an<br />
amplitude of 10. This multiplier, therefore, serves to return the absolute value<br />
of the signal to a value between 0 and 1, thus avoiding distortion. 1<br />
The amplitude multislider must dispatch data continuously, since we<br />
would like variations to be sent out as they are made, even while the value of<br />
a slider is being changed. By default, however, multislider updates the list<br />
of values that it outputs only when the mouse is released, at the end of an edit.<br />
To configure the object to produce continuous updates, you must call up the<br />
Inspector for the object, and after selecting the Style tab, check the box that<br />
enables “Continuous Data Output when Mousing”.<br />
Using this patch, create various spectral profiles, saving them as presets and<br />
changing between them to compare the differences in timbre made by lower,<br />
middle, and upper components, as we covered in the theory chapter.<br />
1 For a discussion of distortion due to excessive amplitude see Section 1.2 of Chapter 1T.<br />
from “Electronic Music and <strong>Sound</strong> Design” Vol. 1 by Alessandro Cipriani and Maurizio Giri<br />
© ConTempoNet 2010 - All rights reserved