techno~
Signal-driven step sequencer
Description
techno~ is a signal-based step-sequencer that facilitates sample-accurate timing of events.
Arguments
None.
Attributes
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
amplitude
The word
, followed by a number that specifies the sequencer step and a float that specifies an amplitude value, sets the amplitude (as an absolute factor) of a step's output note. The amplitude is specified as an absolute factor of that step's note -- an amplitude of 1.0 will result in the amplitude output signal having a value of 1.0 at the very beginning of the step.- sequencer-step
[int]
- amplitude-value
[float]
attack
The word
, followed by a number that specifies the sequencer step and a float that specifies the exponent of a curve, sets the curve used to calculate the amplitude trajectory from 0.0 at the beginning of the previous step to the amplitude value at the beginning of the current step. The values used to specify the exponents of the curve are the same as those used for the message.- sequencer-step
[int]
- attack-curve-exponent
[float]
curve
The word
A value of 1.0 represents a linear slide from the previous step; a value of 0.5 represents a square root function; a value of 2.0 represents a second-order parabolic slide; etc. The message lets you set and experiment with different varieties of portamento.
- sequencer-step
[int]
- curve-exponent
[float]
decay
The word
, followed by a number that specifies the sequencer step and a float that specifies the exponent of a curve, sets the curve used to calculate the decay trajectory from the amplitude value at the beginning of this previous step to 0.0 at the beginning of the next step. The values used to specify the exponents of the curve are the same as those used for the message.- sequencer-step
[int]
- decay-trajectory-exponent
[float]
length
The word
, followed by a number, sets the number of notes in the sequence. The default is 1.- number-of-steps
[int]
pitch
The word
, followed by a number that specifies the sequencer step and a float that specifies a pitch as a Hertz frequency, sets the pitch of that step's note.- sequencer-step
[int]
- frequency
[float]
pos
The word
, followed by an integer that specifies the sequencer step and a float that specifies a start position, positions the step to the specified position. A step may not be placed before the previous step or after the next step. For instance, a uniformly-spaced four step sequence will have its steps in positions 0.0, 0.25, 0.5 and 0.75, so a message for the third step (index 2) can only specify positions between 0.25 and 0.75.- sequencer-step
[int]
- start-position (step-size-coefficient)
[float]
repeatpos
The word
repeatpos 0.5
repeatpos 0.25 0.5 0.75
repeatpos 0.125 0.25 0.375 0.5 0.625 0.75 0.875
The message affects a repeating segment two steps long, giving the first step 66% of the time and the second step 34%. (This is like classic "swing" on a drum machine.)
- step-width
[list]
signal
A signal is used as an input to the techno~ object to specify the step position in a sequence. The signal is in the range 0 - 1.0 and indicates a phase value, expressed as a fraction of the number of total steps in the sequence (set using the message). A phasor~ object is customarily used as input to the techno~ object. All input signals are clipped to the range 0 - 1.0.
Output
signal
Out left inlet: Pitch signal output for oscillator(s).
Out middle inlet: An amplitude envelope. You can multiply this signal output with the output of your oscillators.
Out right inlet: The current position in the step sequence. Each step represents a distance of 1.0 and the total output range is from 0 to the value set by the message.
See Also
Name | Description |
---|---|
adsr~ | ADSR envelope generator |
cycle~ | Sinusoidal oscillator |
phasor~ | Generate sawtooth signals |
rate~ | Time-scale the output of a phasor~ |
rect~ | Antialiased rectangular (pulse) oscillator |
saw~ | Antialiased sawtooth oscillator |
seq~ | Signal-driven event sequencer |
svf~ | State-variable filter with simultaneous outputs |
tri~ | Antialiased triangular oscillator |