File Exchange

image thumbnail

jAudio: Buffered Sound Class

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

5 Downloads

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.

Comments and Ratings (1)

William

Excellent. I really didn't want to pay for the toolbox just for this functionality.

Good example of calling java directly in Matlab.

Updates

1.1.0.0

Edited the submission information

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