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