TubeMixr is a command-line tool that allows users to create a custom mix of songs by extracting specific segments from YouTube videos. The software downloads audio from given YouTube URLs, extracts specified portions based on user-defined start and end times, and merges the selected segments into a single audio file. This is particularly useful for creating dance mixes, mashups, or curated playlists from YouTube sources.
Often, users want to create a seamless mix of their favorite tracks without having to manually download, edit, and merge audio clips. Traditional methods require multiple tools for downloading, trimming, and merging audio files, which can be time-consuming and complex. TubeMixr simplifies this process by automating the entire workflow in a single script, making it accessible for DJs, choreographers, and music enthusiasts.
- Download audio from YouTube videos.
- Extract specific portions of audio based on user-defined timestamps.
- Merge multiple extracted segments into a single audio file.
- Support for command-line input and CSV file input.
- Automated cleanup of temporary files.
To use TubeMixr, ensure you have the following installed:
- Python 3.x
- Required dependencies (install using
pip install -r requirements.txt
)
python main.py
Upon running, TubeMixr prompts the user to select an input method:
- Command Line Input: Manually enter YouTube URLs along with start and end timestamps.
- CSV File Input: Provide a CSV file (
csv/tubemixr.csv
) with YouTube URLs and corresponding timestamps.
- TubeMixr downloads the audio files from the provided URLs.
- It then extracts the specified portions.
- The extracted segments are merged into a single audio file.
The final merged audio file will be stored in the output directory.
TubeMixr/
│── features/
│ ├── audio_download.py
│ ├── audio_split.py
│ ├── audio_merge.py
│ ├── read_csv.py
│── temp/
│ ├── split/
│── output/
│── csv/
│ ├── tubemixr.csv
│── main.py
│── requirements.txt
ffmpeg
must be installed on the system and added to PATH.
Ensure the following Python libraries are installed:
pytubefix
(for downloading audio)pydub
(for splitting and merging audio)csv
(for reading CSV input)
- Add GUI support for easier interaction.
- Support for additional audio formats.
- Cloud storage integration for processing and storing files online.
TubeMixr is an open-source project. Feel free to modify and improve it!