27.11.2012 Views

programming with max/msp - Virtual Sound

programming with max/msp - Virtual Sound

programming with max/msp - Virtual Sound

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!