Riviera: Hyper-Room Reverb

Riviera is a hybrid algorithmic-convolution reverb plugin for modeling specular acoustic reflections in N-dimensional orthotopes. e.g. string, plate, room, tesseract, and up (vooms or volume+room for short). Normally, direct computation in these spaces is expensive but some clever maths [see tutorial (parts 1, 2, 3, 4)] reduced the asymptotic costs to the point of practical use (e.g. a Reverb plugin). Parameterizing these spaces and then combining them with some fast time-varying frequency dampening resulted in some interesting sounding impulse responses (IRs).



  • Voom designer: Adjustable number of dimensions, size, listener offset from sound-source origin, and material reflection dB loss
  • Time controls: Adjust pre-delay, IR onset/reverser, geometry scale/density sampling, and dimensional attenuation
  • Frequency controls: Low and high frequency dampening, low-cut linear phase filter
  • Stereo controls: Pan, Haas, phase, mix (wet/dry), mid/side (mono to difference), and gain
  • Graphical user interface: Real-time displays to IR and spectrogram
  • High performance: Low-latency & low CPU usage convolution algorithm, variable max FFT block size, multi-threading support for computing IRs in the background


  • VST2: Windows 7+ 32/64 bit,  Mac OS X 10.7+ universal  build
  • VST3: Windows 7+ 32/64 bit
  • Audio Unit:  Mac OS X 10.7+ universal  build
  • Minimum SSE2 supported processor with improvements if AVX enabled



  • Yuancheng [Mike] Luo: DSP, algorithms, GUI
  • WDL-OL: Targeting VST2/VST3 and cross-platforming

Price: Free!

46 thoughts on “Riviera: Hyper-Room Reverb

    1. Didn’t know there was a way in the API to report back latency/delay. In any case, FL studio uses variable # frames upper-bounded by the latency in the user settings; plugin processing is one buffer delay of size equal to that user-setting latency.


  1. […] A common audio technique for adding depth to a mix is to throw in echos or early reflections following the direct sound-source arrival to a listener. To model such reflections, many reverberation algorithms treat a sound-source and listener as a point emitter and receiver within an imaginary room or box. The reasoning follows that such a configuration is elegant from both theoretical and practical perspectives. In this series of posts, I will investigate why this is so followed by several new results that were recently derived and implemented in Riviera. […]


    1. Mac VST it is although not before I add several more features 😉

      As for questions:

      *Each of V1-5 buttons specifies a dimension of the the voom so for example, enabling any 3 of them will put you in a 3D room, enabling any 4 of them will put you in a Tessaract or 4D room (the plugin lets us hear a projection of it like the visual analogy in https://en.wikipedia.org/wiki/Tesseract), enabling only 1 of them will put you on an oscillating spring, etc, etc.

      *Freq. decay is how fast different frequencies decay over time which can be viewed in spectrogram. High and low knobs are control points for the decay rates at 0 Hz and sampling_rate/2 Hz; all frequencies between have decay rates bounded between those two limits

      *Delay refers to the time onset of the direct sound-source. It’s only useful if you have the mix set below 1 and want the IR to lag behind with the onset treated as a distinct echo.

      *Stretch in physical terms roughly refers to scaling room-size and listener position from origin before freq. decay kicks in. i.e. make rooms even larger or smaller than what’s possible in the voom settings.

      *Linearity in physical terms roughly refers to how speed of sound changes over distance or time..
      0 => constant 340m/s,
      > 0 => starts slow, then accelerates over time.
      starts fast, then decelerates over time
      Easiest way to test this is to enable only 1 dimension (e.g. v1) and mess around with the linearity.


  2. Jaw-dropping reverb!!

    For some reason I couldn’t get the VST3 version to load (in Renoise) … I’m on Windows 10 64-bit, and neither the 32-bit or 64-bit builds of the VST3 version would load – I even tried renaming the files from “.vst3” to “.dll”, no luck. The VST2 versions work fine.


  3. Hello.
    Riviera is absolutely awesome, really unique! Thank You very much for this goldie! I am sorry, I can not help but ask, do You have any plans for another free plugin?? That would be absolutely awesome too. 🙂
    All the best,

    Liked by 1 person

  4. Hello.
    Thank You very much for a fast reply. If I may express my wishes, it would be really wonderful if You could make a free delay/echo/reverb hybrid kind of plugin or a free special Impulse Response loading reverb with unique IR processing/shaping abilities, all in Your unique and awesome NuSpace Audio style of course. 🙂
    All the best,

    Liked by 1 person

    1. Hey man, Riviera is a brilliant sounding reverb, thanks a lot. Nothing sounds like it. It also sounds much better than some commercial reverbs. I would like to see another free reverb from You too. Something that sounds very lush, expansive, lasting, cinematic, ambient(al), atmospheric, intergalactic, cosmic, gigantic. That would be excellent! 😉
      Best regards,


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s