Create Sub-Patches

Usine has a complete hierarchic patch organization. Each patch can contain other patches called sub-patches. Sub-patches can contain themselves, other sub-sub-patches, etc.

There is no difference between patch, or sub-patch except that a sub-patch may have data input and output modules. Here is a example of a patch wich contains 3 sub-patches.

Polyphonic Sub-Patches

Usine provides an efficient way to handle polyphony in sub-patches. The global idea is to design a single patch and ask to Usine to duplicate it into several clones, also called voices which are processed in parallel.

The polyphony concept can be used in many situations:

  • create polyphonic synth
  • multi-channel & multiphony treatment
  • any data or audio manipulation, to replace repeated patches,
  • etc.

4in 4out Random Delay

Let's take an example, a simple 4in –> 4out random audio delay.

From the browser, drag & drop an empty sub-patch onto a main patch.

Go to into this sub-patch ([DBL-CLICK]), then add the following modules:

  • audio inputs
  • audio outputs
  • audio delay (choose stereo in the query window)
  • random generator

And connect them as:

This patch is stereo, and we would like to turn it into a quadraphonic one. For that, double click inside the sub-patch to go back in the parent patch and right click on the sub-patch to open its settings panel:

Change the polyphony slider (set it to 2) and click on the apply polyphony button.

The sub-patch has its inputs and outputs duplicated.

In other words, we have created a quadraphonic random delay by setting the polyphony of a stereo patch to 2.

In polyphonic sub-patches, the changes become active only after the apply polyphony button has been pressed.

4in 4out Volume

We suppose that we want to create a simple 4in 4out audio volume. This patch is actually not very interesting because this module already exists natively in Usine, but it's a good example.

From the browser, drag & drop an empty sub-patch onto a main patch.

Go to into the sub-patch ([DBL-CLICK]), then add the following modules

  • audio inputs
  • audio outputs
  • mono audio volume (choose mono in the query window)
  • gain fader

And connect them as:

Set the polyphony slider to 4, and click on the apply polyphony button.

Now, if we comeback into the parent patch we can see something like

Input, output, and the gain fader have been duplicated 4 times.

It can be interesting to have the gain fader duplicated 4 times, but in our case, it's better to have only one gain fader which controls the 4 channels at the same time?

For that, select the gain fader module in order to display its settings panel and turn the once in poly ON.

This switch asks to Usine to not duplicate the control according the polyphony. The gain fader will be created only once and will control all the gain parameters.

Use again the apply polyphony button, Now in the parent patch the sub-patch looks like:

When we apply a polyphony=4, internally the patch is duplicated 4 times.

It means that the poly sub-patch above is equivalent to:

But if we turn the once in poly of the gain fader ON it becomes equivalent to:

4 in 1 out Audio mixer

The once in poly option can be activated for audio outputs modules.

Here is an audio mixer where only the audio output module have the option once in poly activated:

Advanced Polyphony

Usine can provide more powerful and complex polyphony managements with two special modules:

For example, we want to create a patch with 4 sample players playing 4 different samples.

  • the polyphony voice 1 plays the sample 0,
  • the polyphony voice 2 plays the sample 1,
  • etc.

Let's create the following sub-patch. The data in and audio outputs modules are set to once in poly.

Double click on the sampler module to add 4 wave files (here metal 1 to metal 4):

Add a play button, two audio outs, then select the sub-patch (renamed "Samplers x4") and set the polyphony=4. Finally, click on the apply and reset button.

If you rearrange the wave display positions on the control panel, it can look like:

Now, the only problem is that all samplers are playing the same file... In order to tell that the sampler-voice1 has to play the sample 0, the sampler-voice2 has to play the sample 1, etc.

We can use the poly-current-voice-number module patched like:

Don't forget to click the apply polyphony again.

You can verify yourself, looking into each patch voice separately, by clicking on the voices buttons. Then you can see that the voice 1 is playing the sample 0 and son on:

Apply polyphony and apply and reset

When you make some changes in the sub-patches, you'll need to apply the polyphony again. There's a difference in the way Usine recreates the sub-patch polyphony when using this two buttons.

apply the polyphony

Applies the polyphony and try to keep the most of the previous settings (layouts, samples and so...)

apply and reset

Resets all settings and recreates the polyphonic sub-patch from scratch. It's more or less the same action than when you create the polyphony the first time: samplers have all the same sample, layout are all in the same place etc. This button will also rebuild all the objects ID's.

Remember that each patch shared on the local network use its own ID (identification number). Useful especially If you experience of patches that don't send information to the good target.

So to resume, apply polyphony when you made minor changes apply and reset when you want rebuilt all from scratch.

See also

See also

version 6.0.240115

Edit All Pages