audio

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2024 License: MPL-2.0 Imports: 7 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// ITU-T G.711.0 codec supports frame lengths of 40, 80, 160, 240 and 320 samples per frame.
	FrameSize  = 3200
	ReadBuffer = 160

	FORMAT_TYPE_ULAW = 0
	FORMAT_TYPE_ALAW = 8
)

Variables

This section is empty.

Functions

func DecodeAlawTo added in v0.5.0

func DecodeAlawTo(lpcm []byte, alaw []byte) (n int, err error)

func DecodeUlawTo added in v0.5.0

func DecodeUlawTo(lpcm []byte, ulaw []byte) (n int, err error)

func EncodeAlawTo added in v0.5.0

func EncodeAlawTo(alaw []byte, lpcm []byte) (n int, err error)

func EncodeUlawTo added in v0.5.0

func EncodeUlawTo(ulaw []byte, lpcm []byte) (n int, err error)

func NewWavDecoder

func NewWavDecoder(r io.ReadSeeker) *wav.Decoder

func WavWrite

func WavWrite(w io.Writer, audio []byte, opts WavWriteOpts) (int, error)

WavWrite wrates WAV encoded to writter with the given audio payload, sample rate, and bit rate

func WavWriteVoipPCM

func WavWriteVoipPCM(w io.Writer, audio []byte) (int, error)

WavWriteVoipPCM is normally 16 bit mono 8000 PCM

Types

type Decoder

type Decoder struct {
	*riff.Parser
}

Decoder handles the decoding of wav files.

func NewWavDecoderStreamer

func NewWavDecoderStreamer(r io.Reader) *Decoder

func (*Decoder) ReadHeaders

func (d *Decoder) ReadHeaders() (err error)

type PCMDecoder

type PCMDecoder struct {
	Source    io.Reader
	Writer    io.Writer
	Decoder   func(encoded []byte) (lpcm []byte)
	DecoderTo func(lpcm []byte, encoded []byte) (int, error)
	// contains filtered or unexported fields
}

func NewPCMDecoder

func NewPCMDecoder(codec uint8, reader io.Reader) (*PCMDecoder, error)

PCM decoder is streamer implementing io.Reader. It reads from underhood reader and returns decoded codec data

func NewPCMDecoderReader

func NewPCMDecoderReader(codec uint8, reader io.Reader) (*PCMDecoder, error)

func NewPCMDecoderWriter

func NewPCMDecoderWriter(codec uint8, writer io.Writer) (*PCMDecoder, error)

func (*PCMDecoder) Read

func (d *PCMDecoder) Read(b []byte) (n int, err error)

func (*PCMDecoder) Write

func (d *PCMDecoder) Write(b []byte) (n int, err error)

type PCMEncoder

type PCMEncoder struct {
	Destination io.Writer
	Encoder     func(lpcm []byte) (encoded []byte)
	EncoderTo   func(lpcm []byte, encoded []byte) (int, error)
	// contains filtered or unexported fields
}

func NewPCMEncoder

func NewPCMEncoder(codec uint8, writer io.Writer) (*PCMEncoder, error)

PCMEncoder encodes data from pcm to codec and passes to writer

func (*PCMEncoder) Write

func (d *PCMEncoder) Write(lpcm []byte) (n int, err error)

type WavReader

type WavReader struct {
	riff.Parser

	DataSize int
	// contains filtered or unexported fields
}

func NewWavReader

func NewWavReader(r io.Reader) *WavReader

func (*WavReader) Read

func (r *WavReader) Read(buf []byte) (n int, err error)

Read returns PCM underneath

func (*WavReader) ReadHeaders

func (r *WavReader) ReadHeaders() error

ReadHeaders reads until data chunk

type WavWriteOpts

type WavWriteOpts struct {
	SampleRate  int
	BitDepth    int
	NumChans    int
	AudioFormat int
}

type WavWriter

type WavWriter struct {
	SampleRate  int
	BitDepth    int
	NumChans    int
	AudioFormat int

	W io.WriteSeeker
	// contains filtered or unexported fields
}

func NewWavWriter

func NewWavWriter(w io.WriteSeeker) *WavWriter

func (*WavWriter) Close

func (ww *WavWriter) Close() error

func (*WavWriter) Write

func (ww *WavWriter) Write(audio []byte) (int, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL