developed for |
hosted by |
MumboJumbo could be used:
MumboJumbo runs in one of three different modes:
The zip file contains the following:
File / Directory | Description |
---|---|
Readme.html | This file. |
index.* | Examples showing how to use MumboJumbo. |
classes/ | Contains all the Java packages and source code for MumboJumbo. |
samples/ | Sample wav files that demostrate the capabilities of this applet. |
Makefile | Used to compile all the source code. |
In your HTML file add an applet tag like this:
<applet code=com.voxeo.mumbojumbo.MumboJumbo codebase="/applets/MumboJumbo/classes/" width=200 height=100> <param name=soundfile value="/media/msg3.wav"> <param name=mode value=console> <param name=autoplay value=true> </applet>The codebase should be a valid reference to where you installed the applet.
See the examples section for more details on using this applet.
Examples
Understanding the source code
This is for those of you who would like to read or modify the source
code:
All the source is in the classes/ directory. There are three packages in this directory:
package com.voxeo.mumbojumbo: Contains the applet, a Utility class, and a TriggerWatcher thread class. The TriggerWatcher exists to listen for Javascript calls. This thread was necessary because of what seems to be a bug in both IE and Netscape browsers. In either case, if the Javascript function directly called the playAudio() function in the applet, the browsers would catch this as an access violation. Instead, if the Javascript function only called a function in the applet which set a flag or a trigger, and a seperate thread was watching this trigger, then everything would work fine.
package com.voxeo.mumbojumbo.player: Contains the Ulaw stream player, and its supporting objects. The Ulaw player sends the Ulaw stream to an internal AudioPlayer which talks to the local sound device.
package com.voxeo.mumbojumbo.decoders: Contains the various decoders which convert the various supported data formats into a Ulaw stream. The WAVDecoder object, uses the WAVHeader object to determine the type of WAV file, and then sends the input stream to the appropriate decoder. S2U.java contains a single table that is used in converting PCM to Ulaw data.
To do List
Here is whats next on my list of things to do for MumboJumbo (roughly
in order of priority):
Thanks
Last but not least I owe my deepest thanks to the following people:
Jutta Degener: I ported a part of her GSM library to create the GSM decoder in MumboJumbo. Jutta was also a tremendous help in trying to debug the GSM decoding code, and her great website of GSM resources helped me a lot in understanding GSM.
Christopher Edwards: Christopher wrote the first version of this applet which was initially intended to decode raw GSM.
Francois Souchay: I'm not that thankful about it anymore, but Francois is the one who gave me my first introduction to DSP.
Written by Omi Chandiramani