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
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.
This module contains convenient public transform functions that you can use
as parameters in
Several window functions which you can apply before doing the FFT. For more information:
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
Can be used to specify a desired frequency limit. If you know that you only
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.
Describes the type for a function factory that generates a function that can scale/normalize
the data inside
A frequency. A convenient wrapper type around
The value of a frequency in a frequency spectrum. Convenient wrapper around
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