MVerb - A Free Open Source Reverb

VST, AU, AAX, CLAP, etc. Plugin Virtual Effects Discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

Awesome. I'll try this before the end of the week

Post

lubomir.ivanov wrote:here is a debug, vst build of mverb for 64bit windows:

http://dl.dropbox.com/u/1627980/axon/mv ... ug-x64.zip
(1.6mb zip)

if the plugin crashes on your machine please report:
- cpu model
- windows version
- crash log
- does it crash only in specific hosts
- etc

this will be very helpful to us,
thanks.

ps: note that this debug build is around 28 times larger and 2-3 times slower.
Awesome work, thank you lubomir.ivanov :)

Post

I'm sorry to say that the debug x64 version of mverb crashes Cubase 5.5.0 x64 :(

Repro steps:
1. Open empty project (44.1kHz/32bit)
2. Insert audio file. Loop it. Press Play.
3. Hit the "e" button on the track to display the effects rack.
4. On the first insert choose mverb.
Result: Cubase Crashes

Here's the mverb log:

[mverb.cpp:317] malloc(new), 0x1fde00, 40, 40
[axBase.h:118] malloc(new), 0x1fdd50, 24, 64
[axBase.h:119] malloc(new), 0x1fdd50, 368, 432
[axBase.h:120] malloc(new), 0x1fdd50, 8, 440
[axBase.h:121] malloc(new), 0x1fdd50, 232, 672
[axFormatVst.h:1679] axFormatVst.constructor
[axBase.h:139] malloc(new), 0x1fdd80, 5801808, 5802480
[axArray.h:50] malloc, 0x1fd9e0, 128, 5802608
[axArray.h:50] malloc, 0x1fd9e0, 128, 5802736
[axFormatVst.h:107] audioMaster: 91051840
[axFormatVst.h:147] malloc(new), 0x1fd960, 64, 5802800
[axFormatVst.h:147] malloc(new), 0x1fd960, 64, 5802864
[axFormatVst.h:147] malloc(new), 0x1fd960, 64, 5802928
[axFormatVst.h:147] malloc(new), 0x1fd960, 64, 5802992
[axFormatVst.h:147] malloc(new), 0x1fd960, 64, 5803056
[axFormatVst.h:147] malloc(new), 0x1fd960, 64, 5803120
[axFormatVst.h:147] malloc(new), 0x1fd960, 64, 5803184
[axFormatVst.h:147] malloc(new), 0x1fd960, 64, 5803248
[axFormatVst.h:147] malloc(new), 0x1fd960, 64, 5803312
[mverb.cpp:191] malloc(new), 0x1fdb50, 64, 5803376
[mverb.cpp:192] malloc(new), 0x1fdb50, 64, 5803440
[mverb.cpp:193] malloc(new), 0x1fdb50, 64, 5803504
[mverb.cpp:194] malloc(new), 0x1fdb50, 64, 5803568
[mverb.cpp:195] malloc(new), 0x1fdb50, 64, 5803632
[mverb.cpp:196] malloc(new), 0x1fdb50, 64, 5803696
[mverb.cpp:197] malloc(new), 0x1fdb50, 64, 5803760
[mverb.cpp:198] malloc(new), 0x1fdb50, 64, 5803824
[axArray.h:169] realloc, 0x1fdbd0, 0x1fdb90, 256, 5803952
[mverb.cpp:199] malloc(new), 0x1fdb50, 64, 5804016
[mverb.cpp:201] malloc(new), 0x1fdb50, 56, 5804072
[axProgram.h:34] malloc, 0x1fdbc0, 36, 5804108
[mverb.cpp:202] malloc(new), 0x1fdb50, 56, 5804164
[axProgram.h:34] malloc, 0x1fdbc0, 36, 5804200
[mverb.cpp:203] malloc(new), 0x1fdb50, 56, 5804256
[axProgram.h:34] malloc, 0x1fdbc0, 36, 5804292
[mverb.cpp:204] malloc(new), 0x1fdb50, 56, 5804348
[axProgram.h:34] malloc, 0x1fdbc0, 36, 5804384
[mverb.cpp:205] malloc(new), 0x1fdb50, 56, 5804440
[axProgram.h:34] malloc, 0x1fdbc0, 36, 5804476
[axFormatVst.h:581] effCanDo: 'bypass' (return: 0)
[axFormatVst.h:581] effCanDo: 'receiveVstMidiEvent' (return: 1)
[axFormatVst.h:581] effCanDo: 'sendVstMidiEvent' (return: 1)
[axFormatVst.h:581] effCanDo: 'midiProgramNames' (return: 0)

Here is the windows crash log:

Faulting application name: Cubase5.exe, version: 5.5.0.602, time stamp: 0x4c061a50
Faulting module name: mverb-vst-debug-x64.dll, version: 0.0.0.0, time stamp: 0x4c4f455f
Exception code: 0xc0000005
Fault offset: 0x00000000000152e0
Faulting process id: 0xa0c
Faulting application start time: 0x01cb319230bdbead
Faulting application path: C:\Program Files\Steinberg\Cubase 5\Cubase5.exe
Faulting module path: C:\Program Files\Steinberg\Cubase 5\VSTPlugIns\mverb-vst-debug-x64.dll
Report Id: ae08ec8c-9d85-11df-af01-0023543b64a8

Hope this helps.

Post

It works great here with Reaper. No crashes or problems so far :)

Thanks again lubomir.

@aircargo: I followed these steps and I can't reproduce it in Reaper :( I guess it's something to do with Cubase.

Post

I wouldn't say it's a problem *wih* cubase. But I guess it's a problem in mverb that is unique to cubase, maybe because it has been tested in Reaper but not Cubase yet.

Post

aircargo wrote:I wouldn't say it's a problem *wih* cubase. But I guess it's a problem in mverb that is unique to cubase, maybe because it has been tested in Reaper but not Cubase yet.
likely, yes.

Post

thank you for the useful reports MN and aircargo.

aircargo, could you try this new build with cubase x64:
http://dl.dropbox.com/u/1627980/axon/mv ... ug-x64.zip
^ same link updated

ps: mind that this or similar issues are most likely framework related and not with x64 mverb specifically.
linux/win32 framework for plugins and exacutables:
holos.googlecode.com

Post

I'll try it tonight! Thanks for the quick turnaround!

Post

I need to say... I LOVE THIS REVERB!!!

Worked on some songs with my nephew this evening. This was all we used to help track the vocals.

This reverb ROCKS!!!

Thanks.

BBC :wheee:

Post

i think this is the new free reverb king!

epicverb now is my second choice

Post


Post

Thank you for pointing to the newest 64-bit version.

Martin's mverb is really one of the best.
free mp3s + info: andy-enroe.de songs + weird stuff: enroe.de

Post

Like it a lot!

Post

Hey guys,

I'm starting out with reverb designs, and found this gem. Thanks for sharing, Caco!
Also, thanks to other participants in this awesome topic - I've discovered tons of material to get inspiration and knowledge from, just opening the links and googling names from the discussion.

All the old links to MVerb source code are dead, so I downloaded it from https://rekkerd.org/martin-eastwood-audio-free-plugins/. Also, seems like there are at least three copies of this source code on Github. I don't know if the code is identical to the one initially shared, but it looks like it is not the final version from which the plugins were built.

I wrapped MVerb in IPlug2 (my fav) to play with the design. While doing this I've noticed a couple of pretty noticeable DSP bugs that wouldn't let me get it working right. The original version got the signal chain exploding by the end of the first buffer.

I decided to post them here for anyone interested. All of them are inside the MVerb class template. I write them in no particular order. And some of them are not bugs really.

DampingFreq and BandwidthFreq are normalized, as we see in the setters and in the logic of the process() method. However, they're initialized with absolute values in the ctor. If you'd like to experiment, there's no need to clamp them between 100 and 18.5k Hz. One can go with [0 - sampleRate / 2];

Some class members and their smooth counterparts are not consistent - smoothed versions are in absolute range.

There's a bug in setting the density param. If done too fast, MVerb starts to ring indefinetely long. You can catch it in the 2020 version too. It can be fixed together with improving the smoothing process. These params are better smoothed by the 1st order lowpass, and then scaled up to the absolute range in the loop, like this:

BandwidthSmooth = 0.999 * BandwidthSmooth + 0.001 * BandwidthFreq;
T bandw = BandwidthSmooth * SampleRate / 2;
// use bandw

Then, you'll need to set all the smooth members to their counterpart values in reset() method.

Density1 and Density2 are not initialized in the ctor at all.

This line is not correct:
Density2 = DecaySmooth + 0.15;
It should be
Density2 = Density1 + 0.15;

Smoothing the size is not meaningful since the filters are cleared on change anyway.
Also, max value of size may be 2, but that's a personal preference, again, for those who'd like to experiment.
Another personal preference is to set max val of decay to 1 to generate drone sounds. I really like how it worked out in WDL-OL version of Freeverb too :)

Then, depending on the setup, the smoothing may not be needed at all. I think it's better to put it outside, as well as changing mix and gain params.

getParameter() method has most of the mappings wrong. You can check it by setting the vals by printing on the keyboard in the 2020 version.

Operations on raw memory. One better go with std::array - the compiler will generate absolutely identical code.
Last edited by 1eqinfinity on Sun Jan 09, 2022 6:50 am, edited 2 times in total.

Post

VSTadapter wrote: Sun Aug 15, 2010 12:35 pm i think this is the new free reverb king!

epicverb now is my second choice
EpicVerb is one of the kind. I freaking love it ‎️‍🔥

Post Reply

Return to “Effects”