From: Greg L. <gr...@li...> - 2004-07-14 16:52:21
|
TAMUKI Shoichi wrote: ... >>I've arranged things so that the first velocity layer following >>the patch header will look just like the single set of keyrange >>samples that a naive midi player expects to see and knows how >>to deal with. > > > You mean that "number of waveforms" in the patch header indicates the > number of the single set of keyrange samples. Yes, that's what I mead. More specifically, it indicates the number of keyrange samples in the left channel of the first velocity layer, where those samples all immidiately follow the patch header, just as the single set of keyrange samples in an ordinary GUS patch immediately follow the patch header. > At this point, The > example of extended GUS/patch structure in my previous mail might > mislead. Here is the revised one: > > [Patch header information (first: 5 samples, all: 11 samples)] > [Sample for low freq. range, mid vel. range, left] > [Sample for low freq. range, mid vel. range, right] > [Sample for mid freq. range, high vel. range, left] > [Sample for mid freq. range, high vel. range, right] > [Sample for high freq. range, mid vel. range, mono] > [Sample for low freq. range, low vel. range, left] > [Sample for low freq. range, low vel. range, right] > [Sample for mid freq. range, low vel. range, left] > [Sample for mid freq. range, low vel. range, right] > [Sample for low freq. range, high vel. range, left] > [Sample for low freq. range, high vel. range, right] I must be dense. In your scheme, the samples for various velocity ranges are intermingled. So, to pick out the samples for a single velocity range, a naive midi player has to read within the sample headers the extra extended information there about velocity range. But, by hypothesis, a naive midi player doesn't *know* about the extra extended information. So, how can this possibly work? Besides this fundamental problem, the total number of samples in a patch can be rather large. One of my Soundfonts has a Grand Piano patch with 19 keyranges for each of 2 stereo channels in each of 12 velocity ranges. That's 456 samples. But the field in the patch header for number of samples is just a single byte. So a naive midi reader which knows only about ordinary GUS patches wouldn't even be able to tell how many samples there are in the patch. Greg |