5. Recording external parameters with score

In this tutorial, we will study the recording of the evolution of external parameters in time.

More precisely:

  • How to set-up a PureData patch that will send data to score.
  • The various modes of recording.
  • How to select and record parameters.


1. Setup of a PureData patch

This part is done with Pd, but also works with any OSC, OSCquery or Minuit-compliant device.
Here is an example patch that will send data to score :

By default, this will send the “/aParameter N” OSC message to score whenever the slider moves,
with N being a number between 0 and 127.

2. Setup of score

First, create a device.
The score listening port shall be equal to the port connected to in PureData.


Then, as seen in the first tutorial, add a child node named “aParameter”, to match the remote OSC device.
Either Int or Float types can be used.

Now, select the “aParameter” node in the Device Explorer :

3. Recording automations

Right-click anywhere in the main score, & in the context menu, select “Process > Record Automations from here”.

A vertical bar appears : it is a box that awaits an event to start recording.

As soon as a message is received, the recording will start.

Only Float and Int parameters can be recorded this way.
So, as soon as the slider is moved in the PureData patch, a curve will appear in the box.

To stop the recording, press Stop or enter.
Here is a video of the full procedure :

By default, score simplifies the curve. The simplification settings can be changed :

There are 4 settings :

  • Simplification ratio : how many points will be removed.
  • Simplify : if there is any simplification.
  • Ramp to new value : instead of recording the addresses as parameters (i.e. even
    when a message is not received, record the current value), only record the
    incoming messages, and ramp between them.
    This means that if the message ‘0’ is sent at the beginning, and five seconds after the message ‘1’ is sent,
    there will be a ramp from 0 to 1, (triangular wave) while in the default mode, the curve will stay at 0 until five seconds and
    switch to 1 without continuity (square wave).
  • Play while recording : this will try to play the scenario at the moment where the recording happens.

4. Recording messages

The other option in the context menu, “Record messages from here”, does record all the incoming messages
exactly as they enter score. Keep in mind that they will be played back at the update rate of score
which may not fit exactly with the rate at which messages were sent; this will cause jitter.

This option, however, cannot create a curve from the messages (what would be a curve of strings or impulses ?).
The recorded messages are visible in the inspector.

5. Recording multiple parameters

If multiple parameters are selected in the Device Explorer, they will all be recorded together.
If a parameter has children, they will also be recorded, recursively.