Crate spectrum_analyzer[−][src]
A simple and fast no_std
library to get the frequency spectrum of a digital signal
(e.g. audio) using FFT. It follows the KISS principle and consists of simple building
blocks/optional features.
In short, this is a convenient wrapper around an FFT implementation. You choose the implementation at compile time via Cargo features. As of version 0.4.0 this uses “microfft”crate.
Modules
scaling  This module contains convenient public transform functions that you can use
as parameters in 
windows  Several window functions which you can apply before doing the FFT. For more information: 
Structs
FrequencySpectrum  Convenient wrapper around the processed FFT result which describes each frequency and
its value/amplitude in the analyzed slice of samples. It only consists of the frequencies
which were desired, e.g. specified via

Enums
FrequencyLimit  Can be used to specify a desired frequency limit. If you know that you only
need frequencies 
Functions
samples_fft_to_spectrum  Takes an array of samples (length must be a power of 2), e.g. 2048, applies an FFT (using the specified FFT implementation) on it and returns all frequencies with their volume/magnitude. 
Type Definitions
ComplexSpectrumScalingFunction  Describes the type for a function factory that generates a function that can scale/normalize
the data inside 
Frequency  A frequency. A convenient wrapper type around 
FrequencyValue  The value of a frequency in a frequency spectrum. Convenient wrapper around 
SimpleSpectrumScalingFunction  Definition of a simple function that gets applied on each frequency magnitude
in the spectrum. This is easier to write, especially for Rust beginners.
Everything that can be achieved with this, can also be achieved with parameter
