jAudio: Buffered Sound Class
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.
引用格式
Kesh Ikuma (2024). jAudio: Buffered Sound Class (https://www.mathworks.com/matlabcentral/fileexchange/28394-jaudio-buffered-sound-class), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
- Signal Processing > Audio Toolbox > Audio I/O and Waveform Generation >
- MATLAB > Data Import and Analysis > Data Import and Export > Standard File Formats > Audio and Video Data > Piano sounds >
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!