Jump to content


Photo
- - - - -

[done b4 & b5] Mute groups


  • Please log in to reply
108 replies to this topic

#1 fladd

fladd

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1179 posts
  • Gender:Male
  • Location:The Netherlands

Posted 26 December 2013 - 23:15

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.
  • Djeroek, lowkey, Cas and 3 others like this

#2 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6662 posts
  • Gender:Male
  • Location:Borneo

Posted 27 December 2013 - 01:15

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?

#3 fladd

fladd

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1179 posts
  • Gender:Male
  • Location:The Netherlands

Posted 27 December 2013 - 01:27

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.

Edited by fladd, 27 December 2013 - 01:28.

  • ReverendEntity likes this

#4 delt

delt

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 957 posts
  • Gender:Male
  • Location:Montréal, Canada

Posted 27 December 2013 - 01:37

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.
  • ReverendEntity likes this
"One man's dream" orig. composed by Yanni
http://soundcloud.com/delt01/one-mans-dream-orig-composed

#5 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6662 posts
  • Gender:Male
  • Location:Borneo

Posted 27 December 2013 - 01:38

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 :)

#6 vV

vV

    God's or Borg's Chief and Ruler of All Species

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 16855 posts
  • Gender:Male
  • Location:Netherlands

Posted 27 December 2013 - 13:22

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.



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.



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.
  • ReverendEntity likes this
Vv....


cpu Intel Core i7-4820K @3.70GHz
chipset Intel X79 chipset
mem 32 Gb 2400Mhz
os Win 7 64-bit SP1, DirectX 11
audio ESI ESP1010e - > Driver rev:2.0.6.0
video nVidia Geforce GTX780 - > Driver rev:335.23


Renoise Official Manual

#7 fladd

fladd

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1179 posts
  • Gender:Male
  • Location:The Netherlands

Posted 27 December 2013 - 13:32

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.

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.

Edited by fladd, 27 December 2013 - 13:36.

  • danoise and Cas like this

#8 vV

vV

    God's or Borg's Chief and Ruler of All Species

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 16855 posts
  • Gender:Male
  • Location:Netherlands

Posted 27 December 2013 - 17:09

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.


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.
Vv....


cpu Intel Core i7-4820K @3.70GHz
chipset Intel X79 chipset
mem 32 Gb 2400Mhz
os Win 7 64-bit SP1, DirectX 11
audio ESI ESP1010e - > Driver rev:2.0.6.0
video nVidia Geforce GTX780 - > Driver rev:335.23


Renoise Official Manual

#9 fladd

fladd

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1179 posts
  • Gender:Male
  • Location:The Netherlands

Posted 28 December 2013 - 02:10

So you just want to have one toggle in the modulation set that allows controlling NNA on set level rather than sample level?

If that would affect "live" playing the instrument, then yes, I guess that would do it.
  • Cas likes this

#10 vV

vV

    God's or Borg's Chief and Ruler of All Species

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 16855 posts
  • Gender:Male
  • Location:Netherlands

Posted 28 December 2013 - 03:34

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


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.
Vv....


cpu Intel Core i7-4820K @3.70GHz
chipset Intel X79 chipset
mem 32 Gb 2400Mhz
os Win 7 64-bit SP1, DirectX 11
audio ESI ESP1010e - > Driver rev:2.0.6.0
video nVidia Geforce GTX780 - > Driver rev:335.23


Renoise Official Manual

#11 Hazardous!

Hazardous!

    Member

  • Normal Members
  • PipPip
  • 54 posts
  • Gender:Male

Posted 04 January 2014 - 05:28

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.



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.
  • Jester, lowkey, fladd and 1 other like this

#12 Cas

Cas

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1719 posts
  • Gender:Male

Posted 04 January 2014 - 18:12

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.

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.

the lack of support for mute/choke groups is a significant limitation to building realistic drum kits that can be played live

This has everything I wanted to say really
  • Hazardous! likes this

music: SoundCloud drumkits: WizzKit no. 01 (thread), 02 (thread), 03 (thread), 04
tutorials: Beat Creators, Drum Synthesis examples
tools: download@box, info@blog, fork@git, discuss@forum
___________

BCF2000, LP S, MPK, nPad2, nKtrl2, NI KA6, Vortex, SP-404SX

Renoise, NI Reaktor


#13 vV

vV

    God's or Borg's Chief and Ruler of All Species

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 16855 posts
  • Gender:Male
  • Location:Netherlands

Posted 04 January 2014 - 21:53

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.

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


cpu Intel Core i7-4820K @3.70GHz
chipset Intel X79 chipset
mem 32 Gb 2400Mhz
os Win 7 64-bit SP1, DirectX 11
audio ESI ESP1010e - > Driver rev:2.0.6.0
video nVidia Geforce GTX780 - > Driver rev:335.23


Renoise Official Manual

#14 fladd

fladd

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1179 posts
  • Gender:Male
  • Location:The Netherlands

Posted 04 January 2014 - 23:01

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

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?

Edited by fladd, 04 January 2014 - 23:02.

  • vV, Djeroek, Cas and 1 other like this

#15 Cas

Cas

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1719 posts
  • Gender:Male

Posted 05 January 2014 - 00:16

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.
  • lowkey, fladd, Jenoki and 1 other like this

music: SoundCloud drumkits: WizzKit no. 01 (thread), 02 (thread), 03 (thread), 04
tutorials: Beat Creators, Drum Synthesis examples
tools: download@box, info@blog, fork@git, discuss@forum
___________

BCF2000, LP S, MPK, nPad2, nKtrl2, NI KA6, Vortex, SP-404SX

Renoise, NI Reaktor


#16 Hazardous!

Hazardous!

    Member

  • Normal Members
  • PipPip
  • 54 posts
  • Gender:Male

Posted 05 January 2014 - 08:22

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.



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.
  • lowkey, fladd and Cas like this

#17 vV

vV

    God's or Borg's Chief and Ruler of All Species

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 16855 posts
  • Gender:Male
  • Location:Netherlands

Posted 05 January 2014 - 14:41

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?


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).
Vv....


cpu Intel Core i7-4820K @3.70GHz
chipset Intel X79 chipset
mem 32 Gb 2400Mhz
os Win 7 64-bit SP1, DirectX 11
audio ESI ESP1010e - > Driver rev:2.0.6.0
video nVidia Geforce GTX780 - > Driver rev:335.23


Renoise Official Manual

#18 kjl

kjl

    New Member

  • Normal Members
  • Pip
  • 5 posts

Posted 05 January 2014 - 16:51

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

https://www.dropbox....mute_group.xrns

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.
  • Djeroek and spacecult like this

#19 fladd

fladd

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1179 posts
  • Gender:Male
  • Location:The Netherlands

Posted 06 January 2014 - 00:10

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

https://www.dropbox....mute_group.xrns

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.

Interesting...
Complicated, but interesting...
Thanks or sharing!
  • Djeroek likes this

#20 Hazardous!

Hazardous!

    Member

  • Normal Members
  • PipPip
  • 54 posts
  • Gender:Male

Posted 06 January 2014 - 10:23

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

https://www.dropbox....mute_group.xrns

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.


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


<region> lovel=81 hivel=89 sample=Tight Kit\Snares\Tight Kit Dry Snare 07.wav
<region> lovel=90 hivel=91 sample=Tight Kit\Snares\Tight Kit Dry Snare 08a.wav

	
// Hi-Hats


// Closed Hi Hat
<group> key=42 loop_mode=one_shot	

<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
<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
<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


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...

As you can see, unless you expressly assign a sample to a mute group, it won't be affected.

For those interested, the .sfz format is detailed here:

SFZ Format

Renoise would do well to incorporate full support for the .sfz standard.

Attached Images

  • Sample Properties.JPG

  • .xrns and Cas like this

#21 taktik

taktik

    Renoise Developer

  • Admins
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 15040 posts
  • Gender:Male
  • Location:Berlin, Germany
  • Interests:füße waschen

Posted 06 January 2014 - 12:46

But good grief, it does not need to be this difficult! [...]

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...

As you can see, unless you expressly assign a sample to a mute group, it won't be affected.


We've been looking for an easy approach to implement mute groups during the alpha testing, but could not find one.
This looks like a great and easy way to realize it. Thanks for sharing your idea!
  • danoise, martyfmelb, .xrns and 1 other like this

#22 fladd

fladd

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1179 posts
  • Gender:Male
  • Location:The Netherlands

Posted 06 January 2014 - 17:06

We've been looking for an easy approach to implement mute groups during the alpha testing, but could not find one.
This looks like a great and easy way to realize it. Thanks for sharing your idea!

I looked more into it, it doesn't! There are several problems:
1) It is one way only. The closed hihat will mute the open one, but not the other way around.
2) The open hihat does not mute itself when hit repeatedly!
3) Despite the name "mute" groups, the sounds actually have to be stopped in playback! In the example with the key tracker, the open hi hat will be muted only, if you play another open hihat, the tail of the old one will still play. This is unusable for fast hihat patterns.

So to be clear here: The problem is not solved!!! The offered method is not a solution!

I honestly don't understand what is so complicated about the concept of mute groups. Just allow samples to be grouped and let people set the polyphony of this group (polyphony=1 would be a mute group). It is just this NNA concept you already have, only applied to a subset of all samples instead of all samples. Seems straight forward to implement to me.

#23 taktik

taktik

    Renoise Developer

  • Admins
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 15040 posts
  • Gender:Male
  • Location:Berlin, Germany
  • Interests:füße waschen

Posted 06 January 2014 - 17:43

I looked more into it, it doesn't! There are several problems:


I don't understand why you think that this would not work. Would you mind explaining this a bit more detailed?

The rule would be: when a sample in mute group X gets triggered, it stops playing (or applies NNA) all other playing samples within the track which are assigned to mute group X as well. By default samples are in no mute group at all.

I honestly don't understand what is so complicated about the concept of mute groups. Just allow samples to be grouped and let people set the polyphony of this group (polyphony=1 would be a mute group). It is just this NNA concept you already have, only applied to a subset of all samples instead of all samples. Seems straight forward to implement to me.


!How! to set this up in/with the UI is the problem, not how to implement it.

#24 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6113 posts
  • Gender:Male
  • Interests:wildlife + urban trekking

Posted 06 January 2014 - 17:57

This looks like a great and easy way to realize it. Thanks for sharing your idea!


Mute groups are really useful, I would love to see this happen (and I'm sure any MPC user would agree).
Lets try to be very specific about how it could work? For instance, I would expect the NNA feature to come into action when using mute groups. The NNA is currently reserved for notes triggered in the same column, but it would be damn cool to see this useful feature appear when playing an instrument.


So adding any sample to a mute group could then define, per-sample, if a given sample was "cut", using the release phase of it's modulation ("note off"), or continue playing (although this last option would actually make the mute group setting obsolete, but "continue" is a strange beast anyway...). And, as fladd writes, the mute group setting could apply to samples that are retriggered, too. So, the hihat which is set to "NNA cut" would effectively cut itself, too.


Also, let's not forget about note-off layers. Might be a rarely used feature in Renoise, but it really seems relevant in the context of mute groups because they could get triggered at the exact same time as the new note was triggered.

Just allow samples to be grouped and let people set the polyphony of this group (polyphony=1 would be a mute group). It is just this NNA concept you already have, only applied to a subset of all samples instead of all samples. Seems straight forward to implement to me.



IMHO, it would be best to have an "either or" approach to mute groups. A polyphonic group group is sort of...hm...hard to work with. Imagine this, mixed with the round robin feature and such?
Perhaps polyphonic groups belong elsewhere, as a global property of the instrument (such as it is being discussed here)

Tracking with Stuff. API wishlist | Soundcloud


#25 fladd

fladd

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1179 posts
  • Gender:Male
  • Location:The Netherlands

Posted 06 January 2014 - 17:59

Thanks for the quick response!

I don't understand why you think that this would not work. Would you mind explaining this a bit more detailed?

Looking again at the example, I actually just realized that you could hack around those problems indeed!
1) Just add a gainer and a key tracker to all samples in the non-existent mute group and then connect the each key tracker to each other sample's gainer (cumbersome, but the end results would work, I think - I did not test this, though!)
2) NNA seem to be per sampler, so setting it to cut on each of the samples in the virtual mute group should do. Again, not tested, so I am not sure if there are unwanted side effects.
3) Setting NNA to cut on each sample would also solve this, I think.

Cool! So far so good! It is possible, but it seems a bit cumbersome given the simple problem to solve.

The rule would be: when a sample in mute group X gets triggered, it stops playing (or applies NNA) all other playing samples within the track which are assigned to mute group X as well. By default samples are in no mute group at all.

Skip the word "track" in this explanation and yes, this is how I also would imagine it to work. It should work irrespective of tracks, that is the whole point. You can already sequence the sounds correctly, mite groups are about playing them! Except if we will be able to assign samples/groups to tracks of course.

!How! to set this up in/with the UI is the problem, not how to implement it.

Uhm, in the advanced sample settings (where also the NNA setting per sample is) a combination of a Label saying "Mute Group:" and a simple dropdown menu with numbers as items should do it... Or what am I missing here?