mel

package
v0.9.2 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2021 License: BSD-3-Clause Imports: 5 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FreqToBin

func FreqToBin(freq, nFft, sampleRate float32) int

FreqToBin converts frequency into FFT bin number, using parameters of number of FFT bins and sample rate

func FreqToMel

func FreqToMel(freq float32) float32

FreqToMel converts frequency to mel scale

func MelToFreq

func MelToFreq(mel float32) float32

FreqToMel converts mel scale to frequency

Types

type FilterBank

type FilterBank struct {
	NFilters    int     `viewif:"On" def:"32,26" desc:"number of Mel frequency filters to compute"`
	LoHz        float32 `viewif:"On" def:"120,300" step:"10.0" desc:"low frequency end of mel frequency spectrum"`
	HiHz        float32 `` /* 163-byte string literal not displayed */
	LogOff      float32 `` /* 209-byte string literal not displayed */
	LogMin      float32 `viewif:"On" def:"-10" desc:"minimum value a log can produce -- puts a lower limit on log output"`
	Renorm      bool    `desc:" whether to perform renormalization of the mel values"`
	RenormMin   float32 `` /* 146-byte string literal not displayed */
	RenormMax   float32 `` /* 146-byte string literal not displayed */
	RenormScale float32 `inactive:"+" desc:"1.0 / (ren_max - ren_min)"`
}

FilterBank contains mel frequency feature bank sampling parameters

func (*FilterBank) Defaults

func (mfb *FilterBank) Defaults()

Defaults initializes FBank values - these are the ones you most likely need to adjust for your particular signals

type Params

type Params struct {
	FBank      FilterBank
	BinPts     []int32 `view:"no-inline" desc:" mel scale points in fft bins"`
	CompMfcc   bool    `desc:" compute cepstrum discrete cosine transform (dct) of the mel-frequency filter bank features"`
	MfccNCoefs int     `def:"13" desc:" number of mfcc coefficients to output -- typically 1/2 of the number of filterbank features"` // Todo: should be 12 total - 2 - 13, higher ones not useful
}

Params

func (*Params) CepstrumDct

func (mel *Params) CepstrumDct(ch, step int, fBankData *etensor.Float32, mfccSegmentData *etensor.Float32, mfccDct *etensor.Float32)

CepstrumDct applies a discrete cosine transform (DCT) to get the cepstrum coefficients on the mel filterbank values

func (*Params) Defaults

func (mel *Params) Defaults()

Defaults

func (*Params) FftReal

func (mel *Params) FftReal(out []complex128, in *etensor.Float32)

FftReal

func (*Params) Filter

func (mel *Params) Filter(ch int, step int, windowIn *etensor.Float32, filters *etensor.Float32, dftPower *etensor.Float32, segmentData *etensor.Float32, fBankData *etensor.Float32, mfccSegmentData *etensor.Float32, mfccDct *etensor.Float32)

Filter filters the current window_in input data according to current settings -- called by ProcessStep, but can be called separately

func (*Params) FilterDft

func (mel *Params) FilterDft(ch, step int, dftPowerOut etensor.Float32, segmentData *etensor.Float32, fBankData *etensor.Float32, filters *etensor.Float32)

FilterDft applies the mel filters to power of dft

func (*Params) InitFilters

func (mel *Params) InitFilters(dftSize int, sampleRate int, filters *etensor.Float32)

InitFilters computes the filter bin values

Jump to

Keyboard shortcuts

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