wav

package
v0.0.0-...-17244d7 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2024 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrInputToLarge error
	ErrInputToLarge = errors.New("Input too large")
	// ErrNotRiff error
	ErrNotRiff = errors.New("Not a RIFF file")
	// ErrNotWave error
	ErrNotWave = errors.New("Not a WAVE file")
	// ErrBrokenChunkFmt error
	ErrBrokenChunkFmt = errors.New("could not decode chunkFmt")
	// ErrNoBitsPerSample error
	ErrNoBitsPerSample = errors.New("could not decode chunkFmt")
	// ErrFormatNotSupported error
	ErrFormatNotSupported = errors.New("Format not supported - Only uncompressed PCM currently")
)

Functions

This section is empty.

Types

type ErrIncorrectChunkSize

type ErrIncorrectChunkSize struct {
	Got, Wanted uint32
}

ErrIncorrectChunkSize struct

func (ErrIncorrectChunkSize) Error

func (e ErrIncorrectChunkSize) Error() string

type File

type File struct {
	SampleRate      uint32
	SignificantBits uint16
	Channels        uint16
	NumberOfSamples uint32
	Duration        time.Duration
	AudioFormat     uint16
	SoundSize       uint32
	Canonical       bool
	BytesPerSecond  uint32
}

File describes the WAV file

func (File) NewWriter

func (file File) NewWriter(out output) (wr *Writer, err error)

NewWriter creates a new WaveWriter and writes the header to it

type Reader

type Reader struct {
	// contains filtered or unexported fields
}

Reader wraps WAV stream

func NewReader

func NewReader(rd io.ReadSeeker, size int64) (wav *Reader, err error)

NewReader returns a new WAV reader wrapper

func (Reader) FirstSampleOffset

func (wav Reader) FirstSampleOffset() uint32

FirstSampleOffset in the WAV stream

func (Reader) GetDumbReader

func (wav Reader) GetDumbReader() (r io.Reader, err error)

GetDumbReader gives you a std io.Reader, starting from the first sample. usefull for piping data.

func (Reader) GetFile

func (wav Reader) GetFile() File

GetFile returns File

func (*Reader) GetSampleCount

func (wav *Reader) GetSampleCount() uint32

GetSampleCount returns the number of samples

func (*Reader) ReadRawSample

func (wav *Reader) ReadRawSample() ([]byte, error)

ReadRawSample returns the raw []byte slice

func (*Reader) ReadSample

func (wav *Reader) ReadSample() (n int32, err error)

ReadSample returns the parsed sample bytes as integers

func (*Reader) ReadSampleEvery

func (wav *Reader) ReadSampleEvery(every uint32, average int) (samples []int32, err error)

ReadSampleEvery returns the parsed sample bytes as integers every X samples

func (*Reader) Reset

func (wav *Reader) Reset() (err error)

Reset the wavReader

func (Reader) String

func (wav Reader) String() string

type Writer

type Writer struct {
	// contains filtered or unexported fields
}

Writer encapsulates a io.WriteSeeker and supplies Functions for writing samples

func (*Writer) Close

func (w *Writer) Close() error

Close corrects the filesize information in the header

func (*Writer) Write

func (w *Writer) Write(data []byte) (int, error)

func (*Writer) WriteInt32

func (w *Writer) WriteInt32(sample int32) error

WriteInt32 writes the sample to the file using the binary package

func (*Writer) WriteSample

func (w *Writer) WriteSample(sample []byte) error

WriteSample writes a []byte array to file without conversion

Jump to

Keyboard shortcuts

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