Skip to content

FX - Reverb

FX - Reverb is a compact audio-effect project with controls for pre-delay, reverb time, and dry/wet mix. It shows that an effect uses the same React application workflow as an instrument while its Gorilla Editor sound core processes host audio rather than generating notes.

  • Structuring and compiling an effect plugin
  • Binding a small set of controls to effect parameters
  • Reusing labeled controls and shared styling
  • Loading sessions and presets
  • Providing standard and macOS Retina @2x filmstrip assets
  • Iterating rapidly in the standalone application before validating in a DAW
  • instrument/Reverb.inst contains the effect signal chain and exposed parameters.
  • src/app/Root.tsx loads the effect and initializes shared application services.
  • src/app/components/UserInterface.tsx composes the three primary controls.
  • src/app/pluginConfig.ts describes the product to the application layer.
  • assets/ contains images, fonts, and presets.

Gorilla Editor uses the .inst file type for both instruments and effects. In React code and runtime APIs, an instrument value may therefore represent the sound core of an effect.

From the FX - Reverb example directory:

Terminal window
npm ci
npm run buildAndInstall

This compiles, packages, installs, and exposes the product to supported plugin hosts. Test the installed effect with real host audio early in development.

Terminal window
npm start

The watcher rebuilds changed instrument and TypeScript sources, deploys successful changes, and relaunches the standalone application. A standalone process is convenient for interface work, but it does not replace testing the effect inside its target DAWs and plugin formats.

After deploying changes for DAW testing, remove and re-add the plugin instance to load the new application and assets.

See Basic Synth for a larger parameter-bound instrument or Drum Sequencer for reducer-based state and host transport integration.