XOR Userforum
Sample Choke Groups - Printable Version

+- XOR Userforum (https://xor-electronics.com/forum)
+-- Forum: Products (https://xor-electronics.com/forum/forumdisplay.php?fid=3)
+--- Forum: NerdSEQ (https://xor-electronics.com/forum/forumdisplay.php?fid=6)
+---- Forum: Feature requests (https://xor-electronics.com/forum/forumdisplay.php?fid=12)
+---- Thread: Sample Choke Groups (/showthread.php?tid=1153)

Pages: 1 2


Sample Choke Groups - geremy - 07-19-2021

Hi,

Please add the possibility of sample choking (ex: hihats).  There was some discussion of it here:

https://xor-electronics.com/forum/showthread.php?tid=1152


RE: Sample Choke Groups - mgd - 07-19-2021

I'm not quite sure what precisely is meant by "sample choking" (I understand the open/closed HH use case).

FWIW I would be fine with SETW being able to set a sample when there is none playing. AFAICT that would also allow for at least the basic choking use cases. What I mean is that SETW sets a sample to play as if it would have been placed in the sample column. I'm indifferent whether the current restriction that SETW does not override a sample that is placed in the sample column in the same row should stay or be removed although I lean towards removing it as I don't understand the rationale behind it (read: I might change my mind once I understand the reason for it Wink )


RE: Sample Choke Groups - geremy - 07-20-2021

I think the current reason for SETW is really related to the built in waveforms.  You can change a waveform that is already playing, like from sine to saw to square.  The waveforms stay on until the next note command, so in this way you can dynamically change the waveform.

Sample choking prevents multiple related samples from playing concurrently, like open and closed hats.  To truly implement choking, you would set a choke list by priority, and this list would compose the choke group.

That way on a single sample column in a track you can have one sample in the sample column, and 2 in the FX columns, all with different probabilities, and the sample with the highest priority and true probability will be the only one to play.

I would offer that this could be accomplished in the Nerd Menu, and I would be fine with the current list being also a priority list.  So the Sample list could look like:


Quote:# | Sample Name | Choke Group


By default no samples are in a group.  This way you could identify multiple groups and use the # column as the priority.  1 choke group per sample is sufficient...I can't see the need for assigning 1 sample to multiple groups.


RE: Sample Choke Groups - mgd - 07-20-2021

> To truly implement choking, you would set a choke list by priority, and this list would compose the choke group.

Is there a use case for lists longer than 2?
While I can imagine some fun sample manipulation stuff, for the sake of choking 2 samples should be fine.

>That way on a single sample column in a track you can have one sample in the sample column, and 2 in the FX columns,
>all with different probabilities, and the sample with the highest priority and true probability will be the only one to play.

The very same thing would be achieved with my proposed change to SETW. And you could also change probabilities in between...and switch samples likewise by referencing different samples in different rows (and thus not run out of "choke lists") Wink

>I would offer that this could be accomplished in the Nerd Menu, and I would be fine with the current list being also a priority list.
>So the Sample list could look like:
[sample snipped]

Another "non local" list to manage... Dodgy

>By default no samples are in a group.  This way you could identify multiple groups and use the # column as the priority.
>1 choke group per sample is sufficient...I can't see the need for assigning 1 sample to multiple groups.

What about different closed HH sounds being choked by the same open HH sound?
What about the same closed HH sound being choked by different open HH sounds at different times?
I'm sure there are other ideas w/r to rhythmic variations.

I'm not convinced the proposed "choke lists" are
  1. easier to handle than modifying SETW as proposed above
  2. intuitive to handle
  3. as flexible as a modified SETW
Kind regards,
Michael


RE: Sample Choke Groups - XORadmin - 07-20-2021

I will look into the SETW and I think that nearly all should be covered then. Then you could get up to 2 concurrent alternative samples with different probabilities which do or don’t overrule then.

Another list and special functions seems a bit of overkill to me. (Not that I think it’s a bad idea, but it doesn’t fit into my roadmap at the moment and would so take a long time until i would make it if ever).
A small rule change to SETW could do the magic.


RE: Sample Choke Groups - XORadmin - 07-20-2021

Did a small change to the SETW and you could have then 2 alternative samples with different probabilities to overrrule the original sample.
Even more together with the random FX functions you could random even which sample is chosen.

This in the latest release candidate.


RE: Sample Choke Groups - geremy - 07-20-2021

So with the proposed SETW change, how would the sequencer decide priority of 2 SETW commands in the FX1 and FX2 column in the same row?

Maybe I wasn't clear about the list.  I'm talking about using the same sample list, visible on the pattern screen, with the addition of 3rd column that denotes choke group.  I was referring to the nerd menu to assign the choke group, in the same sample list you load the samples into.

There are plenty of uses beyond 2...in drum programming it's actually common to assign BD top priority...then there are uses with playing different samples chromatically.

EDIT: Oh and one of the primary uses is to have multiple sounds for the same purpose.  Like 2 varying CH sounds or 3 varying OH sounds.  Pretty common, and that is why the list is typically longer than 2.


RE: Sample Choke Groups - XORadmin - 07-20-2021

(07-20-2021, 12:09 PM)geremy Wrote: So with the proposed SETW change, how would the sequencer decide priority of 2 SETW commands in the FX1 and FX2 column in the same row?

Maybe I wasn't clear about the list.  I'm talking about using the same sample list, visible on the pattern screen, with the addition of 3rd column that denotes choke group.  I was referring to the nerd menu to assign the choke group, in the same sample list you load the samples into.

There are plenty of uses beyond 2...in drum programming it's actually common to assign BD top priority...then there are uses with playing different samples chromatically.

EDIT: Oh and one of the primary uses is to have multiple sounds for the same purpose.  Like 2 varying CH sounds or 3 varying OH sounds.  Pretty common, and that is why the list is typically longer than 2.

SETW in FX1 with 25% probability
SETW in FX2 with 50% probability
If none hits = Original sample
If both hit, then FX2 rulez (because it is executed after FX1).

+ the extras you get when you add some randomization to the FX


RE: Sample Choke Groups - mgd - 07-20-2021

(07-20-2021, 01:22 PM)XORadmin Wrote: SETW in FX1 with 25% probability
SETW in FX2 with 50% probability
If none hits = Original sample
If both hit, then FX2 rulez (because it is executed after FX1).

+ the extras you get when you add some randomization to the FX

For those not fluent in stochastics here the formulas to determine the resulting probabilities for the various samples.
Let O be the original Sample, let 1 and 2 be the samples from SETW in FX 1 and FX 2 respectively.
Let p1 and p2 be the probabilities set for FX 1 and FX 2 respectively (e.g. set via PRF1 and PRF2)
Let P0, P1 and P2 denote the resulting probabilities. Then the formulas are:
P2 :== p2
P1 :== p1*(1-p2)
P0 :== 1 - P1 - P2 = 1 - p1*(1-p2) - p2

Some examples with numbers:
p1 := 50%, p2 := 33% ==> P0 = 34%, P1 = 33%, P2 = 33%
p1 := 25%, p2 := 50% ==> P0 = 37,5%, P1 = 12,5%, P2 = 50%
p1 := 50%, p2 := 50% ==> P0 = 25%, P1 = 25%, P2 = 50%
p1 := 66%, p2 := 33% ==> P0 = 23%, P1 = 44%, P2 = 33%

(hoping I did not stupidly miscalculate...)

If this still just reads like gibberish feel free to ask and I will try to explain.

Hope that helps,
Michael


RE: Sample Choke Groups - geremy - 07-20-2021

(07-20-2021, 01:22 PM)XORadmin Wrote: SETW in FX1 with 25% probability
SETW in FX2 with 50% probability
If none hits = Original sample
If both hit, then FX2 rulez (because it is executed after FX1).

+ the extras you get when you add some randomization to the FX

Ok.  That makes perfect sense.

Is that generally true, btw, of the FX series execution?  That would explain why I have been having some strange results in normal modular tracks...I have been setting values in FX1 and Setting FX1 Probability in the same row on FX2.  Perhaps I should swap that around to ensure the probability is set prior to attempting to set values.