Documentation ¶
Overview ¶
Package resample implements resampling of PCM-encoded audio. It uses the SoX Resampler library `libsoxr'.
To install make sure you have libsoxr installed, then run:
go get -u github.com/zaf/resample
The package warps an io.Reader in a Resampler that resamples and writes all input data. Input should be RAW PCM encoded audio samples.
For usage details please see the code snippet in the cmd folder.
Index ¶
Constants ¶
const ( // Quality settings Quick = 0 // Quick cubic interpolation LowQ = 1 // LowQ 16-bit with larger rolloff MediumQ = 2 // MediumQ 16-bit with medium rolloff HighQ = 4 // High quality VeryHighQ = 6 // Very high quality // Input formats F32 = 0 // 32-bit floating point PCM F64 = 1 // 64-bit floating point PCM I32 = 2 // 32-bit signed linear PCM I16 = 3 // 16-bit signed linear PCM )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Resampler ¶
type Resampler struct {
// contains filtered or unexported fields
}
Resampler resamples PCM sound data.
func New ¶
func New(writer io.Writer, inputRate, outputRate float64, channels, format, quality int) (*Resampler, error)
New returns a pointer to a Resampler that implements an io.WriteCloser. It takes as parameters the destination data Writer, the input and output sampling rates, the number of channels of the input data, the input format and the quality setting.
func (*Resampler) Close ¶
Close clean-ups and frees memory. Should always be called when finished using the resampler.