Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 04-04-2007, 02:52 AM   #1
Billoon
Human being with feelings
 
Join Date: Sep 2006
Location: Arse end of the earth.
Posts: 2,988
Default 64bit ReaDither VST ... (DONE)

The latest version of the 64bit JS: uber-dither is available here....get it while its hot.

http://www.cockos.com/forum/showpost...0&postcount=76

Consider this FR, done.

-------------------------------------------------------------
A 64bit Dither VST plugin, to compliment the current set of 64bit ReaPlugs, is the only thing that i feel is currently missing in REAPER, for producing audio.

LOSER has an excellent 32bit Dither that he has generously released as open source, so i thought id make an official FR for a 64bit version of this plugin to be distributed with the installer...this would enable complete 64bit end-to-end production of audio within REAPER.

Reading discussion on other forums, the question "Does REAPER have dither?" seems to popup regularly, would be great to be able to answer, "Yes, a 64bit one, like all the other plugins that come with REAPER".

I personally dont see the need for a built-in solution, a configurable plugin that you can insert anywhere(eg. Master out, pre-hardware outs, pre-ReaInsert etc.) would be ideal, IMO.


DONE

Last edited by Dstruct; 06-20-2008 at 02:00 AM.
Billoon is offline   Reply With Quote
Old 04-04-2007, 05:26 AM   #2
Bubbagump
Human being with feelings
 
Bubbagump's Avatar
 
Join Date: Nov 2006
Location: Columbus, Ohio
Posts: 2,028
Default

I don't get it... why a 64 bit dither? I would think you would want a selectable 16 and 24 bit target format dither with noise shaping. If you mix down to 64 bit, you don't need dither as that is the same as the mix buss and no truncation of bits occurs any where. Am I missing something?
Bubbagump is offline   Reply With Quote
Old 04-04-2007, 06:56 AM   #3
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Billoon wanted to say the plugin needs to support 64bit input (vst2.4) ...
Dstruct is offline   Reply With Quote
Old 04-04-2007, 07:17 AM   #4
norbury brook
Human being with feelings
 
norbury brook's Avatar
 
Join Date: Mar 2007
Location: London UK
Posts: 3,378
Default

so are you saying if i work in a project at 64 bit i cant dither down to 16 bit to burn a CD,if so kind of makes it useless doesn't it? What does sonar do as thats got a 64 bit option?

MC
norbury brook is offline   Reply With Quote
Old 04-04-2007, 07:25 AM   #5
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

at the moment you only can truncate bits in reaper. there is no dither (64bit->lower bitdepth) yet!
Dstruct is offline   Reply With Quote
Old 04-04-2007, 07:28 AM   #6
norbury brook
Human being with feelings
 
norbury brook's Avatar
 
Join Date: Mar 2007
Location: London UK
Posts: 3,378
Default

Ouch!!!!! Can't believe something so basic isn't in there,how does one work in 64 bit then? are there any external 64 bit dither plugs?

MC
norbury brook is offline   Reply With Quote
Old 04-04-2007, 07:29 AM   #7
norbury brook
Human being with feelings
 
norbury brook's Avatar
 
Join Date: Mar 2007
Location: London UK
Posts: 3,378
Default

I was thinking of starting an acoustic track at 96/64 might think again now.

MC
norbury brook is offline   Reply With Quote
Old 04-04-2007, 07:49 AM   #8
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Quote:
Originally Posted by norbury brook View Post
how does one work in 64 bit then?
i guess all people (like me) only dither drom 32bit to lower bitdepths with 3rd party plugins. but we all just truncate the 64->32 bit conversion. this truncation happens everytime you use plugins which only accept 32bit input!

imo dither should be automatically in the engine like i wrote here: http://www.cockos.com/forum/showpost...0&postcount=17

i don't really want to use a dither-plugin everytime i use 32bit plugins. reaper has to dither this path automatically!
Dstruct is offline   Reply With Quote
Old 04-04-2007, 10:11 AM   #9
sinkmusic
Human being with feelings
 
sinkmusic's Avatar
 
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
Default

Hi
Could someone could make me a short long story about dithering ?
What i remember from what i have heard several years ago is that i should avoid dithering, except at the very last stage of mastering, before burning to CD, and that it was very bad to try to edit further more in my audio editor an audio file that woudl have been already dithered.
I can't really explain why (all i remember is that dithering was giving more dynamic range or punch to the audio file by adding a little amount of noise, but i think i tell it very bad...), i just remember the conclusion : "avoid".

So, am i too naive ?
Did things changed with higher sample/bitrates (it was 5 or 6 years ago, everyone aroud was still working 44khz/16bits) ?
What is the use of dithering then ?
When to use it ?
Why is there many dithering techniques, and which one to choose ?

Sorry if getting OT (in such a case just tell and point me to a link with recent & easy to understand dithering explanations, please)

Cheers
sinkmusic is offline   Reply With Quote
Old 04-04-2007, 11:26 AM   #10
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

dither always should be applied when going from a higher bitdepth to a lower one ...

your "avoid" can be achived by always using 64bit until you need to render 16bit for an audiocd for example.

but: when using 32bit plugins, there's still truncation going on. reaper should dither there (before feeding the plugin with 32bit)!



http://en.wikipedia.org/wiki/Dither#When_to_add_dither
Dstruct is offline   Reply With Quote
Old 04-04-2007, 01:39 PM   #11
mahasandi
Human being with feelings
 
mahasandi's Avatar
 
Join Date: Mar 2007
Posts: 478
Default

Bob Katz explains dither:

http://www.digido.com/modules.php?na...e=print&sid=14


Keep in mind human beings can only hear 22 bits.(inaudible to threshold of pain)

And due to thermal noise all analog audio electronics are

19 20 bit dynamic range (yes even 24 bit or more ad/da)

However digital mixers manipulate audio files and in doing so

perform calculations which inevitably add to the original file's

value because if you half 1.51 you get 0.755 .

So you either truncate the extra value (which actually represents

the sound so it has an effect.

Or you round up or down (a little better...maybe)

or you dither .

which is adding random low level noise so that these

values are more fluid less chopped.

though even dither can be seen as a compromise, but the best

way to go.

many DAW's have built in summing dither at any buss .

This is different then a dither plug-in which you would use

before you mix a ie: 24 bit file down to 16 bits for cd's.

Last edited by mahasandi; 04-04-2007 at 01:45 PM.
mahasandi is offline   Reply With Quote
Old 04-04-2007, 02:37 PM   #12
sinkmusic
Human being with feelings
 
sinkmusic's Avatar
 
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
Default

Ook
THanks for the explanation bits & links.
It is still rather abstract, but i'l look at the links and experiment.
sinkmusic is offline   Reply With Quote
Old 04-04-2007, 02:40 PM   #13
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

make sure to experiment with VERY low levels!
Dstruct is offline   Reply With Quote
Old 04-04-2007, 02:55 PM   #14
James HE
Human being with feelings
 
James HE's Avatar
 
Join Date: Mar 2007
Location: I'm in a barn
Posts: 4,467
Default

It's mostly a moot point going from 64bit to 32bit I would think.

could you hear a difference between

01010011101010010100011001010101000000000000000000 00000000000000

and

01010011101010010100011001010101010100111010100101 00011001010101

This is a gross oversimplefication and dramatization.

Of course we should have a 64 bit dither, but in no way is Reaper broken because it's not there. (yet)

A 64 bit file hits a 32 point plugin and it's going to 32bits when it hits the 64bit mix bus weather it's dithered or not. It would be the most critical with plugs on the master bus. I'm not being very scientific here. I DO NOT know the science behind it in any knowledgeable way, just generally speaking from my gut and my ass at the same time. lol.
James HE is offline   Reply With Quote
Old 04-04-2007, 03:47 PM   #15
NoWo
Human being with feelings
 
Join Date: Mar 2007
Location: Germany
Posts: 53
Default

AFAIK UAD-1 uses dither with every instance of one of its plugs, so what´s the big deal? They are simply sounding good.
A lot of other plugs use only 48 bit fixed. If you are using other plugs than Reaper´s own the risk is high to loose the original 64 bits anyway.

NoWo
NoWo is offline   Reply With Quote
Old 04-04-2007, 08:44 PM   #16
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
Default

The Protools 48-bit dithered mixer does exactly what was described. If a plugin takes 24 bit data it is dithered down before handed out to the plugin. The same thing happens on all outputs, hardware inserts and armed audio tracks that record off internal busses.

In the end you want to keep the highest resolution possible(which analog systems do) before going to the one that has to be low. Let's face it, even a truncated 24 bit path is crap for representing a mix of 20+ tracks of detailed recordings. Dither always gives you extra space, and at 24 bit you can't hear the dither noise, just hear its effects.

Alias noise is shit, unlike harmonics generated by analog circuits or tape noise that is barely audible. Dither noise falls in to the latter category.
airon is offline   Reply With Quote
Old 04-05-2007, 05:57 AM   #17
LOSER
Human being with feelings
 
Join Date: May 2006
Posts: 2,373
Default

Try JS:Bitred. It should do the dither task.

Eidt: Oh Billon didn't like it . Bummer. But my openm source dither only uses the standart RNG (so it can't be that far a part or even better than the JS:bitred dither noise).

Last edited by LOSER; 04-05-2007 at 06:02 AM.
LOSER is offline   Reply With Quote
Old 04-05-2007, 06:37 AM   #18
mahasandi
Human being with feelings
 
mahasandi's Avatar
 
Join Date: Mar 2007
Posts: 478
Default

Quote:
Originally Posted by airon View Post
The Protools 48-bit dithered mixer does exactly what was described. If a plugin takes 24 bit data it is dithered down before handed out to the plugin. The same thing happens on all outputs, hardware inserts and armed audio tracks that record off internal busses.

In the end you want to keep the highest resolution possible(which analog systems do) before going to the one that has to be low. Let's face it, even a truncated 24 bit path is crap for representing a mix of 20+ tracks of detailed recordings. Dither always gives you extra space, and at 24 bit you can't hear the dither noise, just hear its effects.

Alias noise is shit, unlike harmonics generated by analog circuits or tape noise that is barely audible. Dither noise falls in to the latter category.
So do you use a dither plug-in on you mix buss?
on your sends or recieves (i'am new to reaper)
When bouncing internally?

This seems like a lot of manual labor(perhaps of love).

I think the ideal is to have a dithered mixer,
That can be turned off .
On automatically and set for the bit depth of the files you are recording and off so that those who like to have there choice
of dither for this basic function.

Justin had mentioned in a previous FR about dither that
if he offered automatic mixer dither he would add it
using a RNG a marsienne twister (or something like that)

GrizLee has a good deal of knowledge and experience with dither
and mentioned some important things.

http://www.cockos.com/forum/showthre...ghlight=dither

Again I just want to stress the difference between a VST dither

and dithered mixer.

A VST dither is used generally to bring a file to a lower bit

depth properly when rendering or final mix recording.

A dithered mixer is design to not truncate the LSB's or the width

and subtle ambience/detail of the low level part of a sound

so that the advantages of a high bit high headroom mixer are

for lack of a better word "Reaped"

ouch....i had too.....
mahasandi is offline   Reply With Quote
Old 04-05-2007, 06:49 AM   #19
mahasandi
Human being with feelings
 
mahasandi's Avatar
 
Join Date: Mar 2007
Posts: 478
Default

Quote:
Originally Posted by NoWo View Post
AFAIK UAD-1 uses dither with every instance of one of its plugs, so what´s the big deal? They are simply sounding good.
A lot of other plugs use only 48 bit fixed. If you are using other plugs than Reaper´s own the risk is high to loose the original 64 bits anyway.

NoWo
Not that you asked but just to keep clarifying in general,

plug-ins are not the only thing that needs dither it's actually

any calculation done on a file in a mixing situation , volume pan

eq anything etc. adds to the bit depth needed to represent the

sound accurately as it was.

At least this is how i understand it so far.

Anyone who has something to add please jump -in!
mahasandi is offline   Reply With Quote
Old 04-05-2007, 06:59 AM   #20
mahasandi
Human being with feelings
 
mahasandi's Avatar
 
Join Date: Mar 2007
Posts: 478
Default

Quote:
Originally Posted by James HE View Post
It's mostly a moot point going from 64bit to 32bit I would think.

could you hear a difference between

01010011101010010100011001010101000000000000000000 00000000000000

and

01010011101010010100011001010101010100111010100101 00011001010101

This is a gross oversimplefication and dramatization.

Of course we should have a 64 bit dither, but in no way is Reaper broken because it's not there. (yet)

A 64 bit file hits a 32 point plugin and it's going to 32bits when it hits the 64bit mix bus weather it's dithered or not. It
would be the most critical with plugs on the master bus. I'm not being very scientific here. I DO NOT know the science behind it in any knowledgeable way, just generally speaking from my gut and my ass at the same time. lol.
I'am not sure what youre saying.

I'd love to hear from an expert on this but from what i currently

know :

if you go from a higher bit depth to a lower the bit depth

at ANY POINT you either truncate the extra info , round up and

down the calculations or dither add almost inaudible random

noise, which best preserves the original sound.


I personally think Reaper sounds amazing i can hear "into" mixes

with better detail and depth then my previous set-up, same audio

files ad/da etc.

However there are so many variables I won't go into that any

further.

Theoretically a dithered mixer should sound better then

truncating. I wouldn't say Reaper is broken, but I would say

that a dithered Reaper mixer theoretically would sound better.

I'd love to hear why i'am wrong!

Really!!!!!!

But thats what i understand so far.
mahasandi is offline   Reply With Quote
Old 04-05-2007, 08:12 AM   #21
LOSER
Human being with feelings
 
Join Date: May 2006
Posts: 2,373
Default

Quote:
Originally Posted by Dandruff View Post
dither always should be applied when going from a higher bitdepth to a lower one ...

your "avoid" can be achived by always using 64bit until you need to render 16bit for an audiocd for example.

but: when using 32bit plugins, there's still truncation going on. reaper should dither there (before feeding the plugin with 32bit)!

http://en.wikipedia.org/wiki/Dither#When_to_add_dither
I don't think that going 64 bit float to 32 bit float actually needs dithering.

Wiki: Dither must be added before any quantization or re-quantization process [...]

As I don't consider floating point data to be quantized (sure it is quantized even electricity is quantized in elementary charges, so don't get me started).

So why am I so sure it isn't needed? - Run the following test.
Record a sinewave in REAPER at 64bit float (internal generated using the JS:tonegenerator so it is really 64bit float!). Then render this file once to 32bit float and load it on another track invert its phase and now they both NULL! - But wait, do they really NULL? No. They generate noise that is at around -150dBFS (Peak!), which is FAR (remember dB is logaritmical) under the dynamic range of e.g. 24bit int (144dB). But looking at this distortion in an FFT analyzer tool, you'll see that the spectrum of the generated noise is almost flat, i.e. it isn't your typical truncation noise.

So if you think, that my thesis is wrong. Then prove me wrong.

However, conversion from float to int, should always be processed under the appliance of dither (what's the resolution of e.g. DX plug-ins, 'cause VSTs are all float AFAIK).

Quote:
Originally Posted by mahasandi View Post
I think the ideal is to have a dithered mixer,
[...]
Justin had mentioned in a previous FR about dither that
if he offered automatic mixer dither he would add it
using a RNG a marsienne twister (or something like that)
I don't know what a dithered mix is. But I don't think it is needed because REAPERs internals are all 64bit float (and therefore almost continuous). As are most (all(?)) plug-ins, so what ever happens in REAPER doesn't get truncated. You only have to worry if rendering to your final file or outputing to your hardware (that doesn't support floating point output).

As time has moved on I think he should consider using the SFMT (S... fast mersenne twister), but I don't know if the source code of it is available for free, and how portable it is, 'cause it take advantage of some SIMD/intel features AFAIK... anyway back to topic.

Quote:
Originally Posted by mahasandi View Post
Anyone who has something to add please jump -in!
Well, I have done that .

And to sum the above up: I plead for two additional post fader master FX slots (one for a limiter and the other one for a dither plug-in). Maybe include a (flat noise) dither into ReaInsert, too?

Last edited by LOSER; 04-05-2007 at 08:51 AM.
LOSER is offline   Reply With Quote
Old 04-05-2007, 08:28 AM   #22
Bubbagump
Human being with feelings
 
Bubbagump's Avatar
 
Join Date: Nov 2006
Location: Columbus, Ohio
Posts: 2,028
Default

Quote:
Originally Posted by sinkmusic View Post
Hi
Could someone could make me a short long story about dithering ?
The Ozone dither guide is probably the best thing I have seen out there to show what the hell it is dither really does. Take a read:
http://www.izotope.com/products/audi...eringGuide.pdf

And I agree with what you heard... dither as the last step in the process... as Loser illustrates above, once you get into the floating point realm, it is insignificant.
Bubbagump is offline   Reply With Quote
Old 04-05-2007, 08:45 AM   #23
mahasandi
Human being with feelings
 
mahasandi's Avatar
 
Join Date: Mar 2007
Posts: 478
Default

"I don't think that going 64 bit float to 32 bit float actually needs dithering.

So if you think, that my thesis is wrong. Then prove me wrong.

However, conversion from float to int, should always be processed under the appliance of dither (what's the resolution of e.g. DX plug-ins, 'cause VSTs are all float AFAIK)."



No, thanks Loser. Youre right regarding floating point , i'am

sure!

I was talking about using 24 bit audio files in a 64 bit

mixer that truncates without dither.

I really don't see 32bit audio files as being weildly size wise

or necessary audio quality because of the 144db range of 24 bit

and the somewhere closer to 120 115 of thermal noise in all

electronics and the about 22 bit limit in human hearing.



"I don't know what a dithered mix is. But I don't think it is needed because REAPERs internals are all 64bit float (and therefore almost continuous). As are most (all(?)) plug-ins, so what ever happens in REAPER doesn't get truncated. You only have to worry if rendering to your final file or outputing to your hardware (that doesn't support floating point output)."


you see a dithered mixer is a digital mixer that adds

24 bit dither if that is the bit depth say when a mixer

is performing calculations that are above that bit depth.

If you turn down a track from 1.5 half to 0.755 you get more

numbers required to represent the sound not less.

and so dither is used at all points where the audio

is calculated upon and summed mix and sends buss but only at the

bit depth of the file, and would not be needed @ 32 but at 24

i would think it would.




"As time has moved on I think he should consider using the SFMT (S... fast mersenne twister), but I don't know if the source code of it is available for free, and how portable it is, 'cause it take advantage of some SIMD/intel features AFAIK... anyway back to topic."

That sounds great also I know Justin was looking for a 9th


order noise shaping calculation, I don't know if the link

below is one or what ! :

http://www.musicdsp.org/showArchiveC...p?ArchiveID=99



"Well, I have done that ."

"And to sum the above up: I plead for two additional post fader master FX slots (one for a limiter and the other one for a dither plug-in). Maybe include a (flat noise) dither into ReaInsert, too?"

I agree with the slots, very cool idea Thanks for your input.

Last edited by mahasandi; 04-05-2007 at 08:51 AM.
mahasandi is offline   Reply With Quote
Old 04-05-2007, 08:46 AM   #24
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

I agree with LOSER-- while dithering from 64 bit to 32 bit float is theoretically a good thing, the noise of truncations is still -144dB (24 bits of mantissa), which is very low.

Some people argue that the inaccuracy of the ADCs etc result in an effective dither of 24 bit content anyway, since the low bit (or two) ends up being pretty random...

I'll make jesusonic's rand() function use marsienne twister (I probably spelled that wrong) soon, which will improve the js bitred.

-Justin
Justin is offline   Reply With Quote
Old 04-05-2007, 09:13 AM   #25
LOSER
Human being with feelings
 
Join Date: May 2006
Posts: 2,373
Default

Quote:
Originally Posted by mahasandi View Post
I was talking about using 24 bit audio files in a 64 bit
mixer that truncates without dither.
When you load 24bit int file in REAPER it gets converted to 64bit float (in a range from -1 to 1 representing the lowest and highest possble value in 24bit int). (The -1 to 1 range is actually a assumtion, but it should be 'cause it is DSP convention AFAIK.)

So once you load your files in REAPER the automatically enter the "floating point" domain and don't need dithering until you go back to integer values (e.g. 16bit int CD etc..).

Quote:
Originally Posted by mahasandi View Post
you see a dithered mixer is a digital mixer that adds
24 bit dither if that is the bit depth say when a mixer
is performing calculations that are above that bit depth.

If you turn down a track from 1.5 half to 0.755 you get more
numbers required to represent the sound not less.

and so dither is used at all points where the audio
is calculated upon and summed mix and sends buss but only at the
bit depth of the file, and would not be needed @ 32 but at 24
i would think it would.
Well the problem with dithering at every stage is, that the dither noise will sum up! So on the fisrt stage you have noise with the amplitude of 1LSB, on the next 2LSB and so on... Or am I wrong?

Regarding a float to float dither. That would need dither noise injectd to the mantissa, so this could in the end yield some interesting reuslts.
LOSER is offline   Reply With Quote
Old 04-05-2007, 09:29 AM   #26
mahasandi
Human being with feelings
 
mahasandi's Avatar
 
Join Date: Mar 2007
Posts: 478
Default

Thanks Loser

I really am learning thanks.

So if a 24 bit file is made 64 bit floating once in the mix project

thats great.

So when you render to 24 bits or 16 bits fixed as a file you will

need dither.

You see coming from pro fools TDM world of fixed 48 bit mixing

which did have dither on all sends busses.

And no it doesn't add up it's inaudible from what i understood

but....

analog thermal noise is in the signal no matter what but

calculations made to a signal after its analog/digital inception

in fixed systems required dither as i understood.

thanks guys!
mahasandi is offline   Reply With Quote
Old 04-05-2007, 11:43 AM   #27
mahasandi
Human being with feelings
 
mahasandi's Avatar
 
Join Date: Mar 2007
Posts: 478
Default

Just to clarify to you guys where i'am coming from

you can check out this :

http://72.14.209.104/search?q=cache:...lnk&cd=1&gl=us

it's a paper about the 48 fixed integer mixer that uses dither.

However i'am new to floating point mixers.
mahasandi is offline   Reply With Quote
Old 04-05-2007, 12:11 PM   #28
mahasandi
Human being with feelings
 
mahasandi's Avatar
 
Join Date: Mar 2007
Posts: 478
Default

man i'am finally getting this floating point stuff tahnks guys


here are 2 quotes that explain it in a bit more detail:
http://www.pgm.com/pipermail/proaudi...ry/002500.html

Quote:
Originally Posted by Paul Frindle
Hmm.. Im not at all impressed with this much advertised 'dither difficulty' in float systems. I am not sure where this idea comes from and why people believe it. It really isn't true in practice..

To understand all this (quite simply with common sense) it is only necessary to think of float and fixed point math conventions as nothing more than numerical representations. Providing that the data is presented at the required precision with the required dither for the eventual target output data width, it is quite irrelevant which particular number system happens to be used for the processing itself. They are just numbers - and there is no magic :-)

So accordingly, if a float processing system must finally present data to a fixed point media (such as CD - or anything else in the real world) all that is needed is to add the dither at the correct level within the float domain as the final process, so that when it gets transfered to the final output data media the dither is correct for that output data width. Providing the float system can calculate to an equal or greater accuracy than the output fixed data width, there is nothing preventing the dither from working identically - regardless of whether it was generated in float or fixed math representation.
Quote



Didn't mean to hijack this thread !

I still think it's good to have a dither slot and all

just did not understand that floating point systems don't need

dithered mixers!

Bottom Line Reaper is the best sounding DAW i've worked in!

I just got curious.....
mahasandi is offline   Reply With Quote
Old 04-05-2007, 12:35 PM   #29
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Mersenne Twister ...

Last edited by schwa; 04-05-2007 at 12:41 PM. Reason: off topic math blathering removed
schwa is offline   Reply With Quote
Old 04-05-2007, 12:55 PM   #30
mahasandi
Human being with feelings
 
mahasandi's Avatar
 
Join Date: Mar 2007
Posts: 478
Default

(松本 眞)


Hell Yeah
mahasandi is offline   Reply With Quote
Old 04-05-2007, 01:06 PM   #31
Bubbagump
Human being with feelings
 
Bubbagump's Avatar
 
Join Date: Nov 2006
Location: Columbus, Ohio
Posts: 2,028
Default

Quote:
Originally Posted by mahasandi View Post

And no it doesn't add up it's inaudible from what i understood
Nope... you can hear it.. at least I can when I use dither to go to 16 bit. That hiss is there and would make you crazy if you had dither on 35 tracks. So don't make it harder than it needs to be. Dither as the last step and you will be just fine.

The way I do it... mix down/render to a floating point file. Do whatever mastering/sample rate conversion I am doing to do. Apply dither, and truncate (aka, convert my 32 or 64 bit file to 16 bit). That is as complex as it needs to be. Dither is one of these minutia deal that folks spend entirely too much time worrying about as it is icing...
Bubbagump is offline   Reply With Quote
Old 04-05-2007, 02:05 PM   #32
LOSER
Human being with feelings
 
Join Date: May 2006
Posts: 2,373
Default

Quote:
Originally Posted by mahasandi View Post
And no it doesn't add up it's inaudible from what i understood
[...]
Okay I'm on my science trip (and doubt that this state will ever stop, need more knowlege[/zombie]), so assuming the dither noise is random noise with amplitude (sample value) of either -1, 0 or 1, it will cancel itself out on some occasions, i.e. first dither run added a 1 and the second a -1 so it "erases" itself, -1+1=0, 0+0=0, but you'll also get something like 1+1=2 sometimes so it effectifly sums up, but it doesn't sum up that quickly (regarding overall RMS level anyway), because some parts are alwayys canceling eachother out. (Try it on white noise, it doesn't accumulate as e.g. music does.)
LOSER is offline   Reply With Quote
Old 04-05-2007, 06:10 PM   #33
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

I believe 1.836 contains New! Improved! Twisty! random numbers that are expected to magically improve the JS:bitred dither plug-in.

Anyone care to do a pseudoscientific nonbinding A/B analysis complete with waveforms, diagrams and arrows on the back of each one not to mention the aerial photography?
schwa is offline   Reply With Quote
Old 04-05-2007, 07:56 PM   #34
Diogenes
Human being with feelings
 
Diogenes's Avatar
 
Join Date: Aug 2006
Location: A place that allows me to protect myself...
Posts: 8,245
Default

Quote:
Originally Posted by Bubbagump View Post
Nope... you can hear it.. at least I can when I use dither to go to 16 bit. That hiss is there and would make you crazy if you had dither on 35 tracks. So don't make it harder than it needs to be. Dither as the last step and you will be just fine.

The way I do it... mix down/render to a floating point file. Do whatever mastering/sample rate conversion I am doing to do. Apply dither, and truncate (aka, convert my 32 or 64 bit file to 16 bit). That is as complex as it needs to be. Dither is one of these minutia deal that folks spend entirely too much time worrying about as it is icing...
Ummm... yep. What Bubba said... after all, IF you have a GOOD song, GOOD performance, GOOD arrangement, GOOD recording and mixing... is anybody going to know or care how you did your dithering to CD specs? Nope.

D
Diogenes is offline   Reply With Quote
Old 04-05-2007, 09:07 PM   #35
Billoon
Human being with feelings
 
Join Date: Sep 2006
Location: Arse end of the earth.
Posts: 2,988
Default

OK, just tested 1.836...

I dithered a fade-out(that goes below the 24th bit) using JS:bitred and LOSERs 32bit VST Dither, then nulled the dithered files against the original. After nulling, the only thing that should remain is the dither noise, as the original signal should cancel itself out completely.

LOSERs nulls, bitred doesnt(see attachments)....that means that bitred isnt maintaining the full resolution of the original signal....which is the point of dithering.

I dont know why this is the case, but it is...thats why i asked for a 64bit version of LOSERs VST Dither plug...because it works, the only (very tiny) deficiency is that its 32bit and REAPER is 64bit...so i thought the obvious thing to do would be make a 64bit version to go with the other 64bit ReaPlugs...then it would be perfect for REAPER.

Sorry for being so picky...but i do think this would be the best possible solution for REAPER.


RE: Other 64bit dithers...the only ones im aware of are Izotopes Ozone and Sonars built-in dither.

Last edited by Billoon; 09-24-2008 at 08:13 PM.
Billoon is offline   Reply With Quote
Old 04-05-2007, 09:16 PM   #36
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
Default

Loser, perhaps the answer is that your noise source is not as random as it needs to be. That's a big deal it seems.
----
The white paper source PDF can also be downloaded here, just in case that URL in the previous post gets lost http://akmedia.digidesign.com/suppor...ixer_26688.pdf


I'm curious as to how the floating point data mixer works in Reaper.

In http://en.wikipedia.org/wiki/Double_precision I studied the structure of the data, and here's a thought.

If I take a piece of audio that uses however much of the mantissa, but uses an exponent that shifts it down by say 42 dB, and mix it with a signal that uses an exponent that shifts it down by only 12 dB, will the difference in exponent be truncated from the -42dB exponent signal in the mix ? Or is it all dynamically optimized to keep a maximum mantissa resolution of the mixed material ?

The mantissa holds the stuff, and any operation that will truncate parts of it, will cause a loss of detail.
-edit-
Where in the scale displayed in the Wikipedia article, does Reaper place, say a 0dB square ?
-edit-

Now of course in a larger mix, stuff masks other stuff. The truth of the matter however is, that analog EQs still produce more finely detailed mixes, and I'd like to know why some DAWs seem to come closer to this than others. I've heard this first hand on an AMEK console with Neve EQs. The guy that mixed the record achived almost 3-dimensional results, that I have yet to hear from a digitally mixed (not produced) record.

Last edited by airon; 04-05-2007 at 11:01 PM.
airon is offline   Reply With Quote
Old 04-06-2007, 08:28 AM   #37
Billoon
Human being with feelings
 
Join Date: Sep 2006
Location: Arse end of the earth.
Posts: 2,988
Default

OK, dither fans...check this out.

Its a 64bit JS version of LOSERs VST dither that he modded from Justins original bitred plugin (thanks LOSER and thanks Justin for the new RNG ). Put it in your Program Files\REAPER\Effects\Utility folder and insert it as the last FX on the Master, with the Master fader set to 0db.

Ive done a bit of testing of this version and with the new RNG in v1.836, i think its brilliant. It maintains the full 64bit resolution below the 24th bit. So, no need for a VST version now.

My favourite settings are...

Resolution: 16bit for CD/ 24bit for realtime playback or DVD-Audio
Input Gain: 0db
Dither: on
Noiseshape: off
Dither type: tri
Highpass dither: off
Dither amplitude(lsb): 2.0
DC Shift(lsb): 0.0

Hope you like it...lets us know what you think.

PS: Justin, any chance of including this version in the installer? Ive checked with LOSER and he's cool with it. It covers everything the original version does and it "nulls" perfectly.

Last edited by Billoon; 09-24-2008 at 08:13 PM.
Billoon is offline   Reply With Quote
Old 04-06-2007, 08:35 AM   #38
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Looks cool.

Loser, I don't know how important it is to get a proper gaussian in the noise function. If it is important, I'd be happy to put something more, eh, normal into this plugin. Calculation cost would probably not be material given that most projects will only have this on the master.

... though I see Billoon's preferred settings don't even use the gaussian.
schwa is offline   Reply With Quote
Old 04-06-2007, 10:35 AM   #39
LOSER
Human being with feelings
 
Join Date: May 2006
Posts: 2,373
Default

Quote:
Originally Posted by schwa View Post
Looks cool.

Loser, I don't know how important it is to get a proper gaussian in the noise function. If it is important, I'd be happy to put something more, eh, normal into this plugin. Calculation cost would probably not be material given that most projects will only have this on the master.

... though I see Billoon's preferred settings don't even use the gaussian.
Hmm.. don't ask me, the bitred is Justin's and it is GPL'd AFAIK, so just go ahead and mod stuff if you like (I only moded it too).

I could of course just use box-muller or ziggurat algorithm, but I think that would be over kill. I should have commented "bad but fast approximation" . But anyway feel free to do a high quality gaussian mode. Seriouslt though barly no one uses gaussian on dither I think.
LOSER is offline   Reply With Quote
Old 04-06-2007, 10:38 AM   #40
LOSER
Human being with feelings
 
Join Date: May 2006
Posts: 2,373
Default

Quote:
Originally Posted by airon View Post
Loser, perhaps the answer is that your noise source is not as random as it needs to be. That's a big deal it seems.
Sorry, but the answere to what?

Quote:
Originally Posted by Billoon View Post
Ive done a bit of testing of this version and with the new RNG in v1.836, i think its brilliant. It maintains the full 64bit resolution below the 24th bit. So, no need for a VST version now.
Great job .
LOSER 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:07 PM.


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