On this page you will find the binary version of the Java implementation of
sound/tracks and instructions on how to use it.
Contents:
About
sound/tracks is software written and distributed by
Peter Knees and
Tim Pohle, Department of Computational Perception, Johannes Kepler University Linz, Austria.
System Requirements
Supported operating systems:
- Windows XP or Vista
- Linux (should work if you can get Video4Linux to work with your Webcam and JMF)
- Mac
OS X only works with pre-recorded videos (i.e., live sonification
from a Webcam is not possible due to the lack of JMF video capturing
capabilities). See Usage section on how to do that.
Optionally you may consider to add José San Pedro Wandelmer's
FOBS - FFMpeg JMF Bindings to your classpath to (drastically) increase the number of JMF supported video codecs. (Props to José for this! Keep up the good work!)
To hear the generated sounds under Mac OS X and Linux, you may need to perform additional steps (see
Q&As).
Download
soundtracks.jar (40KB)
Usage
sound/tracks can be started with the following command:
java -jar soundtracks.jarOptional parameters:
java -jar soundtracks.jar [OPTION] [MEDIA_LOCATOR_URL] java -jar soundtracks.jar -aboutwhere
OPTION is one or more of the following parameters
-left|-right indicate movement direction of the train; if not specified user will be prompted
-promptmidi display list of available MIDI devices to select output device
-yuvinput
indicate that the camera delivers YUV encoded frames
(try this if Java refuses to work with your Webcam)
-savescoredir PATH PATH where segments of the generated Score Images will be stored (if not given, Score Images won't be saved)
MEDIA_LOCATOR_URL
is a path to the video source (according to JMF's MediaLocator URL
format). If not specified, sound/tracks will list all registered video
capture devices and ask which to use. If no registered devices are
found, it may be necessary to specify the path to the Webcam. Under
Windows this path is vfw://0 for the first device (high probability that's the desired one), vfw://1 for the second, etc. Under Linux, the format is v4l://0.
Alternatively, also paths to video files that contain a prerecorded
train journey can serve as input. In this case, the format is file://path_to_video_file.
-about
display information and copyright and exit
Q&As
The
following hints are just guidelines to get things running. There are
probably much niftier solutions to these problems. However,
these seem to work somehow and may help you (in case you don't know what to do anyway).
How to hear the generated MIDI sound under Linux?
Assuming
you don't have a hardware MIDI device that will do the synthesis for
you, you will need to provide a virtual MIDI port (try something like
modprobe snd_virmidi) that you have to select as output via the
-promptmidi option. That MIDI port should then be connected to a synthesiser (e.g., by using a combination of
JACK and
Rosegarden).
How to hear the generated MIDI sound under Mac OS X (>10.4.8)?
To access Mac OS X's CoreMIDI system from Java, the
mmj
library is the solution. Adding the contained jar file to your classpath
will give you additional MIDI port options under Java. Select one of
those via sound/tracks'
-promptmidi option and open, e.g., GarageBand for MIDI synthesis.
Copyright
Department of Computational Perception
Johannes Kepler University Linz, Austria
© 2007-2008. All Rights Reserved
Use at own risk.
sound/tracks uses a modified version of FrameAccess.java by Sun Microsystems, Inc., hence the following copyright notice:
FrameAccess.java 1.5 01/03/13
Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
Sun
grants you ("Licensee") a non-exclusive, royalty free, license to use,
modify and redistribute this software in source and binary code form,
provided
that i) this copyright notice and license appear on all copies of the
software; and ii) Licensee does not utilize the software in a manner
which is disparaging to Sun.
This software is provided "AS IS,"
without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS,
REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT,
ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY
DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This software is
not designed or intended for use in on-line control of aircraft, air
traffic, aircraft navigation or aircraft communications; or in the
design, construction, operation or maintenance of any nuclear facility.
Licensee represents and warrants that it will not use or redistribute
the Software for such purposes.>>
Back to sound/tracks Project Page