The vOICe Java Application

Sonify images or create spectrograms from any URL address, and more...


« The vOICe Home Page
« The vOICe's On-Line Sonification Applet

Application: The vOICe Java auditory display can not only be run as an applet (i.e., embedded in an HTML page, and viewed with a browser or appletviewer), but also contains additional Java code that allows the program to be run as a stand-alone platform-independent application using a Java interpreter or bytecode compiler. Moreover, running The vOICe Java application offers additional functionality not present in the applet. For instance, it allows you to save your freshly created soundscape in .wav format via The vOICe pull-down menu options. With suitable phones, or else through third-party ringtone converter software, this may be used to create your own unique ringtones. You can now also more easily load .gif or .jpg image files for sonification and .wav or .au files for spectrographic analysis via pop-up file requesters. Furthermore, you can specify sample rates from 8 kHz up to 96 kHz, while the direct Java audio output is by default 16-bit 22.05 kHz hifi stereo with the latest Java engines. You can choose to save the .wav files as mono or stereo, using either 8-bit or 16-bit sound samples. With the default start-up parameter settings, files are saved as 32 kHz 16-bit (hifi) stereo. Note that the stereo in sounds as displayed and saved by The vOICe application is not the stereo as read from a .wav file, since The vOICe uses stereo to support perception of left-to-right column scanning. In case you love terminology: using headphones, mono sound is equivalent to what is called a diotic situation in the psychophysical literature, meaning that both ears receive the same sound, whereas stereo corresponds to a dichotic situation. If you listen to the resulting stereo sound files, make sure that any 3D stereo enhancement of the sound card is disabled for best left/right channel separation. [For example, on one old PC with Windows-95 and a Soundblaster card, this meant unchecking the "Enable Creative 3D Stereo Enhancement" checkbox in Control Panel | System Properties | Device Manager | Sound, video and game controllers | Creative Labs Sound Blaster 16 Plug and Play | Settings. If this gives a scratchy sound even at rather low volume settings, try fixing that with a new Soundblaster  driver.] Further sound processing and format conversions can be done with tools like  GoldWave or  Cool Edit (for Microsoft Windows) and  SoX (for DOS and UNIX). Beware that some sound editors/players put restrictions to the sample rates in reading .wav files: some commonly supported sample rates are 8000, 11025, 16000, 22050, 32000, 44100 and 48000 Hz, although The vOICe Java application allows you to select any value between 8000 and 96000 Hz. Recommended values for software compatibility are 8000, 22050 and 44100 Hz. Your soundscape drawing can be grabbed/captured and saved using a suitable graphics program. An existing image can be loaded from disk using a file address like file:C:/mypath/myimage.gif  (or else via the file requester to avoid typos), where C: is the typical drive letter for the hard disk of a PC. It is also possible to both save and restore images created with The vOICe Java application using a special .oic ASCII format, thus allowing you to save your current sound drawing and continue editing at some later time. The .oic format specifies a string array that is very suitable for inclusion in Java or C programs for further pre- and postprocessing. Stay tuned for forthcoming further upgrades!

Get Java runtime Instructions: After downloading and long-file-name-unzipping javoice.zip to obtain the three JavOICe files "The_vOICe.class", "vOICeFrame.class" and "vOICeStream.class", open a DOS shell, for instance via Start | Run | cmd, where the "cmd" is typed in. Typed commands such as "cd c:\" can then be used to change the current directory. Next, the free Sun  Java runtime environment (JRE) can simply be run from the command line by typing

     java The_vOICe

in the directory where you unzipped javoice.zip, or, if you want to run the application full screen, type

     java The_vOICe  -screensize

If you do not have the JRE executable java.exe in your PATH environment variable, you can just locate it yourself and instead use the full path reference, as in

     "C:\Program Files\Java\jrexxxxx\java" The_vOICe  -screensize

(here with double quotes because of the space in the path, while xxxxx is some JRE version number).

Note that you can also install The vOICe Java application along with the Java runtime environment (JRE) on a memory stick (USB drive, flash drive), such that you can easily move it among different computers without further installing anything! Even though installing the JRE directly to the memory stick may not work, you can just install it on a PC and when done copy the entire JRE folder to the memory stick. Thus, if your memory stick has for instance drive letter H, you can copy the content of

     C:\Program Files\Java\jrexxxxx\

to a memory stick folder like

     H:\jrexxxxx\

where the xxxxx is some JRE version number. If you then put the three unzipped JavOICe files "The_vOICe.class", "vOICeFrame.class" and "vOICeStream.class" into a folder such as H:\myfolder\ of your memory stick, you can use a simple batch file javoice.bat on your memory stick containing only the line

     \jrexxxxx\bin\java -cp \myfolder\ The_vOICe

(now without any drive letters because these will later on vary with the host PC), and this batch file javoice.bat will then launch the JavOICe Java application:

JavOICe batch file window

JavOICe application window
Note: soundscapes do not sound under Java 8 due to an unidentified bug in Java 8. Java 6 & 7 are fine

Parameters: Apart from the -screensize option, a number of other parameters can be set at startup through command-line options of the form PARAMETER=value (without any spaces around the "="!). Example: java The_vOICe M=32 N=10 . In this manner, you can set NFRAME, M, N, FL, FH, FS, T, REFRESH, D, WINDOW, BINAU, CLICK, GRID, CIW, DSI, URL, OIC, NEG and QUIT. The function of most of these parameters is described in the <Reset> menu. In addition, setting the URL parameter will automatically start
About Java applications in general: If you install a Java interpreter or compiler for the first time, make sure the current directory "." (a period, without the quotes) becomes one of the search paths in your CLASSPATH environment variable, and reboot after changing anything. E.g., for Microsoft Microsoft Windows, something like SET CLASSPATH=C:\java\lib;.
(including the period, and with any extra paths separated by semicolons) must exist in your autoexec.bat file, and for UNIX something similar to setenv CLASSPATH /java/lib:.
(beware of the subtle syntactical differences) should be part of your login script.
processing the file at this URL address. The OIC and NEG parameters, with values 0 or 1, (re)set the corresponding checkboxes. In case the OIC and NEG options do not quite suit your needs, you should realize that you can apply any image processing algorithm yourself by first modifying the image files with third-party tools before loading them into The vOICe application. For instance, you could create a negative image file and load that instead of using the NEG option, but you could also zoom in by cropping part of an image file. The QUIT vOICe parameter determines the number of seconds the sonification of an image file, once ready, should last, before quitting the application automatically.

Camera input: Using a nonzero value for the REFRESH parameter, you can instruct The vOICe application to reload (refresh) image files after a specified time interval. So if you have a webcam that you can instruct to save new image files on your computer, these files can then be repeatedly read and sonified by The vOICe application. This approach should in fact work for any input device with software capable of writing .gif or .jpg image files.

About firewalls: If you are running the application from behind a firewall, you may have to specify an HTTP proxy or a SOCKS host to overcome security restrictions in accessing remote files, through defining java-options like those in

     java  -DProxyHost=myproxyhost  -DProxyPort=1080  The_vOICe

or

     java  -DsocksProxyHost=mysocksproxyhost  -DsocksProxyPort=1080  The_vOICe

with appropriate values put into the assignments. Also see the discussion on appletviewer in the Java limitations page.

Copyright © 1996 - 2024 Peter B.L. Meijer