On this page you will find the binary version of the Java implementation of sound/tracks
and instructions on how to use it.
sound/tracks is software written and distributed by Peter Knees
and Tim Pohle
, Department of Computational Perception, Johannes Kepler University Linz, Austria.
Supported operating systems:
- Windows XP or Vista
- Linux (should work if you can get Video4Linux to work with your Webcam and JMF)
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
sound/tracks can be started with the following command:
java -jar soundtracks.jar
java -jar soundtracks.jar [OPTION] [MEDIA_LOCATOR_URL] java -jar soundtracks.jar -about
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)
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.
display information and copyright and exit
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?
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
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.
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.
grants you ("Licensee") a non-exclusive, royalty free, license to use,
modify and redistribute this software in source and binary code form,
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