|
|
|
09-08-2014, 10:59 AM
|
#1
|
Human being with feelings
Join Date: Nov 2011
Posts: 3,409
|
Bug in ReaVerb or in Track routing: channel drops (FIXED)
Strange one... reaverb on a track, seems to need a long impulse to reveal this (not sure if that's just because it's inaudible otherwise).
Demo project (with audio): http://lacinato.com/pub/reaverb_bug_demo.zip
When sending a loud bassy signal (e.g. happened for a kick but not a snare?) to reaverb, occasionally the reverb coming out of it drops off incorrectly in one channel but not the other. This is also depending on when the play cursor is before pressing play.
In the screenshot below, you can see how the meter in the reaverb channel drops precipitously soon after. (This is not due to the impulse: happens for any long impulse, and is incorrect and audible.)
Further adding to the strangeness is that the source track sending the audio has to be low (e.g. -9); if it's at unity, this didn't happen. I don't know if this is some issue with routing or reaverb, but seems like reaverb.
...that's a clean portable install of Reaper 4.721, audio card selected, license imported. To reproduce: make a track, instantiate reaverb, choose the impulse (i think i also reduced "dry" to zero and set "wet" to unity, and maybe unchecked "reduce impulse by 18"). Make another track, import a sample, set that track to ~-9dBFS. Press play, and experiment with making the cursor start at varying different spots before the clip.
I don't think it's a buffering issue: it doesn't happen if you click right in front of the clip. Then there is a region where it does, then it doesn't, then it does again, etc, but it seems consistent for a given length before the clip.
Windows 8.1, i7 4770K, modern drives, etc.
Can anyone reproduce?
edit: there are also little bugs in reaverb where choosing a different impulse file sometimes results in the verb playing out of sync with the incoming audio; i.e. delayed by 500ms or so. Stop/start gets it back in sync. Don't know if this is related.
|
|
|
09-09-2014, 12:50 AM
|
#2
|
Human being with feelings
Join Date: May 2012
Posts: 1,216
|
This bug is indeed strange !
Tested it with your IR file and with some other random ones.
Setting the send to a level higher than -4.66dB everything works fine.
Below -4.65dB reaverb is not working correctly.
EDIT: ^^^^^^bullshit. Dropouts occur randomly below unity gain. (Strange. On first tests it worked above -4.66dB...)
Setting your IR file to mono everything works as expected.
Have also tested it with some other reverbs. Seems that only reaverb has this behavior.
Last edited by witti; 09-09-2014 at 01:04 AM.
|
|
|
09-09-2014, 03:11 AM
|
#3
|
Human being with feelings
Join Date: Apr 2014
Posts: 943
|
It´s a strange bug.
confirmed
Move it to position 1.0.0 everything works.
Otherwise ....
Leave it at position 2.3 , copy item to position for examble 4.0.0
first item at 2.3 the bug occurs, the item at position 4.0.0 works
Move the item to position 1.0.0, copy item to 3.1.0 , 5.1.0 etc .pp everthing works.
If no item is at position 1.0.0, the bug occurs at the first item(>1.0.0), follow items work
Using for example option zl, everthing works.
Strange bug.
"only reaverb has this behavior"
confirmed witti.
tested the same demo projekt and impuls file with the famous pristine space on 1CH, 2CH til 8Ch, everything works fine
Last edited by ELP; 09-09-2014 at 03:49 PM.
|
|
|
09-09-2014, 06:07 AM
|
#4
|
Human being with feelings
Join Date: Jan 2014
Posts: 5,205
|
Confirmed also. Mega weird! Have fun devs
|
|
|
09-09-2014, 10:55 AM
|
#5
|
Human being with feelings
Join Date: Nov 2011
Posts: 3,409
|
|
|
|
09-10-2014, 02:50 AM
|
#6
|
Super Moderator (no feelings)
Join Date: Dec 2007
Location: On or near a dike
Posts: 9,834
|
First off, it does not depend on an impulse file, the built-in reverb generator is all you need.
Trying to recreate that, I start coming to the conclusion that your chances to find this were approximately 1:100,000,000,000,000,000,000! Here's why:
- It happens only when the send (=ReaVerb input) level is attenuated by ~25dB or more
- It happens only when the item is located between seconds 0 and a tad beyond 2 on the timeline, but not when it's right at the start, and only when it's being played for the first time (if you create a loop selection, it won't happen at the second loop pass)
- Here it comes - I have yet to find a sample/source/signal that triggers that like your kick sample. If I use ReaPitch to shift your sample 1 cent down or 4 cent up, it won't happen anymore. O_o EQing the sample does not help, neither does normalizing or glueing.
Whatever kick sample or signal I throw at it, it won't happen. Only your file, which is technically just like all others (in particular after glueing it = new source sample) is triggering this under the circumstances mentioned above.
A theory would be that the spectral composition of that sample is playing a role, but then again super minimal pitch-shifting doesn't really change that spectrum but fixes, while EQing the hell out of the sound does not. However the sample must have some property that makes that happen.
Weirdest/most interesting thing I had the joy to spend a morning with in a long time.
Edit: Whatever weirdness is in the file to trigger the drop, it is in the "room" part after the kick - if I remove that by any means (cut/fade/shorten item), the problem goes away.
Last edited by Ollie; 09-10-2014 at 03:39 AM.
|
|
|
09-10-2014, 02:51 AM
|
#7
|
Human being with feelings
Join Date: May 2012
Posts: 1,216
|
Opened the kick drum file with wavosaur (external editor) and removed the dc offset and saved the file. Everything without closing the project. Now everything works as expected. Maybe the wav file is corrupt ?
|
|
|
09-10-2014, 02:57 AM
|
#8
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
The drop seems to happen only with the right channel, even if you swap the left/right channels in either the IR or the input. However, it doesn't seem to happen when either the IR or the input is mono.
[geeky_info]I have also quickly tried the IR from your demo in my IPlug convolution example, and it has the same issue, which suggests this is a bug in WDL's convoengine. Unfortunately I don't really have the time right now to look into this further, but maybe later...[/geeky_info]
|
|
|
09-10-2014, 02:59 AM
|
#9
|
Super Moderator (no feelings)
Join Date: Dec 2007
Location: On or near a dike
Posts: 9,834
|
Quote:
Originally Posted by clepsydrae
edit: there are also little bugs in reaverb where choosing a different impulse file sometimes results in the verb playing out of sync with the incoming audio; i.e. delayed by 500ms or so. Stop/start gets it back in sync. Don't know if this is related.
|
That's normal, REAPER does not (re-)calculate PDC during playback. If you change the impulse file during playback or change any other parameter that affects plug-in latency, REAPER can't compensate that until you stop the transport.
Quote:
Originally Posted by Tale
[geeky_info]I have also quickly tried the IR from your demo in my IPlug convolution example, and it has the same issue, which suggests this is a bug in WDL's convoengine. Unfortunately I don't really have the time right now to look into this further, but maybe later...[/geeky_info]
|
Maybe a hint: when "Track mixing bit depth" is set to less than 39 bit integer, the problem disappears too.
Last edited by Ollie; 09-10-2014 at 03:51 AM.
|
|
|
09-10-2014, 05:02 AM
|
#10
|
Human being with feelings
Join Date: Apr 2014
Posts: 943
|
"Quote witti:
and removed the dc offset and saved the file....everything works as expected.
"
that´s true
before after
Average value L (DC offset): 0.00% (-87.19 dB)
Average value R (DC offset): 0.00% (-87.35 dB)
Average value L (DC offset): 0.00% (-165.72 dB)
Average value R (DC offset): 0.00% (-150.14 dB)
But that does not explain the fact that the same files(without DC remove)
with for example pristine space and also W IR works (regardless of the settings)
and also not why zero latency with reaverb also works.
And certainly not for the fact that the error never occurs at position 1.0.0, but at a position > 1.0.0 on the first item
mysterious and very strange
And honestly.....
at the moment- not very conducive for trust.
Last edited by ELP; 09-10-2014 at 05:18 AM.
|
|
|
09-10-2014, 05:48 AM
|
#11
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Fix coming soon (ReaVerb does some certain optimizations when levels are under a certain level, but that level was way way too high, oops).
|
|
|
09-10-2014, 10:02 AM
|
#12
|
Human being with feelings
Join Date: Nov 2011
Posts: 3,409
|
Quote:
Originally Posted by Justin
Fix coming soon (ReaVerb does some certain optimizations when levels are under a certain level, but that level was way way too high, oops).
|
Yeahhhh!
Quote:
Originally Posted by Ollie
That's normal, REAPER does not (re-)calculate PDC during playback. If you change the impulse file during playback or change any other parameter that affects plug-in latency, REAPER can't compensate that until you stop the transport.
|
I see, thanks for the explanation -- I asked because i thought that most of the time it did correct, but i must have been loading impulses of roughly the same length or something. I wonder how many impulses i ruled out when testing them only because they weren't playing in sync. :-)
Thanks everyone for checking this out. It's so satisfying to report a bug and have it fixed. Especially because most of the other ones i find are weird and hard to make happen.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 08:16 AM.
|