RNBO
Pure Data (Heavy)

RNBO Source

With this website you're able to create your own plugins for FMOD using exported source code from Cycling 74 RNBO or Pure Data. I'm thinking about extending the functionality to WWise. For now it is RNBO, Pure Data (Heavy) and FMOD.

This is also intended to be a crowd plugin project. All plugins created will be listed under the plugins window for everyone to download. For now you can also make the plugin private, which will be a paid feature in the future (probably).

Step 1. Designing the Plugin

First you have to design your plugin in RNBO. Create a new project and add an rnbo~ object.

RNBO Design instructions

  1. Name your Plugin by either naming the rnbo object in the inspector or adding a |param| object with argument Name_<PluginName>. The naming has the following priority: object name > Classname (export) > Name_ parameter.
    plugin-Name
  2. Create an RNBO patch as you like either as an instrument or effect. The presence of in~ and out~ objects determines the type.
    In- and Outputs
  3. (Optional) Add param objects that you need. min, max, value and unit attributes will automatically be transferred.
    parameters
  4. (Optional) Add any or multiple of the following inports that will receive 3d-Attributes from the source as a list:
Argument Explanation
rel_pos Relative Position
rel_vel Relative Velocity
rel_forw Relative Forward Vector
rel_up Relative Up Vector
abs_pos Absolute Position
abs_vel Absolute Velocity
abs_forw Absolute Forward Vector
abs_up Absolute Up Vector

For example to receive the relative position (xyz) from the event to the listener:
fmod-Attributes
If any of those inports are present in the plugin, the event is automatically turned into a 3D event (even without a spatialiser), when it is an effect. For instrument plugins, you must add a spatialiser to preview the effect in FMOD Studio.

  1. (Optional, effect only) Add how long after the plugin became quiet, it should leave the event alive (for example if you have delays or reverb other any other tail). This is done over another parameter Sys_tail <ms>.
    For example for keeping it 0.5 seconds alive after being quiet. If this isn't set, the event is stopped immediately. So insert at least 1ms to enable checking the output volume. sysTail

  2. Export it as a C++ Source Code. If you haven't specified a name, you can set one here as Classname. No other modifications are needed.
    rnbo-Src-Export rnbo-Src-Export2

Step 2. Compiling the Plugin

  1. Create an account. This way you can manage your plugins and update or download them. Your data isn't used in any other way than for providing this service.
  2. Go to projects and press the +-Button.
  3. Upload the folder that has been exported by RNBO.
  4. See, whether the name, the type and the in- and outputs are detected correctly.
  5. Select the desired operating systems you need and press start workflow.
  6. In the background the plugin will get compiled to the different architectures. As soon as this is over, a download button appears. This takes 1-2 minutes. Currently windows takes much longer, around 3-4 unfortunately...
  7. You can add a description and the max patch file for others to read or to study and to alter the plugin.
    Here, you also can make it private.
  8. If you find any bugs or something isn't working as expected, feel free to contact me.

Things to consider

Feel free to try out the additional GUI Compiler here.

The performance of these plugins is worse than the ones FMOD provides. You can and maybe should test the performance with the profiler of FMOD-Studio.

If you're feeling generous, you can donate here.

;

An unhandled error has occurred. Reload 🗙