HydrogenAudio

Hosted Forums => foobar2000 => General - (fb2k) => Topic started by: Peter on 2014-10-31 10:51:09

Title: ABX Comparator version 2.0
Post by: Peter on 2014-10-31 10:51:09
This is a major rewrite of the foobar2000 ABX component, which had been unchanged for nearly 10 years now until now.

Current version: 2.0

http://www.foobar2000.org/components/view/foo_abx (http://www.foobar2000.org/components/view/foo_abx)

Highlights:



Have fun with it.
Title: ABX Comparator version 2.0
Post by: carpman on 2014-10-31 12:20:55
Seamless transitions and replay gain improvements much appreciated - all working well.
Thanks Peter.

C.
Title: ABX Comparator version 2.0
Post by: detmek on 2014-10-31 16:14:56
Works here. So as online verifier. Thanks.
Title: ABX Comparator version 2.0
Post by: eahm on 2014-10-31 18:07:10
The logs now contain SHA1 hashes of files used.

Awesome, is it possible to show also the information of the file? What kind of codec and codec parameters are enough I guess (example: MP3, VBR 2).

Quote
The logs now contain information about DSP and output settings used.

Awesome!

Quote
The logs now contain a signature that can be verified online (http://www.foobar2000.org/abx/signaturecheck) to ensure that the log has not been tampered with.

AWESOME!

Quote
Seamless transition between ABX-ed tracks.
Uses core output settings on foobar2000 v1.3.5 and newer. Falls back to default DirectSound when running in older foobar2000 versions.


Awesome, thank you!
Title: ABX Comparator version 2.0
Post by: IgorC on 2014-10-31 18:47:04
Interesting.

I was trying it too.

I wonder why the number of trials is fixed at 16. I wasn't paying attention.

Quote
Trial count is configured in advance and not influenced by trial progress.

P.S. Thank You, xnor
Title: ABX Comparator version 2.0
Post by: xnor on 2014-10-31 18:52:46
I wonder why the number of trials is fixed at 16.


In the dialog that opens before the ABX window opens ... there is an option to set the number of trials.
Title: ABX Comparator version 2.0
Post by: klepetox on 2014-11-01 06:11:18
Nice, but I use ABX Comparator to determine differences between various versions of mastering and I have to know what track is playing. In other words, I use ABX Comparator not for blind testing, but to hear differences between releases (i.e. differences between remastered and non remastered versions, then I really need to know what track is playing). Now it is impossible.
Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-01 07:27:16
Nice, but I use ABX Comparator to determine differences between various versions of mastering and I have to know what track is playing. In other words, I use ABX Comparator not for blind testing, but to hear differences between releases (i.e. differences between remastered and non remastered versions, then I really need to know what track is playing). Now it is impossible.

What you're trying to do is not impossible but has just gotten less convenient than before.
I've been thinking about that scenario as well. I can add a separate "practice" mode where no formal ABX log is written but you can try any number of times.
Title: ABX Comparator version 2.0
Post by: carpman on 2014-11-01 07:30:50
I'd like that too. I sometimes use for the same purpose as klepetox.

C.
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-01 11:00:08
Me three. The old ABX was a fantastic sighted comparison tool and Arny and I would pitch that aspect to new people to get them into using it, as a first "baby step" towards full blown testing, so I definitely vote that some aspect akin to how it worked before, in that sighted way, should remain. [I guess by never voting you can continue to compare A to B knowing what they are from  what I discuss in post #12]
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-01 11:17:26
New point. I notice when selecting a phrase repeat (loop) section the time location on the green bar graph above works differently and I was surprised that with some effort, pushing it to and fro with the mouse cursor, one can select a segment even SMALLER than .1 second, which I believe was the minimum allowed for in the earlier version. This allows isolation of a transient peak in order to detect things like time misalignment between the two files with greater precision, so I like that.
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-01 11:26:21
Nice, but I use ABX Comparator to determine differences between various versions of mastering and I have to know what track is playing. In other words, I use ABX Comparator not for blind testing, but to hear differences between releases (i.e. differences between remastered and non remastered versions, then I really need to know what track is playing). Now it is impossible.


As it worked before the top in the list of your two selected songs from your foobar playlist was always then "A" during the test phase. I believe that is still the case.

Title: ABX Comparator version 2.0
Post by: detmek on 2014-11-01 13:41:57
@mzil

I just tried and it is the same as before. First of selected tracks in the list is always A, second track is B.

P.S. I am using ABX comparator to test some DSP effects by converting a song with desired DSP effect, replaygain it and use ABX to compare effect by pressing just A and B, no X and Y. When the effect is too small then I use X/Y to test if I can actually hear the effect.
Title: ABX Comparator version 2.0
Post by: Steve Forte Rio on 2014-11-02 00:14:58
What output method does the new version use? As I see, changing it in playback settings has no influence on ABX. Strange behavior.
Title: ABX Comparator version 2.0
Post by: Case on 2014-11-02 00:37:34
It uses the output that was active when the ABX session is started. Except if you are on older foobar2000 version than 1.3.5, then it reverts to DirectSound.
Title: ABX Comparator version 2.0
Post by: Steve Forte Rio on 2014-11-02 08:22:03
Nice, but I use ABX Comparator to determine differences between various versions of mastering and I have to know what track is playing. In other words, I use ABX Comparator not for blind testing, but to hear differences between releases (i.e. differences between remastered and non remastered versions, then I really need to know what track is playing). Now it is impossible.

What you're trying to do is not impossible but has just gotten less convenient than before.
I've been thinking about that scenario as well. I can add a separate "practice" mode where no formal ABX log is written but you can try any number of times.


I defend it too.

There should be training mode like in Java ABC/HR's ABX:

(http://audiophilesoft.ru/_pu/3/09342520.png)



Case, thanks!
Title: ABX Comparator version 2.0
Post by: Arnold B. Krueger on 2014-11-02 13:38:00
This is a major rewrite of the foobar2000 ABX component, which had been unchanged for nearly 10 years now until now.

Current version: 2.0 beta 1

http://www.foobar2000.org/temp/ABX_Compara....fb2k-component (http://www.foobar2000.org/temp/ABX_Comparator_beta1.fb2k-component)

Highlights:

  • Removed functionality that should not be used during proper ABX tests.
    Trial count is configured in advance and not influenced by trial progress.
    Trial can no longer be reset while in progress.
  • Improved security for better identification of what was being ABXed.
    The logs now contain SHA1 hashes of files used.
    The logs now contain information about DSP and output settings used.
    The logs now contain a signature that can be verified online (http://www.foobar2000.org/abx/signaturecheck) to ensure that the log has not been tampered with.
    Please keep in mind that there are no perfect security measures; in the end it's up to trusting individual users to have performed the test correctly or not. Someone with enough resources will always find a way to cheat, regardless of the amount of encryption & signature checking. We're only aiming to cover the most obvious cases.
  • New improved playback engine
    Seamless transition between ABX-ed tracks.
    Uses core output settings on foobar2000 v1.3.5 and newer. Falls back to default DirectSound when running in older foobar2000 versions.
  • Usability improvements
    Can use ReplayGain with tracks having no ReplayGain info as well as with untaggable file formats.
    Keyboard shortcuts for all essential buttons in the trial progress dialog.


Thanks!
Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-04 13:44:52
Beta 2 out.

Training mode has been added.
Title: ABX Comparator version 2.0
Post by: xnor on 2014-11-04 16:59:52
Beta 2 out.

Training mode has been added.

Nice.

I think the only thing that is "missing" (compared to the old component) is the display of probability of guessing in the score during training mode.
Title: ABX Comparator version 2.0
Post by: xnor on 2014-11-04 17:06:05
Also, I just did a training run and the same choice was correct 10 times in a row. I know that this may happen statistically, but did something change in the random number generator?
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-04 20:19:19
Thanks Peter, It just keeps getting better!:)

A minor nit pick: I fully understand why one's cumulative, running status of "Likelihood results were due to chance alone expressed as a percent" have been removed from the formal test mode [and I agree that serves no purpose or even is arguably just flat out wrong, so it is good it was removed and I applaud that] but it still would be a very useful tool during the training mode before the test, for many of us.  If it could be reintroduced in that mode, at least as an option, that would be great.

Here's an example of how it would be useful to some of us who don't have binomial tables (or whatever those things are called, I forget) memorized:
"Interesting, I think I have discovered the difference and in this training mode I have successfully scored 6 out of 9 trials correctly. Good, but I wish I knew if that's really statistically significant or not, and by how much, or if its just a little, inconsequential bit better than chance, like was possible in the original ABX v.1".
Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-04 22:13:47
The random number generator has not changed. Scoring 10/10 without even listening is rare but not unheard of.

The probability value display for training mode will be brought back, maybe I can come up with a better label for it as the value is not valid unless the conditions of proper trial are satisfied (predetermined trial count, intermediate results hidden).
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-04 22:45:57
I found the intermediate "likelihood due to chance, based on the number of trials you have taken so far, were we to end the practice test right here and now [not that you are allowed to, nor should be allowed to in a REAL test]"  results quite useful though, even if they are improper to display during a REAL test.

When one is in trial mode and using ABX as a fantastic learning tool, searching for possible subtle differences to focus on, it gives one immediate feedback as to if the current thing they are attempting to key off of is real, or rather just a figment of their imagination. It acts as sort of a robotic training coach who is constantly cheering you on when you have found a true audible difference, i.e. "hit pay dirt with statistical significance",  or kindly explains that what you are pursuing isn't actually real, so you are wasting your time and should move on to pursue something else.
Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-05 10:32:01
Beta 3 up, added pval display for training mode.
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-05 22:32:12
Excellent! Thanks.

New issue though. I'm not sure if it existed before but I am seeing it just now. Hard to explain but here goes:

In normal test mode, selecting the tick box "Keep playback position when changing track" and listening straight through without invoking a segment to repeat, there is an accidental visual "tell", a way to determine A from B visually, because when one transitions from Play A to Play X there is a slight stutter, visually, on the progressing blue bar graph below, when asking for such a change truly alternates the sources, whereas the same action which doesn't actually do any switching (since A already equals X) the motion is smooth, continuous, and uninterrupted. Looking for this stutter (or perhaps "tiny pause/backtrack"?) gives away if any actual switching occurred.
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-05 23:21:43
I forgot to mention the two test songs I randomly selected and used weren't the same length of time, if it matters.
Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-06 09:40:58
In normal test mode, selecting the tick box "Keep playback position when changing track" and listening straight through without invoking a segment to repeat, there is an accidental visual "tell", a way to determine A from B visually, because when one transitions from Play A to Play X there is a slight stutter, visually, on the progressing blue bar graph below, when asking for such a change truly alternates the sources, whereas the same action which doesn't actually do any switching (since A already equals X) the motion is smooth, continuous, and uninterrupted. Looking for this stutter (or perhaps "tiny pause/backtrack"?) gives away if any actual switching occurred.

Sorry, cannot confirm, not even with two tracks having completely different lengths.
Can anyone else confirm?
Title: ABX Comparator version 2.0
Post by: xnor on 2014-11-06 14:06:53
I don't see a stuttering.

But this brings me to a related problem.
Generate a 1000 Hz and 1000.1 Hz tone, or two 1000 Hz tones with different phase offsets. Now ABX the two files.

Even if the files sound identical, every time you switch from A to X and back you can either
- hear a small glitch (X=B)
- sound continues smoothly (X=A)

This is problematic, because you can easily ABX identically sounding files using this 'trick'. I can post verifiable logs if you don't believe me.
Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-06 17:17:31
ABXing files with different sample rates will indeed produce a glitch on song switch, bug acknowledged.
Title: ABX Comparator version 2.0
Post by: xnor on 2014-11-06 19:57:41
Oh yeah, same file sampled at different rates causes an even greater glitch on switch.

On switch: I guess you'd need to quickly fade out. Stop playback. Start playback with quick fade in. Regardless if files are switched or not.

I'd rather have consistent switching than seamless (in some cases) switching.
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-06 20:33:42
Sorry, my two songs might have had differing sampling rates too. I will test some more and get back later.
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-06 21:00:38
Yes, my songs had differing sampling rates, 44/16 vs 96/24 I believe. Sorry to have not seen or mentioned that. I do not see the stutter using the same sampling rate.

An attempt to fix the stutter problem (with differing sampling rates) might be to just accept that it just can't really BE fixed and introduce the exact SAME stutter to the transition of both.
So in comparing 44 vz 96, say as an example, have the program undergo an unnecessary, extra rerouting of the signal to a new sampling rate EVERY time, even when it doesn't need to:

A is 44
B is 96

A to B transitioning is done as 44 to 88 to 96 [two total steps]
A to A transitioning is done as 44 to 88 to 44 [two total steps]
B to A transitioning is done as 96 to 88 to 44 [two total steps]
B to B transitioning is done as 96 to 88 to 96 [two total steps]

Sorry, I'm just a layman and don't know much about this stuff, but as I see it the glitch, "bar graph stutter", and delay should be the same for all four possible scenarios, doing it this way.




P.S. The bar graph stutter may be more easily seen with short songs? Mine was 17 seconds. [since small time increments are more easily seen this way due to the expanded linear scale across the horizon for such a short song.]

Title: ABX Comparator version 2.0
Post by: edwardar on 2014-11-06 21:32:22
Great to see this updated. Can I make a request?

I often use ABX to compare different masterings of the same CD album (sometimes digitised vinyl too). They are often indexed differently, so it would be great to have the option to delay/advance one track so they can be aligned.

I appreciate this is not a useful feature for comparing lossless and compressed versions of the same audio, which may be the primary focus of this tool.
Title: ABX Comparator version 2.0
Post by: xnor on 2014-11-06 22:43:24
An attempt to fix the stutter problem (with differing sampling rates) might be to just accept that it just can't really BE fixed and introduce the exact SAME stutter to the transition of both.
So in comparing 44 vz 96, say as an example, have the program undergo an unnecessary, extra rerouting of the signal to a new sampling rate EVERY time, even when it doesn't need to:


I can reproduce the visual stutter with different sampling rates, short files. I guess it has the same cause as the audible glitch.

I wouldn't resample the files in the ABX component... The test files shouldn't be modified in the ABX process.
Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-07 10:08:41
Beta 4 out.

Now behaves consistently when the files being tested have mismatching sample rate or channel layout.

Seamless mode active only when testing files with identical sample rates & channel layouts.
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-07 19:32:25
Everything working well here. Thanks again.

A minor quibble: If you were to stop 20 people on the street and ask them, "If you took a True or False test and were told your final score had a "pval=1%", can you define for me what that terminology means exactly?" I estimate that less than 1 in 20 average Joes would get it right. Whereas if you were to ask the same question but replace "pval =1%" with a phrase such as was used before (and still is in the test mode), akin to "likelihood your score was achieved simply due to chance = 1%" about 19, if not all 20 people, would be able to understand and describe what was meant.

In the training mode the use of the term "pval" is understood by all of us, sure, but WE'RE experienced in these matters;  to make the test more friendly to first time users and/or those with no background in statistics, I think using the spelled out description, which does still occur in the formal test section, would help make the training section more accessible to the masses. Just a thought.
Title: ABX Comparator version 2.0
Post by: xnor on 2014-11-08 01:40:03
Seamless mode active only when testing files with identical sample rates & channel layouts.


The problem I explained above still exists. Two 1 kHz tones with different phase offset => on an actual seamless switch (e.g. press A, X or A, Y a couple of times) you can hear a tiny glitch.

@mzil: How about "chance of guessing: 1%"?
Title: ABX Comparator version 2.0
Post by: dhromed on 2014-11-14 09:03:33
Is a tiny switch glitch actually a problem? The problem can't be that I'm informed as to when a switch is happening, since I already do that myself.

Quote
@mzil: How about "chance of guessing: 1%"?


The current component already does that with "probability that you were guessing: X%" so it's probably good to just keep that phrase in.
Title: ABX Comparator version 2.0
Post by: Case on 2014-11-14 09:24:05
It is a problem because it allows cheating. The glitch is only heard when A changes to B so it reveals X.
Title: ABX Comparator version 2.0
Post by: xnor on 2014-11-14 12:04:36
Let me quote this again:
Even if the files sound identical, every time you switch from A to X and back you can either
- hear a small glitch (X=B)
- sound continues smoothly (X=A)


The glitch gets smaller and harder to detect with music. It's easiest to detect with simple tones when they are out of phase (the files wouldn't null at all).

Try to copy any file, then add some samples of delay at the beginning to one, or filter one with an all-pass filter ...
In the ABX window you can then spam A, X or A, Y keys and you should hear that either the switch to X or to Y is not as smooth. If A, Y is smooth for example, then Y=A and X=B.

I guess the problem is due to some sort of crossfading. As the waveforms don't line up, they produce a small glitch at the crossing. Why not completely fade out one file, then start fade in the other one?
Title: ABX Comparator version 2.0
Post by: Kees de Visser on 2014-11-14 12:17:59
It is a problem because it allows cheating. The glitch is only heard when A changes to B so it reveals X.
FYI this thread from 2010 (http://www.hydrogenaud.io/forums/index.php?showtopic=79566) is about switching artifacts and its problems.
To get 100% artifact free track switching, the application would need to employ some kind of low-latency playback scheme and switch streams being sent (with a short crossfade) by itself without interrupting the output.
This isn't very compatible with the way foobar2000 works and fixing it would make the ABX component much more sophisticated than it is now and probably also require a new foobar2000 core version.
Peter, I just learned about the new ABX beta. Did you manage to allow artifact free track switching ?
Title: ABX Comparator version 2.0
Post by: bandpass on 2014-11-14 13:11:26
To summarise what has been said in other threads:

Basic signal theory dictates that for this application, transitions, be they from one signal to another, or between one signal and silence (not playing anything), must be appropriately windowed.  Use a Hann window (half-cosine envelope); 50ms should suffice.

For example:

Rectangular window; ultrasonic signal becomes audible at transitions:

(http://i61.tinypic.com/2da0e2x.png)

With 50ms Hann window, ultrasonic signal stays inaudible at transitions:

(http://i59.tinypic.com/wjflzt.png)


I've only tested the current Beta once so far, but it appears not to be windowing correctly when transitioning from signal to silence.
Title: ABX Comparator version 2.0
Post by: dhromed on 2014-11-14 13:24:18
Quote
The glitch is only heard when A changes to B so it reveals X.


Ahh, ok.
Title: ABX Comparator version 2.0
Post by: Arnold B. Krueger on 2014-11-14 13:34:47
I don't see a stuttering.

But this brings me to a related problem.
Generate a 1000 Hz and 1000.1 Hz tone, or two 1000 Hz tones with different phase offsets. Now ABX the two files.

Even if the files sound identical, every time you switch from A to X and back you can either
- hear a small glitch (X=B)
- sound continues smoothly (X=A)

This is problematic, because you can easily ABX identically sounding files using this 'trick'. I can post verifiable logs if you don't believe me.



This sort of thing becomes less problematical if the switch over is a cross fade or a non-overlapped fade out followed by a fade in,  which JJ has strongly recommended all along.
Title: ABX Comparator version 2.0
Post by: Arnold B. Krueger on 2014-11-14 17:49:35
This is a major rewrite of the foobar2000 ABX component, which had been unchanged for nearly 10 years now until now.

Current version: 2.0 beta 4

http://www.foobar2000.org/temp/ABX_Compara....fb2k-component (http://www.foobar2000.org/temp/ABX_Comparator_beta4.fb2k-component)

Highlights:

  • Removed functionality that should not be used during proper ABX tests.
    Trial count is configured in advance and not influenced by trial progress.
    Trial can no longer be reset while in progress.
  • Improved security for better identification of what was being ABXed.
    The logs now contain SHA1 hashes of files used.
    The logs now contain information about DSP and output settings used.
    The logs now contain a signature that can be verified online (http://www.foobar2000.org/abx/signaturecheck) to ensure that the log has not been tampered with.
    Please keep in mind that there are no perfect security measures; in the end it's up to trusting individual users to have performed the test correctly or not. Someone with enough resources will always find a way to cheat, regardless of the amount of encryption & signature checking. We're only aiming to cover the most obvious cases.
  • New improved playback engine
    Seamless transition between ABX-ed tracks.
    Uses core output settings on foobar2000 v1.3.5 and newer. Falls back to default DirectSound when running in older foobar2000 versions.
  • Usability improvements
    Can use ReplayGain with tracks having no ReplayGain info as well as with untaggable file formats.
    Keyboard shortcuts for all essential buttons in the trial progress dialog.
  • Training mode
    Introduced in beta 2.
    Infinite trials (for two tracks), no log produced.
    Allows any number of tracks, but no guessing & trials for more than two.
    Trial mode now shows the current pval [beta 3 addition].


Have fun with it.


What I don't see that has been a real world issue:

For non-training tests the timing of the start and stop of the actual sample used to ABX is locked for the duration of the test and identified in the log file..
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-14 18:34:19
This sort of thing becomes less problematical if the switch over is a cross fade or a non-overlapped fade out followed by a fade in,  which JJ has strongly recommended all along.
  Using ANY overlap at all is just asking for trouble. I'm with jj. Think of how different the same file compared against itself would sound at the transition point simply because one file had an inverted polarity to the other one, for example.

  Regarding the wording, I don't really care what the exact words for "likelihood your score was simply due to chance alone = .5%" is, I just think people in training mode should see the exact same thing there (that they do after a real test), instead of the less layman friendly "pval = .5%".

Arny, all within the confines of one trial, in real test mode, one may listen to a 5 second segment looped from early in the song, but then a minute later switch to a 10 second segment from the end of the song, etc., so Foobar ABX would have to keep track and list ALL of them, every time the phrase repeat loop feature is activated, plus it won't understand when you are trying to isolate a particular telling section precisely, and keep moving the start and stop points around slightly by knudging them up and down the time scale slightly, that each attempt isn't really the loop you focused on. A final report would look like this:

"Trial 1 segment repeats used: 10.1 seconds to 15.3 seconds, 10.0 seconds to 15.3 seconds, 9.9 seconds to 15.3 seconds, 1m08.7 seconds to 1m19.2 seconds, 1m08.7 seconds to 1m20.0seconds, 1m08.7seconds to 1m19.7 seconds, 1m08.8seconds to 1m19.7 seconds, 1m08.9seconds to 1m19.7 seconds

Trial 2 segment repeats used..."

Is that what you're after?

Title: ABX Comparator version 2.0
Post by: 2Bdecided on 2014-11-15 23:48:15
If this is going to work properly for every test, I think we need to be able to switch between two modes.

Mode 1 = raised cosine 5ms cross fades between samples and between PLAY and STOP.
Mode 2 = raised cosine 5ms cross fades to/from silence between samples and between PLAY and STOP.

i.e. mode 1 allows seamless overlap, while mode 2 never lets the audio overlap and intentionally introduces a silent gap at every switch.

For some tests 1 is better, and 2 is a nuisance.
For other tests, 1 is a problem, and 2 is the best you can do.

Obviously the log file should say which was used. You need to pick one in preferences, or at the start of the test. You can't switch mid-test.

FWIW it's still not failsafe. If you have a large DC offset in one file but not the other, I think even a 5ms cross fade will be audible (or "feelable" with headphone and "visible" with some speakers) so you would still know which is which. You make it perfect!

Cheers,
David.
Title: ABX Comparator version 2.0
Post by: bandpass on 2014-11-16 08:30:16
Basically agreeing with Arny & David above.  It is highly desirable that test procedures should repeatable by others (to see if the results are repeatable) so every operational parameter (including start and end times, fade type, fade length, etc.) must be recorded in the log.  Even if a parameter is not variable in a particular version of this component, recording it allows users of other tools to recreate the experiment.

5ms fade seems a bit on the short-side to me; yes, my suggestion of 50ms above may seem a bit on the long-side, but better safe than sorry?  JJ suggested 40ms a while ago (linked to by Kees above), btw.

Whilst correct fading will solve a lot a problems, one which is not well-solved by it is that of temporal masking: allowing the tester to start playback at any point could allow an inaudible sound to be become separated from its temporal masking sound (either pre or post, though pre is more likely—see https://ccrma.stanford.edu/~bosse/proj/node21.html) (https://ccrma.stanford.edu/~bosse/proj/node21.html)).  I don't have any suggested solution for this other than to check for it on a case by case basis (and recording all operational parameters facilitates this).
Title: ABX Comparator version 2.0
Post by: xnor on 2014-11-16 13:48:04
Logging segments used in the test doesn't seem very 'solid'.
Anyone could play the whole track (which is quite short usually) but listen only for a single artifact, e.g. at the beginning or end.
Title: ABX Comparator version 2.0
Post by: Arnold B. Krueger on 2014-11-16 14:20:43
This sort of thing becomes less problematical if the switch over is a cross fade or a non-overlapped fade out followed by a fade in,  which JJ has strongly recommended all along.
  Using ANY overlap at all is just asking for trouble. I'm with jj. Think of how different the same file compared against itself would sound at the transition point simply because one file had an inverted polarity to the other one, for example.

Regarding the wording, I don't really care what the exact words for "likelihood your score was simply due to chance alone = .5%" is, I just think people in training mode should see the exact same thing there (that they do after a real test), instead of the less layman friendly "pval = .5%".

Arny, all within the confines of one trial, in real test mode, one may listen to a 5 second segment looped from early in the song, but then a minute later switch to a 10 second segment from the end of the song, etc., so Foobar ABX would have to keep track and list ALL of them, every time the phrase repeat loop feature is activated, plus it won't understand when you are trying to isolate a particular telling section precisely, and keep moving the start and stop points around slightly by knudging them up and down the time scale slightly, that each attempt isn't really the loop you focused on. A final report would look like this:


I had no idea that people were rewriting and remixing songs in order to ABX them.  Frankly, I'm skeptical that this is really happening often enough to worry about.

My concern is that observers can determine what people actually ABXed by looking at the log.

Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-16 20:46:27
Well my example was hypothetical. In truth I don't think I have ever used more than one phrase repeat segment per test. I do hunt around for several when in training mode though and when the cumulative score tells me I've hit "pay dirt" I then commence testing on that segment I've latched onto by switching to actual test mode. Unfortunately when I do so the segment is purged from memory so I have to find it again, but knowing this will happen I now know to memorize the start and end time stamps so I can quickly reinstate the loop section. This is a slight annoyance however looking at the big picture I think it is the correct way to do it and I am NOT suggesting that the A to B loop be maintained when switching from training mode to actual test mode.
Title: ABX Comparator version 2.0
Post by: Porcus on 2014-11-18 17:28:27
Logging segments used in the test doesn't seem very 'solid'.
Anyone could play the whole track (which is quite short usually) but listen only for a single artifact, e.g. at the beginning or end.


And then miss the issue when switching A->B sounds different from B->A or B->B or A->A, right?
Title: ABX Comparator version 2.0
Post by: xnor on 2014-11-18 17:41:54
Eh.. yes? No switching during the track means no switching artifacts, but I wasn't talking about ABX artifacts but e.g. audible differences at the beginning/end of the file due to small time delays, etc.
Title: ABX Comparator version 2.0
Post by: mzil on 2014-11-18 18:33:27
Although I agree seeing what segment(s) a test listener is looping per trial might be of interest, another problem with creating a log to show this, as Arny has suggested, is that the listener still gets to use an extremely useful yet completely undocumented one; namely by removing the check mark in the box "Keep playback position when changing track" one can manually listen to the opening one second [or whatever length they want] over and over again by switching between A, B, X, and Y, every one second, without it being documented as a "phrase repeat was engaged".

Listening to the opening second is exactly how I discriminated between MLXXX's new time aligned and level matched conversions of the Hi-res song "On the street where you live" he submitted at the AVS thread "AVS/AIX High-Resolution Audio Test: Take 2" a couple of days ago, by listening at elevated levels and concentrating on the tonality of the noise floor. [The music itself sounded identical to me. As I mention there, the ONLY reason I did this was to document how an unscrupulous con artist, who has infected that thread,  might "pass" the test without detection.]
Title: ABX Comparator version 2.0
Post by: MLXXX on 2014-11-20 07:37:37
Arny, all within the confines of one trial, in real test mode, one may listen to a 5 second segment looped from early in the song, but then a minute later switch to a 10 second segment from the end of the song, etc., so Foobar ABX would have to keep track and list ALL of them, every time the phrase repeat loop feature is activated, plus it won't understand when you are trying to isolate a particular telling section precisely, and keep moving the start and stop points around slightly by knudging them up and down the time scale slightly, that each attempt isn't really the loop you focused on. A final report would look like this:

"Trial 1 segment repeats used: 10.1 seconds to 15.3 seconds, 10.0 seconds to 15.3 seconds, 9.9 seconds to 15.3 seconds, 1m08.7 seconds to 1m19.2 seconds, 1m08.7 seconds to 1m20.0seconds, 1m08.7seconds to 1m19.7 seconds, 1m08.8seconds to 1m19.7 seconds, 1m08.9seconds to 1m19.7 seconds

Trial 2 segment repeats used..."

That's just how my trials would look, especially if the difference is at the outer limit of my hearing capacity. I frequently cross-check by choosing two or even three different segments for one trial. Only if my tentative answers for different segments are all the same, e.g.  X is A, X is A, X is A, do I actually enter a response. (X is A!)

One reason I need to do this is that my hearing can change within 30 seconds to a reversal. I should explain this. At the beginning of the session, A may sound darker in sound quality than B and that is the basis I use for testing X. This may remain the case for say 5 minutes. But then within 30 seconds B may start sounding the darker. I cannot trust my ears to remain stable and rely on my memory of which of A and B had the darker sound. I must retest A and B.

And of course in such a transition phase, A and B for a while may sound as dark as each other. If that situation persists, I may have to come back later and see whether A and B have once again become capable of being distinguished. If they still sound as dark as each other, I will go hunting in the files under comparison for some other characteristic to distinguish them.

All of this to-ing and fro-ing can involve dozens of different segments being listened as part of just one trial. Some are not really listened to but are mere adjustments to the starting and ending points of a segment until it is found that the segment sits well as to length and content.

Another method which works very nicely if the transition between A, B, X, and Y can be near instantaneous is to listen to long sections of the files observing whether A to X represents a change, or A to Y. I can find this very helpful if I've been listening for a long time and my brain has become fatigued.

So I tend to use the flexibility and freedom of the foobar ABX tool to the fullest.

If the approach I have just outlined is not considered acceptable ABX practice, then perhaps acceptable practice guidelines should be determined and published restricting the number of different segments a user can carefully listen to for a single trial.





Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-20 13:37:25
Current progress (no new component update yet, expect that soon)-

200ms fade is used for: mid-track beginning, mid-track end, track switch, seek.
Why 200ms? Short fades are perceived as audio dropouts / glitches and therefore tedious. In my opinion longer fade is less annoying despite of theoretically presenting a longer audio dropout.

Sine ramp used for all fades.

Tracks with different sample rates or channel counts = fadeout + forced output reinit + fadein on each track switch. Must reinit output forcibly or else it becomes a cheat factor as output reinit lag on sample rate change is easy to notice.

PROPOSED crossfade logic-
On track change, analyse the 10ms chunk that we're at; calculate RMS( chunkA - chunkB ) to determine crossfade plausibility and crossfade only if RMS of signal difference is low enough.
Comments please.
Title: ABX Comparator version 2.0
Post by: MLXXX on 2014-11-20 15:31:03
If possible I'd be inclined to keep the swapping quick and simple, e.g. 10mS fade out, 10mS silence, 10mS fade in. This would however require a tight timing alignment in the files under comparison.
Title: ABX Comparator version 2.0
Post by: xnor on 2014-11-20 16:27:29
I have my DS fade times all set to much shorter than 200ms. It doesn't produce glitches for me, but then again I'm not A-B testing with foobar core itself. But even on seek 50ms still seems to work fine.


The problem with the RMS calculation I see is this: consistency.
What if at one part of the track A<->B can be crossfaded, but at another part of the track A<->B difference is too big to crossfade? Does this give away too much information regarding the similarity of the files?

I guess you would do the same processing regardless if there is an actual underlying track switch (A->X and X=B) or not (X=A)?


edit: Wouldn't it make more sense to analyze files beforehand and decide whether crossfading is enable or disabled for the whole ABX session?
Also, I'm not sure about RMS of a 10ms chunk. Isn't the problem that the two waveforms don't overlap neatly?

edit2: How about subtracting the chunks from each other and calculating the RMS of that? Would have to test if this is too sensitive for lossy compression..
Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-20 16:41:21
edit2: How about subtracting the chunks from each other and calculating the RMS of that? Would have to test if this is too sensitive for lossy compression..

This is precisely what I'm suggesting....
If the RMS comes out low, it means that the crossfade ought to appear unnoticeable to the user.
Title: ABX Comparator version 2.0
Post by: bandpass on 2014-11-20 20:36:01
200ms fade is used for: mid-track beginning, mid-track end, track switch, seek.

No problem with 200ms; in fact, this should go a long way towards eliminating the temporal-masking issue I mentioned.

Quote
Sine ramp used for all fades.

If it looks like this, great!:
(http://www.labbookpages.co.uk/audio/files/fading.png)

Quote
PROPOSED crossfade logic-
On track change, analyse the 10ms chunk that we're at; calculate RMS( chunkA - chunkB ) to determine crossfade plausibility and crossfade only if RMS of signal difference is low enough.
Comments please.

This could get round the problem that xnor mentioned, but at the expense of introducing inconsistency in behaviour, which could be confusing. So I'm for not cross-fading at all: always fade out then in.

Though if folk have a legitimate use for the cross-fades, perhaps it could be restricted to practice mode? And even then (to allow consistency), it should perhaps be opt-in.
Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-27 10:02:25
Beta 5 posted.

Crossfading is currently disabled in favor of forced 200ms fades.
Title: ABX Comparator version 2.0
Post by: Peter on 2014-11-28 09:20:28
Beta 6 posted, fixed wrong fade curve used in beta 5.
Title: ABX Comparator version 2.0
Post by: bandpass on 2014-11-30 10:16:08
Testing with beta-6, the transitions between A/B/X/Y seem good, as do the transitions between silence and a truncated signal (i.e. with Set start or Set End).

However, when transitioning between an un-truncated signal and silence (i.e. simply playing the signal without having done Set start or Set end), it seems that there is no fade being applied at the ends, and as a result, I can still ABX silence vs. a 20kHz tone.
Title: ABX Comparator version 2.0
Post by: Case on 2014-11-30 12:18:37
I'd call it a bug if it altered file playback when playing the full file. Prepare such test files so that they include fades of their own so they work without glitching everywhere. Like this:
[attachment=8081:22000Hz_48kHz_1ch.flac]
[attachment=8082:silence_48kHz_1ch.flac]

Unfortunately people can cheat with this test by using Windows or external volume control during the high frequency tone playback. It produces glitching.

I'd like to see a version with shorter fades to see if that makes noticing small differences easier.
Title: ABX Comparator version 2.0
Post by: xnor on 2014-12-01 21:27:59
Feature request: keep segment selection when starting the test from training mode, so the user can continue with as little interruption as possible.

Title: ABX Comparator version 2.0
Post by: xnor on 2014-12-01 22:13:15
Bug report: why are there no SHA1 sums for the files when you start the test from within training mode?
Title: ABX Comparator version 2.0
Post by: Peter on 2014-12-02 07:29:20
Feature request: keep segment selection when starting the test from training mode, so the user can continue with as little interruption as possible.

Noted.

Bug report: why are there no SHA1 sums for the files when you start the test from within training mode?

Noted also, thanks for reporting.
Title: ABX Comparator version 2.0
Post by: MLXXX on 2014-12-02 09:08:41
Background:
For many years, foobar ABX reports using the earler version of the plug-in have been accepted on HydrogenAudio as a valid form of ABX test.

Feature request:
That an option be provided for the formal ABX test stage of the new plug-in to display progressive results (as the traditional plug-in did). [The current beta version provides no indication of the progressive result during the formal test.]

Reasons:
It is not unusual for an ABX test to require a fine discrimination at the outer limits of a test subject's ability to hear.  The investment of time and effort can be considerable. The traditional ABX plug-in gave the test subject the oportunity to be alerted to the negative outcome that their error rate was so high that it would be futile to proceed further. The test subject could abandon the test and report that the difference was beyond their ability to discriminate reliably.  Conversely, if a test subject had feedback that they were doing well, they could feel encouraged to persevere, despite the time and effort involved.  This tended to lead, overall, to an efficient use of the test subject's listening time.

Unless a difference were obvious to my ears, I personally would be reluctant to embark on a formal foobar ABX exercise [of a minimum of 8 trials, as seems to be imposed in the beta version], without progressive feedback.
Title: ABX Comparator version 2.0
Post by: Peter on 2014-12-05 11:51:30
Beta 7 up.

Crossfading is back, as an option.
Title: ABX Comparator version 2.0
Post by: Peter on 2014-12-09 14:24:09
Beta 8: fade duration set to 40ms instead of 200ms.

If there are no further issues, this will be the last beta before 2.0 is posted on the components site, replacing the old component.
Title: ABX Comparator version 2.0
Post by: 2Bdecided on 2014-12-09 15:14:53
I like the choice to crossfade or not. Perfect. Thank you.

I don't realistically expect this, but there are alternative stats that apply if you do watch your progress (pass/fail) as you go along and choose to stop when it's good enough. One day, it would be cool to have this mode, with logs too.


Is this of any interest?
http://www.hydrogenaud.io/forums/index.php...st&p=884060 (http://www.hydrogenaud.io/forums/index.php?s=&showtopic=107540&view=findpost&p=884060)

You've already fixed some of those issues, and some of the other things aren't really improvements IMO, but one comment is true: the time resolution of the slider is low if you choose to ABX very long tracks.

Cheers,
David.
Title: ABX Comparator version 2.0
Post by: xnor on 2014-12-09 15:19:23
Nice.
Only small "cosmetic" things I've noticed:
a) When nothing is playing seek to a random position, press stop. Internally the position seems to be reset to the start, but the slider doesn't get visually reset.

b) When nothing is playing seek to a random position, press "Set end" and then "Play A". The seekbar will jump to the start and not start playing. Ok, that is acceptable.
But this also happens if the slider/seekbar is past the marked end and you press play.
If the slider is before the marked start it will happily start playing there, outside the marked segment.

I've always wondered if this is intentional.

c) The seekbar seems to be divided into 5 equal-length page sizes (that's what Microsoft calls it anyway). Whenever one clicks next to the slider (or press pgup/down), the slider will jump to that "nearest page" which can actually be pretty far away.
How about seeking to the precise mouse cursor location?

d) Play within a segment, press pause, click the slider. You can now move the slider to the left with the left/up key, but not right with the right/down key. Page Down works fine however.

Title: ABX Comparator version 2.0
Post by: greynol on 2014-12-10 19:57:17
Please add me to the list of people who would like a checkbox to loop playback (infinitely).
Title: ABX Comparator version 2.0
Post by: Peter on 2014-12-22 11:50:08
Beta 9 posted.

Finishing touch before 2.0 stable: you can now manually edit the current timecode.

I know that the slider sucks, but that is standard Windows control to you. I will be sure to refresh it when I have a custom slider substitute class handy but don't have time to fix this right now.

Playback looping, noted, there will be other updates after 2.0 too.
Title: ABX Comparator version 2.0
Post by: IgorC on 2015-01-06 20:36:01
Sorry, but this comparator isn't any use for me now.

8 trials (p=0,39%) is too high minimal number.

For the most of cases (90%+) I use 5 trials (p=3%) and in very rare, specific cases go to 8.



Edit: Sure, it's nice to have a high number of trials but whoever has suggested 8 trials hasn't in account  that a fatigue grows with a number of trials ... and not linearly.
Title: ABX Comparator version 2.0
Post by: poldar on 2015-01-07 02:02:20
Hello Peter,

First I apologize for my poor english.

Thanks for this useful component.
He is very efficient to compare versions with tempos not very different
For example I use it to compare the same track with different qualities (compression or sampling rate). It’s very interesting.

But, when two versions have very different tempos the comparison is not significant.
I suggest when we select the option “keep playback position when changing track” you add another option to keep the same "relative" position when you change track.

For example: if a want compare to versions of Mozart piano concerto 21 – 2 andante
A – Performer : Barenbouim  duration 8:37
B – Performer : Zacharias duration 5:13
When playing the track A, at time 4:18 (half time) , I switch to track B, the playback will continue at time 2:36 (half time). The comparison is more significant. (if the tempos are relatively constant)

With this option we can compare the last seconds of two versions even if the tempos (the duration) are very different.
Regards
Title: ABX Comparator version 2.0
Post by: Peter on 2015-01-09 10:27:35
Version 2.0 final posted on the components site.

As for pending feature requests, please keep them coming, at some point there will be a 2.1 adding more features.
Title: ABX Comparator version 2.0
Post by: mzil on 2015-01-09 22:00:19
I've been away from this thread for awhile, but I just now loaded 2.0 and inserted two completely dissimilar songs of different lengths, merely to familiarize myself with what's new. Listened briefly, didn't do a trial run first, played around with the phrase repeat function, didn't like that my keyboard up and down buttons seemed to inconsistently move the song position when selecting the "stop" point {allowed down in .1 second increments, only, but not back up, I believe}, checked to see if you can select a stop point before you select a start point, voted on the first trial, then just filled up the remaining 7 trials by voting B,B,B,B,B,B, and B as rapidly as possible without even listening to ANYTHING [wondering if that's what triggered this oddity]. I guess there's the possibility of just dumb luck, but check this out:
Code: [Select]
foo_abx 2.0 report
foobar2000 v1.3.3
2015-01-09 13:37:46

File A: 03 -Valentine.mp3
SHA1: 77be0c40823faec83c2a4354ca44df1a0f89f394
File B: 01 - Susie Q.mp3
SHA1: 48019278233fb9efa8e39a7c4d7b030525561216

Output:
DS : Primary Sound Driver
Crossfading: YES

13:37:46 : Test started.
13:38:21 : 01/01
13:42:54 : 02/02
13:42:56 : 03/03
13:42:57 : 04/04
13:42:58 : 05/05
13:43:00 : 06/06
13:43:02 : 07/07
13:43:21 : 08/08
13:43:21 : Test finished.

 ----------
Total: 8/8
Probability that you were guessing: 0.4%

 -- signature --
54efa110200c9339dfafd3eab5bfa6d54894ebef


http://www.foobar2000.org/abx/signaturecheck (http://www.foobar2000.org/abx/signaturecheck)

Will try again.

edit to add: Tried again 3 times and got expected random results. I have no idea what happened. .4% means the odds this happened by fluke is 4 in 1000, or 1 in 250, right? Admittedly, I did listen for trial 1 , so in truth only trials 2 through 8 were random stabs, but still seems odd. Was this just a freaky coincidence?

 

Title: ABX Comparator version 2.0
Post by: xnor on 2015-01-09 23:58:06
Yeah, given 2s per trial, 8 trials per test, you should see such a result roughly each hour of nonstop random button clicking.
Title: ABX Comparator version 2.0
Post by: TomPer on 2015-01-15 01:53:14
I started using the ABX module V2.0 for Foobar V1.3.7.  I noticed a difference in switching time when going from one of the inputs to X when the input was the version as X in that trial.  Because of that difference in switching time I was able to pick out the correct choice 16 out of 16 times based on time alone.  The two selections were identical except for sample rate.  The original was 88K and the downsampled version was 44.1K.  the switching time between the original that was actually X and X was shorter than the switching time between the non-X original and X.  Has anyone else noticed this?
Title: ABX Comparator version 2.0
Post by: mzil on 2015-01-15 02:17:41
If I'm getting you correctly, are you sure the problem is not actually that your two samples aren't properly time aligned? I just demonstrated that I can hear a 10ms or so difference in the audio files in the AVSforum's AIX records test due to such a time alignment problem.  This completely escaped the creators of the test when they did the down conversion  and I wouldn't be surprised if it escaped Bob Stuart's attention in his recent AES paper declaring CD "not transparent".
(https://farm6.staticflickr.com/5558/14677923037_b8102ba97b.jpg)
Title: ABX Comparator version 2.0
Post by: Case on 2015-01-15 06:28:59
If mzil's hunch isn't correct your finding is troubling, TomPer. When sample rates don't match the component reinitializes sound device between all playback switches already. If it's not an error in the file it means your device opens some rates faster than the others.
Title: ABX Comparator version 2.0
Post by: Makaki on 2015-01-15 16:33:04
I've always thought the best practice was to test the effect of low-pass filtering, without actually re-sampling. Because, except for the aliasing of frequencies above Nyquist frequency (thus requiring low-pass filtering) , re-sampling is assumed to be transparent.

A 2nd test, would be low-passing both A and B, but re-sampling only one of them. Preferably 2 times (down and then restored). This will simply test that the re-sampling process is in fact transparent as long as nothing needs to be cutoff because of the Nyquist frequency.

The 3rd option, is the playback of files at different samples rates. I've always believed that some devices might "behave" differently at specific sample rates. So while it's still an interesting test to note if there is such difference. I think the previous two tests should be considered before. That way you'll notice if what you are sensing as different is coming from:
a) The low-pass filter, which is a process you still need to do.
b) The re-sampling, which is another process you will be doing.
c) Finally, if the two tests above are transparent, then there's something about how your setup tackles playback at different frequencies.
Title: ABX Comparator version 2.0
Post by: TomPer on 2015-01-15 18:24:40
I just re-ran the test to provide more info.  The same two files were used and the start point was at a place that had significant output to make the transition point easier to identify.  In all the trials, the time when going from the A or B selection that was actually X was about half the time of that when going to X from the non-X selection.  This was not a case of a difference in the point of the music selection, but rather the start of any sound coming out of the application after the X button was pressed.  In this test I listened directly from the headphone output of my PC to minimize the number of devices in the chain.  In the previous tests I went from the USB output to a USB to SPDIF converter and then to my audio system.  In both cases the delay appeared to be the same.
Title: ABX Comparator version 2.0
Post by: mzil on 2015-01-15 19:49:34
TomPer, would you be so kind as to share two 30 seconds or less files, prepared in the exact same fashion as the ones you are noticing this problem, so as to let others test it out on their systems. It may be gear dependent. Thanks. [We have an upload section on the forum for this very purpose.]

http://www.hydrogenaud.io/forums/index.php?showforum=35 (http://www.hydrogenaud.io/forums/index.php?showforum=35)




Title: ABX Comparator version 2.0
Post by: TomPer on 2015-01-16 13:21:25
I will do that later today.  I forgot to mention that when I re-did the test I got 16 out of 16 correct just on the delay alone.  This test was confirmed by a friend who is very involved in audio and builds high quality amplifiers so he does a lot of critical listening.
Title: ABX Comparator version 2.0
Post by: 2Bdecided on 2015-01-16 14:46:58
My sound card performs a fade-in when ever you play a different sample rate from previously.

If the two files have different sample rates, then it's easy to tell them apart. Simply click X, stop, A. If A fades-in A=Y, if A starts cleanly A=X. There's nothing foobar2k can do about this.

Quote
foo_abx 2.0 report
foobar2000 v1.3.6
2015-01-16 14:49:59

File A: 44.1.wav
SHA1: 2bdb598523e3685fe4a680ea70ae3f7d3bc6d31e
File B: 96.wav
SHA1: bf4ac807fc55e76f7557c30a29abe5b990159d64

Output:
DS : M-Audio Delta AP Multi, 16-bit
Crossfading: NO

14:49:59 : Test started.
14:50:39 : 01/01
14:50:47 : 02/02
14:50:51 : 03/03
14:50:56 : 04/04
14:50:59 : 05/05
14:51:04 : 06/06
14:51:08 : 07/07
14:51:15 : 08/08
14:51:15 : Test finished.

----------
Total: 8/8
Probability that you were guessing: 0.4%

-- signature --
46511a38eb9f47a201f2fa3e2cd46d616e5c46b8


EDIT: the two files I tested both consist of a 1 second long stereo 16-bit -6dB 1kHz tone. The only difference is the sample rate. I haven't tried different output modes or OSs.

Cheers,
David.
Title: ABX Comparator version 2.0
Post by: foosion on 2015-01-16 16:12:07
The ABX comparator could play digital silence at a third sample rate before resuming playback. Then your sound card would always perform a fade-in.
Title: ABX Comparator version 2.0
Post by: TomPer on 2015-01-16 16:39:54
abdecided and foosion are both correct.  The requested files have been uploaded.  I used two PCs to repeat the test.  One is an older IBM (Lenovo) Thinkpad X60 s with a SoundMAX integrated HD audio sound card.  The second is an HP Envy with i7 4710  quad processor, at 2.5GHz and 16 gB RAM and a Realtek High Definition audio card.  Both are running Windows 7 Pro with all the latest patches.  The best way I have found to identify this is to repeatedly go back and forth between A and B until you are familiar with the delay which is the longer delay.  The repeatedly select A to become familiar with the short delay that occurs with no sample change.  At that point you only need to toggle between A and X.  If the delay is short, X is A.  If it is long, X is B.  With both PCs I was able to score 16 out of 16 correct only going between A and X.
Title: ABX Comparator version 2.0
Post by: TomPer on 2015-01-17 16:13:18
After further testing I have come to the conclusion that in its current form the ABX test module in not usable for my current testing.  I re-tested listening to A only, then put a long manual pause in before selecting X.  However, after I had learned the timing differnece when a sample rate change occurred I was able to correctly identify X 14 out of 14 tests based solely on the delay differences even with a long variable time delay.

I have been doing double blind tests for around 20 years and realize how critical it is to eliminate all clues that could identify the outcome based on anything other than sonic differences.  The QSC ABX test device I use had such a problem.  The switching relays were physically located on different areas of the PCB.  If you were close enough to the display to see the A and B designations during the test you could learn the differences in the sound of the relay swithcing.  If the test passages were low in volume it allowed a person familiar with the relay switching sounds to identify X 100% of the time based solely on switching sounds.  To correct this I built a sound absorbing enclosure and a large display that would allow the switch box to be located a far distance from the person conductiong the tests

Hopefully this condition will be resolved because the comparator is of no use to me at this point for running tests with different sample rates.

Title: ABX Comparator version 2.0
Post by: Case on 2015-01-17 17:12:25
Perhaps you are hearing the timing difference in the files you are testing. They seem to have a few sample offset difference and that can be enough to differentiate them. If you resample with lvqcl's SoX based resampler there shouldn't be offsets. Or you could manually fix the files.
Title: ABX Comparator version 2.0
Post by: TomPer on 2015-01-17 22:04:34
The difference does not appear to be in the music itself, but rather in the time that any sound at all appears.  It is quite different when the sample rate changes.  2Bdecided noticed it with a constant sine wave when the sample rates were different.
Title: ABX Comparator version 2.0
Post by: 2Bdecided on 2015-01-18 00:01:50
The ABX comparator could play digital silence at a third sample rate before resuming playback. Then your sound card would always perform a fade-in.

If it does the same fade in regardless of sample rate, this would work. No guarantee that this is always the case.

Cheers,
David.
Title: ABX Comparator version 2.0
Post by: Case on 2015-01-19 08:18:43
I finally tested different sample rates and indeed the varying delay invalidates the test. Seems to happen at least with WASAPI and DirectSound outputs and with both Microsoft and third party drivers on various sound cards/DACs. The delay seems to be the longer the higher the sample rate is. I think a workaround for this would be to initialize the device to both samplerates one after another on track change. I assume that would keep the delay constant. Not sure what it would do to 2Bdecided's fading.
Title: ABX Comparator version 2.0
Post by: TomPer on 2015-01-19 15:28:46
The delay to me seemed to be longer when changing rates regardless of which way the rate change went.  I did not notice a longer delay when going from 44 to 88 than when going from 88 to 44.  The delay was shortest when no rate change occurred and longer when any rate change was necessary by the processing hardware.  If the intermediate step could be programmed in it would be a great help to me.  I am in the middle of writing  a magazine article on the audability of different sample rates and I must have a reliable double blind testing methodology to do it.
Title: ABX Comparator version 2.0
Post by: TomPer on 2015-01-26 16:18:49
I recently completed a test where I took the 88K file I was using, resampled it to 44K and then resampled that file back to 88K.  I then ran an ABX test and noticed no difference in the switching ( actually I should say playback start) times.  My result was 6 out of 16.  I clearly could not hear a difference.  It would be a great help iin my work if the comparator could be modified to have the previously suggested third non-related sample rate blank segment inserted each time a switch is performed.  Is that a possibility?
Title: ABX Comparator version 2.0
Post by: Midiman on 2015-01-26 21:34:29
I recently completed a test where I took the 88K file I was using, resampled it to 44K and then resampled that file back to 88K.  I then ran an ABX test and noticed no difference in the switching ( actually I should say playback start) times.  My result was 6 out of 16.  I clearly could not hear a difference.  It would be a great help iin my work if the comparator could be modified to have the previously suggested third non-related sample rate blank segment inserted each time a switch is performed.  Is that a possibility?

Why don't you just use your favourite audio editor and insert 2 seconds of silence at the beginning of the primary file. Then convert the primary file to anything you want. I would think that this two second silence would more than compensate for any "switching" delays.
Title: ABX Comparator version 2.0
Post by: TomPer on 2015-01-26 23:31:33
Actually, that would not work.  Even with long delays of different times I was able to identify whether the file switched was a new sample rate or the existing sample rate 100% of the time.  The problem is that you learn the different start delays that occur when the rate between a known and X is the same and different.  The clue is the time it takes from when you push the button to make the selection until the music starts.  Once you become familiar with those different delays from initiation to music you can pick the correct answer every time.
Title: ABX Comparator version 2.0
Post by: TomPer on 2015-02-06 19:06:44
Is the idea that foosion had to switch to a third sample rate in an interim step a possibility or is that change a dead issue?
Title: ABX Comparator version 2.0
Post by: Case on 2015-02-08 09:58:49
Patience. Peter is very busy with multiple projects but he has promised improvements for this component.
Title: ABX Comparator version 2.0
Post by: TomPer on 2015-02-09 16:16:44
Patience. Peter is very busy with multiple projects but he has promised improvements for this component.


Thanks.  I appreciate any help.
Title: ABX Comparator version 2.0
Post by: Meeter on 2015-03-14 23:47:38
Background:
For many years, foobar ABX reports using the earler version of the plug-in have been accepted on HydrogenAudio as a valid form of ABX test.

Feature request:
That an option be provided for the formal ABX test stage of the new plug-in to display progressive results (as the traditional plug-in did). [The current beta version provides no indication of the progressive result during the formal test.]

Reasons:
It is not unusual for an ABX test to require a fine discrimination at the outer limits of a test subject's ability to hear.  The investment of time and effort can be considerable. The traditional ABX plug-in gave the test subject the oportunity to be alerted to the negative outcome that their error rate was so high that it would be futile to proceed further. The test subject could abandon the test and report that the difference was beyond their ability to discriminate reliably.  Conversely, if a test subject had feedback that they were doing well, they could feel encouraged to persevere, despite the time and effort involved.  This tended to lead, overall, to an efficient use of the test subject's listening time.

Unless a difference were obvious to my ears, I personally would be reluctant to embark on a formal foobar ABX exercise [of a minimum of 8 trials, as seems to be imposed in the beta version], without progressive feedback.

I don't believe that limiting testing to 8 samples should become a habit.

If you are constantly making errors with your guesses (with the latest version of ABX the user can not know this), or are not entirely sure of the choices you are making, you should listen to a different section of audio or take a break with your ears. I do much better with ABX testing if I don't listen to the same portion over and over again because my ears become used to the sound, unless there is an obvious error to me and I am able to choose quickly. If I'm taking too long, I may even take a break and walk around, get some water from the kitchen, after I am halfway through the testing. Which is something good to do anyway because it is not good to be sitting motionless, staring at your computer screen for too long.
Maybe this sort of idea can be made as a disclaimer before the ABX test window opens up (which the user can choose to hide).


Suggestions:
-On the ABX log, show the "last position tested" for each test. Right now, only the "time completed" is shown. People often mention separately which portions of the track they tested. I think it would be better to include this in the log file.
-Defragment using consolidation on the ABX temp files. This will hopefully eliminate any stuttering for people using a HDD when switching between tracks.
Title: ABX Comparator version 2.0
Post by: Isabelxxx on 2015-03-23 16:42:47
Have noted a thing I suppose is not working as intended according to your changelog and a suggestion for the plugin.

-Keyboard shortcuts not working when using ABX with more than 2 files:


With 2 files you can fully move between the buttons in the panel; pause/continue playback and switch files. All only with keyboard.
With 3 files you can`t. I suppose it was intended to work the same as 2 files. Use up/down arrows to select files (working), pressing enter to pause/continue playback with that file (not working). So no way to control playback and files with only keyboard.

(http://s11.postimg.org/eakpdgh37/Untitled_2.jpg)



-Temp Loading files in Ram

That should be a must for ABX since gapless playback sometimes is compromised with big files since every time you swap files it has to load the wav file from the temp location.
Foobar is already capable of loading entire files via the buffer option but if it only loads one song at a time so there is no difference using ABX plugin.
Note also that currently the plugin works by creating a copy in the temp folder so no way to load files with your ram disk plugin even if you try.

You could implement your Ram Disk plugin within this plugin to make it fully work by creating a temporary ram disk where the audio temp files would be stored instead of the System Temp folder. So in fact you have already done all the coding, it's only an internal setting matter.

Loading in Ram would be a great addition. Instant swapping files. And nowadays most users have +4GB Ram, a not so rare situation.
Maybe not as default to maintain compatibility with old-pc users but selectable at the same stage you allow to use the DSPs and test mode.

(http://s11.postimg.org/7y5k3me0z/Untitled_1.jpg)
Title: ABX Comparator version 2.0
Post by: ChristianK on 2015-05-05 19:54:54
The new version doesn't seem to be working in Wine (at the playback interface the songs cannot be played).
I restored v1.3.4 and that one works fine (I believe some later version also worked but I'm not sure and am too lazy to go through all of my snapshots to find the best one).
With v1.3.4 I can see that the temporary files are just regular .wav files, yet with 2.0.1 it creates .tmp binary blobs (actually, the files are similar in size and contents but the header and trailer seem to be messed up, or just missing for that matter).
I've uploaded the files here (http://www.hydrogenaud.io/forums/index.php?showtopic=109136).

Foobar: 1.3.8 (portable on NTFS).
Wine: 1.7.41 (wine-staging).
Title: ABX Comparator version 2.0
Post by: ChristianK on 2015-05-10 13:08:15
I found out Foobar on Wine also has problems with ReplayGain on OGG and OPUS (it zeroizes these files when tags with replaygain values are updated) so reported a bug to wine.
It looks like it will be fixed in 1.7.43.
A work-around is to remove the extended attributes on the temp folder (setfattr --remove=user.wine.sd ~/.wine/drive_c/users/$USER/Temp).
After this replaygain with OGG and OPUS and ABX Comparator work fine again.
Title: ABX Comparator version 2.0
Post by: xnor on 2015-05-10 15:18:54
Can we add the information of which option was selected for each trial (X=A or X=B)?
Title: ABX Comparator version 2.0
Post by: Jokanok on 2015-06-16 13:51:53
Hi
I can run the ABX test perfectly but I hear my DAC click when the track is not identical. Therefore my results are always 100% correct. Is there s  omehow a way round? The clicks are because whenever a track is changed my DAC disconnects and connects again when the new track is started. Can this be solved?
Title: ABX Comparator version 2.0
Post by: kaum on 2015-06-18 20:20:18
Today I renewed my speakers from traditional PC speaker to a nearfield monitor with optical input. After a while I set the output to  a WASAPI option. I mention the latter because I don't if it is important:
Now I try to compare music (with the abx comparator (version 2.0.1)) but when I press PLay A I get a crash saying "Device in use". I didn't get that with my old setting. Does someone has an idea about the cause of this type of crash?
Title: ABX Comparator version 2.0
Post by: Steve Forte Rio on 2015-12-24 10:04:14
Why could be crossfading option grayed out?? It was available just a moment ago, seems like nothing was changed. But now it is unavailable 0_o
Title: ABX Comparator version 2.0
Post by: Rollin on 2015-12-24 14:03:51
Why could be crossfading option grayed out?? It was available just a moment ago, seems like nothing was changed. But now it is unavailable 0_o

Crossfading is disabled when files have different samplerates.
Title: Re: ABX Comparator version 2.0
Post by: The Link on 2016-01-23 10:56:05
The plugin got updated.
Quote
Fixed inconsistent transition when compared tracks have different sample rates or channel counts.
Whoever had issues can try again and post their findings.
Title: Re: ABX Comparator version 2.0
Post by: Isabelxxx on 2016-01-28 11:30:34
Have noted a thing I suppose is not working as intended according to your changelog and a suggestion for the plugin.

-Keyboard shortcuts not working when using ABX with more than 2 files:


With 2 files you can fully move between the buttons in the panel; pause/continue playback and switch files. All only with keyboard.
With 3 files you can`t. I suppose it was intended to work the same as 2 files. Use up/down arrows to select files (working), pressing enter to pause/continue playback with that file (not working). So no way to control playback and files with only keyboard.

(http://s11.postimg.org/eakpdgh37/Untitled_2.jpg)

Not fixed yet.
Title: Re: ABX Comparator version 2.0
Post by: DervishD on 2016-03-04 16:04:49
Starting with version 2.0.2 of the plugin, it no longer appears in Utilities context menu.

I'm using foobar2000 1.3.9 in Windows 10 x64 if that's important.

It appears in File->Preferences->Components but it doesn't appear in the context menu so I can't use it. And yes, I've checked and it is marked in the context menu configuration, it should appear.

Am I doing anything wrong? I just downloaded the update and applied it using the "Install..." button in the previously mentioned preferences page.

Thanks in advance!!!

EDIT: Sorry for the noise, the fault was stupid coloring on the computer I was using which made me think two songs were selected where that wasn't the case. After I made sure I was selecting two songs, ABX appeared. INCREDIBLY sorry for the noise, folks.
Title: Re: ABX Comparator version 2.0
Post by: Isabelxxx on 2016-03-14 14:22:35
Have noted a thing I suppose is not working as intended according to your changelog and a suggestion for the plugin.

-Keyboard shortcuts not working when using ABX with more than 2 files:


With 2 files you can fully move between the buttons in the panel; pause/continue playback and switch files. All only with keyboard.
With 3 files you can`t. I suppose it was intended to work the same as 2 files. Use up/down arrows to select files (working), pressing enter to pause/continue playback with that file (not working). So no way to control playback and files with only keyboard.

(http://s11.postimg.org/eakpdgh37/Untitled_2.jpg)

Not fixed yet.

Bumping again...
Title: Re: ABX Comparator version 2.0
Post by: GCRaistlin on 2016-06-29 17:33:45
Can somebody please explain how to use it?
I select 2 tracks, then do a right click - Utilities - ABX tracks... Get this window:
(http://i62.fastpic.ru/thumb/2016/0629/60/26aebeb152d5866755a8e47a5fa20660.jpeg) (http://fastpic.ru/view/62/2016/0629/26aebeb152d5866755a8e47a5fa20660.png.html)
then this window:
(http://i62.fastpic.ru/thumb/2016/0629/77/1628c618d65ced88cd29c160d738bb77.jpeg) (http://fastpic.ru/view/62/2016/0629/1628c618d65ced88cd29c160d738bb77.png.html)
When I press "Play A" (or whatever else) it plays the selected interval one time and then stops. I have no idea how to get to the window that is posted above.
Title: Re: ABX Comparator version 2.0
Post by: Shinsekai on 2016-07-11 09:21:50
I've found a very strange issue...

In order to reproduce this, follow the next steps:

1.- Install Loudspeaker Equalizer (https://hydrogenaud.io/index.php/topic,73141.msg644595.html#msg644595) (this issue can't be reproduced with any other component AFAIK. Been using this component for years to compensate for weak bass because my laptop headphone output suffers from high output impedance and never had any issues).

2.- Open DSP manager and remove every active DSP, then add Loudspeaker Equalizer (Disable Auto Gain).

3.- Download "Savatage-1.flac" and "Savatage-2.m4a" samples from my attached files then add both files to a playlist, select them and > Utilities > ABX tracks...

4.- Enable "Use DSP (current playback settings)" Don't press Ok.

5.- Play "Savatage-1.flac" and immediately press Ok.

As soon as foo_abx starts preparing the files (decoding to TEMP folder) the signal will get distorted (you can hear it by playing Savatage-distorted.flac, this has been recorded using Audacity) and if you play A or B in the ABX comparator both files are also distorted. Note: distortion is only added if foobar is playing a track.

CCR-Distorted.flac is a more extreme example of this. ¡Before playing this file make sure to lower the volume to prevent possible ear damage!

If any of you can reproduce this, please let me know. Thanks.

Note: foo_abx 2.0.2 | foobar2000 1.3.10 | Win 7 x64 | DirectSound or WASAPI: same issue.
Title: Re: ABX Comparator version 2.0
Post by: Leonccyiu on 2017-02-07 03:37:00
Hello

This is actually my first ever post on Hydrogen Audio

I wanted to ask about an aspect of the ABX Comparator and request a change.

The first thing I want to ask about is how the amount of space required in the Temp folder for the ABX test is calculated?
As an example, I am trying to compare to files, one is 89mb and the other is 26mb, but the space required is 291mb.
I tried multiplying both files by 2 and adding them together, but that doesn't add up to 291.
I ask because as an ssd user, and if I were to try and ABX large files for example those without lossless compression and of high sample rates, it would result in a lot of writes to my ssd degrading it.

Can anything be done to reduce the size of the temporary file created? Since an SSD has low latency, would it be possible to play the files back directly, or for someone like me with 16gb ram, have the temp file placed in the ram? I imagine placing the temporary file on an hdd may result in some latency resulting in an unfair comparison, but is it possible to select a directory where the temporary file can be placed so I can avoid using the ssd?

Another point I want to bring up is the behaviour of the plugin with the WASAPI output. I use the WASAPI output for tracks of different sample rates to avoid resampling. Once the comparator starts it takes hold of my DAC and even when I press, the light doesn't switch off allowing me to let another program take hold of the DAC, or for me to try another track on Foobar to take a break from monotonously listening to the same track over and over again. I don't see why this would constitute cheating as the test is supposed to see if you can tell the tracks apart blindly, and even if you played the tracks you were testing, you still wouldn't know which is which in the comparator. Is it possible to modify it so that when you press stop or pause it lets go of the DAC?

Thanks
Title: Re: ABX Comparator version 2.0
Post by: kode54 on 2017-02-07 05:27:57
You may be surprised to find that it takes hundreds of terabytes of writing to really degrade most solid state storage solutions.

The estimate is based on the format used for the files: Raw, 32 bit floating point PCM, the native format of the foobar2000 audio player processing pipeline, as of version 0.9.
Title: Re: ABX Comparator version 2.0
Post by: GCRaistlin on 2017-02-07 08:46:37
Guys please explain me tow to use this stuff. There's no readme or something - is it so clear how to use it for everyone except me?
Title: Re: ABX Comparator version 2.0
Post by: nihilion on 2017-04-07 22:36:47
I appear to be experiencing some kind of a bug. When I try to do ABX testing in Foobar the tracks are playing slowly and distorted. When I just play a track normally it sounds fine. It only happens when I try to use ABX Comparator. Any ideas what's causing this? I tried reinstalling the plug-in and upgraded Foobar2k to the latest version. Windows 10.
Title: Re: ABX Comparator version 2.0
Post by: Case on 2017-04-08 08:47:32
Guys please explain me tow to use this stuff. There's no readme or something - is it so clear how to use it for everyone except me?
You start it by selecting two tracks from a playlist, right click one of them and select 'Utilities' -> 'ABX tracks...'. You can adjust some options in the opening window. Click OK to go to the actual test.

'Play A' button always plays the first file in your selection and 'Play B' plays the second file. X and Y are randomized, one of them is A and the other one will be B. You are supposed to listen to the tracks and decide which one is which.

You can also use keyboard to operate the test. For example keys A, B, X and Y play the corresponding audio. Press Alt-key and you will get keyboard indicators for all the buttons.

At the bottom you have a position bar that allows you to select any period you want to focus on. You can drag the position indicator around or type the exact time you want by clicking the '...' button. Note that you need to hit the 'Set start' or 'Set end' to actually adjust the range that will be played.

I appear to be experiencing some kind of a bug. When I try to do ABX testing in Foobar the tracks are playing slowly and distorted. When I just play a track normally it sounds fine. It only happens when I try to use ABX Comparator. Any ideas what's causing this? I tried reinstalling the plug-in and upgraded Foobar2k to the latest version. Windows 10.
More info needed. What output method is selected in the player preferences, what kind of files you are playing (sample rate, number of channels, bitdepth, perhaps even the file format if it's something exotic not supported natively).
Title: Re: ABX Comparator version 2.0
Post by: shakeshuck on 2017-04-13 18:32:02
I'm new to foobar and wanted to try the ABX comparator, but I am having a problem getting replay gain to work as expected.

I assume that when ReplayGain is turned off in the comparator there is no gain adjustment, regardless of any RG tags in the metadata. Doing this there is a large volume difference between the files I wish to compare.
Turning RG on without tags set reduces the variation, but there is still enough to easily know the difference between the files.

In this case, I am trying to compare a PCM file with dsf; so no tags can be set on the dsf file. I have tried editing the tags on the PCM file, but regardless of what I set them to, there is still always a discrepancy in the volume levels. Only an assumption again, but I presume RG is altering the non-tagged file to what it thinks is correct, but isn't.

Is there a way to get the files balanced correctly, manually or otherwise? It could be me, but I don't seem to be able to manage it.
Title: Re: ABX Comparator version 2.0
Post by: shakeshuck on 2017-04-17 17:11:18
I'm new to foobar and wanted to try the ABX comparator, but I am having a problem getting replay gain to work as expected.

I assume that when ReplayGain is turned off in the comparator there is no gain adjustment, regardless of any RG tags in the metadata. Doing this there is a large volume difference between the files I wish to compare.
Turning RG on without tags set reduces the variation, but there is still enough to easily know the difference between the files.

In this case, I am trying to compare a PCM file with dsf; so no tags can be set on the dsf file. I have tried editing the tags on the PCM file, but regardless of what I set them to, there is still always a discrepancy in the volume levels. Only an assumption again, but I presume RG is altering the non-tagged file to what it thinks is correct, but isn't.

Is there a way to get the files balanced correctly, manually or otherwise? It could be me, but I don't seem to be able to manage it.

UPDATE:
I have got RG to work in 'normal' Foobar by RG'ing the PCM file, then altering the preamp settings for RG'd files. RG does not want to write to the dsf tag.
Unfortunately, ABX Comparator appears to ignore any RG tags/preamp settings, so any unbalanced files that don't equate well with auto RG are impossible to ABX fairly.
Title: Re: ABX Comparator version 2.0
Post by: Case on 2017-04-17 20:15:41
The component works as you pretty much found out. When you don't use ReplayGain during the test the files are played as if ReplayGain didn't exist. When ReplayGain is used, the files are scanned and the result is used with the temporary PCM data that is written. Tags are never used and since the files are always converted to PCM for testing, source format tagging capabilities are irrelevant.

If ReplayGain can't volume-match your files you could always create a temporary version of one of the files where volume is permanently adjusted. Then use that in the testing. Though my assumption is that if ReplayGain can't find matching volume, the files will be quite easy to distinguish from each other in the test even after the manual tweak.
Title: Re: ABX Comparator version 2.0
Post by: shakeshuck on 2017-04-17 23:27:28
The component works as you pretty much found out. When you don't use ReplayGain during the test the files are played as if ReplayGain didn't exist. When ReplayGain is used, the files are scanned and the result is used with the temporary PCM data that is written. Tags are never used and since the files are always converted to PCM for testing, source format tagging capabilities are irrelevant.

If ReplayGain can't volume-match your files you could always create a temporary version of one of the files where volume is permanently adjusted. Then use that in the testing. Though my assumption is that if ReplayGain can't find matching volume, the files will be quite easy to distinguish from each other in the test even after the manual tweak.

Thanks for the clarification.
I'm now wondering if RG does any frequency filtering, or if it's the noisy ultrasonics in the dsf file that confuses RG. But I guess that's a question for a different thread... :)
Title: Re: ABX Comparator version 2.0
Post by: Case on 2017-04-18 08:43:59
Actually ReplayGain seems to be tricked by the heavy ultrasonic noise present in DSD files. I recall having tested this with regular hi-rez PCM file and got the same scan result (or very close) for the original and a 44.1 kHz resampled version.
But now I tested a DSD file converted to 352800 Hz PCM vs same file resampled to 44.1 kHz. They showed about 2 dB difference in RG results.

Edit: just tested the original ReplayGain scanner. It showed only 0.09 dB difference for these two tracks.
Title: Re: ABX Comparator version 2.0
Post by: gorman on 2017-04-20 11:54:44
Thanks for the plugin. I respectfully ask for a way to save temp files to RAM. I wanted to ABX 44.1 and 88.2 files but the lag in loading the bigger file was always noticeable when switching track. I have the temp folder on SSD but apparently it's not fast enough (SATA 3).
Title: Re: ABX Comparator version 2.0
Post by: Case on 2017-04-20 14:10:47
The lag comes from the sample rate change. Until ABX component is changed to account for that you should resample the 44.1 kHz file to match the other one's sample rate.
Title: Re: ABX Comparator version 2.0
Post by: greynol on 2017-04-24 19:55:13
Actually ReplayGain seems to be tricked by the heavy ultrasonic noise present in DSD files.
I doubt this would have happened had the algorithm not been changed.
Title: Re: ABX Comparator version 2.0
Post by: Case on 2017-04-25 05:54:06
Note the edit, I tested original RG scanner and it did better but had a small level difference too. Also I have read the ITU 1770 paper again and their loudness estimation coefficients were meant for 48 kHz sampling rate. It's a bug to use them on inaudible frequencies.

There is a request in the internal bug tracker to fix the issue, posted two years ago, but so far Peter hasn't implemented it.
Title: Re: ABX Comparator version 2.0
Post by: Case on 2017-05-03 16:16:45
Thanks for the plugin. I respectfully ask for a way to save temp files to RAM. I wanted to ABX 44.1 and 88.2 files but the lag in loading the bigger file was always noticeable when switching track. I have the temp folder on SSD but apparently it's not fast enough (SATA 3).
The lag comes from the sample rate change. Until ABX component is changed to account for that you should resample the 44.1 kHz file to match the other one's sample rate.
My earlier reply was incorrect. I had forgotten that the delay from sample rate difference was fixed in ABX component v2.0.2.

But the delay still isn't caused by your SSD. If you have the RAM Windows' caching mechanism will keep the files in memory and drive isn't read while playing. If the files were so huge that they couldn't be cached, then foobar's RAM disk usage wouldn't have been possible either.

I suspect one of your files has silence in the beginning and that is what makes fair ABXing impossible. Fix the files with audio editor or redo the resampling with foobar's built-in resamplers or SoX. These won't introduce unwanted delays.
Title: Re: ABX Comparator version 2.0
Post by: Arnold B. Krueger on 2017-05-04 12:42:56
The lag comes from the sample rate change. Until ABX component is changed to account for that you should resample the 44.1 kHz file to match the other one's sample rate.

Good idea but for me the reason why is that I always recommend making the two files being compared to be alike as possible, aside for the issue under test.

One bad side effect of following this strategy could be that the resampler chosen introduces audible issues of its own, like unnecessarily narrow transition bands and ultra steep slopes that lead to ringing that is peculiar to the resampler, not the basic issue.

Really, if you want to do a controlled experiment, monitor every step of the process as closely as possible. That means avoiding all-in-1-box solutions, even if doing things that way makes it easier.
Title: Re: ABX Comparator version 2.0
Post by: sunnow on 2020-06-27 17:09:08
ABX has been very helpful. Thank You.

Could I suggest a few features?

1. An option to copy to RAM or hdd.

2. If possible to check if a copy of the file is already in ram (foo_ramdisk). This should make comparisons instantaneous.

3. Most of the time I am using this to compare duplicate copies of files that I have. In this scenario, the difference between files is sometimes just the extra silence at the start. Would it be possible for an option that truncates the silence on both tracks so that they become equal when they start?

4. Also an option to be not 'blind'. Can you have an option to display the file names?

5. Also can you bring the trial count to 1. You can put in a info telling newbies that to get results atleast 8 is required and maybe even a link to the wikipedia abx page.

You may be busy. So please don't worry. I am glad this even exists.

Thanks again...