SoundStat is a free and open-source desktop application for comprehensive audio analysis and transformation. Built with Electron, it provides professional-grade audio statistics, waveform visualization, and format conversion tools in an intuitive interface.
- BPM Detection: Automatic tempo detection with confidence scoring
- Key Detection: Musical key identification with dominant frequency analysis
- Tonality Analysis: Major/Minor scale detection using chroma vector analysis
- Waveform Visualization: Real-time interactive waveform display with playback controls
- Audio Statistics: Comprehensive metrics including:
- Peak and RMS levels
- Dynamic range analysis
- Spectral centroid (brightness)
- Zero-crossing rate (noisiness)
- Duration and format information
- Format Conversion: Convert between WAV, MP3, FLAC, and AIFF
- Channel Configuration: Mono โ Stereo conversion
- Bit Depth Conversion: 16-bit, 24-bit, and 32-bit options
- Sample Rate Conversion: 44.1 kHz, 48 kHz, and 96 kHz options
- Volume Normalization: Automatic level adjustment with target dB settings
- Drag & Drop Interface: Simple file loading
- Progressive Analysis: Real-time progress updates
- Cross-Platform: Works on Windows, macOS, and Linux
- No Internet Required: Fully offline application
FFmpeg is required for full functionality (non-WAV file support and conversion features):
# Using Chocolatey
choco install ffmpeg
# Using Scoop
scoop install ffmpeg
# Or download from: https://ffmpeg.org/download.html# Using Homebrew
brew install ffmpeg
# Using MacPorts
sudo port install ffmpeg# Ubuntu/Debian
sudo apt update
sudo apt install ffmpeg
# CentOS/RHEL/Fedora
sudo yum install ffmpeg
# or
sudo dnf install ffmpeg
# Arch Linux
sudo pacman -S ffmpeg- Node.js 16.x or higher
- npm 7.x or higher
# Clone the repository
git clone https://github.com/jbaudru/SoundStat-soft.git
cd SoundStat-soft/audio_soft
# Install dependencies
npm install
# Set up FFmpeg (optional - provides installation guidance)
npm run setup-ffmpeg
# Start the application
npm start- Visit the Releases page
- Download the latest version for your platform
- Install and run
- Launch SoundStat
- Upload Audio: Drag & drop your audio file or use the file picker
- View Results: Analysis starts automatically with real-time progress
- Interact: Click play to hear your audio while viewing the waveform
- Go to Tool Section: Click the "Tool" menu item
- Select File: Choose from your uploaded files
- Configure Settings: Set output format, bit depth, sample rate, etc.
- Transform: Click "Transform Audio" and save the result
- Input: WAV, MP3, FLAC, AIFF, OGG (requires FFmpeg for non-WAV)
- Output: WAV, MP3, FLAC, AIFF
- BPM Detection: Onset detection with autocorrelation
- Key Detection: FFT-based fundamental frequency analysis
- Tonality Detection: Krumhansl-Schmuckler key profiles with chroma vector analysis
- Spectral Analysis: Cooley-Tukey FFT implementation
- Multi-threading: Worker threads for CPU-intensive tasks
- Progressive Rendering: Chunked waveform generation
- Memory Management: Efficient audio buffer handling
- Adaptive Sampling: Dynamic sample rate adjustment for large files
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Test thoroughly
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
# Clone your fork
git clone https://github.com/your-username/SoundStat-soft.git
cd SoundStat-soft/audio_soft
# Install dependencies
npm install
# Run in development mode
npm startThis project is licensed under the MIT License - see the LICENSE file for details.
Developed by ce2lo
- FFmpeg team for the powerful multimedia framework
- Electron team for the cross-platform desktop app framework
- The open-source community for inspiration and feedback
-
Minor/Major detectionโ Completed - BPM detection range optimization (70-190 BPM)
- Default waveform templates
-
Conversion tool (MP3 to WAV, AIFF, FLAC)โ Completed -
Stereo to mono, mono to stereo conversionโ Completed -
Volume normalizationโ Completed -
Bit depth conversion (16-bit, 24-bit, 32-bit)โ Completed -
Sample rate conversion (44.1kHz, 48kHz, 96kHz)โ Completed
- Batch processing for multiple files
- Spectral analysis visualization
- Audio comparison tool
- Export analysis reports (PDF/CSV)
- Keyboard shortcuts
- Dark/Light theme toggle
- Plugin system for custom analyzers
- Real-time audio input analysis
- Cloud storage integration
- Audio fingerprinting
- Machine learning-based genre detection
- Multi-language support
- Command-line interface
- Performance optimization for large files (>100MB)
- Memory usage optimization
- Unit test coverage
- Automated builds/releases
- Error handling improvements
- Accessibility features
- Code documentation
โญ If you find SoundStat useful, please consider giving it a star on GitHub!

