libsamplerate binding for Golang
A classical use case is converting audio from a CD sample rate of 44.1kHz to the 48kHz sample rate used by DAT players.
libsamplerate is capable of arbitrary and time varying conversions (max sampling / upsampling by factor 256) and comes with 5 converters, allowing quality to be traded off against computation cost.
gosamplerate implements the following libsamplerate API calls:
not (yet) implemented is:
libsamplerate has been republished in 2016 under the 2-clause BSD license.
How to install samplerate
Make sure that you have libsamplerate installed on your system.
On Mac or Linux it can be installed conveniently through your distro's packet manager.
using apt (Ubuntu), yum (Centos)...etc.
$ sudo apt install libsamplerate0
$ brew install libsamplerate
$ go get github.com/dh1tw/gosamplerate
Tests & Examples
The test coverage is close to 100%. The tests contain various examples on how to use gosamplerate.