A full rewrite of OSC/PAR is now available for testing as OSC/PAR2. Your existing keys for OSC/PAR will work as-is, no need for a new purchase. Quite a few new output modes (LFO, Envolope etc) and features available.
Try it out and let us know if you have any issues and feedback. Download links here:
Links updated on June 4, 2026
OSC/PAR2
OSC/PAR2 is a VST3 instrument for building modular, host-synced OSC control streams. Add modules, route them to OSC sender destinations, and map them to host automation.
Version 0.1.0 — VST3 Instrument — OSC sender A-E — Host transport aware
Quick Start
- Open OSC/PAR2 as a VST3 instrument in a host.
- Open the gear button and set OSC sender destinations A-E. By default they point to
127.0.0.1on ports8080through8084. - Set the footer
ADDRESS PREFIX. The default prefix is/OSCpar. - Add a module from the top row:
PAR,LFO,ENV,SEQ, orMSG. - Set the module OSC address in its header. Example: prefix
/OSCparplus module address/LFO1sends to/OSCpar/LFO1. - Enable at least one sender button, A-E, in the module header. If no sender is enabled, that module sends no OSC.
- Register the app from the License tab. OSC output is disabled when the app is unregistered.
Important: OSC/PAR2 is designed to keep sending OSC while the plugin is loaded, even if the editor window is closed. Runtime OSC is driven from the processor side, not only from the visible editor.
Main Interface
The main interface is divided into module creation buttons, a scrollable module stack, and a footer for global state and transport options. Cards can be collapsed, expanded, muted, soloed, removed, and reordered by dragging their headers.
Card Header Controls
| Control | What it does |
|---|---|
| Triangle | Expands or collapses the card. PAR does not expand, so its triangle is disabled. |
| Colored output slider | PAR uses this as its main value. LFO, ENV, and SEQ use it as an amplitude scale for the generated output. |
| LOW / HIGH | Maps the generated 0-1 value into the final output range. Negative values are allowed. |
| FLOAT / INT | Selects whether the output is sent as a float or an integer. In INT mode, values are sent only when the integer changes. |
| ADDRESS | Module OSC address. It is sanitized as an OSC address and committed when you press Enter or click away. |
| A B C D E | Destination routing. These correspond to OSC sender A-E in Settings. At least one must be enabled to send OSC. |
| Output display | Shows the final output value, or the current message string for MSG modules. |
| M / S | Mutes or solos a module. Only one module can be soloed at a time. Soloing one module mutes the others. |
| X | Removes the card. |
Reordering Cards
Drag a card by its header to reorder it vertically. Other cards move out of the way when the dragged card crosses into their space. If the stack exceeds the visible area, use the mouse wheel or trackpad to scroll; the scrollbar is intentionally hidden.
OSC Setup
OSC/PAR2 has five OSC sender slots: A, B, C, D, and E. Each slot has a destination IP and port. Modules decide which sender slots they use through their A-E buttons in the card header.
Address Format
The final OSC address is built from the footer prefix plus the module address.
| Field | Example | Result |
|---|---|---|
| Address prefix | /OSCpar |
/OSCpar/LFO1 |
| Module address | /LFO1 |
Commit behavior: Address fields update only after commit. Press Enter or click away from the field. This prevents OSC messages from being sent to partial addresses while typing.
Modules
PAR — Parameter
PAR is a direct manual parameter output. It does not expand. Move the header slider to send the value through the selected A-E senders. The LOW/HIGH range maps the slider value to the final OSC value.
- Good for manual OSC controls and host-automatable values.
- Default output slider value is 100 percent.
- PAR sends only when its value changes.
LFO — Low Frequency Oscillator
LFO generates a continuous host-synced or Hz-based modulation stream. It displays a waveform and playhead in the expanded area.
| Control | Description |
|---|---|
| Shape | Saw, Sine, Triangle, Square, Pulse, or SnH. SnH is sample and hold and changes to a random value each cycle. |
| SYNC / Hz | SYNC follows host transport. Hz mode uses free rate from 0.01 Hz to 10 Hz. |
| D / T | Dotted and triplet modifiers are available in SYNC mode. |
| Rate | In SYNC mode, rate ranges from 4 bars to 1/64 notes. The default is 1 bar. |
| Phase Offset | Bipolar phase offset. The center position is no offset. |
| Skew / Pulsewidth | Skew is available for sine and triangle. Pulsewidth is available for pulse. |
| INV | Inverts the LFO waveform. |
ENV — Envelope Trigger
ENV is an ADSR envelope triggered by MIDI note input or by the module’s manual TRIGGER button.
NOTE NUMBERselects the incoming MIDI note from 0-127. The default is 60.- Attack, Decay, Sustain, and Release sliders shape the envelope.
- ENV sends OSC only while the envelope is active, not constantly while idle.
- Holding the MIDI note holds the sustain phase; releasing the note starts release.
SEQ — Step Sequencer
SEQ is a 16-step transport-driven sequencer. It sends the active step value, not all step values at once.
- Direction modes: FORWARD, REVERSE, PINGPONG, RANDOM.
- SYNC/D/T/rate controls follow the same timing concept as the LFO.
- Length is clamped from 1-16. Steps outside the length are disabled and greyed out.
- Drag vertically on a step to set its value.
- Hold Shift while editing a step to snap values to 0, 0.25, 0.5, 0.75, and 1.
- Drag across multiple step faders to draw a sequence quickly.
MSG — Timeline Messages
MSG sends string messages at bar/beat/percent positions on the host timeline. It is intended for transport-aware cue messages.
- New MSG cards begin with a default message at bar 1, beat 1.
- Add a message to stamp the current transport position.
- Edit the current message text and timeline position from the card’s edit row.
- Use PREVIOUS and NEXT indicators to see the surrounding timeline messages.
- Click a timeline tick to select and edit that message.
- When triggered, MSG sends the current message, its time, previous message, and next message as arguments.
- MSG does not use the amplitude slider, range controls, or float/int output mode.
Transport And MIDI Output
The footer contains global options for sending host transport and note data.
| Option | OSC address | What is sent |
|---|---|---|
| SEND TRANSPORT | <prefix>/Transport |
Bar, beat, and sixteenth-note position. |
| SEND NOTE DATA | <prefix>/Note_0 through <prefix>/Note_127 |
MIDI note velocity as an integer value. |
Settings
Open settings with the gear button in the top-right corner. The settings overlay darkens the plugin behind it and has four tabs: OSC, Appearance, License, and About.
Appearance Themes
The current theme colors the top module buttons, card titles, header sliders, waveform lines, sequencer steps, timeline ticks, and settings server labels.
Host Automation And VST Parameters
When modules are added, OSC/PAR2 exposes module-related VST parameters to the host. In hosts such as Ableton Live, use Configure to expose the parameters you want to automate.
- Parameter names include the module type and OSC address tag, making them easier to identify in the host.
- PAR values can be automated directly.
- LFO controls such as rate, phase, and shape are available for mapping.
- ENV ADSR controls are available for mapping.
- Moving mapped host parameters updates the plugin controls.
Tip: Rename module OSC addresses before configuring automation in the host. That keeps the host parameter names meaningful.
License
The License tab accepts a username and serial. Once registration succeeds, the input fields are hidden and the tab shows a centered green REGISTERED TO <username> status.
- Existing users can use compatible OSC/PAR (original one) serial credentials.
Troubleshooting
No OSC Is Arriving
- Confirm the app is registered.
- Confirm at least one A-E sender button is enabled in the module header.
- Check the OSC sender IP and port in Settings.
- Confirm your receiving app is listening on the same port.
- Check that the footer prefix plus module address is the address you expect.
Host Clock Modules Are Not Moving
- Start host playback so transport-driven modules advance.
- Check whether the module is muted or another module is soloed.
Address Changes Send Too Early
- Address fields commit on Enter or click-away. If you are still editing, partial text should not become the active OSC address.
- Click away from the field to commit and defocus it.
OSC/PAR2 User Manual. Website: www.oscpilot.com. Programmed and designed by Joel Zimmerman.
