« The vOICe Home Page

License & Installation

Instructions for Web Site Developers

License:

Note that this license only applies to the current v0.xxx and v1.xx versions of The vOICe Java applet/application, and conditions may change for future versions. Also, this is a research project, with a disclaimer about any damages or harm that use of this software might cause through inappropriate use, just like you shouldn't attempt to dry your cat in the microwave oven.

You may freely and without cost copy and install The vOICe Java applet/application for non-commercial purposes on your own public web site or intranet, provided that you fulfill the following license conditions:

License Conditions

  1. You send a note informing of the URL(s) or intranet where you install The vOICe Java applet/application.

    In case of a URL, it also allows for linking back to your site if it is considered a worthy contribution that might highlight or stimulate further development of The vOICe approach.

  2. You acknowledge the author of the software, Peter Meijer, on the URL page(s) where you install The vOICe Java applet/application, and add a URL link back to the JavOICe page at for example as done in the HTML code

    The vOICe Java applet/application written by
    which would show as

    The vOICe Java applet/application written by

    on your page.

  3. You will not charge a fee or request donations for The vOICe Java applet/application, nor distribute or include the applet/application in commercial products, nor modify or reverse engineer the applet/application.

  4. You will not display any ads on your pages with The vOICe Java applet/application.

  5. The vOICe Java applet/application will not be applied for, or in the context of, offensive or sexually explicit material.

If commercial application or distribution of The vOICe Java applet/application is desired, this is not covered by the above license, and you will need to write for a separate explicit agreement.


Installation instructions:

Download javoice.zip, and apply a long-file-name unzip to obtain the three .class files, The_vOICe.class, vOICeFrame.class and vOICeStream.class, that you will have to put on your web site together with an HTML page containing code that embeds the applet. [If you don't have a long-file-name unzip program, you can also directly download the uncompressed files The_vOICe.class, vOICeFrame.class and vOICeStream.class.]

Put the JavaScript code

<script language="JavaScript">
<!--
var vOICeIndex = location.href.lastIndexOf('\\');
if (vOICeIndex<=0) vOICeIndex = location.href.lastIndexOf('/');
var vOICePath = location.href.substring(0,vOICeIndex+1);
// -->
</script>

near the beginning of your HTML page to define path variables that are used in calling the applet - here including some tricky adaptations that deal with browser variations. The HTML code needed to actually include The vOICe Java applet on your page looks like

<Center>
<applet code='The_vOICe.class' name='JavOICe' width=640 height=525>
<param name="NFRAME"  value=     "1">
<param name="M"       value=    "64">
<param name="N"       value=    "64">
<param name="FL"      value=   "500">
<param name="FH"      value=  "5000"> <!-- Maximum value is FS/2 -->
<param name="FS"      value= "22050"> <!-- Forced to 8000 if Java version < 1.2 -->
<param name="T"       value=   "1.0">
<param name="REFRESH" value=   "0.0"> 
<param name="D"       value=     "1">
<param name="WINDOW"  value=     "2">
<param name="BINOC"   value=     "0">
<param name="BINAU"   value=     "1"> <!-- Forced to 0 if Java version < 1.2 -->
<param name="CLICK"   value=     "1">
<param name="CIW"     value=   "0.2">
<param name="DSI"     value=     "2">
<param name="URL"     value=      "">
</applet>
</Center>

Make sure that you do not omit any of the above param tags, because the applet will reset all parameters to their default values if one or more tags are either wrong or missing. You can also use JavaScript code in your HTML page to communicate parameters to the applet. For example, to sonify an image myimage.gif, you would use HTML/JavaScript code like (long lines!)

<A HREF="JavaScript:document.JavOICe.SetPar('',''); document.JavOICe.SetPar('URL',vOICePath+'myimage.gif'); document.JavOICe.Restart(true);"
   OnmouseOver="window.status='Click to sonify myimage.gif'; return true;">
   <IMG SRC="myimage.gif" ALT="My image" BORDER=0>
</A>

where the SetPar('',''), using empty arguments surrounded by single quotes, first resets all parameters to their defaults, the SetPar('URL',vOICePath+'myimage.gif') passes the URL of your image to the applet, and the Restart(true) restarts the applet with the new settings to load your myimage.gif image. The basic "param" parameter values are always passed in the form of strings.

Of course you may decide to develop more advanced JavaScript functions for your own applications. For that purpose several other functions exist for communication with the applet. For instance, the function GetPars() can be used to retrieve a string with all current parameter settings, while the function vOICel(ix,iy,g) can be used to set a grey value g (integer between 0 and 15) at integer position (ix,iy), or just find the current grey value as the return value for g<0. Beware that validity of parameter types and values is in general not checked by the applet, so it is up to you to ensure that you always supply proper values or else the applet may crash. See the HTML source of the javoice.htm page for various examples of JavaScript source code for controlling the applet.

For specialized applications, Javascript programmers can make use of the JavOICe function SetPhi(int i, float phi) to set initial phases (in radians) of individual tones i at time zero, or use the function SetFrequency(int i, float f) to override individual frequencies (in Hz) after calling the Restart(false) function, and next call RePaint() to ensure that the graphics are correspondingly updated.

Disclaimer: THIS PRODUCT (The vOICe Java applet/application) IS PROVIDED AS IS WITHOUT ANY WARRANTY OF ANY KIND. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, PETER B.L. MEIJER FURTHER DISCLAIMS ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY IMPLIED OR STATED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THIS PRODUCT AND DOCUMENTATION REMAINS WITH RECIPIENT. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL PETER B.L. MEIJER OR HIS SUPPLIERS BE LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, DIRECT, INDIRECT, SPECIAL, PUNITIVE, RECURSIVE, OR OTHER DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, PERSONAL INJURY, DISRUPTION OF FAMILY LIFE, OR OTHER PECUNIARY LOSS) ARISING OUT OF THIS AGREEMENT OR THE USE OF OR INABILITY TO USE THE PRODUCT, EVEN IF PETER B.L. MEIJER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO THE RECIPIENT. LET IT BE KNOWN THAT THE USER OF THIS PROGRAM HAS PAID PETER B.L. MEIJER THE SUM TOTAL OF $0.00 FOR THE USE OF THIS PROGRAM. ANY DAMAGES AWARDED SHALL NOT BE IN EXCESS OF SAID AMOUNT.

Note: The vOICe Java applet/application is intended for educational uses, while its effectiveness or benefit has not been independently demonstrated and formally validated. It is not intended to diagnose, treat, cure, or prevent any disease or condition.

Copyright © 1996 - 2024 Peter B.L. Meijer