Processes:
Filter:
SATIE/Examples (extension) | Libraries > SATIE

Processes
ExtensionExtension

Introduction to SATIE processes

Go back to SATIE-Overview

Previous Section: Spatializers

Next Section: Effects

Overview

Processes allow more complex behaviors while limiting OSC communications between 3D engine and SATIE server. Processes are arbitrary routines and could be associated with particle systems, granular-type sound events, patterns, sequences, but are not limited to generating sound (or other events) and could also be used for introspection, tracking of various interaction or sound features and reporting. The process will run completely independent of the 3D engine control via OSC, unless appropriate methods have been implemented or overriden.

Simple process example

We start with setting up SATIE. The synths that will be used by the process must be compiled on the server:

And we define the process. The process needs to be encapsulated in an environment and must implement setup and cleanup methods. These methods are being used in OSC handlers. See OSC API to see which methods could be implemented to have some control over process via OSC.

Finally, we can execute process methods by accessing the running process through the instance dictionary

Using Pbind in Processes

Pbind can also be used to define sequences of events in processes. In order to use these mechanisms we need to take some extra steps. SynthDefs being used with Pbind need to be available in the global SyntheDescLib. SATIE maintains its own SynthDescLib so in order to use SATIE defined Synths, we need to make them available globally. This can be done with:

Another detail that needs attention is that SATIE Synths are being placed in SATIE controlled groups. In this case, we will need to provide Pbind with the Group ID where we want to instantiate the Synth. We can obtain that information easily, for example for the \default group:

Now we can try \saw with Pbind:

Now we can apply this knowledge in constructing processes:

Register the process with SATIE

This process needs to know about SATIE instance. We reference it here:

Instantiate the process

Finally, we can execute process methods by accessing the running process through the instance dictionary

Go back to SATIE-Overview

Previous Section: Spatializers

Next Section: Effects