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

Reply
 
Thread Tools Display Modes
Old 09-08-2007, 06:24 AM   #1
Art Evans
Mortal
 
Join Date: Feb 2006
Posts: 6,654
Default Mixing a 16 bit file to 32 bits gives wrong result (FIXED)

As discussed on the KvR forum, if I put a 16 bit file on track one and the same file on track two, and render to 32 bit float, I get a result which is demonstrably not the doubling of the sample values - it's very slighly off. Doing the same test in Audition gives a demonstrably correct result. Why should that be?


FIXED (2.0)

Last edited by Dstruct; 09-14-2007 at 11:51 PM.
Art Evans is offline   Reply With Quote
Old 09-10-2007, 12:00 PM   #2
LOSER
Human being with feelings
 
Join Date: May 2006
Posts: 2,373
Default

Quote:
Originally Posted by Art Evans View Post
As discussed on the KvR forum, if I put a 16 bit file on track one and the same file on track two, and render to 32 bit float, I get a result which is demonstrably not the doubling of the sample values - it's very slighly off. Doing the same test in Audition gives a demonstrably correct result. Why should that be?
How slightly is it off?
Also is Auditions rendering engine 32bit float or 64bit float (like REAPERS)?
LOSER is offline   Reply With Quote
Old 09-10-2007, 12:04 PM   #3
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,821
Default

art can you post the project with a little audio snippet?
schwa is offline   Reply With Quote
Old 09-11-2007, 02:46 AM   #4
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,482
Default

Quote:
Originally Posted by LOSER View Post
How slightly is it off?
Also is Auditions rendering engine 32bit float or 64bit float (like REAPERS)?
audition = 32 bit

so yeah - it sounds like simple rounding errors/differences of both engines ...


nothing to worry about i think!?
Dstruct is offline   Reply With Quote
Old 09-11-2007, 03:58 AM   #5
Art Evans
Mortal
 
Join Date: Feb 2006
Posts: 6,654
Default

Well, maybe not worth actually worrying about, but in my simple terms, if I'm adding two equal samples (say 5000 and 5000 sample values) I should get 10,000 and rounding error does not come into it. I'm raising it more as a matter of curiosity but sometime querying something like this reveals something else of more importance. Or not!
Art Evans is offline   Reply With Quote
Old 09-11-2007, 04:15 AM   #6
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,482
Default

what do you mean with "it's very slighly off"?
Dstruct is offline   Reply With Quote
Old 09-11-2007, 05:11 AM   #7
Art Evans
Mortal
 
Join Date: Feb 2006
Posts: 6,654
Default

Original sample value (24 bit range) = 2793984
2793984 x 2 = 5587968
2793984 added to itself in Reaper = 5588138.5
2793984 added to itself in Audition = 5587968

Conditions - 16 bit original file being mixed with itself and saved as 32 bit float.
Art Evans is offline   Reply With Quote
Old 09-11-2007, 06:37 AM   #8
LOSER
Human being with feelings
 
Join Date: May 2006
Posts: 2,373
Default

Quote:
Originally Posted by Art Evans View Post
Original sample value (24 bit range) = 2793984
2793984 x 2 = 5587968
2793984 added to itself in Reaper = 5588138.5
2793984 added to itself in Audition = 5587968

Conditions - 16 bit original file being mixed with itself and saved as 32 bit float.
Hmm... that seems worrysome. But have you "Reduce denormalization from plug-ins" enabled? (Prefs->Plug-ins, not that you didn't know that ). Since this adds a little DC-offset/Nyquist noise IIRC, it could be the source of that difference.
LOSER is offline   Reply With Quote
Old 09-11-2007, 07:00 AM   #9
Art Evans
Mortal
 
Join Date: Feb 2006
Posts: 6,654
Default

Aha. I do have that enabled. Would that account also for the fact that the problem I describe does not happen if the original file is 32 bit?

Gotta go to bed right now, will retest tomorrow.
Art Evans is offline   Reply With Quote
Old 09-11-2007, 07:18 AM   #10
LOSER
Human being with feelings
 
Join Date: May 2006
Posts: 2,373
Default

Quote:
Originally Posted by Art Evans View Post
Aha. I do have that enabled. Would that account also for the fact that the problem I describe does not happen if the original file is 32 bit?

Gotta go to bed right now, will retest tomorrow.
Yes, no matter what source format, the noise will always be mixed to the signal (just a low -300db(?) noise IIRC, to prevent the said denormals).
LOSER is offline   Reply With Quote
Old 09-11-2007, 07:21 AM   #11
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,482
Default

maybe justin should make this a bit more intelligent (so that this noise just gets added on channels where plugins are actually running/enabled)!?

on the other side i don't care. always had this setting disabled here
Dstruct is offline   Reply With Quote
Old 09-11-2007, 08:02 AM   #12
Billoon
Human being with feelings
 
Join Date: Sep 2006
Location: Arse end of the earth.
Posts: 2,988
Default

Quote:
Originally Posted by LOSER View Post
Yes, no matter what source format, the noise will always be mixed to the signal (just a low -300db(?) noise IIRC, to prevent the said denormals).
That would probably account for it...

But its still occuring with "reduce denormal" unticked....so does that mean that "reduce denormal" is not switching off or its something else?

My suspicion is its not turning off...

With "reduce denormals" unticked...insert an empty item on a track and 2 js/vol plugs both set to +150db...hit play and there is (inaudible) signal present.

Ticking "reduce denormal" and trying the same test produces the exact same result.

Also curious is that the denormal reduction only seems to be affecting the positive side of the rendered wave, negative is spot on in my tests.
Billoon is offline   Reply With Quote
Old 09-11-2007, 10:38 AM   #13
Billoon
Human being with feelings
 
Join Date: Sep 2006
Location: Arse end of the earth.
Posts: 2,988
Default

Just tested with v1.24 (which has no denormal reduction and no signal detected at -300db) and its still happening....when summing integer files and rendering to float...positive values in float are out, negative-correct.

So it cant be the denormal reduction causing it.



\Still would be good if the off switch was fixed for the denorm. red. though.
Billoon is offline   Reply With Quote
Old 09-11-2007, 04:28 PM   #14
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,818
Default

Maybe that's the reason I'm getting the wrong readings from files I KNOW don't cross a certain threshold, yet Reaper tells me they do.

In my case I was playing a 16-bit 48kHz WAV mix that's limited to -9.0dB. Measurements by Soundforge confirmed the peaks were at -9.0dB, yet I get -8.9 and -8.7 readings in Reaper on those mixes, and that's the peak meter.

Could this be related?
__________________
Using Latch Preview (Video) - Faderport 16 setup for CSI 1.1 , CSI 3.10
Website
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 09-11-2007, 05:42 PM   #15
Bulls Hit
Human being with feelings
 
Join Date: Dec 2006
Posts: 466
Default

Quote:
Originally Posted by airon View Post
Maybe that's the reason I'm getting the wrong readings from files I KNOW don't cross a certain threshold, yet Reaper tells me they do.

In my case I was playing a 16-bit 48kHz WAV mix that's limited to -9.0dB. Measurements by Soundforge confirmed the peaks were at -9.0dB, yet I get -8.9 and -8.7 readings in Reaper on those mixes, and that's the peak meter.

Could this be related?
I don't think Reaper's meters are particularly accurate. I regularly see them hit the reds on 2 track mixes that have been rendered with a brickwall limiter on the master
Bulls Hit is offline   Reply With Quote
Old 09-13-2007, 05:37 AM   #16
danbee
Human being with feelings
 
danbee's Avatar
 
Join Date: Jun 2007
Posts: 6
Default

Quote:
Originally Posted by Bulls Hit View Post
I don't think Reaper's meters are particularly accurate. I regularly see them hit the reds on 2 track mixes that have been rendered with a brickwall limiter on the master
Was the limiter set to 0db ceiling? If this is the case it's likely that inter-sample peaks caused the clipping, in which case Reapers meters are probably more accurate than most.
__________________
:: danbee ::

Last edited by danbee; 09-13-2007 at 05:40 AM.
danbee is offline   Reply With Quote
Old 09-13-2007, 01:46 PM   #17
Bulls Hit
Human being with feelings
 
Join Date: Dec 2006
Posts: 466
Default

Quote:
Originally Posted by danbee View Post
Was the limiter set to 0db ceiling? If this is the case it's likely that inter-sample peaks caused the clipping, in which case Reapers meters are probably more accurate than most.
Nope, -0.1
Bulls Hit is offline   Reply With Quote
Old 09-14-2007, 09:39 PM   #18
Art Evans
Mortal
 
Join Date: Feb 2006
Posts: 6,654
Default

As far as I'm concerned the original issue raised here is fixed in Reaper 2.0 beta 3 - many thanks.
Art Evans is offline   Reply With Quote
Old 09-15-2007, 12:19 PM   #19
danbee
Human being with feelings
 
danbee's Avatar
 
Join Date: Jun 2007
Posts: 6
Default

Quote:
Originally Posted by Bulls Hit View Post
Nope, -0.1
You're probable still getting intersample peaks clipping. Try setting it down to -0.3db at least. If you're still clipping bring it down to -0.5db and so on until it doesn't clip.
__________________
:: danbee ::
danbee 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 02:55 AM.


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