Sound
Thinking

 
 
Have you ever wished someone would do some Sound Thinking and Think About Sound? Not just any sound, but Web Sound. Not like the Cloud of Doom over Sound, forcing every one to download a four megabyte plug-in, but a Sound Idea?
Here it is.
 
Easy - Sound
Load and play sounds.

Download Package (easysound.zip)

Download Package contains:

  • Documentation
  • The "plug-in" - The .class file
  • Medium - SoundExt
    Load, play, loop, and stop sounds.

    Download Package (mediumsound.zip)

    Download Package contains:

  • Documentation
  • The "plug-in" - The .class file
  • Hard - SoundCtrl
    Load, play, loop, stop, turn on,
    turn off, and querry on/off state.

    Download Package (hardsound.zip)

    Download Package contains:

  • Documentation
  • The "plug-in" - The .class file
  • The source - The .java file
  • On/Off Icons
  • Special - SoundSingle
    Load, play, loop, stop, turn on,
    turn off, querry on/off state,
    and load (only one sound).

    Download Package (singlesound.zip)

    Download Package contains:

  • Documentation
  • The "plug-in" - The .class file
  • The source - The .java file
  • On/Off Icons
  • Sounds - ThinkingSounds
    A list of over 500 sounds to download
    as well as other places to look
    (89K) ThinkingSounds

     

    What it Is History Size / Time
    Details Sound Format Java Rant

    What it Is - Play sounds in script.
          This system allows you to play sounds on your web page using scripts. You just paste in some html code and provide the sounds. It works by placing a small Java applet on your page and then telling it where your sounds are. Then, you can play the sounds in responce to any event using JavaScript or VBScript. The system was designed so that if for some reason a computer cannot play the sounds it fails quietly without throwing a fit.

    History - This is simple.
          The ability to do this has been around for a long time, and I'm suprised it hasn't been invented before now. It will work with Navigator 3.0 and up and Internet Explorer 4.0 and up (as well as any other Live Connected browser that has JavaScript1.1 or better). If the browser doesn't support it, an extrodinary thing happens. Nothing. No error messages. No annoying pop ups telling the user obvious things they may not want or be able to fix. And no huge downloads of plug-ins or scripts.

    Size / Time - 3K / 1sec extra per page average.
          The entire "plug-in" part is 1027, 1213, or 1517 bytes, depending on which you use. Yes, that is bytes. In other words they are less than 2K. On average the total amount of added text to specify which files to play and when adds about 2K-3K extra to an .html file. As the sounds and "plug-in" are normally cached by the browser, they only need to be downloaded once. So, on average the viewer of your web page will only wait for an extra 3K per page. This is about an extra second of dowloading time for each page on a 28.8bps modem.

    Details - This is a Java applet.
          Note that by "plug-in" I mean a small applet (Java class file) that requires no instalation. It does not throw up any annoying "Download this Plug-In Now" box. It is just another Java applet that is quite small and tries not to crash anyone's computer. It does not take up any screen real estate, or use Java's slow graphic interface, the standard thing to do is make the applet 1 pixel by 1 pixel and hide it somewhere. It is written to work with the earliest version of Java (there are now three different versions), and was optomized and compiled by the standard compiler (javac SDK1.0.1).

    Sound Format - 8000Hz 8bit Mono µLaw encoded .au.
          Now for the downsides. Due to the way Java works, the only sound type supported is 8000Hz 8bit Mono µLaw encoded .au files. The sound isn't exactly CD quality, but is still quite usable. There are many software packages to convert other sound files like .wav and even raw sound to .au. For a list see the more stuff page. Newer versions of Java (1.2) also allow the use of wav, midi, and other sounds. However, it will be a long time before the majority of users have access to it. If you do use these sounds and they are not supported by the version of Java at the users end, the user will recieve error messages instead of sounds. I can make a work around for this, where if the sound is not supported it will not be played instead of ranting and raving. However, I consider MIDI support to be fine for now (considering everyone hates it as few have real synthesizers, soft or hard) and wavs far too large. I will make such a beast in the future if bandwidth on the net increases from 56K.

    Java Rant - Java is slow to load.
          The one large time drawback is that if your site is the first a user has seen that uses Java, the browser must initialize the Java virtual machine. This is the reason for the "Starting Java..." message in the status bar that seems to take forever and announce that most likely the site ahead has something pointless on it. If you use this sound system you sould keep your main enterance page small. This is not a problem for this sound system alone, because any system that allows you to specify sounds in JavaScript requires Java because of the way the guts of current browsers work.