A Python package for sorting Sample Libraries
Project description
Sample Library Sorter
*for now only meant to run on Windows10
This script allows you to quickly sort a massive amount of files, any kind you might find in your Sample Library as a Music Producer. For now, it will match after file name & type to the best of its abilitys. If you're curious about what it is matching the files against:
Look at this son of a book
This will yeild a pretty well sorted and catogorized Sample Library, Mostly depending on the randomness of the file names youre trying to sort.
pattern_lists = {
"Bass": ['bass', 'BS', 'BASS', 'Bass', 'sub', 'contrabass', 'BA', 'BS', 'Growl', 'GROWL', 'growl'],
"BassLoops": ['bass_loop', 'bass_loops', 'Bass loops', 'D&B_Bass_Loop', 'Bass_Loop'],
"DrumLoops": ['DnB_Drum_Loop', 'DRMLP', 'drum_loop', 'PRCLP', '_DnB_Drum_Loop_', 'MBeatbox', 'Drum_Loop', 'Top Drum Loop', 'Full Drum Loop' ,'Drum Loops', 'Drum Loop', 'Drum_Beat', 'drum_beat', 'drum_beats', 'fill', 'rundown', 'break', 'breaks', 'breakbeat', 'BREAK', 'Break', 'fills', 'Fills', 'FILLS', 'FILL', 'Fill', 'top loop', 'TOP loop', 'Top Loop'],
"BassHits": ['Bass_Hit', 'Bass_Hits', 'bass_hit', 'bass_hits'],
"Melodic": ['KEY', 'Melodics', 'KEYS', 'Lead', 'Organ', 'organ', 'ORGAN', 'melodic', 'Melodic', 'MELODIC', 'Melody', 'Arp', 'arp', 'melodic_one_shot', 'Arpeggio', 'arpeggio', 'ARP', 'Melody', 'melody', 'Melody', 'SEQ', 'seq', 'Bells', 'BELLS', 'Bell', 'bell', 'bells', 'Piano', 'piano', 'PIANO', 'Vibraphone', 'vibraphone'],
"MelodicLoops": ['melodic_loop', 'String Loop', 'cj_170_melodic_loop', 'MELODIC', 'Chord Loop', 'Melody','Melody Loop', 'Arp', 'arp', 'melodic_loop', 'Arpeggio', 'String Loops', 'string loops' ],
"Lead": ['lead', 'LD', 'LEAD', 'LD', 'LEAD', 'Lead'],
"Synth": ['Saw Loop', 'ARP', 'arp', 'Synth Loop', 'Synth', 'synth', 'SYNTH', 'SAW', 'saw', 'SY', 'SQ', 'SEQ', 'SAW', 'saw', 'SY', 'SQ', 'STAB', 'Stab', 'Synth_Loops', 'Synth_Loop'],
"Pad": ['PAD', 'CHORD', 'CH', 'chords', 'Chords', 'CHORDS', 'CHORD', 'chord', 'Soft Chord', 'PD','PAD', 'PD', 'pad', 'Pad', 'Pad_Loop', 'Pad_Loop', 'Pad Loop'],
"Keys": ['KEY', 'KEYS', 'keys', 'Brass', 'Organ', 'organ', 'ORGAN', 'Melody', 'melody', 'Melody', 'Piano', 'piano', 'PIANO', 'ELS' 'Vibraphone', 'vibraphone'],
"Wind": ['flute', 'FLUTE', 'flutes', 'Flutes', 'Brass', 'tuba', 'Woodwind', 'Tuba', 'SAX', 'sax', 'Sax', 'Saxophone', 'saxophone', 'SAXOPHONE', 'taiko', 'Taiko', 'TAIKO', 'horns', 'HORNS', 'horn', 'HORN'],
"String": [ 'Guitar', 'guitar', 'Violine'],
"Plucks": ['PL', 'pluck', 'plucks', 'PLUCK', 'pl'],
"DrumSnare": ['SNR', 'snare', 'Snare', 'SNARE', 'snares', 'Snares', 'SNARES', 'snr', 'RIM', 'Rim', 'rim', 'snap', 'SNAP', 'Snap', 'Snare', 'Snares'],
"DrumClap": ['CLAP', 'clap', 'Clap', 'CLAPS', 'claps', 'Claps'],
"DrumShakers": ['Shakers',],
"DrumTom": ['tom', 'TOM'],
"808": ['808'],
"DrumPresets": ['KICK', 'SNARE', 'Break', 'BREAK', 'CLAP', 'PERC', 'Kick', 'DRUM', 'Drum', 'drum', 'DRUMS', 'Drums', 'Drum', 'drums', 'KICKS', 'SNARES', 'CLAPS', 'PERCS', 'kick', 'snare', 'clap', 'perc', 'PR'],
"DrumKick": ['Kick', 'kick', 'KICK', 'Kicks', 'kicks'],
"DrumHats": ['Cymbal', 'HiHat', 'HH','Ride','ride', 'RIDE', 'CRASH', 'crash', 'Crash', 'Crashes', 'cymbal', 'CYMBAL', 'Hat', 'hat', 'HATS', 'HAT', 'hats', 'Hats'],
"DrumHatsClosed": ['closed', 'Closed', 'CLOSED', 'closed_hihat'],
"DrumHatsOpen": ['Open', 'open', 'OPEN', 'OHat', 'open_hihat'],
"DrumPercs": ['PERCUSSION', 'Bongo', 'BONGO', 'Conga', 'CONGA', 'bongo', 'conga', 'perc', 'PERC', 'percussion', 'Percussion', 'Perc'],
"DrumShakers": ['shaker', 'Shaker', 'SHAKER', 'shakers', 'Shakers', 'SHAKERS'],
"FX": ['fx', 'SFX', 'sfx', 'Drop Loop', 'FX', 'FF', 'beep', 'effect', 'Rise', 'Acid', 'Riser', 'riser', 'rise', 'Buildup', 'texture', 'textures', 'Texture', 'Textures', 'TEXTURE', 'TEXTURES', 'noise', 'NOISE', 'sfx', 'SFX', 'Gun', 'gun', 'Hits', 'hits', 'HITS', 'Birds', 'birds', 'nature', 'NATURE', 'Nature'],
"Riser": ['Riser', 'riser', 'Buildup', 'Build up', 'build up', 'Rise', 'Rises','Buildup Loop', 'Buildup Drums'],
"Vinyl": ['vinyl', 'Vinyl', 'Tape', 'taoe', 'crackle', 'Crackle'],
"Noise": ['Noise', 'White Noise'],
"Impact": ['Impact', 'IMPACT', 'impacts'],
"Siren": ['siren', 'Siren', 'dubsiren', 'Dubsiren', 'DubSiren'],
"Atmos": ['atmos', 'Air Can', 'Crickets', 'Walking', 'Footsteps','Ocean', 'ocean', 'Shells', 'Pots and Pans', 'Home Depot', 'Target Foley', 'Atmos', 'Billiards Foley', 'atmosphere', 'Walmart', 'atmospheres', 'Atmospheres', 'AT', 'ATMOSPHERE', 'ATMO', 'atmo'],
"Voice": ['Voice', 'Talk', 'Rudeboy', 'vocal', 'Vocal', 'VV', 'Dialogue', 'VOCAL'],
"VocalLoops": ['Vocal Loop', "vocal loops", 'Vocal_Loop', "vocal_loops",],
"Vocal Chop": ['Vocal Chop', 'vocal chop'],
"Vocal Arp": ['Vocal Arp', 'vocal arp', 'VOCAL ARP', 'VOCAL ARP'],
"Chants": ['Chant', 'chant', 'Chants', 'chants'],
"Phrases": ['Phrase', 'Phrases','PHRASE','PHRASES'],
"Hooks": ['hook', 'Hook','Hooks'],
"Vox": ['vox', 'VOX', 'Vox', 'Vocode', 'Vocoder', 'vocoder'],
"Screams": ['Scream', 'Screamer', 'shout', 'SREAM', 'SCREAMER'],
"Templates": ['temp', 'Temp', 'Template']
}
Audio, Project Files & Plugin Presets (for now just Serum and Massive)
Dependecies
Python, termcolor 2.3.0
Installation
from PyPI
py -m pip install --upgrade slib-sorter
from GitHub
git clone https://github.com/nrdrch/slib-sorter.git; python3 \slib-sorter\src\slib-sorter.py
Usage
If its the first time running or if the directories don't exist, it will create these on your desktop.
- Copy all your files into the 'To Be Sorted' directory
- Run the command again and wait for the process to be completed
Slib-Sorter
- Inspect the newly created Sample Library
for other options look at:
Slib-Sorter -help
Note: Among other things, the names of these two directories & the name of the finished library can be changed in the settings file.
$home\Documents\slib-sorter\settings.json
config preview
or run this and it will open the settings file for you
Slib-Sorter -config
Future additions and improvements :bulb:
- Make any used path easier configurable by the user.
- Fix minor issues regarding time.
- Add further support for other Plugins and theird presets.
- Add support for other Linux.
- Further improve pattern matching
- Apply somewhat simple AI to further boost accuracy, including sorting not based on sound.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file slib-sorter-1.6.7.tar.gz
.
File metadata
- Download URL: slib-sorter-1.6.7.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ad3bf7f1b4ee1626bd67a8e6f88056e9c60ce4658f25ed95a22e5a9a40e84f7 |
|
MD5 | f5676e2261f5484933908b89a4d2560a |
|
BLAKE2b-256 | 4f574fb3526e429662ae4d7a964d6b84f84f995e8ab26dc3e7af4b6c07428345 |
File details
Details for the file slib_sorter-1.6.7-py3-none-any.whl
.
File metadata
- Download URL: slib_sorter-1.6.7-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6508e78cdb5af3c8239f4a5b55b4fc52e0898ffc7c1cd90f602c849431b94172 |
|
MD5 | 9a1b0481b4ca4c218afee6c770c67cc0 |
|
BLAKE2b-256 | b29ef3d5c9cd233557000dfc07aad1ea074d3018cdd0b616c5b7055bd88c1c44 |