« Back to blog

asioWavPlay for Matlab released

If you use Matlab for audio research / development, you'll be familiar with the pretty poor native support for audio playback. As part of my research, I wanted to play multichannel (>2) files at a variety of sampling rates and bit depths. In addition, I also wanted to use a low-latency audio layer, such as ASIO, to take direct advantange of my audio hardware. So, with a bit of coding I managed to put together a Matlab extension which allows for the playback of multichannel sound files using any soundcard with an ASIO driver. The plugin uses ASIO, PortAudio, and libsndfile. Samples are read from the audio file as needed, so playback start time is not dependant on the length of the file - useful in time-critical applications. Memory usage is also low because the whole file doesn't need to be loaded into memory, only enough to fill the audio buffer. You can download it over at the Matlab file exchange my bitbucket page and the source is included under the GPL. Comments and suggestions welcome!