On Tue, 2008-02-19 at 12:31 +0100, Emmanuel Saracco wrote:
> Scott Bahling a écrit :
> 
> > Hi Emmanuel,
> 
> Hi!
> 
> [...]
> 
> >> Just in case this NS Kit7 builder would be of some interest for some of 
> >> you, you can download it here:
> >>
> >> http://esaracco.free.fr/downloads/buildNSKit7.pl
> > 
> > Cool. Well I already have my drumkits defined. But if I find time I will
> > try it out. I noticed that your script creates each instrument layer
> > covering the complete velocity range. <min>=0 <max>=1. Wouldn't you want
> > to scale each layer by velocity? Otherwise you will either hear all
> > layers at the same time, or only the first layer that H2 matches (can't
> > remember the logic in the sampler, but I think it is the later). I think
> > you will need to compile H2 with the MAX_LAYERS define increased.
> 
> Yes, you're right. At first I was creating a lot of layers for each 
> instruments, but it happens many time that NS Kit7 contains more than 16 
> layers. So, to not force any "buildNSKit7.pl" users to rebuild Hydrogen 
> with a greater MAX_LAYERS value, I now just define one layer that use 
> the greater NS Kit7 WAV file number.
> 
> If needed I can update "buildNSKit7.pl" to act this way again, but are 
> you really sure the max/min values of a Hydrogen layer is about 
> velocity?

Yes, the min and max values become the StartVelocity and EndVelocity
values of the layer objects. These are queried for a match based on the
velocity setting for the current note being rendered. Starting at layer
0, the first matching layer that contains the note velocity within it's
Start/EndVelocity range is used.

> And if so, is there any relation between NS Kit7 WAV file 
> numbering and velocity (I thought it was more relative to gain)?

The NSkit wav numbers are related to how hard the instrument was struck
when sampling. This is a velocity mapping and the gain difference is
just inherent. There is no direct relationship to H2 velocity. Just that
lower wav numbers are lower velocity. When I created my instruments, I
just scaled the velocity linear with the samples. So if there are 48
layers, each layer would get a range of 1.0 / 48. Make sure that the min
value of a layer is equal to the max value of the former layer.
Otherwise depending on the velocity and humanization factor you can
experience dropped notes on playback (which is a cool effect BTW ;).
Even if one layer has a max of 0.25 and the next layer has a min at
0.26, the sampler might have a note velocity of 0.255 and there will be
no layer match, and the note will not be played.

To get the full benefit of the NSkit, you want to include the layers and
map them to velocity. Then add a little humanization to the velocity or
program the note velocities for effect, and you will get a very dynamic
sound.

Even if you don't want to recompile H2, just grab 16 from the full range
of available layers and map them into instruments.

-Scott


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Hydrogen-users mailing list
Hydrogen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hydrogen-users

Reply via email to