Commit
fix: integrate essentia.js properly for audio analysis
Commit details
Commit notes
- Install essentia.js npm package for WebAssembly-based audio analysis - Rewrite essentia.ts to use essentia.js library correctly - Use pre-initialized WASM module (not factory function) - Implement RhythmExtractor2013 for BPM detection - Implement KeyExtractor with EDMA, Krumhansl, Temperley profiles - Implement Danceability estimation - Use FFmpeg for reliable audio decoding to Float32Array - Update hybrid-analyzer.ts to work with new essentia.js API - Run Essentia.js and TypeScript analysis in parallel - Merge results intelligently for best accuracy - Build key consensus from multiple Essentia profiles - Add TypeScript type declarations for essentia.js module - Remove Python service approach in favor of JS bindings
Co-authored-by: armin.naimi <[email redacted]>
- Files changed
- 5
- Lines added
- +791
- Lines removed
- −222