From alsa-devel-owner@alsa.jcu.cz  Wed Feb 24 18:01:48 1999
Received: from faui45.informatik.uni-erlangen.de (root@faui45.informatik.uni-erlangen.de [131.188.2.45])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id SAA31482
	for <alsa-devel@alsa.jcu.cz>; Wed, 24 Feb 1999 18:00:52 +0100
Received: from servww1.ww.uni-erlangen.de (servww1.ww.uni-erlangen.de [131.188.142.2])
	by faui45.informatik.uni-erlangen.de (8.9.1/8.1.49-FAU) with SMTP id SAA26947; Wed, 24 Feb 1999 18:00:50 +0100 (MET)
Received: from hong.ww.uni-erlangen.de by ww.uni-erlangen.de with SMTP;
	id AA03333 (1.37.109.4/7.3m-FAU); Wed, 24 Feb 99 18:00:34 +0100
Message-Id: <9902241700.AA03333@servww1.ww.uni-erlangen.de>
Received: by hong (sSMTP sendmail emulation); Wed, 24 Feb 1999 18:02:22 +0100
From: "Takashi Iwai" <iwai@ww.uni-erlangen.de>
To: Jaroslav Kysela <perex@jcu.cz>
Cc: alsa-devel@alsa.jcu.cz
Subject: Re: Instrument abstract layer
In-Reply-To: <Pine.LNX.3.96.990224150507.3592D-100000@entry.jcu.cz>
References: <9902241330.AA26553@servww1.ww.uni-erlangen.de>
	<Pine.LNX.3.96.990224150507.3592D-100000@entry.jcu.cz>
Date: Wed, 24 Feb 1999 18:02:22 +0100
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

>>>>> On Wed, 24 Feb 1999 15:59:51 +0100 (CET), Jaroslav Kysela
<perex@jcu.cz> said: 

> You are talking about separated instrument number and key pair. Can you
> tell me what means the instrument number in this case? This is some
> sort of the internal number stored in the specific instrument format? 
> How is addressed from standard MIDI/GS/XG events? Isn't this information
> needless?

No, no, I meant the instrument number as the MIDI program number.
The case in my previous mail, for example, corresponds to XG sfx
bank.  But it is more general topic.

Suppose that we create our own bank.
This bank contains several instruments.  On each key of each
instrument, different tone (like piano C60, dog, car-crash..) is
assigned.  All of these tones have been defined somewhere else in
other banks.  Then, of course, we want to "alias" the instruments
without loading the samples again.  For this purpose, bank/instr/note
have to be separated parameters, as I wrote before.

So, my concern was only about "aliasing".
For more flexible aliasing like above, separated program and note-key
are necessary.  There is no reason to inhibit to use the bass-drum
tone on the normal (not drum) program.
(Now I know that it can be realized by using upper byte of program
field.)

Then, I considered -- if the extra "note-key" field in structure
exists, why do we need to put the drum "note-key" number into the
program number field, and the drum "program" (drumset) number into the
bank number field? 
Isn't it more straightforward to use the "note-key" as drum
"note-key", and "program" as drum "program"?
Well, I know roughly why using bank for drumset, too.  But, a little
bit confused...

-- 
Takashi Iwai / iwai@ww.uni-erlangen.de
Department of Materials Science
Friedrich-Alexander-University Erlangen-Nuernberg

