Versions in this module Expand all Collapse all v0 v0.1.0 Jan 18, 2025 Changes in this version + func ApplyBlackmanWindow(samples []float64) []float64 + func ApplyHammingWindow(samples []float64) []float64 + func ApplyHannWindow(samples []float64) []float64 + func CalculateBandwidth(peaks []int, frequencies []float64) float64 + func CalculateEnergyDensityByBand(magnitudes, frequences []float64, numBands int) []float64 + func CalculateSpectralCentroid(magnitudes, frequences []float64) float64 + func CalculateSpectralContrast(magnitudes []float64, frequences []float64, numBands int) []float64 + func CalculateSpectralSlope(magnitudes, frequences []float64) float64 + func CalculateThreshold(magnitudes []float64) float64 + func CalculateTimeVaryingVolume(samples []float64, windowSize int) []float64 + func CalculateTotalEnergyDensity(magnitudes []float64) float64 + func CalculateVolumeInBand(magnitudes []float64, freqs []float64, targetFreq float64, bandwidth float64) float64 + func CountValuesInBinsInRange(values []float64, minValue, maxValue float64, numBins int) []int + func ExportFFTResultsToCSV(frequencies, magnitudes, phases []float64, filename string) error + func ExportRawFFTToCSV(fftResult []complex128, sampleRate float64, filename string) error + func ExtractFFTResults(spectrum []complex128, sampleRate float64) ([]float64, []float64, []float64) + func FindDominantFrequencyIdx(magnitudes []float64) int + func FindPeakIdxsWithPercentageThreshold(magnitudes []float64, threshold float64) []int + func FindPeakIdxsWithThreshold(magnitudes []float64, threshold float64) []int + func GetAttackTime(samples []float64, sampleRate int) float64 + func GetBlackmanWindow(size int) []float64 + func GetFFTForFullSample(sample []float64) []complex128 + func GetFFTWithOverlappingWindows(sample []float64, windowSize int, overlap int) [][]complex128 + func GetFFTWithShorterWindows(sample []float64, windowSize int) [][]complex128 + func GetHammingWindow(size int) []float64 + func GetHannWindow(size int) []float64 + func GetMagnitudePercentageDistribution(magnitudes []float64, bucketCount int) []int + func GetMagnitudesAsPercentage(magnitudes []float64) []float64 + func GetZeroCrossingRate(samples []float64) float64 + func PlotBins(bins []int, minValue, maxValue, numBins int, filename string) error + func PlotMagnitudeAndPhase(frequencies, magnitudes, phases []float64, filename string) error