spectrum-analyzer 1.1.0

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.
Documentation
[package]
name = "spectrum-analyzer"
description = """
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.
"""
version = "1.1.0"
authors = ["Philipp Schuster <phip1611@gmail.com>"]
edition = "2018"
keywords = ["fft", "spectrum", "frequencies", "audio", "dsp"]
categories = ["multimedia", "no-std"]
readme = "README.md"
license = "MIT"
homepage = "https://github.com/phip1611/spectrum-analyzer"
repository = "https://github.com/phip1611/spectrum-analyzer"
documentation = "https://docs.rs/spectrum-analyzer"

# fixes `no_std` build problems caused by wrong feature resolution of Cargo
# This works since Rust 1.51 (stable)
resolver = "2"

[features]
# by default we use microfft-real: it's the fastest and totally fit's our needs.
# As of version 0.5.0 there is no advantage by using other implementations.
# They still exist mainly for educational purposes, testing during development
# and for possible future enhancements
default = ["microfft-real"]
# std
rustfft-complex = ["rustfft"]
# no_std
microfft-complex = ["microfft"]
# no_std, overall fastest
microfft-real = ["microfft"]

[dependencies]
rustfft = { version = "6.0", optional = true }
microfft = { version = "0.4", optional = true }
# approx. compare floats; not only in tests but also during runtime
float-cmp = "0.9.0"
# sin() cos() log10() etc for no_std-environments; these are not part of Core library
libm = "0.2.1"

[dev-dependencies]
# readmp3 files in tests and examples
minimp3 = "0.5.1"
# visualize spectrum in tests and examples
audio-visualizer = "0.2.2"
# get audio input in examples
cpal = "0.13.4"
# CLI example
tui = { version = "0.16", default-features = false, features = ['crossterm'] }
crossterm = "0.21.0"
# audio data buffering
ringbuffer = "0.7.1"
rand = "0.8.4"
# exit in examples
ctrlc = "3.2.0"


# otherwise FFT and other code is too slow
[profile.dev]
opt-level = 1