fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fluid-dev] Patch for channel_type, also XG drum-channel autoswitch


From: jimmy
Subject: [fluid-dev] Patch for channel_type, also XG drum-channel autoswitch
Date: Wed, 2 Feb 2011 16:08:14 -0800 (PST)


It seems MSB of 127, 126, 120 have been used for Yamaha/XG drum kits.

For PSR-2000 keyboard, [MSB,LSB,Prog] for MSB 126:

   [127,0,xx]  Various drum kits

   [126,0,0]  SFX Kit1 
   [126,0,1]  SFX Kit2 
   [126,0,35]  Arabic Kit 
   
For PSR-S900 (similarly in Tyros-2, Tyros-3):

   [127,0,xx]  Various drum kits

   [126,0,0]  SFX Kit1 
   [126,0,1]  SFX Kit2 
   [126,0,35]  Arabic Kit 
   [126,0,40]  Cuban Kit 
   [126,0,43]  PopLatin Kit 

   [120,0,0]  Standard Set
   [120,0,8]  Room Set
   [120,0,16]  Power Set
   [120,0,24]  Electronic Set
   [120,0,25]  Analog Set
   [120,0,32]  Jazz Set
   [120,0,40]  Brush Set
   [120,0,48]  Orchestra Set
   [120,0,56]  SFX Set

>From the drum key/sound mapping list, it seems that, for MSB=127:

   [127,0,0]  Has full set of drum sounds
   [127,0,xx]  Has sparse set (some note/key has no sound), so it would fall 
back to the sound from the full [127,0,0].
   
Similar mapping scheme for MSB=126, as well as MSB=120:

   [126,0,0]  Has full set of drum sounds
   [126,0,xx]  Has sparse set

   [120,0,0]  Has full set of drum sounds
   [120,0,xx]  Has sparse set

Seems like a "fall-back" sound lookup scheme, similar to the non-drum voices.  
So if key/sound for MSB=120 could be found with:

   [120,0,xx] if not found, try:
   [120,0,0]  if not found, try:
   [127,0,0]  always there, this is also GM-drumkit.

Like-wise, with MSB=126 drum sound:

   [126,0,xx] if not found, try:
   [126,0,0]  if not found, try:
   [127,0,0]  always there, this is also GM-drumkit.


PDF manuals for the keyboards are available online if folks want to take a 
closer look.

Jimmy





      

Attachment: fluidsynth_drumChannel_003_20110202.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]