Skip to main content

Topic: Development of ABC/HR for Java (Read 24991 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
Development of ABC/HR for Java
Reply #50
forgot to mention: i'm using Version 0.53a from rpp3po's link.
i'm eager to get this running and do some abx tests. this program seems promising. maybe i can debug the playback issue.. although i don't have much java audio coding experience.


I'm no Java guru, but the dump/traceback looks to me like some problem connecting up with the audio card.

Development of ABC/HR for Java
Reply #51
forgot to mention: i'm using Version 0.53a from rpp3po's link.
i'm eager to get this running and do some abx tests. this program seems promising. maybe i can debug the playback issue.. although i don't have much java audio coding experience.


Doesn't seem to work with 24 bit .wav files.

  • googlebot
  • [*][*][*][*][*]
Development of ABC/HR for Java
Reply #52
I guess the code is build around Java's old sound system: the Java Sound Audio Engine, which doesn't support anything higher than 16 bit. If someone would rewrite the output code to employ the newer (since JDK 1.5) Direct Audio Device mixer with SourceDataLines, the only limits are those of the output device. I could have a look at it, but in my spare free time I'm working on a high quality, multi-platform stream switching library, right now. Improving old legacy code might even deserve higher respect, but writing your own stuff from scratch is certainly more fun...
  • Last Edit: 10 April, 2010, 02:08:18 PM by googlebot

Development of ABC/HR for Java
Reply #53
I guess the code is build around Java's old sound system: the Java Sound Audio Engine, which doesn't support anything higher than 16 bit. If someone would rewrite the output code to employ the newer (since JDK 1.5) Direct Audio Device mixer with SourceDataLines, the only limits are those of the output device. I could have a look at it, but in my spare free time I'm working on a high quality, multi-platform stream switching library, right now. Improving old legacy code might even deserve higher respect, but writing your own stuff from scratch is certainly more fun...


On the plus side,  the rpp3po Java ABC/hr-ABX  1.6 code generates far fewer transisents while switching than what we've seen here lately.

  • ernstblaauw
  • [*][*]
Development of ABC/HR for Java
Reply #54
What's the status of ABC/HR? If nobody is currently working on it, I can maybe give it a try. I did learn Java on my university, but I do not have any experiences with audio. So, I would be happy if someone can assist me:
- where can I find a proper explanation of the depreciated and current audio API from Java?
- which files should be altered? Only PlaybackThread.java?

I won't promise anything, but maybe I can give it a shot this week (I guess I can spend some hours).

  • Kamedo2
  • [*][*][*][*]
Development of ABC/HR for Java
Reply #55
abchr_java_0.53a_src.zip ABXResultsPanel.java line 89
Code: [Select]
            guessingField.setText(p<0.001?"<0.001":Float.toString(((int)(p*1000))/1000.0f));
            guessingField.setBackground(p<=0.01?Color.GREEN:(p<=0.05?Color.YELLOW:Color.RED));

This yields a p-value with additional zero. For example, when the accurate p-value is 0.0078125, the text will say "0.0070".

Also, Color.RED is hard for protanopia to read the black text.
Code: [Select]
            guessingField.setBackground(p<=0.01?new Color(0,255,144):(p<=0.05?new Color(255,255,80):new Color(255,88,64)));


The improved color version is the bottom. This is easier to read, although the change is minimal.

And the explanation "Prob. you were guessing" is misleading. I'd say: "Prob. you were just lucky" or simply "p-value".

  • Kamedo2
  • [*][*][*][*]
Development of ABC/HR for Java
Reply #56
abchr_java_0.53a_src.zip ABXResultsPanel.java line 90
I improved the color to be readable for all.
Code: [Select]
            guessingField.setBackground(p<=0.01?(new Color(0,232,192)):(p<=0.05?(new Color(255,248,0)):(new Color(255,80,32))));