issue09

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
******************************