├── .github └── workflows │ └── rust.yml ├── .gitignore ├── .vscode └── launch.json ├── Cargo.toml ├── LICENSE ├── README.md ├── benches └── main.rs ├── dev_helpers ├── .gitignore ├── Cargo.toml └── src │ ├── audio.rs │ ├── lib.rs │ └── wav.rs ├── disassemble.sh ├── example_data ├── nlms_example_cancellation_d.wav ├── nlms_example_cancellation_e.wav ├── nlms_example_cancellation_x.wav ├── nlms_example_delay_estimate_e.wav ├── voice_1.wav ├── voice_1_lp.wav ├── voice_1_reverb.wav ├── voice_1_reverb_lp.wav ├── voice_2.wav ├── voice_2_lp.wav ├── voice_2_reverb.wav └── voice_2_reverb_lp.wav ├── examples ├── mpm.rs ├── nlms_cancellation.rs ├── nlms_delay_estimate.rs └── sfnov.rs ├── papers └── A smarter way to find pitch.pdf └── src ├── common ├── autocorr.rs ├── f32_array_ext.rs ├── fft.rs ├── midi.rs ├── mod.rs ├── window_function.rs └── window_processor.rs ├── lib.rs ├── mpm ├── key_max.rs ├── mod.rs ├── mpm_pitch_detector.rs ├── result.rs └── util.rs ├── nlms ├── mod.rs └── nlms_filter.rs └── sfnov ├── compression_function.rs ├── mod.rs ├── spectral_flux.rs └── spectral_flux_novelty_detector.rs /.github/workflows/rust.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/.github/workflows/rust.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | Cargo.lock 3 | *.trace 4 | disassembly* -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/README.md -------------------------------------------------------------------------------- /benches/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/benches/main.rs -------------------------------------------------------------------------------- /dev_helpers/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | Cargo.lock 3 | *.trace 4 | -------------------------------------------------------------------------------- /dev_helpers/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/dev_helpers/Cargo.toml -------------------------------------------------------------------------------- /dev_helpers/src/audio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/dev_helpers/src/audio.rs -------------------------------------------------------------------------------- /dev_helpers/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/dev_helpers/src/lib.rs -------------------------------------------------------------------------------- /dev_helpers/src/wav.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/dev_helpers/src/wav.rs -------------------------------------------------------------------------------- /disassemble.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/disassemble.sh -------------------------------------------------------------------------------- /example_data/nlms_example_cancellation_d.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/nlms_example_cancellation_d.wav -------------------------------------------------------------------------------- /example_data/nlms_example_cancellation_e.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/nlms_example_cancellation_e.wav -------------------------------------------------------------------------------- /example_data/nlms_example_cancellation_x.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/nlms_example_cancellation_x.wav -------------------------------------------------------------------------------- /example_data/nlms_example_delay_estimate_e.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/nlms_example_delay_estimate_e.wav -------------------------------------------------------------------------------- /example_data/voice_1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/voice_1.wav -------------------------------------------------------------------------------- /example_data/voice_1_lp.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/voice_1_lp.wav -------------------------------------------------------------------------------- /example_data/voice_1_reverb.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/voice_1_reverb.wav -------------------------------------------------------------------------------- /example_data/voice_1_reverb_lp.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/voice_1_reverb_lp.wav -------------------------------------------------------------------------------- /example_data/voice_2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/voice_2.wav -------------------------------------------------------------------------------- /example_data/voice_2_lp.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/voice_2_lp.wav -------------------------------------------------------------------------------- /example_data/voice_2_reverb.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/voice_2_reverb.wav -------------------------------------------------------------------------------- /example_data/voice_2_reverb_lp.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/example_data/voice_2_reverb_lp.wav -------------------------------------------------------------------------------- /examples/mpm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/examples/mpm.rs -------------------------------------------------------------------------------- /examples/nlms_cancellation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/examples/nlms_cancellation.rs -------------------------------------------------------------------------------- /examples/nlms_delay_estimate.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/examples/nlms_delay_estimate.rs -------------------------------------------------------------------------------- /examples/sfnov.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/examples/sfnov.rs -------------------------------------------------------------------------------- /papers/A smarter way to find pitch.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/papers/A smarter way to find pitch.pdf -------------------------------------------------------------------------------- /src/common/autocorr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/common/autocorr.rs -------------------------------------------------------------------------------- /src/common/f32_array_ext.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/common/f32_array_ext.rs -------------------------------------------------------------------------------- /src/common/fft.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/common/fft.rs -------------------------------------------------------------------------------- /src/common/midi.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/common/midi.rs -------------------------------------------------------------------------------- /src/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/common/mod.rs -------------------------------------------------------------------------------- /src/common/window_function.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/common/window_function.rs -------------------------------------------------------------------------------- /src/common/window_processor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/common/window_processor.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/mpm/key_max.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/mpm/key_max.rs -------------------------------------------------------------------------------- /src/mpm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/mpm/mod.rs -------------------------------------------------------------------------------- /src/mpm/mpm_pitch_detector.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/mpm/mpm_pitch_detector.rs -------------------------------------------------------------------------------- /src/mpm/result.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/mpm/result.rs -------------------------------------------------------------------------------- /src/mpm/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/mpm/util.rs -------------------------------------------------------------------------------- /src/nlms/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/nlms/mod.rs -------------------------------------------------------------------------------- /src/nlms/nlms_filter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/nlms/nlms_filter.rs -------------------------------------------------------------------------------- /src/sfnov/compression_function.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/sfnov/compression_function.rs -------------------------------------------------------------------------------- /src/sfnov/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/sfnov/mod.rs -------------------------------------------------------------------------------- /src/sfnov/spectral_flux.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/sfnov/spectral_flux.rs -------------------------------------------------------------------------------- /src/sfnov/spectral_flux_novelty_detector.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stuffmatic/microdsp/HEAD/src/sfnov/spectral_flux_novelty_detector.rs --------------------------------------------------------------------------------