*********************************************************************************
*										*
*                 MODULAR ROLAND MPU-401 MIDI INTERFACE DRIVER                  *
*                            MIDI/Sequencer library                             *
*                                                                               *
*			    written by Kim Burgaard				*
*		     copyright (c) 1994, 1995 Kim Burgaard			*
*										*
*********************************************************************************

COPYRIGHTS:

	This package is free software; you can redistribute it and/or modify it
	under the terms of the GNU General Public License as published by the
	Free Software Foundation; either version 2, or (at your option) any


	This package is distributed in the hope that it will be useful, but
	WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
	Public License for more details.

	You should have received a copy of the GNU General Public License along
	with this program; see the file COPYING. If not, write to the Free
	Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

CONTENTS:

  mpu401	The device driver. It is a kernel module, so you can
		install/remove it at any time.

  mpuconfig 	Tool to configure the MPU-401 device driver. The device driver
		refuses to run if you have not made a configuration file.

		You can change the card settings at anytime. You just have to
		remove it and reinstall it with insmod in order to update the
		settings. `dmesg' to see what went wrong in case of failure!

  mpuinfo	A little demonstration program. If a valid driver is present then
		various information about the MPU-401 will be displayed. It can
		also be used to control debug information handling when the
		driver is running. Also when a replayer or sequencer is running!

  gsreset	Another little demonstration program. It simply commands the
		driver to send the Roland GS RESET SysEx to MIDI out.

  smfcheck	A demonstration of my midifile library.

  smfedit	A dirty Standard MIDI File (text) editor. Among other things you
		can make your MIDI files compatible with almost any MIDI
		sequencer, including hardware based ones.

  smfplay	A (big) demonstration program that utilizes the driver. It is
		capable of replaying all Standard MIDI Files, except those
		encoded with SMPTE timing - but I'm working on that.

  smfrecord	A MIDI File recorder. Simple tempo and time signature control.
		Clean recording or overdub recording (mixing the input with
		an existing MIDI File that is also replayed simultaneously).

  libmidilib.a	The most recent version of my (fast) MIDI file library.

  You can get some nifty SMF music pieces from `ftp.cs.ruu.nl' in the directory
  `/pub/MIDI/SONGS/GMIDI'. You should look out for some files called
  `song[1234].zip'. The contain some very impressive Big Band Arrangements for
  Roland GS/General MIDI - they are really showing off on a Roland
  SoundCanvas.
	
  Personally I like to run `smfplay -slrq *.mid' in the background while I'm
  working.

WHY? (it's COMMERCIAL time :-):

  Why this driver opposed to Hannu Savolainen's ``built-in'' or Andreas Voss'
  Jazz-specific driver?
	
  * A relatively simple driver interface, but yet quite advanced, which should
    require minimum effort to write applications using the device driver.

  * It takes *full* advantage of the MPU's more sophisticated features - which
    among other things ensure high precision, and greatly reduced CPU usage (I
    get an average CPU load usage on 0.3% or lower when replaying almost any
    midifile and no other programs are running).

  * MIDI is all it's got and if MIDI is all you want, then why use extra memory
    and CPU usage on unused features? I've always hated the idea of integrating
    sound cards and MIDI cards into one driver, since I believe they belong to two
    distinguishable classes of hardware. They operate on different data and they
    behave different.

  Yes, I know VoxWare is moving in that direction too, but I'm not too keen on
  its ``view of the world'' with respect to hardware and drivers as mentioned in
  the topics above.

FEEDBACK:

  I will be happy to include your contributions with this driver. Just contact me
  at one of the addresses below.

  Bug reports, suggestions and/or comments to:

  email: burgaard@daimi.aau.dk

  snail mail:
         Kim Burgaard
	 Tammerisvej 18kld.
	 DK-8240 Risskov
	
  Phone: +45 8617 7754 (voice only, 16:00 to 22:00 MET)

ACKNOWLEDGMENTS:

  I have written all software that comes with this package from scratch. Much
  information came from ``Standard MIDI File specifications 1.0'' which is
  available from:

    International Midi Association
    5316 West 57th Street
    Los Angeles, CA 90056
    (415) 321-MIDI

  Send a $2 check to the above address and you should hopefully receive your own
  copy of the 1.0 specs.

  The device driver code is based on ``MIDI Processing Unit MPU-401, Technical
  Reference Manual, version 1.5A 5/31/85'' from Roland Corporation.  Contact your
  local Roland dealer in order to obtain (buy) your own copy.

  I am aware of the following MPU-401 drivers for Linux:

     VoxWare (Hannu Savolainen),
     Jazz Sequencer + driver (Andreas Voss),
     and tclmidi + driver (Mike Durian)

  though none of my code is based on their works.

*********************************************************************************
* $Id: README,v 1.3 1995/08/06 19:17:04 burgaard Exp $
* Local variables:
*   fill-column: 81
* End:
