sound : Java Glossary

go to home page S words local find full screen, hide local find menu Google search web for more information on this topic jump to foot of page translate this page with Babelfish 2008-01-21 by Roedy Green ©1996-2008 Canadian Mind Products
index page for letter ⇒ punctuation 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (all)
sound
The official Java sound interface is called JMF. It can play many audio and video file formats including MP3. The catch is, the user has to download and hook up the JMF jar files to make it work. So you might want something simpler.
Introduction Sound Files Used On This Site
Playing A Sound with javax.sound.sampled Canned Sound Sources
Applet Sound Learning More
Sythesizing Sound Mathematically Links
Common Sound File Types

Introduction

I have posted some source code to create sounds mathematically, i.e. create AU files in RAM and play them with sun.audio.AudioPlayer.start. If you feed it a Math.sin wave for example you will hear an smooth continuous tone of the same frequency as the sine wave. You can create any theoretically possible sound. All you need is a way of mathematically describing it, or providing a list of amplitudes. sun.audio is not an official class. It is accessible in Applets in JDK 1.1, not in JDK 1.2, but is now back again in JDK 1.4.

You can also play *.au, *.wav, *.midi and *.aiff files with java.applet.AudioClip.play. For *.au files use G.711 µ-law format did not originally support PCM. Originally, you could use only 8-bit, 8000Hz, single-channel (mono) NEXT/Sun *.au files with G.711 µ-law compression.However JDK 1.6.0_10 does play PCM_SIGNED 8000.0 Hz, 8 bit, mono, and perhaps other JDKs do as well. If your files are in other formats such as *.mp3, you can use a utility like Goldwave to convert them. Unfortunately, not all *.wav files or all *.midi files will play. You just have to test them.

Using AudioClip, I have managed to get *.wav and *.au files to work on Vista, but not *.midi or *.mp3.

RealPlayer is required for *.ra files. AudioClip has been around since JDK 1.0.

You can use javax.sound.midi to play MIDI files. It has been around since JDK 1.3.

You can use javax.sound.sampled.SourceDataLine can be used to merge sampled datastreams and play a variety of sound files. It has been around since JDK 1.3.

Playing A Sound with javax.sound.sampled

This technique works both in Applets and applications. It is suitable also for very large sound files. This code will let you play sound in the background while your program continues computing and responding to GUI events.
Possible formats include AudioFormat.Encoding. PCM_SIGNED, PCM_UNSIGNED, ULAW and ALAW. PCM Pulse Code Modulation is the most widely supported. It is simple linear sampling without any sort of compression. CDs use 16 bit PCM. Possible file types include: AudioFileFormat.Type. AIFC, AIFF, AU, SND and WAVE. Third parties can add support for other types, e.g. MP3. I have a horrible feeling that what is supported depends entirely on the capabilities of the native sound driver on any particular platform. This is not at all WORA. You can find out what your current platform support with Mixer. getSourceLineInfo. That gets you Line. Info[] which you can display with Line.Info. toString. You can’t get at the individual properties.

Applet Sound

Applets can play *.au files, (and *.wav files in Windows) this way:
AudioClip.play is not very bright. If you call it while a sound is playing, it will not wait for that first sound to complete. It plays the two sounds on top of each other. Here is a technique to introduce time delays to avoid overlap.
In a similar way, you can use javax.sound.midi to play midi files.

Synthesizing Sound Mathematically

Common Sound File Types

Audio Format MIME Type And Extensions Associated With Them
Extension MIME Type Alternate MIME Types Notes
3gpp audio/3gp   audio only, also 3gp
aac audio/aac audio/MP4-LATM, audio/x-aac, audio/x-mp4 Apple QuickTime compressed audio used in iPods
aif audio/x-aiff   MacIntosh sound
aifc audio/x-aiff   MacIntosh sound
aiff audio/x-aiff   MacIntosh uncompressed sound
asf video/x-ms-asf   Microsoft media audio and/or video
au audio/basic audio/x-pn-au standard Unix/Internet/Java uncompressed wave sound
avi video/avi video/x-msvideo earlier Microsoft video format. avi movie, works with Winamp (best), MS Media Player (often audio only), or QuickTime (in theory)
cht audio/x-dspeech    
dus audio/x-dspeech    
es audio/echospeech    
gsd audio/gsm    
gsm audio/gsm    
kar audio/midi    
m3u audio/x-mpegurl    
m4a audio/mp4   M4A Audio
mid audio/x-midi audio/midi MIDI sound
midi audio/x-midi audio/midi MIDI sound
mp2 audio/mpeg audio/x-mpeg  
mp3 audio/mp3 audio/mpeg, audio/x-mp3, audio/x-mpg mp3/mpeg compressed audio. Popular format for portable music players.
mp4 video/mp4    
mpeg video/mpeg   mpeg movie player
mpga audio/mpeg    
ogg audio/x-oggvorbis application/ogg encapsulation for Vorbis non-proprietary audio or video.
ra audio/x-pn-realaudio   Real Audio
ram audio/x-pn-realaudio   Real Audio
rm audio/x-pn-realaudio application/vnd.rn-realmedia Real Audio
rmf audio/rmf audio/x-rmf  
rmm audio/x-pn-realaudio    
rms audio/x-realaudio-secure    
rpm audio/x-pn-realaudio-plugin   Real Audio
snd audio/basic   standard Internet/Java wave sound
stream audio/x-qt-stream    
tsi audio/tsplayer    
vox audio/voxware    
vqe audio/x-twinvq-plugin    
vqf audio/x-twinvq    
vql audio/x-twinvq    
wav audio/wav audio/x-pn-windows-pcm, audio/x-wav Microsoft wave uncompressed sound files
wax audio/x-ms-wax   Microsoft compressed audio
wma audio/x-ms-wma   Microsoft compressed audio
wmv video/x-ms-wmv   Microsoft compressed video. Play with Windows media Player or Winamp. Winamp lets you slide forward and back.
wtx audio/wtx    
xaml application/xaml+xml   Silverlight

Sound Files Used On This Site

Audio Links Legend
streaming or downloadable
Click corresponding icon to download player.
Real Audio click to listen
compressed mp3 click to listen
super compressed mp4 click to listen
Microsoft Media Player click to listen
MIDI music files click to listen
uncompressed au click to listen
Microsoft uncompressed wav click to listen
unknown click to listen
transcript click to watch

Canned Sound Sources

Windows stores its *.wav files in C:\WINNT\media or C:\Windows\Media These are the sound effects you hear on error, on incoming mail etc. I find them easier to configure if you listen to them, then copy them with a name meaningful to you. Ones I find useful for configuring for non-system purposes include:
Euphonious Windows Sounds
Sound Name Comments
MUSICA~1.WAV Sounds a bit like the opening to a jazz song, with bass strings.
MUSICAOP.WAV quick short rising scale. Like someone sitting down to a piano and just doing a quick warmup.
MUSICAWI.WAV Like the short musical signature TV networks use.
MUSICACL.WAV Like a strum on an out of tune autoharp.
Utopia Restore Up.WAV sounds like a camera click.
Utopia Critical Stop.WAV Like a cork popping.
Utopia Asterisk.WAV Ding Dong
MUSICA~2.WAV resonant thunk
MUSICAME.WAV Like a drum from India
Hardware Insert.wav 2-note synthesiser-like sound. Vista only.
Hardware Remove.wav 2-note synthesiser-like sound. Vista only.
Of course you can scan the net for WAV files to replace the Microsoft sounds, e.g. HAL saying human error.

Here are some places where you can find canned sounds: Microsoft extra sound schemes, SoundAmerica, FreeAudioClips.com, Sound collection links. Vista no longer comes with a rich set of sounds, so you have to find them on the web.

Learning More

Sun’s Javadoc on javax.sound.midi : available:
Sun’s Javadoc on javax.sound.sampled : available:
Sun’s Javadoc on java.applet.AudioClip : available:
Sun’s Javadoc on the getAudioClip method : available:
Sun’s Javadoc on the AudioFormat class : available:
Sun’s Javadoc on the AudioInputStream class : available:
Sun’s Javadoc on the AudioSystem class : available:
Sun’s Javadoc on the DataLine class : available:
Sun’s Javadoc on the SourceDataLine class : available:
Sun’s Javadoc on Mixer.getSourceLineInfo : available:
Sun’s Javadoc on Line.Info : available:
AU
beep
ClipStream
Crescendo
Freedom Audio
FreeSound: free to use sounds in any way want if you give attribution
Goldwave
Honk: a windows utility to generate sounds from the Windows command line
IMF
JavaZoom JGui: plays WAV, AU, AIFF, MP3, OGG VORBIS, FLAC, MONKEY’s AUDIO and SPEEX audio formats
JavaZoom MP3 player
JavaZoom vorbis OGG player
JFugue: Java music API
JMF: Java Media Framework
JSAPI
MIDI
MIME
MP-3
Philharmonia orchestra sound samples
Real Audio
Rhythm Tutor Student Project
SimpleAudioPlayer
sound-on-the-fly
Soundbite
Speaker: make tones on the built-in PC Speaker from Java
Sun Java Sound home
Tritonus: Java sound API alternative implementation
wav

CMP homejump to top
CMP logo
feedback Please email your feedback for publication, errors, omissions, broken/redirected link reports
and suggestions to improve this page to Roedy Green : feedback email
made with CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[65.110.21.43]
Your face IP:[38.103.63.62] The information on this page is for non-military use only.
You are visitor number 27,759. Military use includes use by defence contractors.
You can get a fresh copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/jgloss/sound.html J:\mindprod\jgloss\sound.html