autopitch 0.1.0

A modular pitch detection library
Documentation
# autopitch

[![Crates.io](https://img.shields.io/crates/v/autopitch)](https://crates.io/crates/autopitch)
[![Docs.rs](https://docs.rs/autopitch/badge.svg)](https://docs.rs/autopitch)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Changelog](https://img.shields.io/badge/changelog-md-blue)](CHANGELOG.md)

A modular pitch detection library for Rust.

Lightweight, fast, and suitable for real-time audio analysis.

## Features

- Zero dependencies
- Designed for real-time use (no heap allocations during detection)
- Simple `PitchDetector` trait for pluggable algorithms

## Algorithms

| Algorithm | Status | Description |
|-----------|--------|-------------|
| Autocorrelation | Available | Time-domain autocorrelation with first-peak detection and parabolic interpolation |
| More algorithms | Coming soon ||

## Usage

```rust
use autopitch::algorithm::Autocorrelation;
use autopitch::detect::PitchDetector;

let mut detector = Autocorrelation::default();
let samples: Vec<f32> = /* your audio samples */;
let sample_rate = 44100.0;

if let Some(pitch) = detector.detect(&samples, sample_rate) {
    println!("Detected pitch: {:.2} Hz", pitch);
}
```

## License

MIT