Old 08-15-2018, 12:02 PM   #1
chaot4
Human being with feelings
 
Join Date: Aug 2018
Posts: 30
Default DrumGizmo 0.9.16

Hi everyone,

DrumGizmo is a free and open source, multichannel, multilayered, cross-platform drum plugin. It enables you to compose drums in midi and mix them with a multichannel approach. It is comparable to that of mixing a real drumkit that has been recorded with a multimic setup.

When we released our last version 0.9.15 we got a lot of bug reports from Reaper users. We now fixed a lot of them -- especially we fixed all the severe bugs -- and packed them into a new release which now should work much better in Reaper.

Grab it here: https://drumgizmo.org/wiki/doku.php?...mo#section0916

Thanks for the reports and drum on,
chaot4

@mods: Please move this thread if it's better suited somewhere else. I just think this was the best way to tell our Reaper users that things should've significantly improved for them.

Last edited by chaot4; 08-15-2018 at 12:05 PM. Reason: Just add message why I thought this thread was necessary
chaot4 is offline   Reply With Quote
Old 08-15-2018, 01:13 PM   #2
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Neat. Probably worth a mention in the Reaper For Linux subforum too, since cross-platform plugins are a bit of a rarity.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 08-15-2018, 02:59 PM   #3
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

It's being talked about on that forum, don't you worry!

I'll also be releasing the Tchackpoum kits for DrumGizmo soon. When they're ready I'll post about it here.

To anyone using DrumGizmo and not finding the GUI appearing: hit the "UI" button at the top of the effects window twice. It'll appear. It's a bug they're working on.
JamesPeters is offline   Reply With Quote
Old 08-15-2018, 03:07 PM   #4
tonybeepbeep
Human being with feelings
 
Join Date: Mar 2018
Location: Norway
Posts: 239
Default

+1 from me. Been using their kits for a while now and 0.9.16 seems to be the fix I've needed all along. The DRSKit has a very sweet sounding snare in my opinion. Download the templates and experiment. I mostly use the Muldjord kit for the more death metal end of the spectrum.
tonybeepbeep is offline   Reply With Quote
Old 08-16-2018, 05:02 AM   #5
MRT
Human being with feelings
 
Join Date: Aug 2009
Posts: 125
Default

Was checking this latest version out...
had the UI problem mentioned also had DG crash a couple of times when attempting to change kits.

Thanks for the update,it does sound good.

If I could wish, that I could set a default path to my kits folder.
and finer control over the new timing features.
MRT is online now   Reply With Quote
Old 08-16-2018, 05:22 AM   #6
tonybeepbeep
Human being with feelings
 
Join Date: Mar 2018
Location: Norway
Posts: 239
Default

Quote:
Originally Posted by MRT View Post
Was checking this latest version out...
had the UI problem mentioned also had DG crash a couple of times when attempting to change kits.

Thanks for the update,it does sound good.

If I could wish, that I could set a default path to my kits folder.
and finer control over the new timing features
.
I don't know if that's down to the Linux background, but I feel like I'm back in DOS when I have to enter the default kit path. I love the DIY nature and guess I'm spoiled with other samplers and libraries being in shiny GUIs. Great to have a variety of sounds though. I use four kits now and they all sound honest, like they've been recorded right next to me.
tonybeepbeep is offline   Reply With Quote
Old 08-16-2018, 08:05 AM   #7
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,859
Default

chaot4 (and everyone else involved), thanks for the development of Drumgizmo.
__________________
It's time to take a stand against the synthesizer.
brainwreck is offline   Reply With Quote
Old 08-16-2018, 08:27 AM   #8
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Are there instructions for building DG as a Linux VSTi? A number of sites say that you *can*, but all I can find is instructions for LV2.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 08-16-2018, 11:00 AM   #9
chaot4
Human being with feelings
 
Join Date: Aug 2018
Posts: 30
Default

Thanks everyone for the kind words!

@MRT: Do you mean that 0.9.16 crashed for you several times or 0.9.15? If it's 0.9.16, could you describe in more detail what leads to the crash. The path to the drum kits would also be interesting, maybe there's a symbol in there we don't expect.

Also, could you explain in more detail what you mean with setting the default path (i.e., automatically loading a default kit? Or when clicking the Browse button then it always is in this folder if no kit is loaded yet?) and what additional control do you want for the timing feature? Or do you want that the buttons are more/less sensitive?


@brainwreck: Thanks a lot, most credit should go to deva who by far invested most time into the plugin and also initiated the project.


@Lokasenna: I thought there were instructions but I don't find them at the moment. Basically, you follow the instructions here:

https://drumgizmo.org/wiki/doku.php?...alling_-_linux

But when executing "./configure" you additionally pass "--enable-vst --with-vst-sources=/some/path/to/vstsdk2.4" as options where the path has to point to the vstsdk2.4 sources. Unfortunately, I currently don't find a download link to those source -- only those for the sdk 3.0. I'll provide the link when I find it.

@JamesPeters: Looking forward to your kits. We could then also host them on our sever and provide them on the homepage.

- chaot4
chaot4 is offline   Reply With Quote
Old 08-16-2018, 03:34 PM   #10
MRT
Human being with feelings
 
Join Date: Aug 2009
Posts: 125
Default

Just ran some tests again with DG ver. 0.9.1.6. x64
I was unable to reproduce any of the issues that I posted about earlier.
I was able to cycle through the kits with no issues and experienced no problems with the UI. The only thing that was different is my PC had been running for some time when I had the problems, today I ran the tests after a fresh boot up.

The problem that I experienced was when unloading one kit by attempting to load another kit file.
Win 10 - Reaper 5.941 x64

As for the kit path, on initial load DG opens to[C:\Users\mtamb\Documents]
my kits are located at[E:\Sounds\waves\Drum Sets\Drm Gizmo Kits].
After loading a kit it returns to that last used folder.

Anyway thanks for the continued development Drum Gizmo really is a unique approach to sampled drums,I hope that this information will help in some small way .
MRT is online now   Reply With Quote
Old 08-16-2018, 04:00 PM   #11
Jeffsounds
Human being with feelings
 
Jeffsounds's Avatar
 
Join Date: Feb 2013
Location: Northeast Michigan
Posts: 3,460
Default

Ok, question... where do we get kits for this?
__________________
"TV has become nothing more than a Petri dish where this country grows its idiots." -Dr. John Becker
My First CD On Spotify - Side O' The Highway
Jeffsounds is offline   Reply With Quote
Old 08-16-2018, 05:00 PM   #12
dug dog
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,797
Default

Quote:
Originally Posted by Jeffsounds View Post
Ok, question... where do we get kits for this?
https://drumgizmo.org/wiki/doku.php?id=kits
dug dog is offline   Reply With Quote
Old 08-16-2018, 09:18 PM   #13
Jeffsounds
Human being with feelings
 
Jeffsounds's Avatar
 
Join Date: Feb 2013
Location: Northeast Michigan
Posts: 3,460
Default

Quote:
Originally Posted by dug dog View Post
Thank you!
__________________
"TV has become nothing more than a Petri dish where this country grows its idiots." -Dr. John Becker
My First CD On Spotify - Side O' The Highway
Jeffsounds is offline   Reply With Quote
Old 08-16-2018, 11:19 PM   #14
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 685
Default

Thank you for creating this! Free, properly layered drum kits have always been really scarce, not to mention the solutions for programming and playback.

Some thoughts: looking at the kits you have available now, have you considered supporting compressed file formats? Some of the kits' sample sets are inconveniently large, measured in gigabytes. Of course the amount of layering is also an important factor; many commercial drum samplers use surprisingly sparse layering while still sounding good to my ears.
Sju is offline   Reply With Quote
Old 08-17-2018, 02:23 AM   #15
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

@chaot4: Thanks! Since the kits are made with Vincent's (Tchackpoum) samples, I'll ask him if he wants them hosted on the DrumGizmo site. He planned to host them on his own site, but he might not have considered also having them hosted on the DrumGizmo site.

Also thanks for making DrumGizmo!

@Sju: The Tchackpoum kits will be approximately 3.5 GB for the fully-articulated version (multiple round robin alternate samples). However a smaller version of each kit will also be made which will be less than 1/4 that size (without round robins). It's also easy for me to make kits which are half the size of the "full" kits, with two round robins per kit piece/articulation, for a "half-way" approach. I'm first making the framework for the "full" kits, then simply removing references to "extra" samples for the smaller versions (in both the "kit" file and "midimap" files). I was hoping to keep the number of "kit" and "midimap" XML files to a minimum to avoid confusion, but I'll probably just include a note explaining why there are so many variants (and try to name them sensibly to avoid confusion).

All versions will have multiple velocity layers. The smaller-sized kits "without round robins" can be as small as they are compared to the kits on the DrumGizmo site since these won't have bleed on every microphone channel. These WAV files are between 4 to 7 channels depending on the kit piece (proximity, room, overhead channels), whereas the larger kits on the DrumGizmo site have WAV files of 13 to 16 channels because bleed was intentionally captured on every mic when any kit piece was sampled.

I'm maintaining compatibility among the large, small (and now I guess also the "half-sized") kits for their "root notes" per articulation. This means a person can use the small version of the kit (which has no round robins), and later load the "full" kit with multiple round robins (and trigger the round-robin alternate notes with a round-robin JS plugin). Some kit piece articulations have more round robin alternate notes than others, but the "root" (main) note of each kit piece in the midimap will always be consistent from kit to kit. Also the midimaps will be consistent when changing from a kit with "Snare brand A / Toms brand A" to "Snare brand B / Toms brand B", so re-mapping of the drum midi shouldn't be required. There may only be some adjustment required of the round robin JS plugins when switching from kit to kit due to the different number of round robins for some kit piece articulations.

Likewise, the channel arrangement for the mixer will be consistent across all the kits. One track template will cover every variant.

Planning this and making the XML files took a while.

Last edited by JamesPeters; 08-17-2018 at 02:28 AM.
JamesPeters is offline   Reply With Quote
Old 08-17-2018, 05:07 AM   #16
shosty
Human being with feelings
 
Join Date: Aug 2015
Posts: 249
Default

Which is the best all round kit to download? At 4 or 5gbs I'd prefer not to download all just to try. I make reggae/dub/electro so some nice rim shots would be great. I noticed that there seems to be a tendency towards rock and metal in the examples so it's hard for me to get an idea of what they would be like for mellower genres.
shosty is offline   Reply With Quote
Old 08-17-2018, 12:33 PM   #17
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

I can't say what's "the best all-around kit" since that's a personal preference. However the Tchackpoum kits will work nicely for reggae. The snare with what I consider the best rim hits for reggae is the Premier HiFi 1968, although you might prefer another snare's rim hits. Also I don't know what toms or kicks you might prefer. I could guess you might want more "ringy" toms for instance, but you might not. You'll just have to hear them and decide for yourself.

When the Tchackpoum DrumGizmo kits are ready they will only be available as a single download, since the kits share folders (and also they share kit pieces). The entire download will be under 5 GB. I'll include instructions on how to set up DrumGizmo in REAPER for these kits. I recommend you download them and try them for yourself when they're ready. Part of what makes a good drum sound is how you mix it. Even if I select what kit pieces I think is "best" for the music you want to play, I might mix the overheads and room sound differently from you. Or to get the right sound from a snare maybe you'll want to EQ it a bit differently.

If you want a fully produced-sounding kit "out of the box" such as what Slate, EZdrummer etc. do, these kits might not be for you. They'll sound pretty good "as is", but they'll probably require a bit of work to fit your mix. The positive side of that: you *can* make them fit your mix because they're not produced in a specific way in advance. The same kit you might like for reggae can also be used for rock, if mixed a bit differently.

As for "dub" and "electro"...I'm out of the loop about those so I can't provide an opinion what drums might work for those. But if they use acoustic drums, chances are the Tchackpoum kits will work well for them. If anything the Tchackpoum kits aren't exceptionally well suited to metal (although I'm going to provide some edited samples for toms and a splash to help with that aspect).
JamesPeters is offline   Reply With Quote
Old 08-18-2018, 06:51 AM   #18
chaot4
Human being with feelings
 
Join Date: Aug 2018
Posts: 30
Default

Quote:
Originally Posted by Sju View Post
Some thoughts: looking at the kits you have available now, have you considered supporting compressed file formats? Some of the kits' sample sets are inconveniently large, measured in gigabytes. Of course the amount of layering is also an important factor; many commercial drum samplers use surprisingly sparse layering while still sounding good to my ears.
The downloads of the kits are already zip files so the download bandwidth should already be as small as possible more or less. And other than that they only take disk space -- which we didn't consider to be important to optimize. If we load the samples into RAM we need to decompress them anyway, so compression does not help to reduce RAM usage.
chaot4 is offline   Reply With Quote
Old 08-18-2018, 06:53 AM   #19
chaot4
Human being with feelings
 
Join Date: Aug 2018
Posts: 30
Default

Quote:
Originally Posted by shosty View Post
Which is the best all round kit to download? At 4 or 5gbs I'd prefer not to download all just to try. I make reggae/dub/electro so some nice rim shots would be great. I noticed that there seems to be a tendency towards rock and metal in the examples so it's hard for me to get an idea of what they would be like for mellower genres.
The best of our kits for your needs should be the DRS kit:
https://drumgizmo.org/wiki/doku.php?id=kits:drskit

It also has a rim shot on midi note 37.

We would love to have a more diverse set of drumkits but as all the developers are metal musicians we have a tendency in that direction regarding sampled drumkits. But we'd love to see users creating other drumkits. We want to sample another more jazzy kit but it's not yet clear when/if this will happen.
chaot4 is offline   Reply With Quote
Old 08-18-2018, 07:08 AM   #20
chaot4
Human being with feelings
 
Join Date: Aug 2018
Posts: 30
Default

Quote:
Originally Posted by MRT View Post
As for the kit path, on initial load DG opens to[C:\Users\mtamb\Documents]
my kits are located at[E:\Sounds\waves\Drum Sets\Drm Gizmo Kits].
After loading a kit it returns to that last used folder.
Normally DG should open the file dialog at the last used folder by DG across sessions and not some random location like "Documents". I see if I can reproduce this.

Just to be sure: You selected the kit via the "Browse..." button and did not enter the path manually, right?
chaot4 is offline   Reply With Quote
Old 08-18-2018, 07:16 AM   #21
chaot4
Human being with feelings
 
Join Date: Aug 2018
Posts: 30
Default

Quote:
Originally Posted by JamesPeters View Post
Planning this and making the XML files took a while.
Can you explain how you are creating your kits? It somehow seems that it is too much work. Are you aware of the editor? (https://drumgizmo.org/wiki/doku.php?id=getting_dgedit)

And what do you mean with round robin samples? DrumGizmo uses something which should sound significantly better than usual round robin (first version of DG was actually round robin and we changed that to sampling from a normal distribution and avoiding same samples). Are you using the old file format?

It would maybe be good if you just describe what you are actually doing.
chaot4 is offline   Reply With Quote
Old 08-18-2018, 09:56 AM   #22
Reason
Human being with feelings
 
Join Date: Apr 2015
Posts: 976
Default

I'm a complete noob to drum programming. The best I can do currently is a boots-and-pants, with a few changes here and there, where repetitiveness is the point.

Does DG "help" make that aspect easier than, say, an RS5K template? Or just allow for more mixing options?
Reason is offline   Reply With Quote
Old 08-18-2018, 12:21 PM   #23
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

Quote:
Originally Posted by chaot4 View Post
Can you explain how you are creating your kits? It somehow seems that it is too much work. Are you aware of the editor? (https://drumgizmo.org/wiki/doku.php?id=getting_dgedit)

And what do you mean with round robin samples? DrumGizmo uses something which should sound significantly better than usual round robin (first version of DG was actually round robin and we changed that to sampling from a normal distribution and avoiding same samples). Are you using the old file format?

It would maybe be good if you just describe what you are actually doing.
DGEdit isn't available for Windows, and that's what I'm currently using. I'll be switching to Ubuntu Studio soon, but I'd started on these kits before I had planned to switch my OS. So much of the work had been done before I realized I would be switching to Linux, that I decided to complete the kits before switching my OS.

I'm using the previous file format which has no "bleed" (the "main" attribute), making the XML files using an XML file editor. I don't need the new file format since the only strictly-utilitarian difference (that I noticed) is the "main" attribute for bleed. The samples I'm using for these kits have no "bleed" (they have separate proximity, room and overhead channels, but no bleed). Since I started making these kits before DrumGizmo 0.9.15 was available, the previous format for the kits' XML files made sense to use. After 0.9.15 was released, I realized it wouldn't affect these kits if I used the newer file format.

DrumGizmo had round robin and it was removed? Can you please add it back?

I'll explain my understanding of the other provision DrumGizmo has, to "humanize" the triggering of samples, based on this video, since I found no other documentation. I'll contrast that to what round-robin functionality is, to explain why I choose to also rely on round-robin functionality. (Forgive the fact I'm explaining more than necessary to someone like you, but I want to be sure others can follow along too.)

To someone who hasn't used drum samplers of acoustic kits before, or to someone who doesn't program fast rolls/fills, this difference might seem unimportant. However, it might be, depending on the results you expect.

Situation 1 (which DrumGizmo has built in): A single "instrument" of a drumkit (a sample bank of multiple samples such as a snare for example, made with different hit strengths / velocities) can have DrumGizmo trigger samples across a range of velocity strengths / samples automatically to help "humanize" the sound, by imitating a drummer's tendency to not hit with the exact same strength with successive hits. The range across which the samples are chosen is based on an algorithm, for further humanization of velocity-based sample triggering.

This necessarily changes the velocity automatically. It can help avoid "machine gun" sounds for drum rolls/fills but it relies on choosing different velocity samples to be triggered. That means if the goal of "not having a machine-gun sound" is desired, you're relying on samples of different hit strengths/velocities to be triggered.


Situation 2: Round robin functionality instead relies on additional samples to be recorded at each given hit strength/velocity (effectively separate "sample banks" that are triggered alternately, instead of a single "sample bank" being played repeatedly). Every acoustic kit piece will tend to sound different each time it's hit with a drum stick, due to the drum stick hitting at slightly different places (and the displacement of the drum head or cymbal metal at the time it's struck).

Sampling multiple times at each velocity, and having round-robin functionality (automatic alternating of the sample banks being played) at that velocity, ensures that there is always a variance in the sound even when the velocity of multiple successive hits of the kitpiece are intended to be as consistent as possible.


If the "situation 1" (DrumGizmo's own sample variance based on velocity) can ensure two successive "instrument" (sample bank) hits will never be exactly the same, then it could replace round-robin functionality in a sense. My understanding is that it doesn't guarantee that, which means "machine-gun" sounds can still result during fast rolls/fills. (I'd noticed this when testing the kits. Playing triplets on a snare at high tempo at consistent velocity required "StdDev" turned up very high to avoid "machine gun" sound.) Even if it could guarantee that successive hits always sound different (because different samples would be triggered), it would be doing so based on how they're mapped out in the "instrument" XML file as "power" (velocity). To have the intended velocity be consistent (a drummer purposely trying to sound consistent for hit strength) but also have different samples triggered alternately (to imitate the sound of different successive drum hits that happen naturally with an acoustic kit), if it's based on their "power" (velocity) attribute, it would mean compromising to some degree in what you consider a different "power"/velocity level. (So when making a kit you'd have to basically add round robin samples in at each velocity level intentionally, knowing that they're not really all different "power"/velocities.) Or it would necessarily involve having lots of samples based on different "power"/velocities, to provide a large pool for variation (and that would work well...but only if it's guaranteed that no 2 successively-triggered samples are the same).

It would also mean that the samples I'm working with (which are a maximum of 16 velocity layers per kit piece) wouldn't have enough variance for that kind of "pool"...unless I blend the similar "power"/velocity samples from the round robin alternates into a single "instrument" (which then is accomplishing round-robin sampling anyway as per situation 2, lol).

This means that I see what DrumGizmo has (in terms of varying hits by velocity range) is a clever and welcome feature, but it's not something that directly replaces round-robin functionality. Each approach has its limits for "humanizing". I'd just assumed that round-robin functionality was never in DrumGizmo, and is planned for the future...especially when I saw this in the "major features" backlog:

https://drumgizmo.org/wiki/doku.php?id=dev:right_left

With that feature, a person could create a kit with a sample variation (round robin) for any kit piece by just considering it a "right hand"/"left hand" alternate hit at a given velocity.

Last edited by JamesPeters; 08-18-2018 at 12:27 PM.
JamesPeters is offline   Reply With Quote
Old 08-18-2018, 12:26 PM   #24
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

Quote:
Originally Posted by Reason View Post
I'm a complete noob to drum programming. The best I can do currently is a boots-and-pants, with a few changes here and there, where repetitiveness is the point.

Does DG "help" make that aspect easier than, say, an RS5K template? Or just allow for more mixing options?
DrumGizmo's purpose is as a drum sampler which can provide a high degree of realism (as long as the kits you use are sampled well).

DrumGizmo has no features for creation or editing of MIDI files. For that you can use the MIDI editor and scripts/plugins. I would suggest trying Sequencer MegaBaby to start (it's included in Reaper). There are videos for it too on Youtube.
JamesPeters is offline   Reply With Quote
Old 08-19-2018, 12:27 PM   #25
chaot4
Human being with feelings
 
Join Date: Aug 2018
Posts: 30
Default

Quote:
Originally Posted by JamesPeters View Post
DGEdit isn't available for Windows, and that's what I'm currently using. I'll be switching to Ubuntu Studio soon, but I'd started on these kits before I had planned to switch my OS. So much of the work had been done before I realized I would be switching to Linux, that I decided to complete the kits before switching my OS.
Makes sense.

Quote:
Originally Posted by JamesPeters View Post
I'm using the previous file format which has no "bleed" (the "main" attribute), making the XML files using an XML file editor.
Sorry, I wasn't clear enough. I meant if you use the 1.0 format or newer. But you're using the 2.0 format so that's good because we have to deprecate 1.0 soon.

Quote:
Originally Posted by JamesPeters View Post
DrumGizmo had round robin and it was removed? Can you please add it back?
Nope, I'll elaborate in the following why.

Quote:
Originally Posted by JamesPeters View Post
(Forgive the fact I'm explaining more than necessary to someone like you, but I want to be sure others can follow along too.)
Nothing to excuse yourself for. To understand what exactly you mean, it helps that you explain what you mean in detail.

Quote:
Originally Posted by JamesPeters View Post

This necessarily changes the velocity automatically. It can help avoid "machine gun" sounds for drum rolls/fills but it relies on choosing different velocity samples to be triggered. That means if the goal of "not having a machine-gun sound" is desired, you're relying on samples of different hit strengths/velocities to be triggered.
No, it does not rely on different velocity samples to be triggered. If the drum is tightly sampled, then it can also choose samples of the same velocity -- and it will, when the stddev is turned all the way down.

Quote:
Originally Posted by JamesPeters View Post
If the "situation 1" (DrumGizmo's own sample variance based on velocity) can ensure two successive "instrument" (sample bank) hits will never be exactly the same, then it could replace round-robin functionality in a sense.
Quote:
Originally Posted by JamesPeters View Post
This means that I see what DrumGizmo has (in terms of varying hits by velocity range) is a clever and welcome feature, but it's not something that directly replaces round-robin functionality. Each approach has its limits for "humanizing".
What we are doing is more powerful and (almost) has round robin as special case. Let's say we have a drum with 4 samples per power and we have the power values 0/127, 1/127, ..., 127/127. Also assume that the stddev knob in the velocity humanizer is turned all the way down. Then we almost have round robin functionality because we ensure that no sample is chosen twice in a row and we then would choose another sample with the same power. Actually, looking at the code, this is not completely true and we are actually planning to rewrite this code to improve that. Generally, our approach can certainly be extended to include round robin functionality but it currently should already come quite close if the drums are sampled tight enough.

Quote:
Originally Posted by JamesPeters View Post
especially when I saw this in the "major features" backlog:

https://drumgizmo.org/wiki/doku.php?id=dev:right_left

With that feature, a person could create a kit with a sample variation (round robin) for any kit piece by just considering it a "right hand"/"left hand" alternate hit at a given velocity.
This is thought of making it sound even more realistic by sampling hits with different hands -- especially for the snare. So, this is actually orthogonal to the sampling with different powers. No idea though if that will ever be implemented.

To summarize: Our approach is more general than round robin and we can thus emulate it in theory. However, there are currently some things in the code which make this emulation not perfect. However, we plan to rewrite this code anyway and after this rewrite this should be possible without any restrictions.

Last edited by chaot4; 08-19-2018 at 02:49 PM.
chaot4 is offline   Reply With Quote
Old 08-19-2018, 03:11 PM   #26
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

Thanks for the response, André.

I just did a test with some XML files adding all the "round robin" instrument XML files (for a snare drum) into a single instrument XML file, with the "power" set the same at each velocity level. It was a struggle to get a convincing round-robin response by adjusting the Velocity Humanizer controls (I tried a lot of different combinations). When I took each "round robin" in that instrument XML file and spread out the power levels evenly from "step" to "step" (n.0, n.25, n.75) I was able to get a decent round-robin response with modest settings of the Velocity Humanizer controls. It didn't seem to round-robin that much, though. It sounded as though it might alternate between 2 samples (of the 4 round robin alternates), sometimes 3 at most and only when relying on more use of the Velocity Humanizer controls.

However using actual round-robin (using a JSFX plugin to alternate between round-robin instrument XML files which are assigned to adjacent notes in the kit XML, which was my original approach) definitely sounded more realistic since it was capable of sequentially cycling through round robins (4 per velocity layer for the snare).

If an upcoming version of DrumGizmo will have something that does round-robin for samples which have the same "power level" indicated (in the instrument XML files), that would be great. I may want to wait before releasing these kits, in that case, to make the setup and use of the kits simpler for everyone (no external JSFX would be required to round-robin the samples, and it would also mean people who use DAWs other than Reaper would also be able to have round-robin functionality).
JamesPeters is offline   Reply With Quote
Old 08-20-2018, 03:19 AM   #27
chaot4
Human being with feelings
 
Join Date: Aug 2018
Posts: 30
Default

Quote:
Originally Posted by JamesPeters View Post
If an upcoming version of DrumGizmo will have something that does round-robin for samples which have the same "power level" indicated (in the instrument XML files), that would be great. I may want to wait before releasing these kits, in that case, to make the setup and use of the kits simpler for everyone (no external JSFX would be required to round-robin the samples, and it would also mean people who use DAWs other than Reaper would also be able to have round-robin functionality).
Exactly, this is not perfect yet and I am currently thinking about how to improve our sample selection algorithm to take care of several cases which we currently don't handle very well -- one of which is the case where several samples have the same power value. I cannot say yet when there will be results though.

I still think that our approach is much better than simple round robin functionality, but we certainly want to behave like round robin if there are samples of very similar power. Especially, our approach should contain round robin as a special case if the powers are distributed as I described in my last post.

Thanks for making us think about this.
chaot4 is offline   Reply With Quote
Old 08-20-2018, 08:25 AM   #28
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

If somebody has sampled round-robins like this, there is actually no better approach than using those round robins. A simple test with a drum roll of 32nd notes, or 16th note triplets, at a relatively consistent velocity (or steadily increasing ramp of velocity) reveals how much more natural the round-robin approach sounds. If I couldn't do round-robin externally with a JSFX, since it was not included functionality in DrumGizmo, I would not have used DrumGizmo in the first place. When you're used to using something like EZdrummer, Superior, Addictive Drums, etc. this kind of thing stands out.

I mean no disrespect when I say this because I think what you have in DrumGizmo is very good. I just don't see it being a replacement for or improvement on round-robin. If round-robin functionality were included in DrumGizmo, that would be (at least for me) the thing which makes it perfect. Some of the other things in the long term road map would be nice features but to me round robin is something critical.

If you would like me to send you a rendered MP3 as an example I would be glad to do so. Not to belabor the point if you are already planning to add that functionality to DrumGizmo.

Here is a link to the round-robin plugin that someone made for Reaper, in case you wanted to look at its code:

https://forum.cockos.com/showthread.php?t=14989

Last edited by JamesPeters; 08-20-2018 at 10:08 AM.
JamesPeters is offline   Reply With Quote
Old 08-20-2018, 09:40 AM   #29
brainwreck
Human being with feelings
 
Join Date: Jul 2006
Posts: 20,859
Default

Maybe a user-defined rotation sequence of any given length would be useful? For example, if you have 4 files available for rotation within the same velocity range, of names:

snare_1.wav
snare_2.wav
snare_3.wav
snare_4.wav

Allow for assigning numbers to them to be used by a later sequence definition, such as:

rotations_A[
snare_1.wav = 1;
snare_2.wav = 2;
snare_3.wav = 3;
snare_4.wav = 4;
]

And then allow for defining any rotation sequence, such as:

rotations_A_sequence[4,2,3,1]
rotations_A_sequence[random]
rotations_A_sequence[1,3,2,4,3,2,1,4,3]
rotations_A_sequence[2,random,3,random,1,4]
...

Just a thought.
__________________
It's time to take a stand against the synthesizer.
brainwreck is offline   Reply With Quote
Old 08-20-2018, 02:09 PM   #30
chaot4
Human being with feelings
 
Join Date: Aug 2018
Posts: 30
Default

Quote:
Originally Posted by JamesPeters View Post
If somebody has sampled round-robins like this, there is actually no better approach than using those round robins.
I disagree. Drummers don't hit every time with the same velocity and thus simply using round robin on samples with almost exactly the same power will sound less realistic than round robin mixed with also using slightly stronger and slightly weaker samples. Also, if one uses *not* randomized round robin then a pattern repeats, e.g. if the first sample is slightly stronger then every fifth hit will sound stronger. This introduces an artificial element. With randomization of the normal round robin approach, those patterns don't occur.

Quote:
Originally Posted by JamesPeters View Post
I mean no disrespect when I say this because I think what you have in DrumGizmo is very good.
Not seen as disrespect at all. Criticism is always welcome.

Quote:
Originally Posted by JamesPeters View Post
If you would like me to send you a rendered MP3 as an example I would be glad to do so.
Yes, please. I'll pm you my email address. Just out of interest I'd like to hear what you send. As I'm currently working on the sampling algorithm of DG, this is certainly a nice reference.

Quote:
Originally Posted by JamesPeters View Post
Not to belabor the point if you are already planning to add that functionality to DrumGizmo.
I guess there is one point that I didn't make clear enough. Currently, the sample selection algorithm of DG is flawed. This was not intended and we want to fix this. However, our general approach which *additionally* samples from a normal distribution to simulate a realistic drummer which doesn't always hit on spot, should sound more realistic under the condition that we still use some round robin like approach to avoid selecting same samples. Thus, using round robin and our approach is not contradictory but can actually be combined. Furthermore, when choosing the right parameters, simple round robin can be simulated with this combined approach. (Of course this also depends on how the drum kit is sampled but I am currently assuming a somewhat uniform sampling over the whole range.) Today I looked into implementing this combined approach and I am in the course of writing a paper about the sampling algorithm in DG, its flaws, requirements for a much better sampling algorithm, and then suggestions of algorithms. I didn't find any other reference so I thought it makes sense to write things down cleanly. Anyway, in the course of writing the paper I'll of course also test in DrumGizmo -- so hopefully in the next version we have a better sampling algorithm, including that it can emulate round robin.
chaot4 is offline   Reply With Quote
Old 08-20-2018, 02:11 PM   #31
chaot4
Human being with feelings
 
Join Date: Aug 2018
Posts: 30
Default

Quote:
Originally Posted by brainwreck View Post
Maybe a user-defined rotation sequence of any given length would be useful? For example, if you have 4 files available for rotation within the same velocity range, of names:

snare_1.wav
snare_2.wav
snare_3.wav
snare_4.wav

Allow for assigning numbers to them to be used by a later sequence definition, such as:

rotations_A[
snare_1.wav = 1;
snare_2.wav = 2;
snare_3.wav = 3;
snare_4.wav = 4;
]

And then allow for defining any rotation sequence, such as:

rotations_A_sequence[4,2,3,1]
rotations_A_sequence[random]
rotations_A_sequence[1,3,2,4,3,2,1,4,3]
rotations_A_sequence[2,random,3,random,1,4]
...

Just a thought.
Thanks for the input. However, this will introduce artificial patterns because every k-th hit (when the round robin sequence has k elements) will sound the same. Of course, this won't be the case if just using [random], but then there might be the same samples in a row. As I already replied in the last post, I'm currently writing down a paper to make things more clear regarding the sampling algorithm. I will post it here when I am done (I am not sure yet when it will happen).
chaot4 is offline   Reply With Quote
Old 08-20-2018, 03:31 PM   #32
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

Hi André,

Quote:
Originally Posted by chaot4 View Post
Drummers don't hit every time with the same velocity and thus simply using round robin on samples with almost exactly the same power will sound less realistic than round robin mixed with also using slightly stronger and slightly weaker samples.
Yes, I agree! These two approaches combined work very well for realism.

Either approach can be done in the sampler itself, or in the DAW (if the DAW has a provision for it). If I had to pick one of these two approaches to be included in DrumGizmo, I would choose round robin. Varying velocity will always be something I do "manually" (either by playing a drum trigger, or from a button in the MIDI editor). Round-robin functionality might not be in most DAWs...plus it limits the MIDI map (since I have only 0-127 to map out all instrument articulations + round robins of each). If round robin is built into DrumGizmo, the MIDI map will have 1/3 of the notes.


Quote:
Originally Posted by chaot4 View Post
Also, if one uses *not* randomized round robin then a pattern repeats, e.g. if the first sample is slightly stronger then every fifth hit will sound stronger. This introduces an artificial element. With randomization of the normal round robin approach, those patterns don't occur.
Yes, this can be an issue. The round-robin plugin I linked to has two options for this: sequential or randomized. For most of the samples I'm currently using, sequential works well. Random might be preferred depending on how noticeably-different sounding the samples are. This plugin has those two options anyway.

If DrumGizmo can be made to have round-robin built in, for up to 4 round robins at each velocity level, that would mean "my" kits (the ones I'm making) could be made without compromise and be used in any DAW with the same functionality. That's what I'm hoping for.

I'll make a comparison and explain the details of the comparison in a text file (and possibly include screen shots if applicable). I will send you a download link via PM since I can host it on my site.

(edit) PM sent

Last edited by JamesPeters; 08-20-2018 at 04:56 PM.
JamesPeters is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:20 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.