Deluge Kit Generator
(this was posted on the Deluge Facebook Forum but thought it would be good to add this here)
Hey people!
I wrote a little script to build Deluge drumkits for me. It scans the folder from which it was launched at, will create a /delugekits subfolder and fill it with the kits (one kit per wav-subfolder it finds). I wrote this for myself (pretty low tech Python) but thought I'd share it. Don't expect a fleshed out UI.
It'll try to put the bassdrum onto 1, then snare, open hihat, closed hihat, rest of sounds, then loops.
PLEASE READ THE "README-PLEASE.txt" INSIDE OF THE ATTACHED ZIP FILE!
Lee Pe had posted the '66 Drum Kits' package the other day. Unfortunately all files are just number. The script would work like that. But you can also run rename66.exe first. That'll go through the folders and rename the .wav files based on the folders names.txt. After that you'll have good short names on each drumkits sound and bd/sd/chh/ohh nicely sorted.
So...easiest way:
- copy the content of the attached zip-file into the "\66 Legendary Drum kits" folder.
- run rename66.exe.
- run build.exe
- copy all subfolders onto the SD card into /SAMPLES/6LDk (=auto proposed short folder name - see help file)
- copy content of /delugekits onto the SD card into /KITS
Enjoy your 66 new drumkits starting at 100.
Oh I should say: Even though this doesn't do anything crazy, you'll run it at your own risk (renaming the 66 drumkit's wav-files would be the most invasive, apart from that it just generates the xmls)
Here's a screenshot:
Comments
Here are the files.
Eeeeeh somehow this doesn't work. Are we not allowed to post .zip files? Not sure whats wrong.
Hmmm - until then: Facebook. Sorry.
main zip with .exe:
https://drive.google.com/file/d/0Bzp4QoeyqUqMaWxHb2tRMTJzOTA/view?usp=sharing&resourcekey=0-JzmNwLRwu32q5TpRpNICwQ
python version:
https://drive.google.com/file/d/0Bzp4QoeyqUqMYWcxRGVvU1V4TWs/view?usp=sharing&resourcekey=0-LcLmBtqW86RYlZpGr43Hrg
can anybody repost the drum samples here?
https://drive.google.com/drive/folders/0B7fi-1QshjRdR0pQLVFRTHRQZDA
~ Distinguished Delugate ᕕ( ◎_◎)ᕗ
Thx for providing the source code, too. To make the scripts work with Python versions < 3.5 (eg. on Linux or Mac) you need to:
pip install glob2
and replace the line
import glob
with
import glob2 as glob
in the Python scripts (older versions of glob do not support the recursive=True argument).
Rather than have every use re-run the script everytime, has anyone done this where they could just post the final product for the 66-kit?
I did the rename and the generating bit.. did notice some kits didn't get processed right.. might need a manual correct before uploading.. bit its very easy to do.. so just go for it
I'm on a mac only and don't know python to execute it.
Heres a kit list
Korg M1 for deluge
Wonderful tool, thanks a million! Was just wondering, when doing the rename - this one did not have a "names.txt" file: 17. EKO CompuRhythm
I´ve googled but without success, anyone grabbed the file names from somewhere and care to share?
So I would like to add for a total coding novice like me, if it would be possible to post the finished product I would be forever grateful as there are some amazing drum machine finds there!
I'd even pay to have the fu finished deluge ready product.
I've since worked this out and it is dead easy, no real python knowledge needed. Excellent work, the samples sound great - recommend this to all deluge users. Only complaint would be I would prefer to have all kicks on the first note, all snares on the 2nd, etc but guess I could edit the kit generator. Deluge is my go to for drum programming now.
I'm still not getting where and how to set what you want your first kit number to be. Help please, thanks!
When you start the tool without anything it'll tell you all the options (see below). So build.exe -s 120 will start your numbers from 120.
-s
NO START GIVEN, USING: 100
-f
NO FOLDER GIVEN, USING: C:\Users\HORSTM~1\AppData\Local\Temp\Rar$EXa0.582
WRITING DELUGE KITS TO: C:\Users\HORSTM~1\AppData\Local\Temp\Rar$EXa0.582\delugekits
-t
NO SAMPLE PATH GIVEN, USING AUTOGENERATED: SAMPLES/Rar$
delugekits >> YES
Thanks. I get that, just don't get how/where to change that number. I run the CMD script like in the directions, still can't change the value for -s. When I try to change that number it does nothing. If I start build.exe in its own folder, that screen comes up but then says "press any key to continue" so the second I press anything it closes.
Hmm works for me - python script and .exe file. I drop the exe file into the parent folder of my sample folders and type
build.exe -s 200
Kits start from 200 upwards.
So just to make sure I'm understanding this correctly, each time I want to make more kits using a higher sequence of numbers I have to make a new build.exe using Python first?
No.
The python version and the exe file are doing exactly the same thing. The exe file is just a wrapped version of the the python script to make it easier for users who don't have python installed.
If you prefer to run the python version just do:
python build.py -s 200
and ignore the exe file.
Just want to say thanks for the python script! I just spent the afternoon creating kits from my sample packs. Two little things I noticed:
Otherwise, works a charm!
Tried it with Mega Drum Machines Collection v.2
it seems that there is a problem with wav-files with a bit-rate of 1536 kBit/s?
And another problem seems to be when there are space " " in the names. I converted those things by hand, resp. with to programs ( MediaHuman Audio Converter and Advanced Renamer) but perhaps it is easy to change it in the program??? Thx a lot for this nice thing!!!
Signs like the german ä, ö, ü had I to change in ae, oe, ue. And it seems, that 349 kBit/s are also a problem (the Tama_TS-305 set in the Mega Drum Machines Collection v.2).
A great tool! On OSX, first had problem with glob, then it was a pain to install PIP but after I got it sorted out this worked great.
One question, had shitloads of Maschine kits converted, but the script somehow tries to organize samples by type (Bd, snare, hihat etc) but somehow with my kits it seems to fail every now and then. I have my samples starting with a number from 001 to 016 - is it somehow possible to prevent the reordering and make the script only pick the files in order? 001 to first slot and so on?
Great Tool, thanx!
On a Win System the uses WAVEs have to be *.wav (lower case) ...
... Love it!
What exactly is the "Deluge Kit Generator"?
the Name is most promising but I can´t imagine how it works and what´s the purpose....maybe someone can explain or make a video how to use it
The tool works great, but I was wondering why sometimes kicks end up on one row and other kits a different row
Like robleighton22 mentioned it would be nice to have all kicks on the same row so we could use external midi with the kits, but right now its impossible to map a premade template because the kick / snare / chh / ohh end up on different rows per kit.
If someone could give me some pointers as to why this is I would appreciate it so I may try to modify the script.
Otherwise this is very useful and I would like to help develop it further if possible.
It looks at the naming of the samples and sorts it based on that. If the naming isn't matching it has no way to know how to sort them (doesn't do any frequency analysis). Below are the different namings it would recognize.
If I remember right it sorts samples by name if there are multiple of the same type (e.g. kicks) in one folder.
Hope this makes sense. Feel free to modify the script.
pbd = ["bd","BD","KICK","kick","Kick","Bassdrum"]
psd = ["sd","snare","SNARE","Snare"]
pch = ["hh","ch","hihat","hhc","hhcl","cl_hat","Chh","Hhclose","hihatclosed","hi_hat","closed_hi_hat","Hatclosed","hi_hat","Hat_Closed"]
poh = ["oh","hho","hhop","Ohh","ophihat","Hhopen","hihatopen","open_hi_hat","Hatop","open_hi_hat","Hat_Open"]
Thank you for responding and creating this tool it is excellent and I am learning alot from it. I reviewed the xml's that it creates vs the default ones and the code in the build.py further before responding. It is finding the correct file name and sample which corresponds to kick. The issue is that sometimes the lowest note in the kit is C0 and sometimes its B0 Even tho both are kicks when I send midi to the deluge I do not get a kick because for certain kits actually extend below C1.
If you could point me in the direction of how it decides what row to start the kit, rather than how it determines what sample to put in each row. (I believe this is what I want, I can take a video or gif if I'm not clear.)
How does it determine the beginning of the array or index? If its just a default I don't understand how some kits extend below C1.
I'm probably doing something wrong or missing something obvious maybe. I really appreciate your help... (I spent most of my day trying to figure out the deluge file system to some success... This is one of the last things causing me to pull my hair out).
Mmmh can't really tell you why that happens. The script really just adds a bunch of modified copies of the mid.txt together. I guess the Deluge lines them up in the drum kit.
Might be worth making two different drum kits on the Deluge and compare them. One with a bassdrum on C0 and one with the bassdrum on B0 and compare them.
But yeah, can't really tell you why that happens.