audio

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2024 License: MPL-2.0 Imports: 8 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 {
	Decoder func(encoded []byte) (lpcm []byte)
	// DecoderTo Must know size in advance!
	DecoderTo func(lpcm []byte, encoded []byte) (int, error)
}

func NewPCMDecoder

func NewPCMDecoder(codec uint8) (*PCMDecoder, error)

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

type PCMDecoderReader added in v0.7.0

type PCMDecoderReader struct {
	PCMDecoder
	Source io.Reader
	// contains filtered or unexported fields
}

func NewPCMDecoderReader

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

func (*PCMDecoderReader) Read added in v0.7.0

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

type PCMDecoderWriter added in v0.7.0

type PCMDecoderWriter struct {
	PCMDecoder
	Writer io.Writer
}

func NewPCMDecoderWriter

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

func (*PCMDecoderWriter) Write added in v0.7.0

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

type PCMEncoder

type PCMEncoder struct {
	Encoder   func(lpcm []byte) (encoded []byte)
	EncoderTo func(lpcm []byte, encoded []byte) (int, error)
}

func NewPCMEncoder

func NewPCMEncoder(codec uint8) (*PCMEncoder, error)

PCMEncoder encodes data from pcm to codec and passes to writer

type PCMEncoderWriter added in v0.7.0

type PCMEncoderWriter struct {
	PCMEncoder
	Destination io.Writer
	// contains filtered or unexported fields
}

func NewPCMEncoderWriter added in v0.7.0

func NewPCMEncoderWriter(codec uint8, writer io.Writer) (*PCMEncoderWriter, error)

func (*PCMEncoderWriter) Write added in v0.7.0

func (d *PCMEncoderWriter) 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