Is VOX bit-perfect?


#1

I am working with a problem audio file. I understood that VOX is bit-perfect, if there is no EQ used and no volume bias set. When I run my file through VOX through two AU's, Nugen MasterCheck and Apple AURoundtrip I get different results than when I run the same file through Logic Pro and the same plugins. See the screenshots.

It appears that VOX is NOT bit perfect and is causing a higher level output and hence more clipping and loudness.

Is this correct? I need a bit-perfect file player to check my audio and to also enjoy listening. I'd like to to understand what is going on here.

You can see Logic on the left and VOX on the right. VOX reports more ISPs and clipping and Logic.
thanks
Brett


#2

The discussion is now public.


#3

Brett, thank You for Your question.

Short answer is, it's all about gain structure. Vox plays file "as is", AU's are simply inserted in digital signal chain with no intentional gain change. After all, Vox is a player, not a DAW.

"Bit perfect" is often misinterpreted term.

Longer answer.

First note is, once You plug in any effect (EQ, AU, VST, whatever) it's not "bit perfect" anymore per se - in a sense that You've just brought in additional computations between the file and output affecting the signal. Then, other problem of audio processing often comes in - an additional gain that without appropriate gain reduction causes clipping.

There are different approaches to what "bit perfect" is. Vox is bit perfect (when there is no effect in chain! and volume is 100%!) in a sense that it tries not to change the incoming audio data by multiplication or other related processing. Given that most music tracks go out excessively limited to the maximum possible magnitude, being "bit perfect" means, playing at maximum digital levels just prior to clipping. Then analog volume control is used to reduce volume. It's ok with just =playing= already mastered music.

What that means is, if You have added some more gain/volume in Your Audio Units in Vox, You will get unwanted distortion. So You need to be knowing what You are doing. That's partly a reason why Audio Units is somewhat hidden feature in Vox - it's too easy to spoil sound by unqualified use. For example, desktop Vox uses "gain" slider in EQ to compensate the gain the user might dial in on EQ itself, to avoid clipping. You need to adjust this slider Yourself. In Audio Units there are also "gain" controls for the same purpose. Vox does not do this for You automatically - it does not try to compensate for levels or shift dynamic range. After all, it's for playing what has been already mastered and maxed, not for mastering and maximizing.

On the other side, Logic has to deal with audio processing a lot, it's a professional software for audio and that brings up a common issue with audio editing software - for example, to be able to amplify some portion of spectrum, in audio where everything is already amplified, someone (including software) needs first to lower the total gain of the signal or/and use wider internal dynamic range in digital domain. Then, given You use floating-point sample format, You are able to do Your math/processing, without user even noticing the gain change.

In other words, Logic is much more complex software, so don't expect Vox to behave the same. Probably that's why You paid for Logic much more than for Vox :)

In my opinion, music production software cannot be "bit perfect" per se - it's for processing, not for playback!

Therefore, the problem is in Your levels - You need to lower Audio Units gain in Vox to achieve the same result You get in Logic. Logic just may use different (more complicated) gain structure.

Vox uses BASS audio engine internally in a 32-bit floating point mode, so You may find information about it.

Sorry for long text, but the question is serious!
Please feel free to ask more questions and supply recommendations!


#4

I need to add to this, Vox is only "bit perfect" if sample rates of file and output device are the same, but even if they are not - this won't change levels substantially.

As I think You want to test same AU presets You use in Logic, in Vox. For this Yo will need to experiment with volumes and equate the volume (loudness) from Logic with volume from Vox, by enabling EQ in Vox and setting "gain" to -6 and to -12 dB, to find which setting is more like Logic, in volume level. Probably You have hi-resolution level meters in Your audio interface then use them to equal the levels.

Why use Gain in Vox EQ? because it's just prior AU's in signal chain. It will allow AU's use more headroom without overdriving the output.

You can leave EQ itself flat - this way it's filters are still bypassed.
Also, make sure BS2B processing is off, for most honest playback of Your material.

Hope I helped You just a bit more than in previous message.


#5

This is very helpful! The Audio Unit I am using in VOX is apples RoubdTrip which measures clipping and Nugen MasterCheck. Both these are just meters and do not change the gain of the signal. yet in RoundTrip I am reading much sample clipping. But when I measure the same file in Logic there is no clipping.

I understand that if there is gain in VOX I would get a higher level. but there is no gain in VOX being applied. so why does RoundTrip show clipping in VOX and not in Logic?

are you saying Logic has some kind of internal gain reduction. Or that Logic has more accurate computation than VOX and VOXs computation errors are causing the clipping? or...?


#6

It might be interesting to eliminate AAC from the equation by repeating your side by side test using a pcm file format, eg wav just in case the aac decoder works differently between logic and vox. maybe thats where the gain change is coming from, all else being equal.


#7

Good point. Done! The results are in the screenshots. the one with “source sample” of 312 is a WAV and the other is the same file as Apple Lossless. so, both are still showing clipping and both are different. this adds further complexity into this.

Ok here is what I want to be able to do: All I want to do is have an ACCURATE reading of clipping and loudness and other things my meters do. Should I not use VOX for this at all? I am happy to do it in Logic although that will be more effort but I need to have accuracy here.


#8

how did logic compare to vox with the same file format?


#9

Brett,

If You need accuracy - use Logic. Vox does not pretend to be a professional production software. I will also research into what You show here, because I think how we can improve Vox also...

Also please make sure that there is no additional gain applied in Vox.

About inaccuracies in audio data in Vox: they are the same as in any 32-bit floating point audio software. seems the level is what is different here.

Anyway, thank You for Your educated analysis.


#10

I might have screwed something up… stay tuned…


#11

Ok, I didn’t screw anything up. Below are the results of the same file measured in Logic. They are both the same - one is with Apple Lossless and the other WAV. you can see the source sample clips are 0, which accurately reflects the actual file. also notice they are the same, as they should be.

So VOX is doing something funky.

If you want me to test anything in the future please let me know. I will use Logic from now on.

Also, note, that Fidelia also reports similar inaccuracies although the results are different than VOX.

I assumed “bit perfect” meant “bit perfect” but I guess we are using different definitions of “perfect” :) I would encourage you to not tout VOX as bit-perfect unless its actually bit-perfect. :)

Brett

On Dec 22, 2016, at 2:41 PM, UsabilityNow brett@usabilitynow.ca wrote:

I might have screwed something up… stay tuned…

On Dec 22, 2016, at 2:37 PM, soundguy > wrote:


#12

Well, Brett, that's serious statement. I will try to compete.
Here are my 2 cents, to be more precise, two pics.

I don't own Logic Pro but I have Reaper.

My conditions were:
all tests in 44.1 kHz SR, no sample rate conversion
No other plugins or effects in use
The same WAV track rendered fully up to last 18 seconds of fadeout once while taking roundtrip clipping measurement in both cases
All volumes are unity, no other processing anywhere.

Please tell me what am I doing wrong that my readings of "source" are identical?


#13

This is AULab result with same conditions, for reference:


#14

I also have Ardour, this is what it tells me:


#15

Perhaps there is something going on specific to my system that causes VOX to add gain. let me try some things.


#16

First, try removing other AU's from chain - leave just one that You are measuring with. Don't just bypass others, delete them.


#17

I also run Audio Hijack and Audio Mate which I will disable and reboot. I will do each step and then a test to see if one of those is affecting things.


#18

This is pink noise at -3.5 dB test, to exclude the possibility of clipping and to show that Vox doesn't do any tricks with levels:


#19

I found the problem. sample rate conversion. if there are any inputs or outputs in “audio midi” with sample rates other than the file sample rate, sample rate conversion (within VOX?) will cause RoundTrip to report sample clops.

I use Audio Hijack as well. if Audio Midi is set to the right sample rate, it may be that Audio Hijack i(AH) isn’t. AH doesn’t seem to change it’s sample rate once set from initial launch. so if the file rate is 44.1 and the system rates are all 44.1 there will be no sample clipping.

It appears to be s simple sample rate conversion issue. as long as I ensure the output I am using is set to the file rate, there are no sample clips.

I discovered that a track has to be re-started by double-cliking on it if the system sample rate has changed otherwise the file will continue playing at the previous set rate when it was first played.

“Syncronize sample rate with player” helps to solve this problem by forcing the system rate to the file rate. this seems to work.

WHEW! :D


#20

So an area where VOX could be improved is an honest better sample rate conversion. it’s easy to not know if the sample rate “chain” isn’t creating problems because of rate conversion, because a lot of what goes on is under the hood. but it seems like VOX can essentially control the same rate of the system. so both a better quality sample rate conversion and some kind of warning that its doing conversion would be great. that way the user can be alerted to a problem and resolve it.

just a suggestion based on all our troubleshooting

brett

On Dec 22, 2016, at 5:42 PM, UsabilityNow brett@usabilitynow.ca wrote:

I found the problem. sample rate conversion. if there are any inputs or outputs in “audio midi” with sample rates other than the file sample rate, sample rate conversion (within VOX?) will cause RoundTrip to report sample clops.

I use Audio Hijack as well. if Audio Midi is set to the right sample rate, it may be that Audio Hijack i(AH) isn’t. AH doesn’t seem to change it’s sample rate once set from initial launch. so if the file rate is 44.1 and the system rates are all 44.1 there will be no sample clipping.

It appears to be s simple sample rate conversion issue. as long as I ensure the output I am using is set to the file rate, there are no sample clips.

I discovered that a track has to be re-started by double-cliking on it if the system sample rate has changed otherwise the file will continue playing at the previous set rate when it was first played.

“Syncronize sample rate with player” helps to solve this problem by forcing the system rate to the file rate. this seems to work.

WHEW! :D

On Dec 22, 2016, at 4:49 PM, soundguy > wrote: