phasor~
Generate sawtooth signals
Description
Use the phasor~ object to generate sawtooth waves suitable for sample-accurate control and timing tasks. For smoother sounding sawtooth generation, use the bandlimited saw~ object instead. The ramp rate can be set by frequency (Hz), or as an interval using the tempo-relative Max time format syntax.
Arguments
initial-frequency[list]time-value
optional
Set the initial frequency in Hz, or as an interval using the tempo-relative Max time formats syntax.
Attributes
frequency[Time Value]
Ramp rate or interval
jitter[float]
The jitter attributes sets the range of random frequency variation on each phase reset. The frequency deviation above and below will be 1/100th of the value of jitter times the frequency. Example: if the current frequency is 440 and jitter is 1.0, phasor~ will generate random frequencies between 439.56 and 440.44 Hz. jitter only applies when a signal is not connected to the frequency inlet and the lock attribute is disabled.
limit[float]
The limit attribute sets an absolute amount by which the frequency can vary from its set value as a result of a non-zero jitter attribute. If jitter is reduced, the frequency may be changed gradually to bring it closer to the set value.
lock[int]
When lock is set to 1, the phasor~ is synchronized to the Max (or Max for Live) transport. When the transport is off, the phasor~ will output a frequency of zero. For accurate timing, Scheduler in Audio Interrupt must be enabled. The lock attribute will only accept frequencies specified using notevalues.
phaseoffset[float]
The phaseoffset attribute sets the initial phase when audio is turned on as well as the phase assigned when phasor~ receives the message. The phaseoffset is useful when decorrelating multiple instances within an mc.phasor~. If the phaseoffset attribute has never been set or the word phaseoffset is sent with no arguments, the initial phase will nor be changed when audio processing is started. When you set the phase with a in the right inlet, it is an immediate change but it only happens once. The phaseoffset attribute makes it possible to set up repeatable phase relationships between multiple phasor~ objects or when using mc.phasor~.
syncupdate[int]
When syncupdate is set to 1, the phasor~ frequency is only set at the end of its cycle, when the phase jumps to 0. In this mode, phasor~ will not instantly change its slope when it receives a frequency change, but will instead wait until the phase resets. This can prevent typical pitch glitches when reading from a buffer.
transport[symbol]
This attribute names a time transport. If frequency is specified using a 'relative' unit (for example: ticks, bars.beats.units, or notevalues), then the named transport is used to determine the frequency based on tempo, time-signature, and other related information. The default value is the global 'internal' transport.
Common Box Attributes
annotation[symbol]
Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.
background[int]: 0
Adds or removes the object from the patcher's background layer.
adds the object to the background layer, removes it. Objects in the background layer are shown behind all objects in the default foreground layer.
color[4 floats]
Sets the color for the object box outline.
fontface[int]
Sets the type style used by the object. The options are:
plain
bold
italic
bold italic
Possible values:
0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'
fontname[symbol]
Sets the object's font.
fontsize[float]
Sets the object's font size (in points).
Possible values:
'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'
hint[symbol]
Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.
ignoreclick[int]: 0
Toggles whether an object ignores mouse clicks in a locked patcher.
jspainterfile[symbol]
You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.
patching_rect[4 floats]: 0. 0. 100. 0.
Sets the position and size of the object in the patcher window.
position[2 floats]
write-only
Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.
presentation[int]: 0
Sets whether an object belongs to the patcher's presentation.
presentation_rect[4 floats]: 0. 0. 0. 0.
Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.
rect[4 floats]
write-only
Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).
size[2 floats]
write-only
Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.
textcolor[4 floats]
Sets the color for the object's text in RGBA format.
textjustification[int]
Sets the justification for the object's text.
Possible values:
0 = 'left'
1 = 'center'
2 = 'right'
varname[symbol]
Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.
Messages
bang
When syncupdate is set to 1 and there is no signal input connected to the left inlet, a bang in the left inlet will force the frequency to update immediately (instead of waiting for the phase cycle to end and jump back to 0).
int
In left inlet: Set the frequency of the sawtooth waveform (Hz). If a signal is connected to this inlet, this message is ignored.
In right inlet: Set the phase of the waveform (from 0 to 1). Signal output continues from this phase.
- frequency
[int]
float
In left inlet: Set the frequency of the sawtooth waveform (Hz). If a signal is connected to this inlet, this message is ignored.
In right inlet: Set the phase of the waveform (from 0 to 1). Signal output continues from this phase.
- frequency
[float]
list
anything
reset
The phaseoffset attribute.
message immediately sets the phase to the value of the
signal
In left inlet: Set frequency in Hz
In right inlet: A signal connected to the right inlet can trigger a phase reset with a non-zero value. When a signal-triggered reset occurs, the phase will be set to the current value of the phaseoffset attribute.
Output
signal
Waveform that increases from 0 to 1 repeatedly at the specified frequency.
See Also
Name | Description |
---|---|
2d.wave~ | Two-dimensional wavetable |
cycle~ | Sinusoidal oscillator |
kink~ | Distort a sawtooth waveform |
line~ | Linear signal ramp generator |
saw~ | Antialiased sawtooth oscillator |
subdiv~ | Integer Subdivision of a Phasor |
swing~ | Subdivide a phasor into two unequal phasors |
sync~ | Synchronize MSP with an external source |
techno~ | Signal-driven step sequencer |
transport | Control a clock |
trapezoid~ | Trapezoidal wavetable |
triangle~ | Triangle/ramp wavetable |
updown~ | Trapezoidal Function Generator With Constant Attack and Release |
wave~ | Variable size wavetable |