Drum multisampler (random instead of multivoice)

Post any examples or modules that you want to share here
Post Reply
KG_is_back
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Drum multisampler (random instead of multivoice)

Post by KG_is_back »

Currently multisampled instruments in FS are made using "midi to multivoice" primitive. You enter key & velocity ranges for all samples and when you play a note, the "midi to multivoice" will create all voices for which the note satisfies the ranges also outputting "voice tag" which contains the index of the sample.
However when you what to create a multitimbral drum sampler and you use "midi to multivoice" and the velocity ranges overlap it will play more than one sample per drum which you probably don't want. A way around is to make sure the ranges never overlap. Then the randomization between samples is done entirely in midi. Hovever you have to give up some of the velocity range to sample randomization.

What I've managed to do is a module that does similar thing to "midi to multivoice" but instead of playing all the samples that satisfy the note, it randomly picks only one per key. It uses trogs array to mem schematic to create a place in memory accessible to any assembly module. When you send in a note "midi to multivoice" will start to play all the voices as it should, their voice tags and number of voices per note are stored in memory and voices are killed just after that. Then parallel "midi to voice" primitive plays the note and a module randomly picks one voice tag from the memory slot for that key.
Yet I didn't made a multisampler that uses it, but it should be fairly simple to adjust the stock multisampler to do this.
Attachments
randpoly.fsm
(4.19 KiB) Downloaded 1502 times
Post Reply