The Virtual Sound Decoder (or "VSDecoder" or "VSD") is a new module that I am creating to add to the JMRI project. In brief, it's a module that provides sounds in response to throttle inputs, just like an actual hardware throttle does, except the sounds are played through your computer's speaker system instead of through a tiny speaker on the locomotive.
The sound models themselves are stored in a "VSD File", which is conceptually similar to a Digitrax SPJ file in that respect. The user can select one of several different sets of sounds, play sounds for multiple locomotives, and so on.
The VSD project isn't even far enough along to call it "Alpha" code yet, and hasn't been included in a JMRI release, though it's in the SVN repository, if you like.
If you'd like to take an AT YOUR RISK sneak peak of the function, I've taken a semi-random snapshot of the jmri.jar file and posted it here. There's likely to be all kinds of bugs and problems, and it may crash. Nevertheless, you may have some fun, and I'd appreciate constructive feedback.
WARNING: DO NOT USE THIS CODE TO PROGRAM LOCOMOTIVES OR DO ANYTHING ELSE POTENTIALLY DAMAGING
This code is NOT an official JMRI release, and may well be unstable. Use only in a "clean" environment, and ONLY to try out the Virtual Sound Decoder feature along with JMRI or hardware throttles. Any other use my screw up things you've spent months or years setting up (panels, rosters, operations, etc.). USE AT YOUR OWN RISK. YOU'VE BEEN WARNED!
I also strongly recommend you make a backup of your JMRI configuration files. The location of these files varies based on your Operating System. Refer to the JMRI documentation for details.
You can either play the bell and horn from the "sounds" tab, or by pressing "F1" or "F2" on your throttle. Hardware throttle buttons will not work on NCE cabs, unfortunately. They should work for Digitrax throttles, or for WiThrottle and EngineDriver smart-phone throttles.
There is no "off" button yet. To kill the sounds, you'll have to stop DecoderPro entirely.
Please note that this is very early-development code. It will crash, it will do odd things, it will not do things you think it should, and it will do things that it shouldn't. The transitions between sound elements (say, from notch to notch on the engine) will be very, very rough. Many of the example sounds are simply placeholders waiting for more appropriate noises.
Still, I think/hope there is enough here for you to get the general idea.
To log a Bug or a Feature Request, you can either use my Tracker Page or the official JMRI Tracker pages:
My Tracker:
JMRI Tracker:
Please keep in mind that the jmri.jar file included in this "sneak peek" is a fairly random grab from the current SVN tree. There are likely to be bugs and broken things all over the place. Please restrict your use of this sneak peek to evaluation of the VSD function ONLY, and do not expect it to operate flawlessly in any of the other aspects of JMRI usage.
The VSD file is simply a ZIP archive. You can examine its contents by un-archiving it. There is a config.xml file that describes how the sounds are to be used, plus a sounds directory that holds the actual WAV file clips. All of the sounds included in the example have been released under the GNU GPL2 license.