├── TODO.md ├── pipe.sh └── README.md /TODO.md: -------------------------------------------------------------------------------- 1 | - add tags from research (youtube genres, beatport etc..) - use API to fetch tags ? 2 | - build intelligenc playlists 3 | 4 | - cut mp3 process (beginning / end of mixes / track cleaning) -> ex sox Adele\ -\ Hello\ my-free-mp3s.com\ .mp3 Adele\ -\ Hello\ my-free-mp3s.com_v2.mp3 trim 1 01:05 5 | - categorization / steps in pipeline 6 | - hosting w/ playlists 7 | - better usb sync 8 | - open raw-> .mp3 diectly in Metadatics with bash 9 | 10 | - explore https://github.com/diracdeltas/rekordbox-scripts for data cleaning 11 | -------------------------------------------------------------------------------- /pipe.sh: -------------------------------------------------------------------------------- 1 | echo "Move & Clean - GO! \n********************\n\n"; 2 | 3 | mv -v ~/Downloads/*.mp3 ~/Music/music/raw/ || true; 4 | cd "~/Music/Music/raw" 5 | rename -vS 'www.my-free-mp3.net' '' *; 6 | rename -vS 'my-free-mp3s' '' *; 7 | rename -vS '(Original Mix)' '' *; 8 | rename -vS '(Club Mix)' '' *; 9 | rename -vS '[Video]' '' *; 10 | rename -vS '.com' '' *; 11 | rename -vS 'www.' '' *; 12 | rename -vS '-free-dl' '' *; 13 | rename -vS ' ' ' ' *; 14 | rename -vS ' .mp3' '.mp3' *; 15 | rename -vS ' .mp3' '.mp3' *; 16 | rename -vS ' .mp3' '.mp3' *; 17 | 18 | echo "\n\nDuplicates:" 19 | ls *"(1).mp3"; 20 | 21 | echo "\n\n********************\nEnd of move-and-scrape" -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## music-library-utils 2 | Minimalist code & tricks to better manage your DJ library. 3 | 4 | ### Tools 5 | - [Rekordbox](https://rekordbox.com)($100 license) 6 | - [Metadatics](https://apps.apple.com/app/metadatics/id554883654?mt=12) (Appstore - $15) 7 | 8 | ### Ingestion steps 9 | - Download tracks in `/downloads` 10 | - Run `pipe.sh` in `/raw` sub-folder of `/music` 11 | - Metadatics: open raw folder, clean-up filenames & tags 12 | - Rekordbox: re-import the `/raw` sub-folder as a playlist 13 | - Add tags to each track, include "Fresh" tag in "Played At" category - don't dispatch in playlists yet as this would be lost 14 | - Tracks are ready: move `raw` tracks to `music` 15 | - Rekordbox: re-import `music` folder as playlist 16 | 17 | ### Tags 18 | - `Genre`: sub-categories based on your prefered styles 19 | - `Component`: singular sound element 20 | - `Situation`: proper context 21 | - `Played At`: personal historical record 22 | 23 | ### Notes 24 | - Check the rekordbox setting: `Write the value to ID3 tag` 25 | - Tags become duplicated in the `comment` field with is not rekordbox-specific 26 | - Consider creating a symbolic link for easier usage: `ln pipeline_move-and-scrape.sh ~/Music/music/raw/scripts/pipeline_move-and-scrape.sh` 27 | - Run `mv raw/*.mp3 ../` for moving things around 28 | 29 | ### Additional tools 30 | - [keyfinder](http://www.ibrahimshaath.co.uk/keyfinder/) is an alternative to find the key & write it to tag 31 | - [MusicBrainz Picard](https://picard.musicbrainz.org/) to access richer meta data & more 32 | --------------------------------------------------------------------------------