Skip to content

Repository files navigation

AudioForge workspace with waveform, reference matching, and A/B comparison

AudioForge

A local-first audio and video finishing workspace for macOS.
Clean speech, improve detail, trim silence, match a reference, transcribe, compare, and export.

Latest release MIT license macOS on Apple Silicon Local first

Quick start · What it does · Workflow · Architecture · Español


Built for the last mile of spoken-word media

AudioForge turns a chain of excellent open-source tools into one calm local workflow. Import a file or a public YouTube video, choose only the treatments you need, preview the real result, and export without moving your media to a cloud service.

Bring your media Shape the result Deliver it
Local audio, video, or a public individual YouTube video Denoise, enhance, trim silence, reference-match, mix, and optionally transcribe WAV, MP3, or a video in its source container or MP4

A workspace that keeps the decision visible

The workspace previews silence cuts before processing, keeps A and B on the same timeline, and lets you control the final original-to-processed mix before export. Long-running YouTube preparation and processing states report progress instead of leaving you with an unexplained spinner.

What it does

  • Bring your own source. Import local audio or video, or prepare a public individual YouTube video as full video or audio-only.
  • Clean and restore speech. Run DeepFilterNet denoising and Resemble Enhance voice restoration, with fast, recommended, and high-quality modes.
  • Remove silence deliberately. Preview the cut zones and use a single 0–100 aggressiveness control before running the pipeline.
  • Match the sound you want. Use a selected YouTube reference clip or a local reference file, then choose natural, balanced, or reference-faithful mastering.
  • Keep control of the finish. Blend edited original and processed audio from 0–100%, then listen in the A/B comparison before exporting.
  • Create captions when needed. Generate word-level JSON, SRT, and VTT with whisper.cpp after all audio processing has finished.

The workflow

Source
  └─ local audio/video or public YouTube video
       ↓
1. Clean       DeepFilterNet removes background noise
2. Enhance     Resemble Enhance restores speech detail in bounded chunks
3. Trim        Auto-Editor applies the selected silence cuts
4. Match       Matchering shapes tone and loudness from a reference
5. Mix         FFmpeg blends original and processed audio
6. Transcribe  Optional whisper.cpp word-level subtitles
7. Export      Audio or video delivery, with subtitles when requested

Every stage runs in that order. Transcription is intentionally last, so caption timing always reflects the final audio timeline.

Quick start

Requirements

  • macOS on Apple Silicon
  • Homebrew, Git, and uv
  • Node.js 22 or newer
  • 16 GB RAM recommended when voice enhancement is enabled
  • Local disk space for media, PCM intermediates, models, and exports

Install and run

git clone https://github.com/ingeleyton/Audio_Enhanced.git
cd Audio_Enhanced
./scripts/bootstrap.sh
./scripts/start.sh

Then open http://127.0.0.1:8000.

If you only want the native core, without the heavier enhancement and matching workers:

./scripts/bootstrap.sh --skip-heavy

To inspect prerequisites without changing your machine:

./scripts/bootstrap.sh --check

References and export

Reference audio

Use a clean, continuous reference that represents the sound you want:

  • YouTube reference: choose an exact 30 second–5 minute range. AudioForge suggests 90 seconds when available.
  • Local reference file: WAV, MP3, FLAC, M4A, AAC, OGG, OPUS, AIFF, or WMA, from 30 seconds to 15 minutes.

Deliverables

Source Export choices
Audio Lossless WAV or 320 kbps MP3
Video Original-compatible container with copied video when possible, or MP4. Incompatible video is encoded as H.264 CRF 18.
Captions SRT and VTT, plus word-level JSON when transcription is enabled

Architecture

React workspace
      ↓
Rust + Axum engine
      ↓
single execution gate
  ├─ Auto-Editor
  ├─ DeepFilterNet
  ├─ Resemble Enhance
  ├─ Matchering
  ├─ whisper.cpp
  ├─ yt-dlp
  └─ FFmpeg

AudioForge is deliberately disk-first and sequential. It bounds waveform and log data, runs only one heavy child process at a time, and terminates Python workers after each stage so macOS can reclaim memory before the next engine starts. small-q5 is the default Whisper model; larger models download only on demand.

Resemble Enhance has a meaningful fixed PyTorch cost. A real 19-second CPU smoke test peaked near 5.3 GB RSS, then released that memory before Matchering and Whisper. Disable Enhance voice or use --skip-heavy on smaller machines.

YouTube, privacy, and limits

AudioForge accepts only HTTPS URLs for public individual YouTube videos. Playlists, live streams, scheduled premieres, private media, cookies, browser profiles, and login are intentionally unsupported.

Media, jobs, models, logs, and exports remain on your Mac. The only network media operation is an explicitly requested YouTube download. Use YouTube features only with media you own or are authorized to process. AudioForge is not affiliated with YouTube.

Whisper models

small-q5 is installed and selected by default. Other choices remain visible in the app and download only when selected:

./scripts/models.sh list
./scripts/models.sh install base
./scripts/models.sh install medium
./scripts/models.sh install large-v3-turbo-q5

If the chosen model is unavailable, the API returns the exact installation command before it queues the job.

Development

Run the development servers:

./scripts/dev.sh

Vite listens on 127.0.0.1:5173 and proxies /api to the Rust engine on 127.0.0.1:8000.

Run the full verification suite:

cargo test --manifest-path engine/Cargo.toml
uv run pytest backend/tests -v
npm --prefix frontend test -- --run
npm --prefix frontend run build
cargo build --manifest-path engine/Cargo.toml --release

The automated suites use fake processes and do not load ML models.

Powered by open source

AudioForge integrates these projects, each under its own license and terms:

Contributing and license

Read CONTRIBUTING.md, follow the Code of Conduct, and report vulnerabilities through SECURITY.md.

AudioForge is available under the MIT License.

About

Local-first audio and video enhancement studio for macOS, powered by Rust, React, whisper.cpp, DeepFilterNet, Resemble Enhance, Matchering, FFmpeg and yt-dlp.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages