EMUSIC-L Digest Volume 34, Issue 09 This issue's topics: The NeXT and Electronic Music MIDI and Vivaldi (Re: Amigas and Macs) My Dancers beat your Computer (!?) NeXT and Mac MIDI interfaces MIDI on NeXT next/midi/baud (3 messages) NeXT does MIDI (4 messages) NeXT and Keynote 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: Mon, 18 Nov 1991 14:54:25 +0000 From: Nick Rothwell Subject: MIDI and Vivaldi (Re: Amigas and Macs) > I still get a good chuckle when I see Amiga posters talking about >how their computers are better than others for music because of their >"much better sound". Haha. Well, the original point might well be valid. Maybe Amigas do have better sound. It's of no use to me, though, nor to serious or professional musicians who require good MIDI connectivity and software. > I use a Mac system currently, but I believe the system to watch >is the NeXT Maybe. I had a play with a NeXT a few weeks ago, and asked about MIDI. "Oh, it can do music" says the guy and has it playing Vivaldi. I found it almost impossible to explain to the guy that the onboard sound generation was of absolutely no interest to me, what I wanted was good MIDI interfacing tools and software. Why is it that these folks don't understand the difference? How can any machine be posed as a multimedia engine if it can't talk to commercial sound generating hardware? I also had a play with a Silicon Graphics Indigo. Very nice. I asked the guy about MIDI. "Oh, it can do music" he says, and gets it playing Vivaldi for me. >Anyone into music composition/recording >should make it a point to take a look at the NeXT systems in the >coming months. No thanks. I think it'll take a while before we get stuff of the quality of MOTU's Performer, Opcode's OMS, MIDI Manager, MAX, Galaxy and the like for the NeXT. The market isn't there, and current NeXT owners don't want MIDI. They want Vivaldi. Nick. ------------------------------ Date: Wed, 20 Nov 1991 16:28:48 +0000 From: Nick Rothwell Subject: My Dancers beat your Computer (!?) I've had enough of the computer wars, and I have no vested interest here (I am ambivalent about the NeXT), *but* there are interesting points that Ken is making which go beyond this. May I say something please, Joe? Please? >But the rel clincher is >the development environment. If, as part of your quest to express yourself >musically, find that commercial software does not hold the answer, the >NeXT is for you. It can do real-time synthesis, hard-disk recording, >signal anaylsis, etc. You don't need anything else but a set of speakers >and a input controller. And once you realize the power of an integrated >music system on the NeXT, you'll find that MIDI reeks of incompetenace. Right then, my perspective. This morning I received a letter from the coordinator for contemporary dance at the main arts venue in Edinburgh (equivalent to the South Bank in London, say). He's interested in me doing some live music for one of the city's premier dance groups, and/or to arrange a performance at one of my live shows. I'm currently in a hurry to put together a piece of music for a couple of dancers for a festival next January. And I have a project in the pipeline for Edinburgh's Traverse theatre in a few months. I'm having a great time putting together material for these projects, and I'm meeting and working with a lot of creative people. The equipment I'm using is a Mac running Performer and some of my own software, and everything is MIDI. Maybe the NeXT will be dazzling in a few years. If it is, I'll look at it. But Ken's route means doing a lot of non-trivial software development, and this is time and effort taken *away* from making music *now* and getting on with your life's plans *now*. I am a long way from exhausting the possibilities of my Waldorf or Wavestation, and I'm having a good time meeting other artists and working with them. Sitting in a dark room for five years writing NeXT software is not an option. >But a NeXT system is not cheap, but then again, it is your *music* we are >talking about... EXACTLY! I have the tools I need to make my music, and *now*. By your accounts, the NeXT, and systems like it, are years ahead of what I have -- and years away. In the meantime, the MIDI setup I have is incredibly powerful and beyond what anybody might think of five years ago, and I'm using it right now. And it's the music that counts. I still have a lot of possibilities in the gear I have at my disposal, and I'm nowhere near running out of ideas. (A second point is that I prefer dedicated boxes with character, such as the Waldorf, to a generic digital audio station, because dedicated boxes have character.) >I can barely take MIDI seriously anymore... I have no argument with that as your opinion. In a couple of years, Ken, I'll look around and see what you're up to and what you're recorded and performed. Best of luck. But I have musical projects *now* and I need to do them. Nick. P.S. The point I'm making, although highly opinionated, is *not* a computer-vs-computer argument or a MIDI-vs-audio argument. It's an argument about the immediacy of making music *now* vs. investing time and effort into what you *hope* will be a better tool *for making your music* in the future. Nick. ------------------------------ Date: Thu, 21 Nov 1991 07:41:12 PST From: Bill Flowers Subject: NeXT and Mac MIDI interfaces The NeXT Cube serial ports are compatible with the Apple MIDI interface (Apple-logo part, not sure about other compatibles). I have briefly hooked a Roland MT-32 into a NeXT Cube with one and played some demo stuff that came on the machine. I'm not a NeXT wizard, but my understanding is that NeXT slightly changed the serial ports on the NeXT Station (pizza box) and some Mac serial devices stopped working. ------------------------------ Date: Thu, 21 Nov 1991 08:41:00 EDT From: RAY BROHINSKY Subject: MIDI on NeXT If the NeXT is so great... Actually, this is a serious non-flammable thought. I just couldn't resist an inflammatory opening. Maybe [thought I in a not-so-serious vien] so many people reduce themselves to this kind of sillyness because it is fun, and I'm missing out on it. Nahhh. Anyway: On the amiga, we get midi ports by hooking something up to the serial port that converts the (almost) standard RS-232 I/O to current loop. Usually consists of a few op-amps at worst case, an opto-isolator or two and a few resistors at best (from the componant count POV). So why doesn't the NeXT do MIDI? Is it because no one has thought to put converters on the serial ports? Mayhaps the NeXT can't deal with 32.350KB? Maybe the gee-whiz-bang 68040 under NeXT's OS can't handle the multi-tasking necessary to do serial midi and also do anything with it? I doubt it. With my A1000 (1986-model amiga with 1.5Mram, 20Mhd, 7Mhz 68000, coprocessors for I/O,DMA,Sound, and Graphics) and a converter of this type, I can do lots of MIDI. Must be no one's thought of using serial port converters on a NeXT? Wow, imagine that! How many ports can you get on a cube, anyway? There's a board I can hack into my amiga that'll give it another two serial ports, and the higher-numbered models have slots that you can put multi-port boards into. It would be possible to do LOTS of midi (especially with a 33Mhz 68040!). This is amazing to me. I see a lot of moaning about how poor the amiga is, and how much better the NeXT is, and how much better still the NeXT would be if it did MIDI. There's money to be made here. Will someone who has a NeXT get a MIDI serial-current converter on it and write some interface drivers in proper NeXT style? You could even make it PD, so that all NeXTer's can use it as the standard driver, and maybe you NeXT users can have MIDI like the rest of the world. SHEEEEESH!! raybro Oh, I just noticed: I think MIDI is 32.5K, not 32.25K: never could get that straight. ------------------------------ Date: Thu, 21 Nov 1991 09:25:09 EST From: ronin Subject: next/midi/baud ummm.... i believe that in fact the NeXT does 'do midi'. it may not have the midi ports built onto the box, but it's my understanding that it has the apple-style rs422 connector, and that at least the canned sequencer that comes with it generates midi data on this line (at 1MHz, i presume) at the same time as it plays the dsp... such stream meant to captured by a jambox or something. also, midi lines run at 31.25 KBaud. -------------------< Cognitive Dissonance is an Art Form >--------------- Eric Harnden (Ronin) or The American University Physics Dept. Washington, D.C ------------------------------ Date: Thu, 21 Nov 1991 09:59:50 EST From: Marshall Gilula Subject: Re: next/midi/baud Of course the NeXT does MIDI but of course I'm still using my Mac and Performer for that. We need to get Mike McNabb, Robert Poor, Lansky, or some other MIDI maven to be so kind as to share a comprehensive understanding of MIDI Please check with the MIDI Driver information provided with Release 2.0 by NeXT Computer, Inc. Here's a general overview of the MIDI Driver that NeXT has written: The MIDI driver is a loadable server residing within the Mach kernel. (For more on loadable servers, see Operating System Software and Writing Loadable Kernel Servers.) Each serial port has a corresponding operating system device specifically for MIDI: /dev/midi0 is connected to serial port A, and /dev/midi1 to serial port B. For each serial port, the MIDI driver maintains an input queue(containing MIDI data received from external instruments) and an output queue (for data received from an application The MIDI library, /usr/lib/libmidi.a, provides a procedure-call interface to the driver. C functions in this library let you retrieve data from the input queue, place data in the output queue, and perform numerous other operations. Instead of using a direct message-passing mechanism for forwarding received MIDI data, the driver uses a request/reply interface. This means that data received from a serial port is enqueued within the driver until the application requests the data. This means that data received from a serial port is enqueued within the driver until the application requests the data. Then the driver asynchronously sends Mach messages containing all the MIDI data that it's received since the last time the application requested data. The application is responsible for receiving these Mach messages and passing them to a library function that serves as a reply handler. In addition, the application must supply functions that perform the actual work of manipulating the incoming MIDI data in whatever manner is desired. The reply handler acts as a dispatcher by examining each incoming Mach message and routing it in a suitable format to the appropriate one of these application-supplied functions. When the application is ready for the next set of MIDI data, it must make another request for data from the driver. Output is managed similarly. In addition to the asynchronous messages that contain incoming MIDI data, the driver sends the application a message whenever the output queue has space available for more outgoing data. The reply handler passes these notifications to another application-supplied function, which typically responds by sending more data to the driver. MIDIDriver.tar.Z is 54.2 kilobytes in size. You can unarchive it with the command: zcat MIDIDriver.tar.Z | tar xvf - This will create a directory called MIDIDriver, occupying 141 kilobytes and consisting of: Introduction.rtf -- An introduction for users of MIDI on NeXT computers, including information on MIDI interfaces, the MIDI data format, and whether to use the driver functions or the Music Kit. DriverOverview.rtfd -- Conceptual material discussing the NeXT MIDI driver. CFunctions/ -- Specifications of the MIDI C functions, grouped into the files: Intro.rtf Setup.rtf ReceivingTransmitting.rtf HandlingReplies.rtf TimerOperations.rtf ---------------------- I believe that MIDIDriver.tar.Z has been uploaded by NeXT Computer, Inc. within the past month to at least several of the archive sites. I do not remember which site at this moment...possibly nova.cc.purdue.edu or sonata? When I had a chance to correspond with Michael McNabb, he said he wasn't sure which of the MIDI interfaces would work kwith the NeXT. I believe that the hardware flow control enabled by the 040 motherboard, has created some additional difficulties ink the MIDI arena, however. The insanely great machine, however, is no slouch in sound synthesis. Some folks including great universities in Washington State and California have made the NeXT workstation the core of their computer music labs. I am hoping that the NeXUS Mac MIDI interface (cheapest one that I know about) turns out to work with the NeXT. Sorry for the logorrhea -73- Marshall F. Gilula, M.D. Life Energies Research Institute 2510 Inagua Avenue Miami, FL 33133-3812 (305) 843-8954 FAX: (305) 854-8005 e-mail: mgilula@miasun.med.miami.edu ------------------------------ Date: Thu, 21 Nov 1991 10:21:00 EDT From: RAY BROHINSKY Subject: Re: next/midi/baud Thanks for the logo-dump, Marshall. This is more the kind of stuff needed to understand what is happening here. Query- The description quoted stated that the reply handler messaged the application when there was more room in the output buffer. Is there any kind of messaging for input events? It seems to me that a midi handler that didn't tell you when something came in, but waited for you to ask, would only be useful in cases where the time-relation of the output to the input was of academic interest only. As an example: I have an application that processes input MOD-Wheel events into after-touch events. (don't worry about the sillyness of this, it actually can be useful!) I query the input handler to see if there's any input. It says no. Now, do I wait for a specific period of time to ask again, or do I take all computer time possible and keep querying until there's an input. In the first case, I could delay the output of processed events from (processing time for translation) to (processing time for translation + wait time). In the latter case, I disallow all other processing in the machine, and produce mega-dead time while waiting for you to press a key. (or move the wheel, or whatever). In the Amiga, there are atleast three different systems for handling the serial port for MIDI, and all of them use the Exec's system for handling events and programs waiting for them: the program tells Exec that it is waiting for an event (such as an input to the midi handler) and goes to sleep. When an input comes, Exec wakes each program in its time slice and tells it that an event has happened, or (in the case where you've specified that you have to preempt other processes when the event happens) it can wake up a sleeper and turn all processor time over to it until it has reached a point where normal multi-tasking can resume. This means that many applications can wait for incoming MIDI, but only the MIDI handler will be wakened with exclusive processor time, long enough to accept the event and generate messages to the sleepers waiting on such messages. Then, it gives processor time up, and Exec takes care of notifying each sleeper according to its priority. This way, multi-tasking time is available to all processes not waiting, and waiters get notified when something happens. Does something like this happen in NeXT? raybro ------------------------------ Date: Thu, 21 Nov 1991 11:11:00 EST From: Patrick Robinson Subject: NeXT does MIDI On Thu, 21 Nov 1991 08:41:00 EDT RAY BROHINSKY said: >If the NeXT is so great... > >So why doesn't the NeXT do MIDI? Is it because no one has thought to >put converters on the serial ports? Mayhaps the NeXT can't >deal with 32.350KB? Maybe the gee-whiz-bang 68040 under NeXT's >OS can't handle the multi-tasking necessary to do serial midi >and also do anything with it? Where in the world have you people gotten the idea that the NeXT doesn't "do MIDI"? The NeXT serial ports are RS-423 which is RS-232 compatible. From NeXTanswers: "Macintosh-style MIDI interfaces that adhere rigorously to the RS-422 specification should also work with the new RS-423 serial ports, if the right cable is used." (The old NeXT serial ports were RS-422). They even specifically cite the Opcode Studio 3 as one MIDI interface that is *known* to work. The problem is not that the NeXT won't do MIDI, but that software which is at all competitive with, say, Mac software just hasn't been written, yet. -Patrick ------------------------------ Date: Thu, 21 Nov 1991 11:45:07 EST From: "Joseph D. McMahon" Subject: Re: NeXT does MIDI Y'know, this'd be a great place for Keynoters to tell us how well it works as a sequencing platform on the NeXT... I guess that's the reason that people are saying "doesn't do MIDI". It's a matter of priorities, I guess; some people want to get the music going *now*, and don't have time to, don't want to, or can't write a neato-keen sequencer package for the NeXT. Others are more committed to the idea of producing a tool to do something that they can't do with existing boxes, and are willing to write music that exploits the machine in new ways after they have the software done. I'm interested in the concept, because I feel that eventually we will have affordable (i.e., in the price-range of current synths) hardware/ software combinations that will let us do real-time digital synthesis with near-analog control levels. Since this stuff is going to be programmable, it should (theoretically) be possible to duplicate the kind of cross- dependencies that exist on analog synths. Now here's an interesting idea. Do chaotic interactions between elements of an analog synth produce the tonal qualities that we expect from such machines? Are these the source of the more unpredictable results of fiddling with the knobs? Eric, is there any way to determine whether the filter in situ (i.e., with internal waveforms) produces different results from a filter driven by an external source such as you're using? --- Joe M. ------------------------------ Date: Thu, 21 Nov 1991 11:50:21 EST From: Marshall Gilula Subject: Re: NeXT and Mac MIDI interfaces with the 040 upgrade, there have been changes to the serial ports, and much of it has to do with the hardware flow control and difficulties with two-way flow this is a response to: I'm not a NeXT wizard, but my understanding is that NeXT slightly changed the serial ports on the NeXT Station (pizza box) and some Mac serial devices stopped working. -73- marshall ------------------------------ Date: Thu, 21 Nov 1991 11:51:53 EST From: Marshall Gilula Subject: Re: NeXT does MIDI MOTU, which does Performer, was working on Performer for the NeXT, but then cashed it in on the project since they decided to put more of their eggs in the basket of DIGITAL PERFORMER. -73- marshall ------------------------------ Date: Thu, 21 Nov 1991 16:40:38 +0000 From: Nick Rothwell Subject: MIDI on NeXT >So why doesn't the NeXT do MIDI? Is it because no one has thought to >put converters on the serial ports? Mayhaps the NeXT can't >deal with 32.350KB? I believe the connectors are just Mac-style mini-DIN8's. (Ditto for the Indigo, I think). It might be that if the pin-outs are the same, a standard Mac MIDI interface would actually do the trick. I've no idea if the SCC's are similar, or similarly wired. >Must be no one's thought of using serial port converters on a NeXT? >Wow, imagine that! That's right. Multimedia is so big and flashy that we must all use onboard 44KHz 16-bit sound generation in our 3D window environments. Wanna use a Waldorf because of the PPG sound and analogue filters? Like the grunge in your Akai 612 lawnmower? Sorry, you're out of luck. You use the synthesis tools provided. No external synthesis allowed. Hmm. This is actually rather worrying. >Oh, I just noticed: I think MIDI is 32.5K, not 32.25K: never could get >that straight. You're right there. It's 31.25K. Nick. ------------------------------ Date: Mon, 25 Nov 1991 18:59:56 -0800 From: Phil Burk Subject: MIDI on NeXT Could someone who knows more than I please put to rest this old rumor regarding MIDI on the NeXt. I have heard that the reason there has not been any commercial MIDI sequencers of any worth on the neXT is because the UNIX/MACH2 operating system interferes with real time applications. UNIX has never been good at real time which is why many companys have made money selling real time UNIX-like OSs for process control. The problem as I understand it is that there are so many background processes like network servers, display managers, mail demons, etc. etc. that the music programs cannot be guaranteed CPU time. I like the NexT machine for software synthesis and hope that this is not true. I am also skeptical that this is a real problem just because the folks at NEXt seem to be pretty smart. Unfortunately, however, the lack of MIDI support from commercial vendors makes me think it might be true. Can somebody point to a MIDI program that doesn't glitch and prove me wrong? ------------------------------ Date: Wed, 27 Nov 1991 10:08:43 +0000 From: Nick Rothwell Subject: Re: MIDI on NeXT >The problem as I understand it is >that there are so many background processes like network >servers, display managers, mail demons, etc. etc. that >the music programs cannot be guaranteed CPU time. I don't see this as an argument, or at least, not as you state it. Yes, MIDI requires realtime support, but any OS with half a brain provides the facilities for this regardless of what else is going on. My Macintosh runs loads of other stuff (including graphics driving for two screens, lots of background processes, and SCSI drivers for three hard disks) and has no problems with MIDI. Now, I'm not saying that there *isn't* a problem with MIDI on the NeXT. UNIX is rather stupid, and it's possible that so much stuff has been bundled into the kernel that the interrupt servicing is getting clogged (putting a filing system into a kernel is just plain stupid), but with a well-designed OS only the critical stuff is in the kernel and everything else is at an interruptable level. I think the reason there's no MIDI software for the NeXT is that there's only a tiny user base for the machine. Hey, I've seen two NeXTs in my life - one at Princeton a couple of years ago and one in London last month. The word I got from MOTU is that they aren't going to finish porting Performer if there's no-one out there to buy it. Nick. ------------------------------ Date: Thu, 21 Nov 1991 13:09:55 EST From: tjt@BLINK.ATT.COM Subject: Keynote on NeXT > Y'know, this'd be a great place for Keynoters to tell us how well it > works as a sequencing platform on the NeXT... Over the last month, I've spent a few evenings at a friend's who has a NeXTstation, and gotten Keynote running reasonably well on it. We made use of the (free) MouseX version of X Windows, which is fairly easy to run (you can switch back and forth between the X screen and the normal NeXT screen). I think there's a commercial version of X for the NeXT that runs inside a normal window, but the extra space of a whole 'nother screen is nice, too. A native-NeXTStep verson of Keynote might be nicer, but would also be a lot more effort. MIDI output works fine, but MIDI input doesn't work - it is presumably a cabling problem or something (although he has the Studio 3 and the supposedly-correct cable), since MIDI input doesn't work with the NeXT demo programs either. Once he gets MIDI input working with the standard NeXT software, I'll go back and finish the Keynote support for MIDI input. It's certainly quite usable as it is, though. The other caveat is that color doesn't work. I'm not sure that MouseX supports color or even grey-scale. Even if it does, it doesn't seem worth it for only a couple of colors. (I'm guessing that his monitor is 2-bit grey-scale?) You really need around 16 colors so you can color different channels properly. I'll be happy to provide Keynote's NeXT support to anyone who already has access to Keynote. For university sites, a total cost of $200 will provide access to everyone at that site. Inquiries about how to get Keynote can be directed to me. ...Tim Thompson...AT&T Bell Labs/Holmdel/NJ...tjt@blink.att.com... ------------------------------ End of the EMUSIC-L Digest ******************************