IPB

Welcome Guest ( Log In | Register )

2 Pages V   1 2 >  
Reply to this topicStart new topic
ABC/HR for Java 0.5a released
schnofler
post Mar 6 2005, 16:47
Post #1


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



I've just released a new version of ABC/HR for Java. You can get it here:

Binary
Sources

You'll need the JRE 1.5 to run this (download here).
To start the application just click the abchr.jar (on Windows) or run "java -jar abchr.jar" on a command line.

Improvements include better sound output routines, a new ABX component in ABC/HR tests and easier test setup (see next post for details).

This post has been edited by schnofler: Mar 24 2005, 10:04
Go to the top of the page
+Quote Post
rjamorim
post Mar 6 2005, 16:52
Post #2


Rarewares admin


Group: Members
Posts: 7515
Joined: 30-September 01
From: Brazil
Member No.: 81



Oh my. Some new development at last smile.gif

Thank-you very much, Schnofler.

Any hope of adding a XML -> TXT batch result converter? Several people asked for that feature, for readability sake.


--------------------
Get up-to-date binaries of Lame, AAC, Vorbis and much more at RareWares:
http://www.rarewares.org
Go to the top of the page
+Quote Post
schnofler
post Mar 6 2005, 16:55
Post #3


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



It has been a while since I released the last version of ABC/HR for Java. I've made small improvements now and then, but until lately never really found the time to polish it up and make it release-worthy. These are the most notable changes:
  • Use of low-level sound output. ABC/HR for Java can make use of the native sound playback which was introduced in JRE 1.5. This solves a lot of the problems in previous versions which resulted from the poor performance of Java's software mixer. In particular, latency is reduced, so there are no delays between pressing the play button and actual start of playback, and fast switching will be smoother. Also, the annoying forced volume reduction of Javas software mixer is not present when using hardware mixers.
    The playback device can be set in the Settings dialog.
  • Training/Testing mode in ABX. The ABX component in ABC/HR tests is now split into a training and a testing mode, as proposed by ff123 (see this thread). In testing mode the results are hidden from the user until (s)he presses the "Finish" button, whereafter no more trials can be added. If the pval after finishing the test is below a certain threshold (which is set in the test config), the respective sample is revealed in ABC/HR mode.
  • Integrated CLI encoding. This is what I've just implemented recently. Basically, what I'm aiming at in the long run is to make the whole test setup less of a hassle, so that there's really no good excuse not to make a quick blind test when you want to know which codec is better. Integrated CLI processing makes it possible to give something like
    CODE
    SomeSong.ape | sox %i %o trim 0 30>wav | lame -V 4 %i %o>mp3
    as a sample in ABX or ABC/HR tests, meaning "decode SomeSong.ape, pass it through to that sox command line (trimming the sample, keeping only the first 30 seconds), then encode with lame -V 4" (the ">wav" and ">mp3" are the extensions to use on the output file of the respective command line). [Of course, sox, lame, and mac must be in your path or the abchr directory for this to work].
  • Various stuff. For example, the more detailed ABX logging (including the playback range in the log) that was already present in the special editions used in Roberto's last listening tests. Also, the GUI was redesigned a bit (putting the ABX functionality more to the front, because it's a pretty useful application in itself).
Please note, this has become a pretty complex app, so there are probably some bugs, I didn't catch. I'd be grateful for any feedback.

This post has been edited by schnofler: Mar 6 2005, 18:02
Go to the top of the page
+Quote Post
schnofler
post Mar 6 2005, 16:57
Post #4


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



QUOTE (rjamorim)
Any hope of adding a XML -> TXT batch result converter? Several people asked for that feature, for readability sake.

Tools->Process Result Files... biggrin.gif

edit: this probably won't work with older result files, though, because I changed the format a bit. I'll see if I can make it backward-compatible.

This post has been edited by schnofler: Mar 6 2005, 17:02
Go to the top of the page
+Quote Post
rjamorim
post Mar 6 2005, 17:06
Post #5


Rarewares admin


Group: Members
Posts: 7515
Joined: 30-September 01
From: Brazil
Member No.: 81



QUOTE (schnofler @ Mar 6 2005, 12:57 PM)
Tools->Process Result Files...  biggrin.gif
*


Hrm... it won't work with my Multiformat test result files. Maybe it only works in encrypted results?


--------------------
Get up-to-date binaries of Lame, AAC, Vorbis and much more at RareWares:
http://www.rarewares.org
Go to the top of the page
+Quote Post
rjamorim
post Mar 6 2005, 17:13
Post #6


Rarewares admin


Group: Members
Posts: 7515
Joined: 30-September 01
From: Brazil
Member No.: 81



QUOTE (schnofler @ Mar 6 2005, 12:55 PM)
Please note, this has become a pretty complex app, so there are probably some bugs, I didn't catch. I'd be grateful for any feedback.
*


Hehe. Just out of being very mean, I tried to load a config file before running the decoding batch file (I.E, the wavs were not where they should be), and it hung ABC/HR java


--------------------
Get up-to-date binaries of Lame, AAC, Vorbis and much more at RareWares:
http://www.rarewares.org
Go to the top of the page
+Quote Post
schnofler
post Mar 6 2005, 17:23
Post #7


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



QUOTE
Hrm... it won't work with my Multiformat test result files. Maybe it only works in encrypted results?

See my edit of the post above. However making it backwards-copmpatible was easier than I thought. I've uploaded a new version which works with the results from your listening tests (I've modified the download links in the first post).

This post has been edited by schnofler: Mar 6 2005, 17:24
Go to the top of the page
+Quote Post
rjamorim
post Mar 6 2005, 17:33
Post #8


Rarewares admin


Group: Members
Posts: 7515
Joined: 30-September 01
From: Brazil
Member No.: 81



QUOTE (schnofler @ Mar 6 2005, 01:23 PM)
See my edit of the post above. However making it backwards-copmpatible was easier than I thought. I've uploaded a new version which works with the results from your listening tests (I've modified the download links in the first post).
*


Excellent. Thanks smile.gif

I also noticed decrypting key files created by ABC/HR 0.4x won't work. It complains about "I/O Error: Key File could not be opened". Do you plan to add backwards compatibility there, or would it be too much of a hassle?


--------------------
Get up-to-date binaries of Lame, AAC, Vorbis and much more at RareWares:
http://www.rarewares.org
Go to the top of the page
+Quote Post
schnofler
post Mar 6 2005, 17:34
Post #9


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



QUOTE (rjamorim @ Mar 6 2005, 08:13 AM)
QUOTE (schnofler @ Mar 6 2005, 12:55 PM)
Please note, this has become a pretty complex app, so there are probably some bugs, I didn't catch. I'd be grateful for any feedback.
*

Hehe. Just out of being very mean, I tried to load a config file before running the decoding batch file (I.E, the wavs were not where they should be), and it hung ABC/HR java
*


Yes, I suppose it won't be too difficult to find more of these bugs. I didn't spend much time making the program behave well to "hostile" users ('cos it's.. you know... so damn boring wink.gif).
Go to the top of the page
+Quote Post
schnofler
post Mar 6 2005, 17:37
Post #10


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



QUOTE (rjamorim)
I also noticed decrypting key files created by ABC/HR 0.4x won't work. It complains about "I/O Error: Key File could not be opened". Do you plan to add backwards compatibility there, or would it be too much of a hassle?

If you used result files from your listening tests, this is somewhat intentional. The encryption in the special versions I made for your tests is different from that used in the regularly released versions (because the availability of source code would make it a lot easier to forge result files).
Go to the top of the page
+Quote Post
rjamorim
post Mar 6 2005, 17:42
Post #11


Rarewares admin


Group: Members
Posts: 7515
Joined: 30-September 01
From: Brazil
Member No.: 81



QUOTE (schnofler @ Mar 6 2005, 01:37 PM)
If you used result files from your listening tests, this is somewhat intentional. The encryption in the special versions I made for your tests is different from that used in the regularly released versions (because the availability of source code would make it a lot easier to forge result files).
*


Ah, makes sense. Thanks for clarifying.

I'll wait until it stabilize more, and then I'll add this new version to RareWares, and announce it smile.gif


--------------------
Get up-to-date binaries of Lame, AAC, Vorbis and much more at RareWares:
http://www.rarewares.org
Go to the top of the page
+Quote Post
schnofler
post Mar 6 2005, 18:03
Post #12


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



QUOTE (rjamorim @ Mar 6 2005, 08:42 AM)
I'll wait until it stabilize more, and then I'll add this new version to RareWares, and announce it smile.gif
*

Great, thanks.
Go to the top of the page
+Quote Post
ff123
post Mar 6 2005, 18:40
Post #13


ABC/HR developer, ff123.net admin


Group: Developer (Donating)
Posts: 1396
Joined: 24-September 01
Member No.: 12



Very nice. I rarely hear more than a small click and no dropouts between changes, and the switches happen with very small latency; in short, it is now even better than the native Windows version in this regard -- a remarkable achievement! Who'd've thunk it possible with Java, eh?

The standalone ABX module doesn't allow one the option of "training" or "testing", which I think would be good.

A complete (but more complex) ABX module would also take into consideration type II error risks, but I think for codec testing, maybe that's an unneccessary complication. See my 1.1 beta 2 version for what that would add to the ABX screen:

http://ff123.net/abchr/abchr.html

ff123
Go to the top of the page
+Quote Post
schnofler
post Mar 6 2005, 20:03
Post #14


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



QUOTE (ff123)
The standalone ABX module doesn't allow one the option of "training" or "testing", which I think would be good.

Yes, I'll probably put that in sometime.

QUOTE (ff123)
A complete (but more complex) ABX module would also take into consideration type II error risks, but I think for codec testing, maybe that's an unneccessary complication. See my 1.1 beta 2 version for what that would add to the ABX screen:

Yes, I was aware of your implementation. After all, that's where I copied the idea from tongue.gif . In the end, I decided against showing (and trying to control) type II error, because I think it can give false impressions. As far as I can see, contrary to type I error, the type II error can only sensibly be calculated, if the user participates. That is, he has to make a reasonable guess about the effect size, and then do his best to complete the ABX test successfully. If the test finishes with a very low type II error this can mean that the user really couldn't hear a difference. But it could also mean that the user just hit the buttons without listening to the samples. Calculation of type II error relies on the assumption that the user plays fair.

So, while an ABX test can effectively prove (with some amount of uncertainty) that the user did hear a difference, it cannot prove that he didn't, and I think displaying the type II error along with the type I error can give the false impression that an ABX test could establish the fact that there's no perceivable difference between two samples.

I don't mean to say that type II error is useless in codec testing, but I think it makes most sense in a situation where we can make a good estimation of effect size and can expect that the users really did serious testing. For example, after a group listening test, effect size can reasonably be taken to be the ratio of people who could hear a difference in a sample, and this can be used to calculate meaningful type II errors for some hypotheses on the data.

Or maybe I got that all wrong? (I don't actually know much about statistics)
Go to the top of the page
+Quote Post
guruboolez
post Mar 12 2005, 08:28
Post #15





Group: Members (Donating)
Posts: 3474
Joined: 7-November 01
From: Strasbourg (France)
Member No.: 420



I've noticed some bugs:

• when I restart a test, or start another one, the menu becomes a bit messy. See for example this screenshot: there's two "save test results" command. Currently, I must close and restart the app to avoid this.

• ABX module: when I choose a file for SAMPLE A, the selected file is systematically applied to SAMPLE B. For example, if I want to make SAMPLE A = Sample1, I obtain SAMPLE B = Sample1. I don't know if I'm clear, but I guess that's the easier way to understand is to try on your side smile.gif

• Not a real bug: You can launch a test with Reference as only file. In other word, a test with nothing to test laugh.gif

• irritating thing, but maybe intended (in ABX module): If I switch from TEST mode to TRAINING mode, then return back to TEST mode, all my previous trials are erased.



I've performed my recent tests with this alpha release of java ABC/HR, and I never heard any pop or click during the whole test (due to high encoding bitrate, I was very concentrated and therefore highly sensitive to any artifacts, click, noise...). That's a big improvement (previous version of java abc/he were unusable for this kind of tests on my old Duron 800). Thanks a lot for this useful testing software smile.gif



EDIT: is it really necessary to have two distinct buttons, one for choosing audio files and another to add them in filelist?

This post has been edited by guruboolez: Mar 12 2005, 09:27
Go to the top of the page
+Quote Post
schnofler
post Mar 12 2005, 16:32
Post #16


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



Thank you very much for your extensive testing, guruboolez, it was very helpful.

QUOTE
when I restart a test, or start another one, the menu becomes a bit messy. See for example this screenshot: there's two "save test results" command. Currently, I must close and restart the app to avoid this.

Fixed.

QUOTE
ABX module: when I choose a file for SAMPLE A, the selected file is systematically applied to SAMPLE B. For example, if I want to make SAMPLE A = Sample1, I obtain SAMPLE B = Sample1. I don't know if I'm clear, but I guess that's the easier way to understand is to try on your side

Fixed. [Actually, this behaviour was intentional. The problem is, it should not be possible to first do an ABX test "reference vs. sample 1" and then another test "sample 1 vs. reference". So I took the easy way out, and just exchanged the samples in the combo boxes when they were in the wrong order (that is, if you select "Original" for B and then select "Sample 1" as A, it will put Original as A and Sample 1 as B, which is what you described). Now it just counts "sample 1 vs. reference" and "reference vs. sample 1" as the same ABX test.]

QUOTE
Not a real bug: You can launch a test with Reference as only file. In other word, a test with nothing to test

Fixed.

QUOTE
irritating thing, but maybe intended (in ABX module): If I switch from TEST mode to TRAINING mode, then return back to TEST mode, all my previous trials are erased.

This was intended, but I can't really figure out a reason anymore, why it shouldn't be allowed to interrupt the "real" ABX test with a training session. Changed.

QUOTE
is it really necessary to have two distinct buttons, one for choosing audio files and another to add them in filelist?

I admit, this is a bit unintuitive when you just add files as samples (actually, in the previous version there was only one button). However, since it's now possible to add CLI command chains to the filenames (e.g. putting something like "sample.wav | lame397a8 -V 3 %i %o>mp3" in the sample list), I didn't see any other way than to add an extra text field to the dialog.

I changed the links in the first post to point to the fixed version.

Thanks again for your tests, it's very good to know you got through your heavy duty testing without running into all-too serious problems. smile.gif
Go to the top of the page
+Quote Post
guruboolez
post Mar 13 2005, 14:38
Post #17





Group: Members (Donating)
Posts: 3474
Joined: 7-November 01
From: Strasbourg (France)
Member No.: 420



I've also noticed something weird yesterday:
.MP3 files are not recognizsed, but .mp3 are OK.
Go to the top of the page
+Quote Post
cabbagerat
post Mar 13 2005, 15:10
Post #18





Group: Members
Posts: 1018
Joined: 27-September 03
From: Cape Town
Member No.: 9042



QUOTE (guruboolez @ Mar 13 2005, 05:38 AM)
I've also noticed something weird yesterday:
.MP3 files are not recognizsed, but .mp3 are OK.
*

Thats it! I spent a while yesterday trying to figure out why ABC/HR Java won't accept some of my MP3s. unsure.gif


--------------------
Simulate your radar: http://www.brooker.co.za/fers/
Go to the top of the page
+Quote Post
schnofler
post Mar 13 2005, 15:32
Post #19


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



QUOTE (guruboolez @ Mar 13 2005, 05:38 AM)
I've also noticed something weird yesterday:
.MP3 files are not recognizsed, but .mp3 are OK.
*

Thanks. Fixed.
Go to the top of the page
+Quote Post
lotr
post Mar 23 2005, 00:50
Post #20





Group: Members
Posts: 14
Joined: 26-February 05
Member No.: 20171



I have a problem with mp3 files. It says the file cannot be decoded. Do I need to install something else?
Go to the top of the page
+Quote Post
Skythus
post Mar 23 2005, 04:38
Post #21





Group: Members
Posts: 24
Joined: 16-August 02
Member No.: 3086



QUOTE (lotr @ Mar 22 2005, 11:50 PM)
I have a problem with mp3 files. It says the file cannot be decoded. Do I need to install something else?
*


I have the same problem when choosing mp3 files.
Go to the top of the page
+Quote Post
schnofler
post Mar 23 2005, 18:11
Post #22


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



QUOTE (Skythus @ Mar 22 2005, 07:38 PM)
QUOTE (lotr @ Mar 22 2005, 11:50 PM)
I have a problem with mp3 files. It says the file cannot be decoded. Do I need to install something else?
*


I have the same problem when choosing mp3 files.
*


You need to put the MADplay executable (download from rarewares) in the abchr directory or somewhere in your path.

(Or, if you don't like MAD, you can use the settings dialog to configure abchr-java to use the decoder of your choice)
Go to the top of the page
+Quote Post
lotr
post Mar 23 2005, 22:42
Post #23





Group: Members
Posts: 14
Joined: 26-February 05
Member No.: 20171



I put madplay.exe in the abchr directory, but I still get the same error. How do I find out what my path is?
Go to the top of the page
+Quote Post
schnofler
post Mar 24 2005, 00:03
Post #24


Java ABC/HR developer


Group: Developer
Posts: 175
Joined: 17-September 03
Member No.: 8879



QUOTE (lotr @ Mar 23 2005, 01:42 PM)
I put madplay.exe in the abchr directory, but I still get the same error. How do I find out what my path is?
*

Type "set PATH" on a command prompt.

You could also try starting abchr-java from a command prompt (change to the abchr directory with 'cd "\program files\abchr-java"' [or whatever directory you unzipped it to], then type 'java -jar abchr.jar'). For some errors additional information is printed to the console. If you could post this here, it might help me figure out what's wrong.
Go to the top of the page
+Quote Post
lotr
post Mar 24 2005, 01:38
Post #25





Group: Members
Posts: 14
Joined: 26-February 05
Member No.: 20171



Ok, this is strange. If I install abchr on my desktop (which is in greek if this makes any difference), I get the cannot decode file error upon pressing Start Test (ABX).

If I install it on "C:\", I don't get an error message, but when I try playing the samples I hear no sound.

This is the console output for abchr installed under "C:\"

CODE
C:\ABCHR\ABCHR>java -jar abchr.jar
Exception in thread "AWT-EventQueue-0"

java.lang.IllegalArgumentException: Line
unsupported: interface SourceDataLine supporting format PCM_SIGNED

44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian, and buffers of 88200 to 88200 bytes

       at com.sun.media.sound.PortMixer.getLine(Unknown Source)
       at abchr.audio.PlaybackThread.play(Unknown Source)
       at abchr.gui.ABXControlPanel.playA(Unknown Source)
       at abchr.gui.ABXControlPanel.access$000(Unknown Source)
       at abchr.gui.ABXControlPanel$1.actionPerformed(Unknown Source)
       at abchr.gui.SimpleAction.actionPerformed(Unknown Source)
       at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
       at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
       at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
       at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
       at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
       at java.awt.Component.processMouseEvent(Unknown Source)
       at javax.swing.JComponent.processMouseEvent(Unknown Source)
       at java.awt.Component.processEvent(Unknown Source)
       at java.awt.Container.processEvent(Unknown Source)
       at java.awt.Component.dispatchEventImpl(Unknown Source)
       at java.awt.Container.dispatchEventImpl(Unknown Source)
       at java.awt.Component.dispatchEvent(Unknown Source)
       at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
       at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
       at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
       at java.awt.Container.dispatchEventImpl(Unknown Source)
       at java.awt.Window.dispatchEventImpl(Unknown Source)
       at java.awt.Component.dispatchEvent(Unknown Source)
       at java.awt.EventQueue.dispatchEvent(Unknown Source)
       at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
       at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
       at java.awt.EventDispatchThread.run(Unknown Source)



And here's console output of abchr installed on my desktop:

CODE
C:\Documents and Settings\X\Επιφάνεια εργασίας\abchr\abchr>java -jar abchr.jar
abchr.audio.DecodeFailedException: File C:\Angelic.mp3 could not be decoded.
Call to madplay  failed.
       at abchr.audio.SampleFactory$Decoder.process(Unknown Source)
       at abchr.audio.SampleFactory.createSample(Unknown Source)
       at abchr.gui.ABXPanel$SampleLoader.run(Unknown Source)
       at abchr.gui.ABXPanel$4.construct(Unknown Source)
       at guiutils.SwingWorker$2.run(Unknown Source)
       at java.lang.Thread.run(Unknown Source)
javax.sound.sampled.UnsupportedAudioFileException: File C:\Angelic.mp3 could not be decoded.
Call to madplay  failed.
       at abchr.audio.SampleFactory.createSample(Unknown Source)
       at abchr.gui.ABXPanel$SampleLoader.run(Unknown Source)
       at abchr.gui.ABXPanel$4.construct(Unknown Source)
       at guiutils.SwingWorker$2.run(Unknown Source)
       at java.lang.Thread.run(Unknown Source)


madplay.exe is installed in the same directory as the file abchr.jar. I also put it inside C:\Windows\system32 which is in the PATH, but nothing changed.

This post has been edited by lotr: Mar 24 2005, 01:39
Go to the top of the page
+Quote Post

2 Pages V   1 2 >
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: 17th September 2014 - 01:01