Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Bug Reports

Reply
 
Thread Tools Display Modes
Old 09-08-2014, 10:59 AM   #1
clepsydrae
Human being with feelings
 
clepsydrae's Avatar
 
Join Date: Nov 2011
Posts: 3,409
Default 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.
clepsydrae is offline   Reply With Quote
Old 09-09-2014, 12:50 AM   #2
witti
Human being with feelings
 
witti's Avatar
 
Join Date: May 2012
Posts: 1,216
Default

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.
witti is offline   Reply With Quote
Old 09-09-2014, 03:11 AM   #3
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

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.
ELP is offline   Reply With Quote
Old 09-09-2014, 06:07 AM   #4
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 5,205
Default

Confirmed also. Mega weird! Have fun devs
Fergler is offline   Reply With Quote
Old 09-09-2014, 10:55 AM   #5
clepsydrae
Human being with feelings
 
clepsydrae's Avatar
 
Join Date: Nov 2011
Posts: 3,409
Default

Thanks, all, for checking it out. Bug filed at: http://forums.cockos.com/project.php?issueid=5335
clepsydrae is offline   Reply With Quote
Old 09-10-2014, 02:50 AM   #6
Ollie
Super Moderator (no feelings)
 
Ollie's Avatar
 
Join Date: Dec 2007
Location: On or near a dike
Posts: 9,834
Default

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.
Ollie is offline   Reply With Quote
Old 09-10-2014, 02:51 AM   #7
witti
Human being with feelings
 
witti's Avatar
 
Join Date: May 2012
Posts: 1,216
Default

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 ?
witti is offline   Reply With Quote
Old 09-10-2014, 02:57 AM   #8
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

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]
Tale is offline   Reply With Quote
Old 09-10-2014, 02:59 AM   #9
Ollie
Super Moderator (no feelings)
 
Ollie's Avatar
 
Join Date: Dec 2007
Location: On or near a dike
Posts: 9,834
Default

Quote:
Originally Posted by clepsydrae View Post

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 View Post
[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.
Ollie is offline   Reply With Quote
Old 09-10-2014, 05:02 AM   #10
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

"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.
ELP is offline   Reply With Quote
Old 09-10-2014, 05:48 AM   #11
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Fix coming soon (ReaVerb does some certain optimizations when levels are under a certain level, but that level was way way too high, oops).
Justin is offline   Reply With Quote
Old 09-10-2014, 10:02 AM   #12
clepsydrae
Human being with feelings
 
clepsydrae's Avatar
 
Join Date: Nov 2011
Posts: 3,409
Default

Quote:
Originally Posted by Justin View Post
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 View Post
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.
clepsydrae is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:16 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.