[done b4 & b5] Mute groups

(fladd) #1

I honestly think the usefullness/completeness of the sampler would increase a lot if we finally had mute groups. Since improving the sampler seems to be the main theme for 3.0, having some more basic features in there would be great.

Using Renoise For Live Drums And Samples Triggering
interface changes
Mute groups
Suggestions for Renoise 3.1
List of feature suggestions for Renoise
(Djeroek) #2

I’ve seen mute-groups mentioned before, but never understood its meaning / don’t use keyzones for multi-velocity instruments…

What are mute-group good for, why would you want it?

(fladd) #3

On a real drumset, when playing a closed hi-hat will stop (cut off) a still playing open hi-hat, because, well, it is the same cymbal. This is what mute groups do, each sample in a group stops (mutes) another still playing sample of this group when triggered.

(delt) #4

Like different types of duplicate note checks for NNA’s? (ie. in impulse tracker: disabled, note, instrument, sample) …those would be useful in some circumstances.

(Djeroek) #5

Ah yes, I thought you could currently achieve this using a note-off layer… so a note off would trigger the closed high-hat. Now I must fing out what the note-off layer does :)

(vV) #6

You can still achieve this by setting the NNA for those specific samples to “Cut”, this should work as long as all notes for these samples are triggered in the same notecolumn(!), if that doesn’t work, it is a bug.

(fladd) #7

Well, that is sequencing…
Let’s please focus on the feature set of the sampler itself here, rather than about how to fix stuff post-sampling.

(vV) #8

So you just want to have one toggle in the modulation set that allows controlling NNA on set level rather than sample level?
Could be a solution. i’m not sure where to exactly fit it inside a set chain though but no doubt somewhere at the very prime beginning.

(fladd) #9

If that would affect “live” playing the instrument, then yes, I guess that would do it.

(vV) #10

Chains are processed live, in that case any particular sample played there then should be NNA treated for the audio stream they are generated for and not the notecolumn they are playing on, because as soon as notecolumn becomes notecolumns, you get uncut samples.

(Hazardous!) #11

Since Renoise has such a focus on sampling and is clearly evolving into a fairly advanced and capable sampler, the lack of support for mute/choke groups is a significant limitation to building realistic drum kits that can be played live. Almost every other sampler or sample based VST instrument out there supports Mute Groups (aka Choke Groups). Mute groups are important for emulating things like cymbal chokes (and other instruments) with a high degree of realism.

I’d like to see Renoise have full read/write support for the .sfz standard (noting that there is some variation in this format), which of course includes mute groups. Using the NNA functions in Renoise does not produce the same results as proper mute groups in other samplers.

I’d also like to be able to define groups of samples within an instrument and then map the output of those groups to specific tracks (like you can with multi-out VST instruments). Along with increasing the limit on the number of samples an XRNI can contain, this would make Renoise massively more useful as a sampler.

As it is at the moment, I have to use a VST plugin to have a decent playable drumkit - this makes compositions less portable, as I have to make sure that every machine that might be used to edit the song has the same VST instrument installed.

(Cas) #12

Of course that won’t work, even if you set hold for the instrument (which in my experience is a way to make sure everything played live gets inserted or at least triggered in one and the same column) - the kick would also mute the hihat. Which it shouldn’t.

This has everything I wanted to say really

(vV) #13

Not if you would dedicate each sample chain (kick, hihats, snare etc) to its own notecolumn.

(fladd) #14

I somehow don’t get how this is in relation to live playing… So we can route different samples in the sampler now to specific notecolumns? Sounds cool! How to do this?

(Cas) #15

No you can’t, really seems like some don’t (want to) understand the issue. It’s a really simple design actually, I guess most MPCs have this. I’ve tried before, but the need for this function cannot simply be explained to some tracker users that do music in static compose-prehear-repeat loops.

(Hazardous!) #16

If the Renoise team are planning on releasing Redux as essentially a plugin sampler that plays XRNI files, it is not going to look very compelling when compared to the competition if it is missing basic sampler features like mute groups… Assigning defined groups of samples or keyzones within an instrument to multiple outputs would also be pretty important for Redux to be able to play back drum kits in another DAW. So for Redux to have any chance of success, it is going to need to be able to do what other sampler plugins can (and then some), and since it is going to be compatible with Renoise, Renoise will also need to support these features.

(vV) #17

If the devs would add the option to the instrument effects chain output to fix the chain to a dedicated note-column, you would have a solution (simply add the old chord mode button back).

(kjl) #18

It’s possible to create mute groups (that works live!) using the new instrument effect chains:


It’s a little bit clunky but I could imagine a “native mutegroup” UI being worse.

I first tried using modulation sets, as it would probably be more natural, but I couldn’t get it working.

(fladd) #19

Complicated, but interesting…
Thanks or sharing!

(Hazardous!) #20

An interesting although cumbersome workaround.

But good grief, it does not need to be this difficult! All that you need to do is add a simple extra box in the Sample Properties like in the attached image. I can’t see this change adding too many lines of code, and it would bring Renoise’s sampling capabilities up to a standard that other software has been using for decades.

Group 00 is the null group, and samples in this group do not affect the playback of any other samples in the instrument.
Group 01 (and so on) will define a group which will mute/choke each other, but nothing else. So if you were to build a drum kit, you would leave all of the samples as 00 except the hi-hats, which you would assign to Group 01. You might also set up some groups to simulate crash cymbal chokes.

That is how the General MIDI standard for drums works, and that is how almost every serious sampler that plays back drums works. It is in the soundfont standard, the SFZ standard and various other formats. If you don’t want to use mute groups, you don’t have to - everything should default to 00, where nothing is muted.

Below is an extract from a .sfz multisample drumkit to show how ridiculously simple this is to work with, and why it is so perplexing that Renoise does not yet support it:

// Acoustic Snare  
<group> key=38 loop_mode=one_shot<br>
<region> lovel=81 hivel=89 sample=Tight Kit\Snares\Tight Kit Dry Snare 07.wav<br>
<region> lovel=90 hivel=91 sample=Tight Kit\Snares\Tight Kit Dry Snare 08a.wav<br>
// Hi-Hats<br>
// Closed Hi Hat<br>
<group> key=42 loop_mode=one_shot	<br>
<region> group=1 off_by=1 lovel=0 hivel=24 sample=Tight Kit\Hi-Hats\14 inch New Beat Hi-Hats Closed Tip 01.wav<br>
<region> group=1 off_by=1 lovel=25 hivel=42 sample=Tight Kit\Hi-Hats\14 inch New Beat Hi-Hats Closed Tip 02.wav<br>
<region> group=1 off_by=1 lovel=43 hivel=52 sample=Tight Kit\Hi-Hats\14 inch New Beat Hi-Hats Closed Tip 03.wav<br>

In the above sample of an .sfz instrument, the snare has not been assigned to a mute group, while the hi hat has been assigned to group 1. Anything in group 1 will choke anything else in group 1, but nothing in the null group or in group 2 etc...<br>
As you can see, unless you expressly assign a sample to a mute group, it won't be affected.<br>
For those interested, the .sfz format is detailed here:<br>
<a href="http://www.sfzformat.com/">SFZ Format</a><br>
Renoise would do well to incorporate full support for the .sfz standard.</region></region></region></group></region></region></group>