From alsa-devel-owner@alsa.jcu.cz  Wed Feb 24 13:27:05 1999
Received: from pat.bath.ac.uk (qmailr@pat.bath.ac.uk [138.38.32.2])
	by marvin.jcu.cz (8.9.1a/8.9.1) with SMTP id NAA08580
	for <alsa-devel@alsa.jcu.cz>; Wed, 24 Feb 1999 13:26:44 +0100
Received: (qmail 29847 invoked from network); 24 Feb 1999 12:26:40 -0000
Received: from midge.bath.ac.uk (HELO bath.ac.uk) (mmdf@138.38.32.34)
  by pat.bath.ac.uk with SMTP; 24 Feb 1999 12:26:40 -0000
Received: from tobi.bath.ac.uk by midge.bath.ac.uk id aa18842;
          24 Feb 99 12:26 GMT
Message-ID: <36D3F002.2781@bath.ac.uk>
Date: Wed, 24 Feb 1999 12:26:42 +0000
From: "P.J.Leonard" <P.J.Leonard@bath.ac.uk>
MIME-Version: 1.0
To: alsa-devel@alsa.jcu.cz
Subject: Re: Instrument abstract layer
References: <Pine.LNX.3.96.990224112210.3592B-100000@entry.jcu.cz>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

Jaroslav Kysela wrote:
>
> > Yes, I understood it.  It's just like instrument numbers of GUS patch
> > loading, isn't it?
> > What I wrote is - assume to alias bank 8 / instr 20 / note 64 to
> > bank 126 / instr 0 / note 48.  Both source and destination use
> 
> No problem with the current implementation. GS alias example:
> 
> drumset 8 / instr 156 (note 28) -> drumset 0 / instr 170 (note 42).
> > different note numbers.  This can't be handled easily unless we give
> > explicitly the note number in instrument identifier, because if we use
> > 128-255 for key mapping, the instrument number will be ignored.  The
> 
> I'm not sure here which instrument number do you mention here.
> The 128-255 range gives to us: 1) the unique instrument identifier,
> 2) the note to which is the instrument associated

 I am getting a bit confused here !!!

 How is the note information encoded in your structure ? 

 I think my view on patches etc are based on the AWE32 soundfont
structure.

 Briefly

    SAMPLES      ---  these are the things that eat up memory
    INSTRUMENTS  ---  these are defined in terms of samples and
modulations
    PRESET       ---  maps notes + velocities onto INSTRUMENTS

 The smallest useful unit in this scheme is the INSTRUMENT associated
with a bank/program/note

 A preset is indexed using a bank/program  pair of numbers but whole
preset
maybe more than you want to load. But you will see that to find an
individual 
voice (sample) within the soundfont  you also need to specify a note
number.

 In the soundfont scheme a DRUMSET is loaded using bank 128 and a
program number.
This loads in the whole of the drumkit (many samples may not be played
in a song).
We need to be able to tell the patch loader which notes (drum samples)
within a program
will be actually used otherwise the memory will get filled with samples
that need not be
loaded.


-- 
 Cheers Paul.                                        
               __         __                  
              (  ) _ - _ (  )                 
               ~~         ~~                  
                (  0   0  )                   
----------ooO----(       )----Ooo------------ 
          '''     (     )     '''             
                   (   )                      
                    \ /                       
                   ~~O~~                      

  Tel: +44 1225 826108
  Fax: +44 1225 826305
snail: P.J.Leonard
       Applied Electromagnetic Research Centre
       Bath University,
       BATH, UK   BA2 7AY

