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

ItemDetail
StatusDocumented route
Gravity Profileiem_stereoencoder_candidate_v1, version 0.1.0
FormatsVST2, VST3, LV2 and standalone (IEM recommends VST2); no ready-made AU or AAX
HostsREAPER, Ableton Live, Bitwig Studio, FL Studio, Cubase, Nuendo, Studio One, Reason, Cakewalk Sonar
Not hosted nativelyLogic Pro, GarageBand (AU only) and Pro Tools (AAX only)
Control routesOSC, or host automation of the plugin's parameters

Turning on OSC in the plugin

  1. Open the plugin window and click the OSC status display in the lower left.
  2. Enter a free port, for example 9001, and press OPEN. The left circle turns green when the plugin is listening.
  3. The plugin remembers the port with the project. Enter none, off or -1 to stop listening.
  4. Use a different port for each plugin instance.

StereoEncoder addresses

AddressRangeGravity Feed parameter
/StereoEncoder/azimuth-180 to 180 degreesazimuth_deg
/StereoEncoder/elevation-180 to 180 degreeselevation_deg
/StereoEncoder/roll-180 to 180 degreesNot planned
/StereoEncoder/width-360 to 360 degreesNot 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

AddressMeaning
/MultiEncoder/azimuth0 … azimuth63Azimuth of each input
/MultiEncoder/elevation0 … elevation63Elevation of each input
/MultiEncoder/gain0 …Gain per input, -60 to 10 dB
/MultiEncoder/masterAzimuthRotates 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

  1. Send azimuth 0, 90, -90 and 180, and elevation 0, 45 and -45.
  2. Confirm by ear and on the plugin display that +90 is hard left and +45 is above.
  3. 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.

Go deeper on the blog