> On Fri, 6 Dec 2002, michiel & ellen de vries wrote: > > > At the moment I'm very busy working on Meridian 2.2 to intgrate > > the MoonSound into it. The playroutines in Meridian has been > > prepared to handle all channels in the MoonSound. The technique > > I will use is called DCA (Dynamic Channel Assignment). This > > means that the wave and FM channels are not assigned to a fixed > > track number, but that they will be assigned dynamically to > > tracks, when the channels are needed. (the MIDI way...) > > Which assignment algorithm are you using for the DCA? > > I notice Yamaha use a simple round robin approach for assigning > channels on the SFG-05 expander with FM Voicing. Recently I > coded a modified round robin routine for NYYRIKKI's FM-PAC > routine for the Yamaha keyboard. However what's really needed > is a modified FIFO, where notes enter a queue after they are > released so that the least recently used channel is used for > the next note. The modified part of this routine is, where a > new note is requested that is still sounding on one of the > channels, you re-gate that channel rather than assigning > another to the same note.
The algorithm I'll use looks very much like what you describe. Meridian uses 3 FIFO systems for either the 2-Op FM, 4-Op FM and PCM channeltables. Of course there are some differences. The notes don't need to be entered in a queue, because the are in a static grid. But the way how to assign notes to a channel is almost the same. > Another aspect is the question of whether notes should enter > the FIFO when they are pressed (key-on) or released (key-off). > I would suggest that percussive tones should use the former > and sustained tones the latter, in Yamaha terminology. Problem here are the PCM tones. It's not quite obvious wheter a PCM tone is percussive or sustained. For FM tones it's not that hard, because each oscillator has its own sustainbit. But if the an oscillator is percussive and the release time is set to maximum value minus 1 (when set to maximum value, the sound won't go off after key off), in the song it will sound like a sustained tone. I'll have to do some experiments to find out what's the best way to assign tones to the channels. Gtx, Michiel ______________________________________________________________ Gratis e-mail en meer: http://www.dolfijn.nl/ _______________________________________________ MSX mailing list ([EMAIL PROTECTED]) Info page: http://lists.stack.nl/mailman/listinfo/msx
