Skip to content

ArPaN-DS/Audio_Cutter_Pro

Audio Cutter Pro Logo

🎡 Audio Cutter Pro

A professional-grade, browser-based audio editor built with Flask & WaveSurfer.js
Cut β€’ Trim β€’ Fade β€’ Normalize β€’ Reverse β€’ Export β€” all from your browser. No signup. No cloud.

GitHub Stars GitHub Forks Open Issues MIT License Python 3.9+ CI Status Last Commit


✨ Why Audio Cutter Pro?

No subscriptions. No uploads to third-party servers. No account required. Your audio files never leave your machine β€” everything is processed locally on your own server.

πŸ”’ Privacy-First πŸ€– Local AI Tools ⚑ Feature-Rich 🌐 Browser-Based
Files stay on your server β€” never sent to cloud APIs Silence detection, Transcript generator, auto-trim, BPM, and noise reduction (Runs 100% on CPU, even on resource-constrained devices) Multi-region cutting, effects, undo/redo, mic recording Works on any device with a browser β€” no app install

πŸš€ Features

Feature Description
🎯 Multi-Region Cutting Create unlimited cut regions on the waveform β€” each independently adjustable
πŸ”Š Audio Effects Fade In, Fade Out, Normalize (loudness leveling), Reverse
πŸ“€ Flexible Export Export as MP3 (320kbps) or WAV β€” merged or as separate ZIP files
πŸŽ™οΈ Microphone Recording Record audio directly from your browser microphone
πŸ–±οΈ Drag & Drop Upload Drop your audio or video file directly onto the page
↩️ Undo/Redo Full undo system (Ctrl+Z) for all region operations
⌨️ Keyboard Shortcuts Space, Delete, Ctrl+Z, ← / β†’, M, ?
πŸ“± Fully Responsive Works on mobile, tablet, and desktop
🎨 Premium Design Glassmorphism UI β€” clean, modern, professional
πŸ€– AI-Powered Analysis Local silence detection, auto-trim, beat tracking (BPM), voice activity detection (VAD), speech-to-text transcription (requires openai-whisper), and local noise reduction β€” runs 100% on CPU

⚑ Quick Start (5 minutes)

Prerequisites

  • Python 3.9+ β†’ Download
  • FFmpeg β†’ Download (required for audio processing)

Installation

# 1. Clone the repository
git clone https://github.com/ArPaN-DS/Audio_Cutter.git
cd Audio_Cutter

# 2. Create and activate a virtual environment
python -m venv venv

# Windows
venv\Scripts\activate

# macOS / Linux
source venv/bin/activate

# 3. Install dependencies
pip install -r requirements.txt

# 4. Configure environment
cp .env.example .env
# Edit .env and set your FLASK_SECRET_KEY

# 5. Run the app
python app.py

πŸŽ‰ Open β†’ http://localhost:5000

πŸ“– Need more help? See the full setup guide β†’


πŸ› οΈ Tech Stack

Layer Technology
Backend Python 3.9+, Flask 3.x
Audio Engine Pydub + FFmpeg
Frontend HTML5, CSS3, Vanilla JavaScript
Waveform WaveSurfer.js v7 (Regions + Timeline plugins)
Fonts Google Fonts β€” Inter
Icons Font Awesome 6
Logging PostgreSQL via psycopg2 (optional)

⌨️ Keyboard Shortcuts

Shortcut Action
Space Play / Pause
Double-Click Add new region on waveform
Click Region Select a region
Delete Remove selected region
Ctrl + Z Undo last action
← / β†’ Skip back / forward 5 seconds
M Mute / Unmute
? Show shortcuts panel

πŸ“ Project Structure

Audio_Cutter/
β”œβ”€β”€ app.py                  # Flask backend β€” routes & audio processing
β”œβ”€β”€ ai_processor.py         # Local AI processing engine (silence, beats, denoise, speech detection)
β”œβ”€β”€ logger.py               # PostgreSQL upload logger (optional)
β”œβ”€β”€ requirements.txt        # Python dependencies
β”œβ”€β”€ .env.example            # Environment configuration template
β”œβ”€β”€ CHANGELOG.md            # Version history
β”‚
β”œβ”€β”€ static/
β”‚   β”œβ”€β”€ style.css           # Design system (1900+ lines)
β”‚   β”œβ”€β”€ script.js           # Frontend JS β€” WaveSurfer, regions, UX (700+ lines)
β”‚   └── logo.png            # App logo
β”‚
β”œβ”€β”€ templates/
β”‚   └── index.html          # Main HTML template (Jinja2)
β”‚
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ workflows/ci.yml    # GitHub Actions CI β€” linting
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/     # Bug report & feature request forms
β”‚   └── PULL_REQUEST_TEMPLATE.md
β”‚
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ SETUP.md            # Detailed setup guide
β”‚   β”œβ”€β”€ PRODUCTION.md       # Production deployment guide
β”‚   β”œβ”€β”€ USER_MANUAL.md      # End-user documentation
β”‚   └── CONTRIBUTING.md     # Contribution guidelines
β”‚
β”œβ”€β”€ uploads/                # Temporary uploaded files (auto-cleaned)
β”œβ”€β”€ processed/              # Temporary processed output files
└── logs/                   # Application logs

πŸ“š Documentation

Document Description
πŸ“‹ Setup Guide Step-by-step setup for beginners
🏭 Production Guide Deploy to a real server
πŸ“– User Manual How to use every feature
🀝 Contributing How to contribute to this project
πŸ“‹ Changelog Version history
πŸ”’ Security Vulnerability reporting policy

πŸ”§ Configuration

Copy .env.example to .env and update values:

cp .env.example .env
Variable Default Description
FLASK_SECRET_KEY (required) Session secret key β€” generate with python -c "import secrets; print(secrets.token_hex(32))"
FLASK_PORT 5000 Server port
DB_PASSWORD β€” PostgreSQL password (optional logging)

πŸ—ΊοΈ Roadmap

Planned features for upcoming releases:

  • v1.1 β€” Waveform zoom controls + speed adjustment (0.5×–2Γ—)
  • v1.2 β€” Local AI integrations (Silence detection, auto-trim, BPM, denoise, Whisper transcription)
  • v1.3 β€” Batch file processing (multiple files in one session)
  • v1.4 β€” Audio merge from multiple source files
  • v1.5 β€” Dark / Light mode toggle
  • v2.0 β€” Docker one-command deployment

πŸ’‘ Have an idea? Open a feature request β†’


🀝 Contributing

Contributions are very welcome! Whether it's a bug fix, a new feature, or improved documentation:

  1. Fork the repo
  2. Create your branch: git checkout -b feat/your-feature
  3. Commit your changes: git commit -m "feat: add awesome feature"
  4. Push & open a Pull Request

See CONTRIBUTING.md for full guidelines.


πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details. Free to use, modify, and distribute.


Made with ❀️ by ArPaN-DS

If this project helped you, please consider giving it a ⭐ β€” it means a lot!

About

🎡 Fetch, edit & export audio, all in your browser. AI-powered music fetcher + full editor (cut, trim, fade, normalize, MP3/WAV). Flask + WaveSurfer.js. Zero cloud. Self-hosted.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors