A simple PyQt6-based GUI application for downloading audio/video from YouTube and separating audio tracks using AI.
-
YouTube Audio/Video Downloader: Download audio or video from YouTube using yt-dlp
- Download as MP3, WAV, or video formats
- Support for playlists
- Custom quality selection
- Automatic metadata tagging
-
Audio Separator: Separate audio tracks using Demucs AI
- Extract vocals, drums, bass, and other instruments
- Multiple Demucs models supported
- Batch processing
- Python 3.8+
- PyQt6
- yt-dlp (included as executable)
- Demucs (for audio separation)
- Clone this repository:
git clone https://github.com/big-chris/AudioTools.git
cd AudioTools- Install Python dependencies:
pip install PyQt6
pip install demucs- Run the application:
python AudioTools.pyOr use the batch file:
AudioTools.bat- Paste a YouTube URL
- Select output format (MP3, WAV, or Video)
- Choose download location
- Click "Download"
- Select an audio file
- Choose Demucs model
- Select output directory
- Click "Separate Audio"
AudioTools/
├── AudioTools.py # Main application
├── AudioTools.bat # Windows launcher
├── demucs_wrapper.py # Demucs integration
├── create_icon.py # Icon generator
├── yt-dlp.exe # YouTube downloader executable
├── media/ # Downloaded media files (not in git)
├── audiotools_icon.ico # Application icon
└── readme.txt # CLI examples
Settings are automatically saved to audiotools_settings.json (not tracked in git).
This project uses yt-dlp which is licensed under the Unlicense.
- Media files in the
media/folder are excluded from version control - Log files and settings are excluded from git
- The
yt-dlp-master/folder contains the upstream yt-dlp source code for reference