EMUSIC-L Digest Volume 61, Issue 19 This issue's topics: Makin a sequencer (4 messages) Your EMUSIC-L Digest moderator is Joe McMahon . You may subscribe to EMUSIC-L by sending mail to listserv@american.edu with the line "SUB EMUSIC-L your name" as the text. The EMUSIC-L archive is a service of SunSite (sunsite.unc.edu) at the University of North Carolina. ------------------------------------------------------------------------ Date: Wed, 23 Feb 1994 14:17:38 -0500 From: TIM Subject: Makin a sequencer Hi all, I'm attempting to write a midi sequencer as my senior project and I've got some questions on which approach I should take. The interface I have (some Music Quest thing) has two "modes," intelligent and UART mode. Which should I use? I hear Cakewalk uses the UART mode. However, I'm not sure I can make an algorithm on my 286 that will not lose any incoming MIDI data. On the other hand, I think the intelligent mode is like the Roland mpu401's intelligent mode which is made for only 8 tracks. To make a sixteen track sequencer, I'd have to cludge it. Does anyone have any suggestions on what I should do? (besides give it up and buy a real one) Tim Harrison harrison@depauw.edu ------------------------------ Date: Wed, 23 Feb 1994 16:48:00 PST From: "Rossi, John" Subject: Re: Makin a sequencer > The interface I have (some Music Quest thing) has two "modes," intelligent > and UART mode. Which should I use? I hear Cakewalk uses the UART mode. > However, I'm not sure I can make an algorithm on my 286 that will not lose > any incoming MIDI data. On the other hand, I think the intelligent mode is > like the Roland mpu401's intelligent mode which is made for only 8 tracks. > To make a sixteen track sequencer, I'd have to cludge it. [Note - edited to remove inflammatory comments. Responses to comments and not to technical information also deleted. - JM] ... what mode on a 401 you use depends on what you want to do with the interface. While it is true that Cakewalk has used the UART mode since version 4, earlier versions (at least through 2.0) used the intelligent mode. The mode of the processor has nothing to do with tracks. Cakewalk, even when it was version 1.x allowed 256 tracks (and it was designed for a 4 mHz 8088). Additionally, the intelligent mode supports all 16 possible MIDI channels (which, again, does not have any real relation to tracks except that having 16 tracks among which to spread the channels makes things conceptually easier). There is no reason, for example, that you can't have all 16 channels coded into one track (which is what a Standard MIDI File Type 0 is). So, where you get the idea that there is some 8-track limit to a 401 running in the intielligent mode is beyond me. The intelligent mode in the original Roland-401 interface was designed to ease the burden of the sluggish 8088 uP. The intelligent mode allowed accurate time stamping of MIDI events independently of central CPU action. A 286 machine is plenty capable of supporting very accurate timing resolution using the UART mode, however. My old 10-MHz 286 had no trouble running 64-Track-PC while implementing a 5-UART MIDI system which supported 80 independent MIDI channels at 720 PPQ resolution. To this day, I have yet to see a more accurate sequencer. Clearly, 16 channels should not cause a problem for even the most hacked sequencer you might want to create for a 1-UART MIDI system. The basic tradeoff in selecting intelligent from UART modes lies in the number of channels you want to implement (intelligent mode is limited to 16 by the 401 electronics whereas the UART mode is limited to the number of UARTS you can satisfy with whatever power your CPU may have.. this number is close to greater than 32 (512 independent channels) with a reasonably fast 386. The second tradeoff is in the resolution of the clock stamping of the system. The intelligent mode restricts you to 192 ppq while the real mode is, again, restricted only by speed required for the number of UARTS being serviced. While 64-Track PC eventually got up to 900+ ppq, the need for such high resolutions has been a matter of debate... ------------------------------ Date: Thu, 24 Feb 1994 18:43:51 -0500 From: Joe McMahon Subject: Re: Makin a sequencer >The interface I have (some Music Quest thing) has two "modes," intelligent >and UART mode. Which should I use? I hear Cakewalk uses the UART mode. >However, I'm not sure I can make an algorithm on my 286 that will not lose >any incoming MIDI data. On the other hand, I think the intelligent mode is >like the Roland mpu401's intelligent mode which is made for only 8 tracks. >To make a sixteen track sequencer, I'd have to cludge it. Disregarding spell flames, etc.: sometime back there was an article posted by a gentleman who recommended that a heap be used to maintain the priority queue for MIDI events; he also discussed the relative merits of a one-event vs. two-event (note-on/note-off stored as either one or two entries in the queue) representation for MIDI events. If I can scare it up, I'll mail it to you. I might very well have stored it out on the FTP site. I'll check. No. Dang. It's somewhere in the back issues. If I get a chance, I'll look through them. Sorry I couldn't put a hand right on it. --- Joe m. ------------------------------ Date: Thu, 24 Feb 1994 16:48:25 -0800 From: Doug Wellington Subject: Re: Makin a sequencer Joe McMahon wrote: >Disregarding spell flames, etc.: sometime back there was an article posted >by a gentleman who recommended that a heap be used to maintain the priority >queue for MIDI events; he also discussed the relative merits of a one-event >vs. two-event (note-on/note-off stored as either one or two entries in the >queue) representation for MIDI events. > >If I can scare it up, I'll mail it to you. I might very well have stored it >out on the FTP site. I'll check. No. Dang. It's somewhere >in the back issues. If I get a chance, I'll look through them. Sorry I >couldn't put a hand right on it. I got a copy off of the IRCAM FTP site. Nice article. I've actually used that idea in my own sequencer. There are also many snippets of code at the other various FTP sites, such as LOUIE.UDEL.EDU, UCSD.EDU, FTP.CS.RUU.NL, and probably NIC.FUNET.FI as well. Actually, the fastest and easiest way (but not cheapest) is to just get the development kit from Music Quest. As I remember, it costs about $30. There is now an MS-Windows version out, but it costs about $75. If you have any questions, you can email me at doug@arizona.edu. -Doug Wellington Music Supply and Repair Service 2710 N. Paseo Tierra Verde Tucson, AZ 85749 USA (602) 743-0291 <- new number ------------------------------ End of the EMUSIC-L Digest ******************************