Skip to content

Param-Harrison/vocal-remover

Repository files navigation

🎤 Vocal Remover

A privacy-first desktop app that removes vocals from audio and video files with one click. Create karaoke tracks by removing vocals from various audio and video formats. All processing happens locally on your device.

🌟 Features

  • One-click vocal removal
  • Support for multiple audio formats:
    • MP3, WAV, FLAC, AAC, OGG, M4A, WMA, AIFF, ALAC
  • Support for multiple video formats:
    • MP4, AVI, MOV, MKV, WMV, FLV, WEBM, M4V, 3GP
  • Generates both instrumental and acapella versions
  • Real-time processing status updates
  • Local processing (no data leaves your device)
  • Clean, minimal UI with dark mode support
  • Cross-platform (macOS, Windows, Linux)
  • Auto-updates support

🛠️ How It Works

  1. The app uses FFmpeg for audio processing and vocal removal.
  2. When you drop a file:
    • For video files: The audio is extracted and converted to WAV format
    • For audio files: The file is converted to WAV format if needed
  3. The audio is then processed to:
    • Generate instrumental version (vocals removed)
    • Generate acapella version (isolated vocals)
  4. Both versions are saved in the same directory as the input file

🚀 Development

Prerequisites

  • Node.js 16 or later
  • npm or yarn
  • FFmpeg (automatically installed via ffmpeg-static)

Local Development

  1. Clone the repository:
git clone https://github.com/yourusername/vocal-remover.git
cd vocal-remover
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev

This will:

  • Start the Vite development server
  • Launch the Electron app in development mode
  • Enable hot reloading
  • Open DevTools automatically

Development Scripts

  • npm run dev - Start development server
  • npm run start - Start Electron in development mode
  • npm run build - Build the React app
  • npm run preview - Preview the built app

🏗️ Building

Build for All Platforms

npm run build:all

This will build the app for macOS, Windows, and Linux.

Platform-Specific Builds

# For macOS
npm run build:mac

# For Windows
npm run build:win

# For Linux
npm run build:linux

The built apps will be available in the release directory.

Build Configuration

The app uses electron-builder for packaging. Configuration can be found in package.json under the build field:

  • appId: Unique identifier for the app
  • productName: Display name of the app
  • publish: GitHub release configuration
  • Platform-specific settings for macOS, Windows, and Linux

📦 Release Process

Version Management

The app uses semantic versioning. To create a new release:

# For patch updates (bug fixes)
npm run release:patch

# For minor updates (new features)
npm run release:minor

# For major updates (breaking changes)
npm run release:major

Auto Updates

The app includes auto-update functionality:

  • Checks for updates on startup
  • Downloads updates in the background
  • Prompts user to install when ready
  • Supports GitHub releases

Release Steps

  1. Update version:
npm run release:patch  # or minor/major
  1. Build for all platforms:
npm run build:all
  1. Create a GitHub release with the built files

🙏 Acknowledgments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published