A browser-based audio file analyzer that examines metadata and spectral content to assess audio quality, identify likely sources, and provide educational context — all without uploading files to any server.
- Quality Analysis: Scores audio files based on codec, bitrate, sample rate, and bit depth
- Source Estimation: Identifies likely provenance (CD rip, streaming, Hi-Res download, etc.)
- Spectral Analysis: SoX-compatible spectrograms with full frequency visualization
- Hi-Res Audio Support: Native sample rate decoding up to 192 kHz — no resampling artifacts
- Educational Content: Contextual explanations about audio formats and quality
- Export Options: PDF reports, copy summary, and technical details clipboard export
- Privacy-First: All processing happens in your browser — files never leave your device
The spectrogram display matches Internet Archive / SoX reference output:
- Full dynamic range: 0 to -120 dBFS (120 dB)
- SoX default colormap: Dark blue → purple → magenta → red → orange → yellow → white
- Hi-Res support: Analyzes up to 96 kHz frequencies (192 kHz sample rate)
- Sample rate preservation: Creates AudioContext at the file's native sample rate to prevent browser resampling
- Stereo display: Stacked L/R channel visualization
| Source Sample Rate | Analysis Rate | Max Frequency |
|---|---|---|
| 44.1 kHz | 44.1 kHz | 22.05 kHz |
| 48 kHz | 48 kHz | 24 kHz |
| 88.2 kHz | 88.2 kHz | 44.1 kHz |
| 96 kHz | 96 kHz | 48 kHz |
| 176.4 kHz | 176.4 kHz | 88.2 kHz |
| 192 kHz | 192 kHz | 96 kHz |
- MP3 (all bitrates)
- FLAC (including Hi-Res 24-bit up to 192 kHz)
- WAV
- M4A / AAC
- OGG / Vorbis
- Opus
- AIFF
- Visit the deployed site or run locally
- Drop an audio file into the upload zone (or click to select)
- View the analysis results including:
- Quality score and tier
- Likely source classification
- Technical audio specifications
- Spectral analysis with SoX-compatible spectrogram
- Educational context
- Export results as PDF or copy to clipboard
- Node.js 18+
- npm 9+
npm installnpm run devOpens at http://localhost:5173
npm testnpm run buildOutput goes to dist/ directory.
npm run previewsrc/
├── engine/ # Analysis logic
│ ├── analysisEngine.ts # Main orchestrator
│ ├── qualityScorer.ts # Quality scoring algorithm
│ ├── sourceEstimator.ts # Source provenance detection
│ ├── spectralAnalyzer.ts # FFT spectral analysis
│ └── educationSelector.ts # Contextual education selection
├── workers/ # Web Workers
│ └── spectralWorker.ts # Background spectral processing
├── components/ # React components
│ └── analysis/
│ ├── SpectrogramViewer.tsx # SoX-compatible spectrogram
│ └── SpectralAnalysisSection.tsx # Spectral results UI
├── extractor/ # File metadata extraction
├── parser/ # FFprobe-format parser
├── normalizer/ # Metadata normalization
├── export/ # PDF and text export
├── rules/ # JSON-driven scoring rules
├── types/ # TypeScript definitions
│ └── spectral.ts # Spectral analysis types
└── App.tsx # Main UI component
- FFT Size: 4096 samples
- Window: Hann
- Overlap: 75%
- Dynamic Range: 120 dB (0 to -120 dBFS)
- Colormap: SoX default palette
Sample rate preservation requires AudioContext({ sampleRate: N }):
- Chrome 55+
- Firefox 50+
- Safari 14.1+
- Edge 79+
- Maximum file size: 500 MB
- Files are processed entirely in-browser
- Large files may take longer to analyze
NavOS Audio DOC processes files entirely in your browser:
- No files are uploaded to any server
- No analytics or tracking
- No user accounts required
- Works offline after initial page load
MIT License — see LICENSE for details.
NavOS-OpenSource
If you find this tool useful, consider supporting development:
Built with: