SongChooser is a tool for automating the process of discovering, processing, and classifying music tracks from YouTube based on your personal preferences using AI.
- Download audio from YouTube: Fetches audio tracks from YouTube videos.
- Convert to WAV: Converts downloaded audio files to
.wavformat for further processing. - Generate Spectrograms: Creates spectrogram images from
.wavfiles, visualizing the audio for machine learning. - AI Model Training: Uses your ratings/preferences to train an AI model on the spectrograms.
- Automatic Classification: Once trained, the model classifies new downloads into directories from 1 to 5 stars, so you can easily find tracks you'll enjoy.
- Download: Use
ytToMp3.pyto download audio from YouTube as MP3 files. - Convert: Use
mp3ToWav.pyto convert MP3s to WAV format. - Spectrograms: Use
wavToPng.pyto generate spectrogram images from WAV files. - Model Training: Use your ratings to train the AI model (see
pngToModel.pyorpngToCutomModel.py). - Classification: The trained model sorts new tracks into
1_Star/to5_Stars/directories for easy listening.
ytToMp3.py: Download YouTube audio as MP3.mp3ToWav.py: Convert MP3 files to WAV.wavToPng.py: Generate spectrograms from WAV files.pngToModel.py,pngToCutomModel.py: Train AI model on spectrograms.wavToStars.py: Classify tracks into star directories.1_Star/...5_Stars/: Classified tracks by rating.0_tmp_spectrograms/: Temporary spectrogram images.
- Install Python dependencies (see script headers for requirements).
- Run the scripts in the order above to process and classify your music.
- Enjoy your sorted music collection!
- You will need to label tracks manually to train the model initially.
- The AI model improves as you provide more ratings.
This project is for personal use and experimentation.