Convert your music collection from standard 440Hz tuning to the harmonious 432Hz frequency with professional-grade precision and quality.
Some checks failed
release.yml / src/audio432hz/audio_converter.py aktualisiert (push) Failing after 0s
CI / test (3.10) (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.8) (push) Has been cancelled
CI / test (3.9) (push) Has been cancelled
CI / build (push) Has been cancelled
|
||
---|---|---|
.github/workflows | ||
assets | ||
desktop | ||
docker | ||
docs | ||
examples | ||
packaging | ||
scripts | ||
src/audio432hz | ||
tests | ||
utils | ||
.dockerignore | ||
.editorconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
install.sh | ||
LICENSE | ||
Makefile | ||
MANIFEST.in | ||
pyproject.toml | ||
README.md | ||
requirements-dev.txt | ||
requirements.txt | ||
setup.py | ||
tox.ini | ||
uninstall.sh |
432Hz Audio Converter 🎵
Convert your music collection from standard 440Hz tuning to the harmonious 432Hz frequency with professional-grade precision and quality.
✨ Features
- 🎯 High-Precision Detection: Advanced pitch detection using CREPE neural network and Parselmouth
- 🎚️ Professional Quality: Lossless pitch shifting with Rubberband algorithm
- 📊 Multi-Point Analysis: Analyzes beginning, middle, and end of tracks for accurate tuning detection
- 🏷️ Metadata Preservation: Maintains all tags, album art, and adds custom 432Hz identification
- 📁 Format Support: MP3, FLAC, OGG, OPUS, M4A, MP4, WAV, AIFF, APE, WavPack
- 🚀 Parallel Processing: Convert multiple files simultaneously
- 🖥️ Multiple Interfaces: CLI, GUI, and Nautilus integration
- 🔄 Batch Operations: Analyze and convert entire music libraries
- 📈 Detailed Reports: HTML and JSON reports with conversion statistics
🚀 Quick Start
Installation
From PyPI (Recommended)
pip install audio-432hz-converter
From Source
git clone https://github.com/pappmann/432hz-converter.git
cd 432hz-converter
pip install -e ".[all]"
System Dependencies
# Ubuntu/Debian
sudo apt install rubberband-cli libsndfile1 ffmpeg
# Fedora
sudo dnf install rubberband libsndfile ffmpeg
# Arch
sudo pacman -S rubberband libsndfile1 ffmpeg
Basic Usage
CLI Mode
# Analyze files
432hz analyze ~/Music/*.mp3
# Convert files interactively
432hz convert ~/Music/
# Batch convert with options
432hz convert ~/Music/ -o ~/Music_432Hz/ --quality best --no-backup
GUI Mode
# Launch graphical interface
432hz-gui
# Or just
432hz --gui
Nautilus Integration
Right-click on audio files → Scripts → 432Hz Converter
📖 Detailed Documentation
Command Line Interface
Analyze Command
Detect the tuning of audio files without converting them.
432hz analyze [OPTIONS] PATHS...
Options:
-f, --format [table|json|simple] Output format (default: table)
-o, --output PATH Save results to file
-C, --confidence-only Only show low confidence results
Convert Command
Convert audio files from 440Hz to 432Hz tuning.
432hz convert [OPTIONS] PATHS...
Options:
-o, --output-dir PATH Output directory (default: in-place)
-q, --quality [fast|balanced|best] Conversion quality
--no-backup Don't create backup files
--dry-run Preview what would be converted
-f, --force Convert without confirmation
--batch Non-interactive batch mode
-r, --report PATH Generate HTML report
Configuration
# Show current configuration
432hz config --show
# Set configuration values
432hz config -S quality best -S parallel_workers 8
# Save/load profiles
432hz config --save-profile studio
432hz config --profile studio
Graphical Interface
The GUI provides:
- Drag & drop file selection
- Real-time analysis progress
- Visual results table with filtering
- One-click batch conversion
- Integrated settings management
Advanced Features
Quality Settings
- Fast: Quick processing, good quality (Rubberband crisp 4)
- Balanced: Default, excellent quality/speed ratio (Rubberband crisp 5)
- Best: Maximum quality, slower processing (Rubberband crisp 6 with R3 engine)
Metadata Handling
The converter preserves all metadata and adds a custom tag:
- ID3v2.4: TXXX frame "TUNING_REFERENCE" = "432Hz"
- Vorbis: Custom comment "TUNING_REFERENCE" = "432Hz"
- MP4: Custom atom "----:com.432hz:tuning" = "432Hz"
Detection Algorithm
- Extracts pitch using CREPE (deep learning) and Parselmouth (Praat)
- Identifies A notes across all octaves (A2-A6)
- Calculates A4 reference frequency
- Determines tuning within ±10 cents tolerance
- Provides confidence score based on detection consensus
🛠️ Building & Packaging
Creating Packages
# Install build dependencies
pip install build wheel
# Build Python package
python -m build
# Create .deb package
make deb
# Create .rpm package
make rpm
# Create AppImage
make appimage
# Create all packages
make all
Installation Script
# Quick install script
curl -sSL https://çō.de/Pappmann/432hz-converter/install.sh | bash
📊 Performance
Typical conversion speeds on modern hardware:
- Fast mode: ~10 MB/s
- Balanced mode: ~5 MB/s
- Best mode: ~2 MB/s
Multi-core processing scales linearly with available CPU cores.
🤝 Contributing
Contributions are welcome! Please see our Contributing Guide for details.
Development Setup
# Clone repository
git clone https://çō.de/Pappmann/432hz-converter.git
cd 432hz-converter
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black src/
# Type checking
mypy src/
📄 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
🙏 Acknowledgments
- CREPE for neural pitch detection
- Parselmouth for Praat integration
- Rubberband for high-quality pitch shifting
- Mutagen for metadata handling
📞 Support
- 📧 Email: support@pappmann.com
- 🐛 Issues: çō.de Issues
- 📖 Wiki: Documentation
Made with ❤️ for music lovers who appreciate the harmony of 432Hz