Package MSP

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 reset 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 float 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

Below is a list of attributes shared by all objects. If you want to change one of these attributes for an object based on the object box, you need to place the word sendbox in front of the attribute name, or use the object's Inspector.

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. background 1 adds the object to the background layer, background 0 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'

hidden[int]: 0

Toggles whether an object is hidden when the patcher is locked.

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.

Arguments:
  • 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.

Arguments:
  • frequency [float]

list

Set ramp interval in Max time format syntax.

Arguments:
  • transport/time-settings [list]

anything

Set ramp interval in Max time format syntax.

Arguments:
  • transport/time-settings [list]

reset

The reset message immediately sets the phase to the value of the phaseoffset attribute.

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