AudioIO.jl icon indicating copy to clipboard operation
AudioIO.jl copied to clipboard

Use Wav.jl for opening .wav files

Open ssfrr opened this issue 9 years ago • 4 comments

Either we should assimilate WAV.jl or just include the package. Perhaps we could check dependencies and just put up a warning if the library dependencies aren't present, that way the package is still useful in a pure-julia context.

https://github.com/dancasimiro/WAV.jl

ssfrr avatar Nov 04 '14 02:11 ssfrr

include would be better than assimilate, as .wav files are used for storing time series data that aren't audio.

bjarthur avatar Nov 20 '14 12:11 bjarthur

@ssfrr Is there anything that I could do to make this easier? I am working towards a new release.

dancasimiro avatar Dec 07 '14 15:12 dancasimiro

I don't think there's anything in particular that makes it difficult. I just need to add some logic that looks at the filename and uses Wav.jl if it's a "*.wav" file and libsndfile for everything else. When I dig into it I can let you know if there's anything that makes it tricky.

In general I would like to find a way to make the packages complimentary rather than duplicating functionality, particularly for the interactive playback. Is the main reason you implemented the AudioQueue and PulseAudio interfaces rather than using AudioIO just licensing because of my inclusion of libsndfile?

ssfrr avatar Dec 21 '14 22:12 ssfrr

I was not going to implement wavplay, but someone contributed the PulseAudio implementation for Linux. I implemented AudioQueue because I wanted to support MacOS X. I tried to use AudioIO first, but I ran into some complications. I think that I had trouble specifying the sample rate. So, I decided to use AudioQueue since it ships with the operating system.

The wavplay interface is as simple as it gets, so I convinced myself that the complexity of another package wasn't worth it. On the other hand, wavplay doesn't work on Windows.

dancasimiro avatar Dec 28 '14 10:12 dancasimiro