filter

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrChannels      = errors.New("filter: need more than 0 channels")
	ErrDelayNegative = errors.New("filter: delay can't be negative")
)

Functions

func HighPass

func HighPass(dst, src []float64, cutOffFrequency float64, sampleRate int) []float64

HighPass is a basic LowPass filter cutting off the audio buffer frequencies below the cutOff frequency.

func LowPass

func LowPass(dst, src []float64, cutOffFrequency float64, sampleRate int) []float64

LowPass is a basic LowPass filter cutting off CutOffFreq is where the filter would be at -3db. TODO: param to say how efficient we want the low pass to be. matlab: lpFilt = designfilt('lowpassfir','PassbandFrequency',0.25, ...

'StopbandFrequency',0.35,'PassbandRipple',0.5, ...
'StopbandAttenuation',65,'DesignMethod','kaiserwin');

func NewDelay added in v0.1.0

func NewDelay[T audio.Sample](r audio.Reader[T], channels, sampleRate int, delay time.Duration) (audio.Reader[T], error)

NewDelay introduces a fixed delay for reading samples from r.

Types

type Delay added in v0.1.0

type Delay[T audio.Sample] struct {
	audio.Reader[T]
	audio.Samples[T]
	time.Duration
}

Delay is a general purpose delay line.

func (*Delay[T]) ReadSamples added in v0.1.0

func (d *Delay[T]) ReadSamples(buffer audio.Samples[T]) (int, error)

func (*Delay[T]) String added in v0.1.0

func (d *Delay[T]) String() string

Jump to

Keyboard shortcuts

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