1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
title:: 12_UnaryOp_synthesis
summary:: Mark Polishook tutorial
categories:: Tutorials>Mark_Polishook_tutorial
related:: Tutorials/Mark_Polishook_tutorial/00_Introductory_tutorial
section::Unary messages
Some synthesis processes can be initiated with a unary message (a message with no arguments).
////////////////////////////////////////////////////////////////////////////////////////////////////
For example, compare
code::
{ SinOsc.ar(500, 0, 0.5) }.scope;
::
to
code::
{ SinOsc.ar(500, 0, 0.5).distort }.scope;
::
The .distort message modulates the SinOsc to create more partials.
////////////////////////////////////////////////////////////////////////////////////////////////////
Q: Where does the .distort message come from?
A: It's defined in the AbstractFunction class. The UGen class is a subclass of the AbstractFunction class. The idea is that all classes inherit methods defined in their superclasses; all ugens thus inherit from AbstractFunction).
Compare
code::
{ SinOsc.ar(500, 0, 0.5) }.scope;
::
to
code::
// .cubed is a unary operation
{ SinOsc.ar(500, 0, 0.5).cubed }.scope;
::
////////////////////////////////////////////////////////////////////////////////////////////////////
go to link::Tutorials/Mark_Polishook_tutorial/13_BinaryOp_synthesis::
|