Muze: 3D Mixer/Binaural Reverb Plugin (Beta)

Muze is multi-purpose VST/AU reverb plugin that combines a 3D audio mixer with a high quality binaural near & far field model. The mixer allows for tight control over the early spatial impression of your sound-sources while psychoacoustic models add essential directional cues to help localize the sound. Good externalization or depth is achieved with our reverb design that integrates with the binaural cues, giving appropriate contrast for the early spatial impression to sit in.

Muze supports up to 9 channels with interactive graphical controls for each sound-source in a single instance.  Direct sound-sources have separate processing paths that come together within the shared reverb component. Create wide impressions by routing a source signal onto multiple channels. Up-mix mono sources into stereo/binaural. Virtualize 5.1+ to headphones by placing virtual speakers on the sound-stage. Switch to the panning mode for speaker setups.

The plugin is in closed beta (Windows 7+ x64, VST2, Mac VST2/AU) and we are looking for several testers with keen ears to evaluate and give us feedback. Contact us if you’re interested along with something about yourself and we’ll supply you with further details.

Sound Samples:

  • Vocals by the talented Stephanie Kay (Stars Collide): Dry first, followed by alternating rotations along yaw and pitch axes for no-verb, no-verb near-field, small room, hall, diffuse hall, and cave
  • Jazz instrumental by Maurizio Pagnutti (All The Gin Is Gone’ & ‘Bess): Spinning around 9 instruments!
  • Loopy spatial effects!
  • Experiments! 

Riviera: Basic controls tutorial

Here’s  a quick video about the controls in the Riviera plugin (turn on closed-captions for descriptions). The dry clip is a collection of transients typically used to stress-test reverb effects. Below is a cross-post of the readme contained within the plugin with some further elaborations.

Controls:
-Fine-grain adjustments of knob are possible with the mouse wheel + holding down either shift or ctr on keyboard.
-Double-click a parameter will reset it to default.

Voom (N-Orthotope) panel:  Generalization of room into arbitrary dimensions.
5 faders, each with three knobs determine the characteristics of each dimension of the voom.

Size: The length of the dimension in meters. The sound-source is effectively placed at the center of this dimension. Enlarging this tends to increase RT60 and sense of “spaciousness” due to greater separation of early reflections.

Depth: Where you (the listener) is positioned in whole (integer) meters relative to the center of the room. 0 percent is coincident to the sound-source so there’s maximal delay between the direct sound and early reflections. 50 percent is coincident to the “wall” or boundary so the direct and early reflections are less distinguishable from reverb. Note that the IR is computed for depths that would map to whole meters so for a 6 meter dimension, there are only 4 positions the listener can be in (0, 1, 2, 3 meters from center).

Reflection: The dB loss incured per reflection between sound-source and boundary. Setting this to low values (e.g. 0.1 dB loss) will largely increase RT60 which got truncated to 5 seconds for performance reasons.

V1-V5 buttons: Enable/disable individual dimensions; enabling any combination of the N buttons generates an N-D room, disabling all dimensions will cause bypass. e.g. enabling (V1, V3, V5) generates a 3D room as does (V2, V3, V4). Note that in higher dimensional vooms, the reverb build-up creates a swell if you aren’t coincident to the sound-source so there’s hardly any distinction between direct, early, and late reflections. This motivates some time manipulation controls so that we may listen in these spaces.

Time panel: Manipulates geometry, distances between direct/early/late reflections, and more.

Stretch: A form of super-sampling of the underlying space which has the effect of spacing all the reflections out. This is geometrically equivalent to scaling your the voom and depth by a constant which will allow us to achieve long reverb tails.
1: no change
>1: Oversample geometry for longer IR
Note that freq. decay is applied after the fact so the reported RT60 will not scale proportionately.

Reverse: Mirrors the first % of the IR to create a pre-verb / pre-fading effect. 0% default gives no pre-verb where the first non-zero tap is the direct onset of the sound-source. 100% completely reverses the IR.

Linearity: A form of biasing the sampling in the geometry to either towards the earlier reflections as opposed to the later ones. In physical terms, this is modeling variable acceleration of the speed-of-sound without annoying Doppler effects. If late is oversampled (sound-velocty accelerates over time), the result is a long IR with distinct (well-separated) early reflections (more like echos). If early is oversampled (sound-velocity decelerates overtime), the result is a short IR with a very fast attack with a diminished reverb tail as all the earlier reflections have been compressed towards the direct sound-source.

Attenuation: This modifies the generalization of the inverse square law in higher-dimensions for sound-source energy loss. Low g causes less attenuation over distances (slow roll-off) which will emphasize the late-tail / reverb over the direct+early reflections without IR length. Large g causes more attenuation (fast roll-off) which will emphasize direct-early over reverb.
Delay: The direct sound-source normally has a non-zero time-of-arrival depending on the listener depth but for practical usage (mixing), a separate control was created for delaying the entire IR. By default, physical delay between source-listener is truncated to 0. Use this in conjunction with T0 (see below) and the mix knob to do pre-fading.

T0: Direct truncation of the early part of the IR. Use it to remove the direct sound-source onset, start the IR anywhere within the reverb tail,  or decrease pre-fading time and even gate the reverb tail with the reverse knob.

FFT: Controls the internal max-power block-size parameter without effecting latency (default latency is twice the latency set within the DAW due to some DAWs using variable block-sizes). Decreasing this will lower peak real-time processing at the cost of increase average real-time CPU usage. Increasing this will raise peak real-time processing but with decreased the average real-time CPU usage.

Frequency panel: All mediums (air, water, dry wall, glass) have frequency dependent absorption characteristics that will color the IR over time (see spectrogram). Two knobs are provided that parametrically fits a smooth function between 0 to pi radians in unnormalized frequency domain.

High/low decay or dampening: Increasing these will more quickly attenuate respective high and low frequencies from sampling_rate/2 Hz to 0 Hz over time; all freq. between have decay bounded between these two settings. Setting them equal to each other has the effect of applying frequency-independent dB loss (i.e. gain control).

Low cut Hz/Quality: Filter out low frequencies from 0 to f0 Hz with strength Q. Note that large Q will delay the signal a little (due to linear-phase) so watch the latency or use the T0 control to cut out the initial pre-ring.

Misc panel:
Your standard pan, stereo and mix (wet/dry) controls. These all have frame-buffer length latency and will not incur a recomputation of the IR.

Pan: Applies dB loss to either left or right channels.

Stereo: Applies low ms delay to either left or right channels.

Mix: Basic fader between original and processed signals.

Fast mode: Enable this so that non-voom parameter updates are faster at the expense of more memory usage.

IR normalization: If enabled, will normalize impulse response if sum of squared exceeds 1. Otherwise, beware of speakers if you start adjusting attenuation and reflection settings too aggressively.

Riviera: Fast hybrid reverb plugin for modeling high-dimensional spaces

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) 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 decay resulted in some interesting sounding impulse responses (IRs).

screenshot_compressed.png

Features: 

  • Low-latency, low CPU usage convolution
  • Multi-threading support for computing IRs in the background
  • Fine-grain controls for parameterizing each voom’s number of dimensions, size, offset from sound-source origin, and material reflection dB loss.
  • Time manipulation controls for delay, stretch, and linearity (RT60 ranges from 1 – 20 seconds!)
  • Fast frequency-dependent time-decay functions
  • Pan / stereo / mix (wet/dry) controls
  • Graphical user interface for displaying IR and spectrogram

Specifications:

  • 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

Samples:

  • Dry violin+piano:
  • Exaggerated concert-hall like reverb:
  • Snare drums (dry first, then fun reverbs):
  • Vocals by ABIGAILIA (dry followed by reverbs):

Credits:

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

Price: Free!

Download
Alternative link

Release notes:
v. 1.2.4d
-Upgraded Windows version to VS2017
-Fixed random crash where changing buffer size or sampling rate while thread is still computing with fast-mode on
-Fixed Mac AU verification (see above)
v. 1.2.4c2
-Hotfix for mac VST2 build for passing Cubase 9’s Sentinel.
v. 1.2.4c
-Do IR update only when param changes values (no more redundant updates)
-Finetune medium room and hall presets
v. 1.2.4b
-Added 26 internal presets for VST2/AU (no VST3) on PC and Mac
v. 1.2.4
-Changed offset param name to “depth”
-Skips update (do a fast update) if depth*roomsize results in same integer distance
-Color change to GUI
v. 1.2.3
-Exposed FFT max-pow block size param for controling peak real-time CPU thread usage load-balancing
v. 1.2.2a
-Added  Mac AudioUnit build
v. 1.2.2
-Launching Mac VST2 build
-Added button for toggling IR normalization
v. 1.2.1a
-Fixed minor bug where in fast mode and freq. decay low and high are set to 0 gives wrong update
-Fixed secondary bug where no truncation occurs in above conditions
v. 1.2.1
-Fast mode button for those who want fast non-voom parameter updates at the expense of more memory usage.
v. 1.2.0
-New features!
-Lowcut Hz and Quality: Remove mud
-T0: Early IR truncation
-Rev.: Mirrors IR and allows for pre-verb
-At.: Attenuation factor in high-dimensional spaces
(see readme for details)