BeatCatalog Pro is a comprehensive, local-first Progressive Web App (PWA) designed for audio professionals across all disciplines. Whether you are a sound designer, archivist, music researcher, or producer, this tool provides a high-performance environment for organizing libraries and extracting deep acoustic features—ranging from temporal dynamics to harmonic content—without your data ever leaving the device.
🚀 v2.0 Local - Privacy-focused, general-purpose audio feature extraction and cataloging.
- Universal Feature Extraction:
- Temporal Analysis: Precise BPM/Tempo detection, duration, and transient analysis.
- Harmonic Content: Chroma-based musical key detection and pitch class profiling.
- Spectral Metrics: Analysis of brightness (Centroid), texture (Flatness), and timbre (Rolloff).
- Loudness Standards: Integrated LUFS (EBU R128 approx) and True Peak metering.
- Local-First Architecture: Leveraging IndexedDB (Dexie.js), your audio data remains 100% private and offline-accessible. No cloud uploads required.
- Broad Format Support: Analyze and catalog a wide variety of audio formats supported by the browser.
- Interactive Visualizer: High-resolution waveform rendering for detailed visual inspection of signal characteristics.
- Flexible Organization: Tagging, searching, and smart filtering adapted for diverse audio libraries, from field recordings to musical stems.
- Core: React 19, TypeScript, Vite
- State Management: Zustand
- Database: Dexie.js (IndexedDB wrapper)
- Audio Engine:
- Wavesurfer.js (Visualization)
- Meyda (Feature Extraction)
- Native
OfflineAudioContext(Custom DSP)
- Routing: React Router v7
- Styling: Tailwind CSS
- Node.js: v18 or higher
- npm or yarn
-
Clone the repository
git clone https://github.com/ray0404/BeatCatalogPro.git cd BeatCatalogPro -
Install dependencies
npm install
-
Start the development server
npm run dev
Open
http://localhost:3000to view the app.
To create a production-ready build:
npm run buildThis will generate a dist folder containing the compiled assets, ready to be deployed to Vercel, Netlify, or any static host.
BeatCatalog Pro leverages a sophisticated client-side DSP pipeline (services/audioAnalysis.ts) suitable for a wide range of analytical needs:
- Decoding: High-fidelity decoding via Web Audio API.
- DSP Pipeline:
- Loudness: K-weighting filter chain (High Shelf @ 1500Hz + High Pass @ 38Hz) for standard loudness measurement.
- Temporal: Custom peak-detection and interval clustering for robust tempo and rhythm analysis.
- Spectral: Utilizes
Meydafor granular extraction of spectral centroid, flatness, and rolloff, quantifying the sonic "texture" and timbre.
/
├── components/ # Reusable UI components
├── db/ # Dexie database schema and configuration
├── services/ # Audio analysis and signal processing logic
├── store/ # Global application state
├── types.ts # Domain models and type definitions
├── App.tsx # Main application layout
└── vite.config.ts # Build configuration
Contributions are welcome! Please feel free to submit a Pull Request to expand the analytical capabilities or improve the interface.
- Fork the project
- Create your feature branch (
git checkout -b feature/NewAnalysisModule) - Commit your changes (
git commit -m 'Add new spectral feature') - Push to the branch (
git push origin feature/NewAnalysisModule) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Empowering audio professionals with local, transparent analysis tools.