image thumbnail

jAudio: Buffered Sound Class

version (11 KB) by Kesh Ikuma
A java-based MATLAB class for buffered sound playback


Updated 05 Aug 2010

View License

The one of the drawbacks of the MATLAB (built-in) sound function is its incapability of smooth playback of multiple soundbites. When multiple soundbites are played back-to-back, there are unavoidable pauses between them. AFAIK, the Mathwork's only solution to uninterrupted continuous sound playback is to use DAQ Toolbox ($$$).

jAudio class enables the uninterrupted sound playback by directly interfacing with Java Sound APIs. The sound samples are queued to the internal buffer when "play"ed, allowing smooth playback of multiple soundbites.

jAudio class is fully documented. Users are referred to the help text for the class usage (it includes an example code.)

Also, to demonstrate its capability, a GUI demo (jaudio_demo.m) is included in the submission. The GUI has a (one-octave+) piano keyboard (C4-E5) that can be played either by clicking left mouse button on the piano keys on the GUI or pressing the bottom two rows of the PC keyboard keys. Multiple notes can be played simultaneously, although the total number of simultaneous notes playable depends on the OS.

Each note is a pure sinusoidal tone, generated at 8-kHz sampling rate. The internal buffer is 50 ms long and is filled by a pair of timer and jAudio objects.

Cite As

Kesh Ikuma (2022). jAudio: Buffered Sound Class (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!