@@ -126,33 +126,51 @@ let engine = AnalysisEngine::new().with_cache(cache);
126126
127127## Examples
128128
129- ### Tempo Detection
129+ The ` examples/ ` directory contains runnable demonstrations:
130+
131+ ``` bash
132+ # Generate sample audio files
133+ cargo run --example generate_samples
134+
135+ # Basic analysis
136+ cargo run --example basic_analysis
137+
138+ # Envelope visualization (creates PNG)
139+ cargo run --example envelope_visualization
140+
141+ # Onset detection
142+ cargo run --example onset_detection
143+
144+ # Compare two audio files
145+ cargo run --example compare_files
146+
147+ # Batch processing
148+ cargo run --example batch_processing
149+ ```
150+
151+ See [ examples/README.md] ( examples/README.md ) for more details.
152+
153+ ### Quick Start Example
130154``` rust
131- let audio = AudioFile :: load (" dance_track.mp3" )? ;
155+ use ferrous_waves :: {AudioFile , AnalysisEngine };
156+
157+ let audio = AudioFile :: load (" song.mp3" )? ;
132158let engine = AnalysisEngine :: new ();
133159let result = engine . analyze (& audio ). await ? ;
134160
135161if let Some (tempo ) = result . temporal. tempo {
136162 println! (" BPM: {:.1}" , tempo );
137- println! (" Beats at: {:?}" , result . temporal. beats);
138163}
139164```
140165
141- ### Spectral Analysis
142- ``` rust
143- let result = engine . analyze (& audio ). await ? ;
144- let centroids = & result . spectral. spectral_centroid;
145- let flux = & result . spectral. spectral_flux;
146- ```
147-
148166## Contributing
149167
150168Pull requests welcome. Please ensure all tests pass and add tests for new features.
151169
152170``` bash
153171cargo test
154172cargo fmt -- --check
155- cargo clippy
173+ cargo clippy --all-targets --all-features -- -D warnings
156174```
157175
158176## License
0 commit comments