Inspired by trending AI audio tools but focused on simple pip-installable audio processing.
AudioForge is a Python toolkit for audio manipulation, transcription preprocessing, noise reduction, and audio analysis using AI techniques. Built on top of NumPy and SciPy, it provides a clean, chainable API for common audio processing tasks.
graph TD
A[Audio Input<br/>WAV files] --> B[AudioForge Core]
B --> C[Normalize]
B --> D[Noise Reduction]
B --> E[Silence Trimming]
B --> F[Tempo Detection]
B --> G[Spectral Analysis]
C --> H[Export Engine]
D --> H
E --> H
H --> I[Audio Output<br/>WAV / processed arrays]
subgraph Config
J[Pydantic Settings]
K[.env / Environment]
K --> J
J --> B
end
subgraph Utilities
L[dB Conversion]
M[Time Formatting]
N[Validation]
end
B --> Utilities
pip install -e .from audioforge import AudioForge
af = AudioForge()
# Load, process, and export
af.load("input.wav")
af.normalize()
af.reduce_noise(threshold=0.02)
af.trim_silence(threshold_db=-40)
af.export("output.wav")
# Analysis
bpm = af.detect_tempo()
print(f"Detected tempo: {bpm:.1f} BPM")
spectrum = af.spectral_analysis()
print(f"Dominant frequency: {spectrum['dominant_frequency']:.1f} Hz")make testmake install # Install in editable mode with dev deps
make lint # Run linter
make test # Run test suite| Feature | Description |
|---|---|
| Load / Export | Read and write WAV audio files |
| Normalize | Peak normalization to target amplitude |
| Noise Gate | Simple threshold-based noise reduction |
| Silence Trimming | Remove leading/trailing silence |
| Tempo Detection | BPM estimation via autocorrelation |
| Spectral Analysis | FFT-based frequency domain analysis |
- Python 3.11+
- NumPy
- SciPy
- Pydantic / pydantic-settings
MIT — see LICENSE for details.
Built by Officethree Technologies | Made with ❤️ and AI