| View previous topic :: View next topic |
| Author |
Message |
Groupie


Joined: 10 Dec 2007 Age: 39 Posts: 239 Location: Berlin
|
Posted: Mon Dec 10, 2007 8:35 pm Post subject: sidplay2 in Java released |
|
|
Hello forum members,
I have recently released a Java version of sidplay2
and now i would like to get some feedback by the fans
of the great soundchip of the good old C64.
It is very compatible to the original version and for now
a console based player with a little menu.
I would appreciate any positive or negative response.
Tell me what you expect as the next features.
Best regards of a new member of this forum,
kenchis
Important Links:
Java Web Start with Beta Version:
http://kenchis.t15.org/jsidplay2/jsidplay2.jnlp
Latest Stable Build:
http://sourceforge.net/project...play2/2.0/
Run Beta Version in a Browser
http://kenchis.t15.org/jsidplay2/jsidplay2.html
Short Instructions:
1. Install Java 6
Minimum is a Java 6 Runtime Environment
2.
Windows Console Player:
Open a command prompt and type:
| Code: | | java -jar jsidplay2_console.jar |
Windows GUI Player:
| Code: | | java -jar jsidplay2.jar |
Last edited by kenchis on Thu Oct 04, 2012 9:26 pm; edited 9 times in total |
|
| Back to top |
|
 |
Groupie


Joined: 10 Dec 2007 Age: 39 Posts: 239 Location: Berlin
|
Posted: Mon Dec 10, 2007 8:36 pm Post subject: |
|
|
|
|
| Back to top |
|
 |
Groupie in Training

Joined: 11 Jul 2007 Posts: 84 Location: Montréal, Québec, Canada
|
Posted: Wed Dec 12, 2007 1:16 am Post subject: |
|
|
Sounds promising, but I have your first linux bug report!
it won't play on Ubuntu 7.10. I tried 2 files, here is the output:
| Code: |
hugues@toshiba:~/Downloads$ java -jar jsidplay2-1.2.jar "/media/S3A3305D001F/Documents and Settings/norfair/Mes documents/C64/C64Music/MUSICIANS/B/Blues_Muz/Nordboe_Kjell/Against_My_Enemy.sid"
Format: PCM_SIGNED 44100.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian
Problem while getting data line javax.sound.sampled.LineUnavailableException: Audio Device Unavailable
+------------------------------------------------------+
| Java SIDPLAY - Music Player & C64 SID Chip Emulator |
| Sidplay V2.0.8, libsidplay V2.1.1 |
+------------------------------------------------------+
| Title : Against My Enemy |
| Author : Kjell Nordbø |
| Released : 1996 SHAPE/Blues Muz' |
+------------------------------------------------------+
| File format : PlaySID one-file format (PSID) |
| Filename(s) : Against_My_Enemy.sid |
| : |
| Condition : No errors |
| Playlist : 1/1 (tune 1/1[1]) |
| Song Length : UNKNOWN |
+------------------------------------------------------+
keyboard control (press enter after command):
< > - play previous/next tune
, . - normal/faster speed
p - pause/continue player
h e - play first/last tune
q - quit player
Exception in thread "main" java.lang.NullPointerException
at sidplay.ConsolePlayer.event(ConsolePlayer.java:701)
at sidplay.ConsolePlayer.open(ConsolePlayer.java:495)
at sidplay.ConsolePlayer.main(ConsolePlayer.java:1333)
|
and
| Code: |
hugues@toshiba:~/Downloads$ java -jar jsidplay2-1.2.jar "/media/S3A3305D001F/Documents and Settings/norfair/Mes documents/C64/C64Music/MUSICIANS/L/Linus/Getaway.sid"
Format: PCM_SIGNED 44100.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian
Problem while getting data line javax.sound.sampled.LineUnavailableException: Audio Device Unavailable
+------------------------------------------------------+
| Java SIDPLAY - Music Player & C64 SID Chip Emulator |
| Sidplay V2.0.8, libsidplay V2.1.1 |
+------------------------------------------------------+
| Title : The Getaway |
| Author : Sascha Zeidler (Linus) |
| Released : 2006 Triad/Viruz |
+------------------------------------------------------+
| File format : PlaySID one-file format (PSID) |
| Filename(s) : Getaway.sid |
| : |
| Condition : No errors |
| Playlist : 1/1 (tune 1/1[1]) |
| Song Length : UNKNOWN |
+------------------------------------------------------+
keyboard control (press enter after command):
< > - play previous/next tune
, . - normal/faster speed
p - pause/continue player
h e - play first/last tune
q - quit player
Exception in thread "main" java.lang.NullPointerException
at sidplay.ConsolePlayer.event(ConsolePlayer.java:701)
at sidplay.ConsolePlayer.open(ConsolePlayer.java:495)
at sidplay.ConsolePlayer.main(ConsolePlayer.java:1333)
|
for good measure, this is my java version:
| Code: |
hugues@toshiba:~/Downloads$ java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
|
I will help as much as I can, a java port of sidplay is cool! |
|
| Back to top |
|
 |
Groupie


Joined: 10 Dec 2007 Age: 39 Posts: 239 Location: Berlin
|
Posted: Wed Dec 12, 2007 7:07 pm Post subject: |
|
|
| Quote: | | javax.sound.sampled.LineUnavailableException: Audio Device Unavailable |
I tested only under Win XP,
but i assume that the audio device must be somehow enabled in
the sound configuration of Linux?
I will download Ubuntu and test it in a virtual pc.
Perhaps you can test if you can output WAV files with the player alternativly.
Use option: --wav<filename>
After testing i will give you feedback what went wrong.
Thanks and best regards,
Ken |
|
| Back to top |
|
 |
Groupie in Training


Joined: 22 Feb 2002 Posts: 116 Location: Italy
|
Posted: Wed Dec 12, 2007 7:42 pm Post subject: |
|
|
Works on Fedora Core 8.
With this release, now I have all that I need to make a Java music editor for Sid music (something I look for some long time)
:wink: |
|
| Back to top |
|
 |
Groupie in Training

Joined: 11 Jul 2007 Posts: 84 Location: Montréal, Québec, Canada
|
Posted: Thu Dec 13, 2007 12:35 am Post subject: |
|
|
Err, I just tried again, and it worked...
I think the problem yesterday was that I had rythmbox opened >_>;
it sounds pretty decent, too  Keep up the good work! |
|
| Back to top |
|
 |
Über Groupie

Joined: 01 Jun 2005 Posts: 377
|
Posted: Sun Dec 16, 2007 1:40 pm Post subject: |
|
|
Works fine under Win2K.
Do you plan to port the distortion code too? http://bel.fi/~alankila/c64-sw/
| ice00 wrote: | With this release, now I have all that I need to make a Java music editor for Sid music (something I look for some long time)
|
\o/ |
|
| Back to top |
|
 |
Groupie


Joined: 10 Dec 2007 Age: 39 Posts: 239 Location: Berlin
|
Posted: Sun Dec 16, 2007 7:25 pm Post subject: |
|
|
Hi nata,
of course i will. I already asked him in the Kohina forum, when his changes are complete. No answer yet.
But if the changes only make sense for certain SID chip revision, it must be assured, that other SID chip revisions are not affected by the change.
Additionally, his work is currently not finished. Last update is from 8.12.07
so perhaps i should wait, if his work is released in the next libsidplay version. He is currently working on a branch.
I only want to merge the diff once.
On the other hand i am very envious of the new distortion effects, how they sound...
First i will wait, what he is thinking about the status of his work. |
|
| Back to top |
|
 |
Groupie


Joined: 10 Dec 2007 Age: 39 Posts: 239 Location: Berlin
|
Posted: Fri Dec 21, 2007 9:04 pm Post subject: |
|
|
Hi, its me again
If you want you can test the newest version (beta)
I included the distortion patch by Antti Lankila.
It is enabled by default. But you can turn on and off at runtime (with key 'd' and pressing return).
You should rename your old configuration file ~/sidplay2.ini .
Because if it is missing, the player creates it including the filter for 6581R4. So it will give the best results.
http://mitglied.lycos.de/kenchis/jsidplay2.jar
Thank you for testing,
regards,
Ken |
|
| Back to top |
|
 |
Über Groupie

Joined: 01 Jun 2005 Posts: 377
|
Posted: Sat Jan 12, 2008 9:16 am Post subject: |
|
|
Would it be possible to display rasterime usage? (Not graphically but with som hex values) |
|
| Back to top |
|
 |
Groupie


Joined: 10 Dec 2007 Age: 39 Posts: 239 Location: Berlin
|
Posted: Sat Jan 12, 2008 6:37 pm Post subject: |
|
|
Hi Nata,
I dont know exactly to find out the rastertime of the tune.
Can you explain?
Or better show me the place in the source code  |
|
| Back to top |
|
 |
Über Groupie

Joined: 01 Jun 2005 Posts: 377
|
Posted: Sat Jan 12, 2008 6:57 pm Post subject: |
|
|
| kenchis wrote: | Hi Nata,
I dont know exactly to find out the rastertime of the tune.
Can you explain?
Or better show me the place in the source code  |
Rastertime is the calculating time of the playroutine for each call.
Maybe this place helps: http://codebase64.org/ |
|
| Back to top |
|
 |
Groupie


Joined: 10 Dec 2007 Age: 39 Posts: 239 Location: Berlin
|
Posted: Sat Jan 12, 2008 10:57 pm Post subject: |
|
|
that is what i understood:
rastertime is the time consumed by the player routine to play the next note.
Some players shows it by changing the background color when the routine is called and change it back, when it ended.
jsidplay2 is able to play SID/PSID as well as PRG.
For some tunes (PSID?) the player is always the same, it is installed by sidplay2. So this makes no sense for them.
For PRG files they come with their own custom player.
And i know the init address and play address of them.
What i would have to do is the following:
Measure the time from the continous calls of the player address.
The measure unit is what, raster lines, cycles?
How can i calculate it? |
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 28 Jun 2007 Posts: 3631 Location: Qld OZ
|
Posted: Sun Jan 13, 2008 9:48 am Post subject: |
|
|
Works great under Debian sounds good to.  _________________ Looking for a causal coder, Python/MYSQL/PHP/Java. PM Me  |
|
| Back to top |
|
 |
Über Groupie

Joined: 01 Jun 2005 Posts: 377
|
Posted: Wed Jan 23, 2008 9:46 am Post subject: |
|
|
| Quote: | | How can i calculate it? |
Oh sorry, I don't know. I'm not a coder.
Btw. I testet the latest beta. Looks nice. Especially "Tune Speed" is a useful feature. When I play songs that were made in "25Hz" mode I get some wired speed value like "0.0-4.9E-324". Is this correct?
Maybe, could you include Lasse's SIDid from http://covertbitops.c64.org ? So, it would be possible to display the playroutine's name from the music.
Edit:
Hmm. The only thing I bother is the really high CPU usage (60% and more). I very often get serious slowdowns on my Pentium 4 running at 1800 MHz. (Especially if Digis are involved)
Does the "OptimiseLevel" activates resampling or interpolation?
I use VICE with reSID interpolation and it takes only 2-5% CPU time. If I use fast resampling in Vice CPU usage is more or less the same as in Java Sidplay.
Anyway, would it be possible to place the sidplay2.ini in the same folder as the .jar file? |
|
| Back to top |
|
 |
Groupie


Joined: 13 Mar 2003 Posts: 231 Location: The Hole, USA
|
Posted: Thu Jan 24, 2008 3:21 am Post subject: |
|
|
I'd love to use this on my pocketpc/phone for SID-on-the-go, but I receive and error from my JRE (IBM J9 Java Emulator) about the application descriptor missing the required MIDlet-Name field. I assume it's referring to the title bar when running it under Windows which is currently blank. Mayhaps one could be added? |
|
| Back to top |
|
 |
Immortal Grandmaster of C64

Joined: 13 Oct 2004 Posts: 4679
|
Posted: Thu Jan 24, 2008 4:43 am Post subject: |
|
|
are you seriously expecting this to work on your cellphone? o_O _________________ |
|
| Back to top |
|
 |
Groupie


Joined: 13 Mar 2003 Posts: 231 Location: The Hole, USA
|
Posted: Thu Jan 24, 2008 5:01 am Post subject: |
|
|
It's really more of a PocketPC than a phone. I thought Java was platform independent. I seem to have an issue just getting the program to open. Playback at this stage is understandably iffy. I'd just like to see what it can do. |
|
| Back to top |
|
 |
Immortal Grandmaster of C64

Joined: 13 Oct 2004 Posts: 4679
|
Posted: Thu Jan 24, 2008 6:05 am Post subject: |
|
|
it's platform independent (well, in theory) yes, but it still needs a lot of computing power =) _________________ |
|
| Back to top |
|
 |
Über Groupie

Joined: 01 Jun 2005 Posts: 377
|
Posted: Thu Jan 24, 2008 10:26 am Post subject: |
|
|
Here some example that is completely broken in emulators with reSID.. (Vice, Java/Sidplay...) It only plays correct on a real machine.
http://www.file-upload.net/dow...b.sid.html |
|
| Back to top |
|
 |
Groupie


Joined: 10 Dec 2007 Age: 39 Posts: 239 Location: Berlin
|
Posted: Thu Jan 24, 2008 11:08 am Post subject: |
|
|
| nata wrote: |
Btw. I testet the latest beta. Looks nice. Especially "Tune Speed" is a useful feature. When I play songs that were made in "25Hz" mode I get some wired speed value like "0.0-4.9E-324". Is this correct?
|
Please, give me a hint, wich tune it is. I tested many of Jeffs multispeed songs and some others and did not find such unusable values.
| nata wrote: |
Maybe, could you include Lasse's SIDid from http://covertbitops.c64.org ? So, it would be possible to display the playroutine's name from the music.
|
I will look at the sources...
| nata wrote: |
Hmm. The only thing I bother is the really high CPU usage (60% and more). I very often get serious slowdowns on my Pentium 4 running at 1800 MHz. (Especially if Digis are involved)
Does the "OptimiseLevel" activates resampling or interpolation?
I use VICE with reSID interpolation and it takes only 2-5% CPU time. If I use fast resampling in Vice CPU usage is more or less the same as in Java Sidplay.
|
I will make the graphical output optional, then the CPU will consume about 20% instead of 60%.
The original is around 2% as far i know, but this must be the difference C vs Java, because it is as close as possible to the original source code. I think the Java sound API is the most expensive part.
Optimisation level. (default: 0)
Optimisation 0 - C64 emulation is kept fully cycle synced at all times.
Optimisation 1 - Allows the CPU to run by itself and only regains sync with the Sound Interface Device (SID) when a sample is required. This reduces sound accuracy.
About the sampling method (there are 4 types: SAMPLE_FAST, SAMPLE_INTERPOLATE, SAMPLE_RESAMPLE_FAST, SAMPLE_RESAMPLE_INTERPOLATE)
Java SIDPLAY implements all of them, but SAMPLE_FAST is used, then.
I measure everytime around 20% CPU time and my ear cant get the difference.
| nata wrote: |
Anyway, would it be possible to place the sidplay2.ini in the same folder as the .jar file?
|
I can read it from the current working directory first, if that fails, i read it from users home dir, OK? |
|
| Back to top |
|
 |
Über Groupie

Joined: 01 Jun 2005 Posts: 377
|
Posted: Thu Jan 24, 2008 11:19 am Post subject: |
|
|
| Quote: | Please, give me a hint, wich tune it is. I tested many of Jeffs multispeed songs and some others and did not find such unusable values.
|
I used some own test tune, but this one should work too: http://www.c64.org/HVSC/MUSICI...-speed.sid
| Quote: | About the sampling method (there are 4 types: SAMPLE_FAST, SAMPLE_INTERPOLATE, SAMPLE_RESAMPLE_FAST, SAMPLE_RESAMPLE_INTERPOLATE)
Java SIDPLAY implements all of them, but SAMPLE_FAST is used, then.
I measure everytime around 20% CPU time and my ear cant get the difference. |
Doesn't SAMPLE_FAST cuts away all the high frequencies and produces bad sounding combined waveforms? (This happens with sidplay2/w... f.ex) |
|
| Back to top |
|
 |
Groupie


Joined: 10 Dec 2007 Age: 39 Posts: 239 Location: Berlin
|
Posted: Thu Jan 24, 2008 4:02 pm Post subject: |
|
|
| nata wrote: |
Doesn't SAMPLE_FAST cuts away all the high frequencies and produces bad sounding combined waveforms? (This happens with sidplay2/w... f.ex) |
I am no emulator specialist,
so tell me, which setting i should use by default and
better tell me a sound example, where i can hear the difference.
I want to use best sound reproduction by default. |
|
| Back to top |
|
 |
Groupie


Joined: 10 Dec 2007 Age: 39 Posts: 239 Location: Berlin
|
Posted: Thu Jan 24, 2008 7:02 pm Post subject: |
|
|
| nata wrote: |
Maybe, could you include Lasse's SIDid from http://covertbitops.c64.org ? So, it would be possible to display the playroutine's name from the music.
|
Ok, i added player ID to the beta version and fixed the tune speed.
Now it shows min/max values and i hope its better now.
The INI file is now searched in current working directory first.
But ouch i found a tune that sounds strange (Arkanoid as PSID version),
but i didnt find the bug for now.  |
|
| Back to top |
|
 |
Groupie


Joined: 11 Feb 2002 Posts: 266
|
Posted: Thu Jan 24, 2008 7:14 pm Post subject: |
|
|
| kenchis wrote: |
I am no emulator specialist,
so tell me, which setting i should use by default and
better tell me a sound example, where i can hear the difference.
I want to use best sound reproduction by default. |
A prime example is darwin.sid. _________________
C64C + 1541-II, or Hoxs64 as an accurate equivalent.
Visit hvsc.c64.org for the most comprehensive SID collection. |
|
| Back to top |
|
 |
|