Gravity Feed for the IEM Plug-in Suite
Exact OSC setup and addresses for IEM StereoEncoder and MultiEncoder, with the Gravity Profile and fixture test.
This guide explains how Spatial9 Gravity Feed drives the free IEM Plug-in Suite from the Institute of Electronic Music and Acoustics in Graz. Status: documented route. IEM documents an OSC interface for every plugin, and Gravity Feed ships the iem_stereoencoder_candidate_v1 profile for StereoEncoder. The value conversion has not been verified against a running plugin yet, so conversion_verified is false. The REAPER prototype is the first adapter that uses it.
At a glance
| Item | Detail |
|---|---|
| Status | Documented route |
| Gravity Profile | iem_stereoencoder_candidate_v1, version 0.1.0 |
| Formats | VST2, VST3, LV2 and standalone (IEM recommends VST2); no ready-made AU or AAX |
| Hosts | REAPER, Ableton Live, Bitwig Studio, FL Studio, Cubase, Nuendo, Studio One, Reason, Cakewalk Sonar |
| Not hosted natively | Logic Pro, GarageBand (AU only) and Pro Tools (AAX only) |
| Control routes | OSC, or host automation of the plugin's parameters |
Turning on OSC in the plugin
- Open the plugin window and click the OSC status display in the lower left.
- Enter a free port, for example
9001, and press OPEN. The left circle turns green when the plugin is listening. - The plugin remembers the port with the project. Enter
none,offor-1to stop listening. - Use a different port for each plugin instance.
StereoEncoder addresses
| Address | Range | Gravity Feed parameter |
|---|---|---|
/StereoEncoder/azimuth | -180 to 180 degrees | azimuth_deg |
/StereoEncoder/elevation | -180 to 180 degrees | elevation_deg |
/StereoEncoder/roll | -180 to 180 degrees | Not planned |
/StereoEncoder/width | -360 to 360 degrees | Not planned today |
Example: /StereoEncoder/azimuth 40.0 places the source 40 degrees to the left. Gravity Feed uses the same convention (0 is front, positive is left, positive elevation is up), and its planned elevation stays within -90 to 90.
StereoEncoder has no distance control, so Gravity Feed returns distance changes as unsupported_actions with a reason instead of inventing a value.
MultiEncoder addresses
| Address | Meaning |
|---|---|
/MultiEncoder/azimuth0 … azimuth63 | Azimuth of each input |
/MultiEncoder/elevation0 … elevation63 | Elevation of each input |
/MultiEncoder/gain0 … | Gain per input, -60 to 10 dB |
/MultiEncoder/masterAzimuth | Rotates all inputs together |
MultiEncoder has no Gravity Profile yet. Check the input numbering against your plugin version before relying on it.
Writing with host automation instead
If your DAW records parameter changes, automate StereoEncoder's azimuth and elevation directly. Host parameters are usually normalized from 0 to 1, so convert with the range above: 0.5 is 0 degrees, 0.75 is +90 degrees. This is what the REAPER script does.
Fixture test before verifying
- Send azimuth 0, 90, -90 and 180, and elevation 0, 45 and -45.
- Confirm by ear and on the plugin display that +90 is hard left and +45 is above.
- Record the plugin version and the result. After a pass, the profile can move from documented route to tested beta.
FAQ
Is the IEM Plug-in Suite free?
Yes. It is free and open source under the GPL license.
Does Gravity Feed send audio to the plugin?
No. Gravity Feed returns numbers; your adapter sends them to the plugin as OSC messages or automation.