Particularity
By C2 Systems / Chris Jeffs 2010
User Guide
What this program aims to do
Particularity is a real-time granular synthesis system, along with a sequencer for some of the parameters, combined with a generator of animated visuals. There can be as many as 8 synthesis processes at any one time, and one "picture" window. The synthesis is constantly running (unless switched off.) The sequencer also loops continuously, controlling pitch, amplitude and probability of the synthesis in two time frames: micro (short times) and meta (longer periods.)
The states of any of these individual processes can be saved and recalled, copied and pasted. In addition, the state of all processes at any one time can be saved as a snapshot. A collection of these (named a "palette") can be used to step through these snapshots at will. The palette may be controlled using MIDI notes from any available source.
Intended as a tool for live performance, the Live Mixer further influences the sonic output, with controls for volume, panning and frequency offsets for both individual channels and the entire setup.
The visuals system takes its data mainly from the sequencer parameters, plotting them in 2D space in a user-definable way. Shapes, colors and sizes can be chosen, and these parameters stored in the palette along with the sound generating parameters. In this way a whole audio-visual piece can be composed, recalled and performed.
What this program is not!
Particularity is unlikely to be a good choice with which to write a song or an orchestral piece. Instead, it lends itself to "sound" based composing, where certain aural textures and flavours are combined to create a desired effect. A wide range of sounds can be created, from soft and subtle organic soundscapes, to something more aggressive or artificial.
Granular Synthesis
It is assumed the reader of this manual is familiar with the basic concept behind granular synthesis. Such an understanding is vital to the use of the program. If this is not the case, many useful resources can be found online, including: google.com.
Inspiration
Pulsar Generator
SuperCollider
The Windows
The Control Bar serves as a way to navigate the GUI, turn processes on and off, and load and save the overall state. The Synth window is where the editing of synthesis parameters takes place, and the Sequences window is where the looping envelopes that can control the synthesis are edited. The Live Mixer can change amplitude, transposition and panning for all of the channels, and is intended as a live performance tool. The Preset Palette serves as a way to save and recall the states of all of the processes (except the Live Mixer), thereby building up the parts of a composition. Visual animations are displayed on the Pictures window, and editing of the parameters that control these animations takes place in the Picture Controller.
Control Bar
The control bar is a thin orange strip to the left hand side of the screen that serves as a navigator to other parts of the program, as well as a way to turn processes on or off, and to save or recall the state of the entire program.
NAVIGATION:
The buttons marked "Synth", "Seq", "Palette" and "Mixer" bring the relevant windows to the front of the screen. The numbered buttons change the Synth and Sequencer displays to show the parameters for the relevant process.
PLAY LINK
ALL
O / S / c / p
This conjunction of buttons can be seen in many screens in the program. Their function is always similar.
O(pen) - this will open a file of the type relevant to the particular window.
S(ave) - this will save a relevant file.
c(opy) - copy the current state relevant to the window.
p(aste) - paste the data that was last copied.
As these buttons are in the Control Bar, the state of all of the real-time processes can be opened, saved, copied and pasted.
! BEWARE !
The state of the live mixer is NOT saved (intended as it is for "live" use.)
Synth Window
This window sets the parameters for a single synthesis process at any one time. Which one can be selected by the associated numbered button in the Control Bar.
Play / Stop
Start and stop the individual synth process.
Synth Model
Harmonics
This is a simple "drawbar" harmonics mixer, which can combine the first 8 tones in the harmonic series, in order to build up the single period waveform displayed next to it. Underneath is a pop-up menu with some preset harmonics which result in various standard waveforms. Pressing the "do" button will execute this preset recall.
Waveform
Amp Envelope
For each "grain" of sound, an amplitude envelope can be applied. The envelope can be drawn directly into the display. In addition, preset shapes are available via the buttons underneath. (Beware, these will instantly change the envelope shape.) The shapes are: H(anning), W(elch), R(ectangular) and "Curve", which makes a symmetrical curve according to the parameter next to it. Positive numbers result in concave envelopes, while negative ones create convex shapes.
Freq Envelope
A frequency envelope for each grain. As with the Amp Envelope, the shape can be drawn directly into the display. The amount of modulation that takes place is controlled by the Freq env amt parameter in the Slider GUI.
Slider GUI : Synth Params
This slider GUI is of a type seen throughout the program. All such GUIs operate along similar principles. Each row displays the following information:
Parameter Name
Values may be set directly using any of the following elements.
Linear value number box displays the parameter as a value from 0 - 1, regardless of its actual resulting value.
The slider operates as one might expect.
Actual resulting value: this will most often be different from the linear value.
MIDI Control on / off
MIDI Control Channel
MIDI Control CC number
Please see below for an explaination of these elements.
MIDI control of Synth parameters
By default, the button at the top right hand corner of the Slider GUI is set to "Midi Ctrl". This shows that any incoming MIDI continuous controllers specified below will be responded to. Alongside each parameter row, underneath the "Midi Ctrl" button to the right, is a button marked "M" and space for two numbers. If the "M" button is switched on (white on a blue background) then the cc value for this parameter will be responded to, if the button is off (black on grey) the cc value will be ignored.
Clicking on the "Midi Ctrl" button will turn it red, and the lettering will change to "Midi Learn". In this mode, the parameter row buttons display the letter "L" instead. Clicking on a button and then sending a continuous controller message will "learn" the cc value for that parameter, the channel and cc numbers will appear in the number boxes, and the "L" button will turn itself off. This procedure may be repeated for as many values as desired. When no more controls need to be set, pressing "Midi Learn" once again sets the mode to "Midi Ctrl" and the relevant control will be turned on and available for input.
! BEWARE !
ONLY the MIDI channel and cc numbers are remembered. It does not matter from which source or interface these messages come from. This is a design choice. This still leaves a choice of 16 x 128 individual controller numbers, which equates to 2048, a figure unlikely to be surpassed in most studios.
Automatic recall
The cc assignments for each parameter are NOT saved or recalled in Palette slots. Instead, they are remembered as "preferences" for the program, and will appear automatically next time the program is run.
Slider Parameters and their meanings.
Lag
FundFreq hz
The fundimental frequency of the granular synthesis, i.e. the rate at which grains are triggered or produced.
FormFreq model 1-2
1_FormFreq hz
2_FormFreq mult
The FormFreq controls the frequency of each individual grain (also known as the formant frequency.) At a different value to the FundFreq, it can create resonances that may for instance resemble vocal sounds. The FormFreq can be specified in two different ways, either as a completely seperate frequency argument, or as a multiplier to the FundFreq. The parameter "FormFreq model 1-2" is the switch that controls which of these approaches is used.
Freq env amt
The amount that the frequency envelope modulates the pitch of the individual grain.
trigRand
For the fundimental trigger of grains, how much randomness is applied to the frequency. i.e. increasing this parameter will make the grains less regular.
fundFreqFlux
How much "flux" (randomness) is applied to the fundimental frequency.
formFreqFlux
How much "flux" (randomness) is applied to the formant frequency.
Amp Flux
How much "flux" (randomness) is applied to the amplitude of each grain.
Density
How many grains will be produced at any one time?
envRateMult
envRateMult
Loop Buf switch
Loop Buf switch
Loop Env switch
Loop Env switch
Pan
Where in the stereo spectrum the granular stream will be placed.
Level
The overall volume of this synth process.
Spread:
No. of spreads
Spread width
Amp reduce
O / S / c / p
Sequence Window
Envelopes
Micro vs. Meta
Play / Stop
Envelope windows
The shape of the looping envelope may be drawn directly in the relevant windows. In addition, pressing the yellow button directly to the left of the parameter name brings up a larger window within which it is a little easier to set detailed values. These windows have the following controls:
"Start Frame" number box
"Zoom" slider
range slider
range slider function button
full button
scroll numberbox
scroll arrow buttons
C(opy) button
P(aste) button
"div" number box
"comb" number box
"+offset" number box
"width" number box
FundFreq
Alters the FundFreq in the synthesis. In contrast to the relevant parameter in the synthesis process, which this sequence influences, this value is given as an offset in semitones. The extent of the whole range is given in the number box above the envelope.
FormFreq
Offset in semitones of the FormFreq parameter. Once again, the extent of the whole range is given in the number box above the envelope.
Pan
An offset to the Pan parameter.
Amp
An offset to the Amp parameter.
Density
A multiplier to the Density parameter in the synthesis.
Edit buttons
O / S / c / p
Live Mixer
Freq
Pan
Level
All Seq Speed
All Transpose
All Vol
Preset Palette
Concept
< (recall)
+ (save)
X (delete)
O / S / c / p
Blend / RND Blend button
Vol adjust
MIDI note control
Pictures
Concept
The Picture Controller
Styles
Color sliders
enable / disable
Start or stop updates to the picture.
Accept update from Palette
Whether or not a recall from the Palette should update picture parameters. In addition, if this is off, the picture shape data is NOT saved in the Palette slot.
FPS
Sets the frames per second of the Picture update. This can make the animation smoother but at the cost of increased CPU. This value may be set according to available computer power or for artistic reasons.
resize button
This will change the picture area according to the bounds of its window. (Unlike many other windows, automatic resize is not possible with the Picture, hence this manual function.)
Slider GUI
bounds arr
Blends the arrangement of the 8 animations (one for each synthesis process) between everything sharing the same space, and a 4 x 2 configuration.
line width
The width in pixels of any line drawing.
width mult
A multiplier value to the line width. This allows for extra wide lines, if needed.
non wid mult
A multiplier value to the line width for shapes representing synthesis channels that are switched off. When no output is taking place, the representative shape is a triangle.
vol min
The volume slider for each process in the Live Mixer alters the size of the corresponding animation. This sets the minimum size.
vol max
The maximum size that the Live Mixer can change the animation to.
flux sens
The "flux" parameters in the synthesis process can be represented by the random fluctuation of shape co-ordinates. This parameter sets how much of this randomness is used.
blendMode
When shapes are plotted on top of each other, their colors may be blended in different ways. The default value is 0, in which case the colors will appear as normal. Experiment with this parameter in order to see the results of other modes.
! BEWARE !
Certain combinations of colors and blend modes may render any or all animations invisible.
maskAlpha
This determines how much of the previous frame is left behind in the currently updated picture. By default it is one, meaning the animation is overwritten completely with each frame. Setting this value lower results in something looking like a 1970's video effect - experiment and see.
blob width mult
Some of the styles feature "blobs" or outlined blobs. This value sets how much wider they are than the lines, as a multiplier.
dashMult
The "density" parameter in the synthesis process can be set from 0 to 1. This may be reflected in the animation by a dashed line, the pattern of which is influenced by this value. So for a value of 1, the line is unbroken. For 0.5, half of the line will be "missing", for 0.2 only a fifth of the line will be drawn, and so on. This value sets a multiplier based on the width of the Picture view, of how long each complete dash pattern length should be. As usual it is best to move the slider and watch what happens.
minimum dash
For very small "density" values, the line may become almost invisible. This determines the minimum threshold below which the line will not be any more "dashed."
background
Sets the background color.
color 1- 8
Sets the colors of the individual animations.
style switch
The style of all animations may be set, or individual styles for each animation may be chosen. This switch determines which of these takes place - 0 for all, 1 for individual choice.
style all
The style number for all animations if "style switch" is set to 0.
style 1- 8
The individual style numbers if "style switch" is set to 1.
O / S / c / p