SynthMaker

drum samples..

Archive · 2006 18 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

platinumears ·

Hi all,

I sampled a drum kit a couple of weeks ago, and have been gradually working my way through editing the samples.. its quite a big job as I have kept all 10 mics as seperate samples, with multiple velocity levels for every part of the kit.

Anyway, I'm nearly there now, and I have a player for them working pretty well: here's my version of the famous "Amen" break

However.. in my minimal current version of the plug (which does not yet include spill samples) I am still triggering 3 stereo samples for each drum or hi hat, and 4 stereo samples for each cymbal (to cross-fade between soft & hard hits, which sounds much more natural to me than simple velocity switching for ride or crash cymbals)

When you consider that the longest ride sample is nearly 25 seconds, and that the polyphony is unrestricted, it is quite suprising that my machine can play back that MIDI clip above! It only just manages it however: the cpu meter creeps up all the way through the first section with the ride cymbal, and my system is right on the verge of crapping out by the time the hi-hats take over! 😮

So, I tried to restrict the polyphony for each drum, and that's where I ran into my first problem. Here's a simple schematic with a hi-hat sample: http://platinumears.com/Hat_Poly.osm

I used the standard ADSR to ensure that the sample plays to the end regardless of the MIDI note-off.. is there a better way to do this? It seems to work ok anyway (in the proper version I make sure the ADSRs are set to exactly the right number of samples.. in this example I just entered an arbitray number)

However, if I replace the old MIDI to Poly component with the new module so I can restrict the polyphony, only the first MIDI note-on triggers a sound: http://platinumears.com/Hat_Mono.osm

What did I do wrong? 😕

Thanks in advance, Dan 🙂

stefan ·

New section and new content...

Retrigger Workaround!

🙂

platinumears ·

Great, I'll try that asap!

While I have your attention.. even though I don't yet have all the samples loaded in, the osm for the drum player is creeping up to 100MB in size.. whenever I save the file I get a progress indicator, then SM freezes totally and appears to have crashed for a while before coming round again. As the sample content has increased so has the time it takes for SM to recover, so the current version hangs for well over a minute!

A similar thing happened when I exported the dll.. can anything be done about that?

Also, is there any way to save sample data in a seperate file so the dll itself doesn't need to be so huge?

Thanks again Dan 🙂

stefan ·

At the moment you can't avoid saving the waves within the schematic once you actually have loaded them. It would probably be a good idea to add such functionality to the relevant components 🙂

But, as it is right now, it's not doable I'm afraid.

platinumears ·

Ok I've had a play with that: it cures the retriggering problem, but turns up another. Try this schematic which is the same as the Hat_Mono example above but with your workaround, and voices set to 4.

It works perfectly if you trigger hits with different MIDI notes, but if you retrigger the same note it seems to steal the old one.. either that or the velocity is affecting the existing voice as well as the new one. Is this a bug?

rlahalla ·

don't know if you got your answer, but I believe if you open the midi to poly properties, you can then turn off the "stealing" feature. I may be wrong though. . .

stefan ·

rlahalla wrote: don't know if you got your answer, but I believe if you open the midi to poly properties, you can then turn off the "stealing" feature. I may be wrong though. . .

You are right about that part, but that wasn't the issue in platinumears case. He _wants_ stealing. It's just that when voice management kicks in and a voice is stolen, that voice does not go back to stage(0) (nor should it, imho) and if he wants his sample to retrigger, instead of just the envelopes, he needs to reset the sample counter. This is why the retrigger workaround was needed.

rlahalla ·

Ahh, gotcha! 😉 Thanks stefan,

platinumears ·

You had a chance to look at the follow up question Stefan? Re-triggering the same MIDI note still doesn't work as it should: the decay of previous voices is affected by the new note. It works fine if you trigger a different note however: example

platinumears ·

I'm still having polyphony problems here: its a bit of a showstopper as far as this project goes.. 😕

try this schematic

First play any key hard: you should hear an open hi-hat sample. Now, while the sample is still decaying. play a gentle note on another key: the quiet note should be almost drowned out by the still decaying loud note. This is exactly how I want it to work...

Now do the same thing, but play the second quiet note on the same key as the first loud one: the decay of the first loud hit is cut off by the second quiet hit, making the patch effectively monophonic.

Did I do something wrong, or is this a bug?

Dan.

dreamkeeper ·

Played around with that a bit. The problem seems to be that hitting the same key again does NOT create a new poly voice, the new event is using the old "channel" so to say. Hence your index counter is being reset and the sample starts over.

Connect a poly readout to your code module and hit some different keys in sequence. The readout will show the accumulated index values of all (different) voices. Now do it with the same key and you'll see the index starting over every time you hit the key again.

If I'm not mistaken, the only way to achieve what you want, would be using several wave readers - as many as you want voices for the same note. Their index counters would have to be maintained in the code module, including voice management of some sort. I could be wrong of course, anyone feel free to correct me. 😉

For sampler applications, hitting the same key again imho should simply create a new voice like any other key. Usually there are mute-groups (or however they're called) if you want the note to choke.

werner

oddson ·

This sounds like the retrigger problem again...

Karplus Plus

platinumears ·

Hmm yeah, you might be right.

I'll try to find the time to have another fiddle with it, see if I can find a workaround...

Dan 🙂

oddson ·

Stefan's message in that other thread links to a workaround in the WIKI.

platinumears ·

I'm already using that workaround: it works so long as you re-trigger a different note, but I need it to also work when re-triggering the same note.

oddson ·

Is there a reason you need the voice management midi2poly module instead of the primitive?

platinumears ·

Yes. I need to restrict the polyphony to 4 voices per drum, as most of the samples have long decays (the loudest ride sample is almost 25 seconds!). Otherwise a drum pattern with 8th notes on the ride cymbal will rapidly build up till its playing 30 or more voices, where each voice consists of 4 stereo ride samples*... its a bit of a cpu muncher! 😮

* and I haven't even added all the samples yet: that's just the overhead & room mics. Ideally I want to make a verison which includes all the spill from the close mics too, but that would mean each ride hit would have to trigger 10 stereo samples** instead of 4! 😕

** in case you are wondering: I had 10 mics on the kit altogether, and have edited all the hits down to 5 stereo samples each... but the ride and crashes all use cross-fading between soft and hard hits instead of simple velocity switching (as that sounds far more natural to me), and that means triggering both soft and hard samples on every hit...

platinumears ·

I think I found a workaround:

http://platinumears.com/DrumPolyphonyWorkaround.osm

Basically I arranged that the MIDI to Poly module recieves a different MIDI note for each hit, regardless of the trigger note (which is now restricted to a single key as it should be).

It seems to work, though I am concerned that the 'green' processing will impact the timing of the patch... any word from a dev on that one?

It also seems to work when dropped into the big drum patch... but I ran into another problem there! 😕

😀

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.