|
|
|
04-04-2007, 02:52 AM
|
#1
|
Human being with feelings
Join Date: Sep 2006
Location: Arse end of the earth.
Posts: 2,988
|
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.
|
|
|
04-04-2007, 05:26 AM
|
#2
|
Human being with feelings
Join Date: Nov 2006
Location: Columbus, Ohio
Posts: 2,028
|
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?
|
|
|
04-04-2007, 06:56 AM
|
#3
|
Human being with feelings
Join Date: Jul 2006
Posts: 12,480
|
Billoon wanted to say the plugin needs to support 64bit input (vst2.4) ...
|
|
|
04-04-2007, 07:17 AM
|
#4
|
Human being with feelings
Join Date: Mar 2007
Location: London UK
Posts: 3,378
|
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
|
|
|
04-04-2007, 07:25 AM
|
#5
|
Human being with feelings
Join Date: Jul 2006
Posts: 12,480
|
at the moment you only can truncate bits in reaper. there is no dither (64bit->lower bitdepth) yet!
|
|
|
04-04-2007, 07:28 AM
|
#6
|
Human being with feelings
Join Date: Mar 2007
Location: London UK
Posts: 3,378
|
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
|
|
|
04-04-2007, 07:29 AM
|
#7
|
Human being with feelings
Join Date: Mar 2007
Location: London UK
Posts: 3,378
|
I was thinking of starting an acoustic track at 96/64 might think again now.
MC
|
|
|
04-04-2007, 07:49 AM
|
#8
|
Human being with feelings
Join Date: Jul 2006
Posts: 12,480
|
Quote:
Originally Posted by norbury brook
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!
|
|
|
04-04-2007, 10:11 AM
|
#9
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
|
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
|
|
|
04-04-2007, 11:26 AM
|
#10
|
Human being with feelings
Join Date: Jul 2006
Posts: 12,480
|
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
|
|
|
04-04-2007, 01:39 PM
|
#11
|
Human being with feelings
Join Date: Mar 2007
Posts: 478
|
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.
|
|
|
04-04-2007, 02:37 PM
|
#12
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
|
Ook
THanks for the explanation bits & links.
It is still rather abstract, but i'l look at the links and experiment.
|
|
|
04-04-2007, 02:40 PM
|
#13
|
Human being with feelings
Join Date: Jul 2006
Posts: 12,480
|
make sure to experiment with VERY low levels!
|
|
|
04-04-2007, 02:55 PM
|
#14
|
Human being with feelings
Join Date: Mar 2007
Location: I'm in a barn
Posts: 4,467
|
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.
|
|
|
04-04-2007, 03:47 PM
|
#15
|
Human being with feelings
Join Date: Mar 2007
Location: Germany
Posts: 53
|
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
|
|
|
04-04-2007, 08:44 PM
|
#16
|
Human being with feelings
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
|
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.
|
|
|
04-05-2007, 05:57 AM
|
#17
|
Human being with feelings
Join Date: May 2006
Posts: 2,373
|
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.
|
|
|
04-05-2007, 06:37 AM
|
#18
|
Human being with feelings
Join Date: Mar 2007
Posts: 478
|
Quote:
Originally Posted by airon
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.....
|
|
|
04-05-2007, 06:49 AM
|
#19
|
Human being with feelings
Join Date: Mar 2007
Posts: 478
|
Quote:
Originally Posted by NoWo
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!
|
|
|
04-05-2007, 06:59 AM
|
#20
|
Human being with feelings
Join Date: Mar 2007
Posts: 478
|
Quote:
Originally Posted by James HE
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.
|
|
|
04-05-2007, 08:12 AM
|
#21
|
Human being with feelings
Join Date: May 2006
Posts: 2,373
|
Quote:
Originally Posted by Dandruff
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
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
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.
|
|
|
04-05-2007, 08:28 AM
|
#22
|
Human being with feelings
Join Date: Nov 2006
Location: Columbus, Ohio
Posts: 2,028
|
Quote:
Originally Posted by sinkmusic
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.
|
|
|
04-05-2007, 08:45 AM
|
#23
|
Human being with feelings
Join Date: Mar 2007
Posts: 478
|
"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.
|
|
|
04-05-2007, 08:46 AM
|
#24
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
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
|
|
|
04-05-2007, 09:13 AM
|
#25
|
Human being with feelings
Join Date: May 2006
Posts: 2,373
|
Quote:
Originally Posted by mahasandi
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
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.
|
|
|
04-05-2007, 09:29 AM
|
#26
|
Human being with feelings
Join Date: Mar 2007
Posts: 478
|
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!
|
|
|
04-05-2007, 11:43 AM
|
#27
|
Human being with feelings
Join Date: Mar 2007
Posts: 478
|
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.
|
|
|
04-05-2007, 12:11 PM
|
#28
|
Human being with feelings
Join Date: Mar 2007
Posts: 478
|
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.....
|
|
|
04-05-2007, 12:35 PM
|
#29
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,750
|
Mersenne Twister ...
Last edited by schwa; 04-05-2007 at 12:41 PM.
Reason: off topic math blathering removed
|
|
|
04-05-2007, 12:55 PM
|
#30
|
Human being with feelings
Join Date: Mar 2007
Posts: 478
|
(松本 眞)
Hell Yeah
|
|
|
04-05-2007, 01:06 PM
|
#31
|
Human being with feelings
Join Date: Nov 2006
Location: Columbus, Ohio
Posts: 2,028
|
Quote:
Originally Posted by mahasandi
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...
|
|
|
04-05-2007, 02:05 PM
|
#32
|
Human being with feelings
Join Date: May 2006
Posts: 2,373
|
Quote:
Originally Posted by mahasandi
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.)
|
|
|
04-05-2007, 06:10 PM
|
#33
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,750
|
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?
|
|
|
04-05-2007, 07:56 PM
|
#34
|
Human being with feelings
Join Date: Aug 2006
Location: A place that allows me to protect myself...
Posts: 8,245
|
Quote:
Originally Posted by Bubbagump
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
|
|
|
04-05-2007, 09:07 PM
|
#35
|
Human being with feelings
Join Date: Sep 2006
Location: Arse end of the earth.
Posts: 2,988
|
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.
|
|
|
04-05-2007, 09:16 PM
|
#36
|
Human being with feelings
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
|
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.
|
|
|
04-06-2007, 08:28 AM
|
#37
|
Human being with feelings
Join Date: Sep 2006
Location: Arse end of the earth.
Posts: 2,988
|
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.
|
|
|
04-06-2007, 08:35 AM
|
#38
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,750
|
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.
|
|
|
04-06-2007, 10:35 AM
|
#39
|
Human being with feelings
Join Date: May 2006
Posts: 2,373
|
Quote:
Originally Posted by schwa
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.
|
|
|
04-06-2007, 10:38 AM
|
#40
|
Human being with feelings
Join Date: May 2006
Posts: 2,373
|
Quote:
Originally Posted by airon
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
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 .
|
|
|
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 10:39 PM.
|