JAVA : Sound : Overview

Java Sound provides a very high-quality 64-channel audio rendering and MIDI sound synthesis engine that 

  • Enables consistent, reliable, high-quality audio on all Java platforms 

  • Minimizes the impact of audio-rich web pages on computing resources 

  • Reduces the need for high-cost sound cards by providing a software-only solution that requires only a digital-to-analog converter (DAC) 

  • Supports a wide range of audio formats 

The new sound engine is integrated into the Java Virtual Machine as a core library. 

Using the Java Sound Engine

JDK 1.2 enables you to create and play AudioClips from both applets and applications. The clips can be any of the following audio file formats: 

  • AIFF 

  • AU 

  • WAV 

  • MIDI (type 0 and type 1 files) 

  • RMF 

The sound engine can handle 8- and 16-bit audio data at virtually any sample rate. In JDK 1.2 audio files are rendered at a sample rate of 22 kHz in 16-bit stereo. If the hardware doesn't support 16-bit data or stereo playback, 8-bit or mono audio is output. 

There's no need to worry about the impact of audio-rich Web pages on computing resources. The Java Sound engine minimizes the use of a system's CPU to process sound files. For example, a 24-voice MIDI file uses only 20 percent of the CPU on a Pentium 90 MHz system. 

Accessing the Java Sound Engine

A full-featured Java Sound API is under development. This API will provide access to the underlying synthesis and rendering engine and will enable the creation of high-quality telephony and video conferencing applications. With the Java Sound API, professional musicians and sound designers will be able to develop new sounds that can be delivered over the Internet and used seamlessly with Java Sound. 

Java Sound and Java Media

Java Sound is part of the Java Media family, which addresses the increasing demand for multimedia in the enterprise by providing a unified, nonproprietary, platform-neutral solution for incorporating time-based media, 2D fonts, graphics and images, speech input and output, 3D models, and telephony in Java programs. By providing standard players and integrating these supporting technologies, the Java Media APIs enable developers to produce and to distribute compelling, media-rich content. 

Java Sound provides uniform access to underlying platform sound capabilities, enabling Java programs to read and write sampled and synthesized audio data. Higher-level services, such as compression, decompression, synchronization, streaming, container read/write, and network transport, are handled by the Java Media Framework (JMF). JMF provides a simple, unified way for Java programs to synchronize and display time-based data, such as audio and video. Sun's implementation of JMF uses the Java Sound engine to render audio data. 

Back to Java  Source code