Skip to content

MukundaKatta/AudioForge

Repository files navigation

AudioForge 🎵

CI License: MIT Python 3.11+

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.


Architecture

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
Loading

Quickstart

Installation

pip install -e .

Usage

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")

Running Tests

make test

Development

make install    # Install in editable mode with dev deps
make lint       # Run linter
make test       # Run test suite

Features

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

Requirements

  • Python 3.11+
  • NumPy
  • SciPy
  • Pydantic / pydantic-settings

License

MIT — see LICENSE for details.


Built by Officethree Technologies | Made with ❤️ and AI

About

AI audio processing toolkit — normalize, denoise, analyze, and transform audio with numpy/scipy

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors