IPB

Welcome Guest ( Log In | Register )

Advanced ABX, New cross-platform ABX application
googlebot
post May 1 2010, 21:39
Post #1





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



Advanced ABX

No currently available ABX application is able to switch without audible transients between tracks. The resulting clicks and pops can both increase the number of false positive and false negative results. The former happens, when the type of clicking correlates to the type of switch: A/A or A/B. False negatives become more probable, when loud clicks desensitize your hearing or keep you from turning up the volume to more revealing listening levels.

Advanced ABX provides transient-free switching!


Other exclusive features:
  • Impedes "fishing" for good results by design by enforcing a chosen number of rounds.
  • Customizable transition length to adapt to different material, for example in- and out-of-phase audio data.
  • Easily extendable transition mechanism: A very simple API allows scientists and developers to drop-in their own custom transition modules, for example to allow completely seamless switching.

Non-exclusive features:
  • Computation of statistical significance (p-value), also known as "probability of guessing".
  • Multi-threaded, low resource consumption.
  • Cross platform Java binary. Custom Windows and Mac executables.
  • Nice and simplistic GUI.
  • Textual output for easy publication of results.


Screenshot:



Notes:

I could only test on a Mac, yet, where it works flawlessly. Please report wether it also works on other platforms. Input is currently WAV only, and the files must have identical format and length. The program is basically able to work with all PCM integer bit depths up to 32 bit, but in practice one is limited by ones specific JRE's capabilities. Java on the Mac, for example, is limited to 16 bit. High sample rates should not be a problem anywhere. The back-end already supports looping, it just isn't implemented in the GUI code, yet.

The source code is going to be released later on. Please don't drown me in feature requests, actual code submits are much preferred.

Download:

Go here.

This post has been edited by googlebot: May 1 2010, 21:53
Go to the top of the page
+Quote Post
 
Start new topic
Replies
[JAZ]
post May 31 2010, 18:56
Post #2





Group: Members
Posts: 1783
Joined: 24-June 02
From: Catalunya(Spain)
Member No.: 2383



You ask why there is so little attention to this?

What about these?

A) For me, foobar2000 does the job on windows, and abc-hr does it for listening tests
B) abc-hr is java and is multiplatform.
C) The problems you try to solve with your solution may be smaller than the problems you add with it.
D) The "teacher method" is not necessary good to get people interested (Teacher method as in: Here you have one piece, build the rest yourself).

Compare your way to present this project to that of lossywav. Lossywav eventually got multiple implementations and is actively watched and maintained.


Your project failed to get attention because there wasn't anything that much interesting in it. Crossfades may be good for DJing, not necessarily for ABXing. Since this is the main goal of your program, instead of a "maybe nice" feature, it has become similar to announce a drinking based on the bottle it is in, instead of what's inside the bottle.

This post has been edited by [JAZ]: May 31 2010, 18:57
Go to the top of the page
+Quote Post
googlebot
post Jun 1 2010, 15:19
Post #3





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



QUOTE ([JAZ] @ May 31 2010, 19:56) *

Your project failed to get attention because there wasn't anything that much interesting in it. Crossfades may be good for DJing, not necessarily for ABXing. Since this is the main goal of your program, instead of a "maybe nice" feature, it has become similar to announce a drinking based on the bottle it is in, instead of what's inside the bottle.


I think you may not yet have understood the purpose of this project. A dedicated ABX application can never reach the comfort and convenience of an integrated music player. For example, creating a lossy version of an arbitrary track in your music library and loading both into the ABX comparator is just four clicks in Foobar. AA neither can nor it is intended to compete with that.

Besides mainstream "which is the best bitrate?"-ABX'ing, there are other types of tests, which were impossible to conduct with any of the existing ABX software before AA. This is, for example, the comparison of absolute polarity differences. Absolute polarity, in itself, is generally regarded as unidentifiable by ear. But absolute polarity played back over real world speakers can indeed be heard in some cases. I could successfully verify an old suspicion of mine, that an old 22" bass driver in my basement is indeed quite sensitive to phase. My main speaker set in my living room doesn't share that property. I had to write AA, before I could verify that.

AA includes other features, which I miss in mainstream ABX tools, particularly the enforcement of a fixed number of trials. 1. I have caught myself in the past, not stopping before the numbers looked good. 2. The discussions following posted ABX results with 'biased' trial counts, why a fixed number is preferable, can get tiring to read. The fact, that I have included a forced number of rounds, does not automatically mean that AA is intended the better application for everyone. I would actually applaud to see this feature in Foobar, myself. And if AA can demonstrate, that it is really trivial to implement (less than 15 minutes overall), maybe it can depict an encouragement to adopt the idea for other developers.

QUOTE ([JAZ] @ May 31 2010, 19:56) *

C) The problems you try to solve with your solution may be smaller than the problems you add with it.


While I can accept, that the bias towards false positives, that is added, when the representations of transitions aren't decorrelated from their type, doesn't interest you, I do not see how AA "adds problems" in any way. It provides features or improvements, that are unavailable in other software. The price is that you have to prepare two WAV files by hand, and in its current form, have looping not yet available in the GUI. That's about all. The necessity, to think about and set a specific transition length, is a part of AA's "advanced" feature set. It don't consider it a "problem" for a path AA isn't intended to follow, i. e. mainstream dominance.

QUOTE ([JAZ] @ May 31 2010, 19:56) *

D) The "teacher method" is not necessary good to get people interested (Teacher method as in: Here you have one piece, build the rest yourself).


So your proposal, when one wants to "collaborate" with others towards a certain goal, go all the way alone first. Else others could get the impression that you are "teacher-tricking" them. Besides not sharing your apparently negative bias towards teachers, I don't really get the point of your implied alternative.

Have you had a look at the source? Way over 95% of the footwork for a complete, convenient ABX application has already been done for you. It may still miss some UI convenience (as remembering the last used directory, etc.) and maybe a few more buttons, but that's about it. According to you my alternative would be doing 99% of the myself, just to anticipate even the least negative feelings someone could have about getting something for free. How about we call that the "anticipated spoiled brat"-method? smile.gif

Do you get my point? For the tiny last percent of remaining collaboration potential, the required investment to spoil even the strangest feeling, that could be raised, is just not worth it.

This is my perspective: First, in my free time I develop stuff for my own interest. And usually I just develop as far as I need it. The only aspect, where "other people" come in at this stage, is virtual, respectively manifested in how I modularize my code.

After that I might share my work with a possibly interested audience. Then one of two things can happen. Either I get the possibility to connect with (an)other developer(s) with similar interest and we start collaborating. Or it does not happen, which is fine. And then I move on. Currently, my next interest is comparing high resolution tracks* with a native Mac ABX tool, basically a port of AA to Objective-C. I have gotten less and less satisfied with Java's abilities to handle anything else but 44.1kHz/16 bit on different platforms, and even the latter may suck depending on your setup.

QUOTE ([JAZ] @ May 31 2010, 19:56) *

Compare your way to present this project to that of lossywav. Lossywav eventually got multiple implementations and is actively watched and maintained.


That's really like comparing apples to oranges. Behind lossyWAV we have an algorithm with virtually unlimited optimization potential and scientific appeal. AA is basically just a tool with feature completeness already in sight. One may add a couple of automatic decoding filters, maybe automatic track alignment (encoding delay correction) a more complete UI and that's about it.

* Against my beliefs, I think I can pinpoint a significant difference between a recently uploaded synthetic 192kHz sample and its Redbook counterpart. But without a Windows computer in sight of my stereo I cannot verify it formally without better tools right now.

This post has been edited by googlebot: Jun 1 2010, 15:43
Go to the top of the page
+Quote Post
[JAZ]
post Jun 1 2010, 19:50
Post #4





Group: Members
Posts: 1783
Joined: 24-June 02
From: Catalunya(Spain)
Member No.: 2383



QUOTE (googlebot @ Jun 1 2010, 16:19) *
This is my perspective: First, in my free time I develop stuff for my own interest. And usually I just develop as far as I need it. The only aspect, where "other people" come in at this stage, is virtual, respectively manifested in how I modularize my code.

After that I might share my work with a possibly interested audience. Then one of two things can happen. Either I get the possibility to connect with (an)other developer(s) with similar interest and we start collaborating. Or it does not happen, which is fine. And then I move on.


I developed a mIRC script back in 1998-2000. I started alone, and had other people interested and collaborated on making it better (we developed mirc windows with controls before mirc allowed them natively!). Like everything, when interest was lost (or other better scripts appeared), it faded away.

During 7 years, I've also been the main developer under an open source music composition program. I've worked with many people that liked it, improved on it and sometimes they did even more than what I could even imagine to do. Nowadays, my interests have shifted again.

I've also made the java version of lossywav. Nothing special and always one foot behind the actual lossywav, but hey, I found it interesting at first.

So if you like to code in your free time, and then share it, at least do not expect people to show admiration for no special reason. Like you say, I may not see the benefits of it, but that's the way I see it.

QUOTE (googlebot @ Jun 1 2010, 16:19) *
Currently, my next interest is comparing high resolution tracks* with a native Mac ABX tool, basically a port of AA to Objective-C. I have gotten less and less satisfied with Java's abilities to handle anything else but 44.1kHz/16 bit on different platforms, and even the latter may suck depending on your setup.


What a shift of interests... to develop in a platform that is considered "make once, run everywhere", to a "build for Apple, run on Apple" one.. Of course, if you are an Apple guy, let be it, but be prepared to face it: Less people knowing it, and much less people interested in doing it for free.

Go to the top of the page
+Quote Post

Posts in this topic
- googlebot   Advanced ABX   May 1 2010, 21:39
- - 2E7AH   I'm not ABX fan, but downloaded file and tried...   May 2 2010, 03:23
- - lvqcl   BTW, foobar2000 approach (A B X Y tracks) makes A...   May 2 2010, 08:39
|- - googlebot   QUOTE (lvqcl @ May 2 2010, 09:39) BTW, fo...   May 2 2010, 11:37
- - googlebot   I have added the source code here. Developers, wh...   May 2 2010, 17:35
- - Synthetic Soul   Initial Remarks: 1. "Transition Lenght...   May 2 2010, 19:00
|- - soundberg   QUOTE (Synthetic Soul @ May 2 2010, 20:00...   May 2 2010, 19:25
|- - googlebot   QUOTE (soundberg @ May 2 2010, 20:25) Als...   May 2 2010, 21:24
||- - 2thumbs   QUOTE (googlebot @ May 2 2010, 13:24) Abo...   May 3 2010, 00:27
|- - Kees de Visser   QUOTE (soundberg @ May 2 2010, 20:25) Fad...   May 3 2010, 09:01
|- - googlebot   QUOTE (Kees de Visser @ May 3 2010, 10:01...   May 3 2010, 11:44
|- - solive   QUOTE (Kees de Visser @ May 3 2010, 01:01...   May 29 2010, 19:42
|- - googlebot   QUOTE (solive @ May 29 2010, 20:42) I dow...   May 30 2010, 00:31
|- - solive   QUOTE (googlebot @ May 29 2010, 16:31) I ...   May 31 2010, 05:30
||- - krabapple   QUOTE (solive @ May 31 2010, 00:30) I jus...   Jun 1 2010, 19:17
|||- - Arnold B. Krueger   QUOTE (krabapple @ Jun 1 2010, 14:17) QUO...   Jun 2 2010, 13:41
||- - Arnold B. Krueger   QUOTE (solive @ May 31 2010, 00:30) QUOTE...   Jun 2 2010, 12:00
|- - Kees de Visser   QUOTE (googlebot @ May 30 2010, 01:31) I ...   May 31 2010, 13:01
|- - Arnold B. Krueger   QUOTE (googlebot @ May 29 2010, 19:31) I ...   Jun 1 2010, 14:49
- - googlebot   Well, I could let the output buffers never fill ab...   May 2 2010, 23:13
- - lvqcl   WinXP with Eastern language support installed: pla...   May 3 2010, 08:48
- - googlebot   Does the new output buffer circumvention cause cli...   May 3 2010, 21:36
- - Sebastian Mares   The new binary you posted doesn't want to star...   May 3 2010, 23:00
- - googlebot   Fixed files are online.   May 4 2010, 00:37
- - solive   I applaud the development of a cross-platform ABX ...   May 29 2010, 19:49
- - Emon   Anyone who claims that ABX isn't scientific do...   May 31 2010, 17:34
- - [JAZ]   You ask why there is so little attention to this? ...   May 31 2010, 18:56
|- - googlebot   QUOTE ([JAZ] @ May 31 2010, 19:56...   Jun 1 2010, 15:19
|- - [JAZ]   QUOTE (googlebot @ Jun 1 2010, 16:19) Thi...   Jun 1 2010, 19:50
- - Alex B   googlebot, First I would like to thank you for yo...   Jun 1 2010, 20:29
- - 2E7AH   if this thread is going to spread in general ABX t...   Jun 2 2010, 00:37
- - C.R.Helmrich   Hi googlebot, just read this thread for the first...   Jun 3 2010, 11:13
- - bilbo   @googlebot It is going to be very hard to get peo...   Jun 3 2010, 14:51
- - googlebot   @bilbo I'm not interested in "How to boo...   Jun 3 2010, 16:52
- - krmathis   QUOTE (googlebot @ Jun 1 2010, 15:19) Cur...   Jun 8 2010, 17:51
- - Billytheonion   I have been using this on OS X http://emptymusic.c...   Jun 8 2010, 19:13


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 18th September 2014 - 11:35