SMUSMIDI User Manual SMUSMIDI 1.0 SMUS to MIDI File Conversion Software by Thomas E. Janzen SMUSMIDI 1.0 software Copyright (c) 1991 Thomas E. Janzen All Rights Reserved Thomas E. Janzen makes no warranties, either expressed or implied, with respect to the software program recorded on the diskette or the instructions, their quality, performance, merchantability or fitness for any particular purpose. The program and instructions are distributed free "as is". The entire risk as to their quality and performance is with the user. In no event will Thomas E. Janzen be liable for direct, indirect, incidental or consequential damages resulting from any defect in the program or instructions, even if Thomas E. Janzen has been advised of the possibility of such damages. This software is intended for use within any and all applicable laws. Thomas E. Janzen is not responsible for the use of this software to convert music files claimed to be protected by copyright or other laws. This software may be redistributed only intact with no change and only at no charge. Your comments about SMUSMIDI are very welcome as soon as you have tried the program. Your comments and questions about SMUSMIDI may be directed to: Thomas E. Janzen 58A School Street Apt. 2-L Hudson, MA 01749-2518 1 (508) 562-1295 Commodore (TM), Amiga (TM), and AmigaDOS are trademarks of Commodore Business Machines, Inc. SAS/C is a trademark of SAS Institute, Inc. MIDI file format is specified by the International MIDI Association (IMA). No part of this software may be used in whole or in part in another public domain or commercial software. INTRODUCTION The standard MIDI file format, defined in "Standard MIDI Files 1.0" published by the International MIDI Association, is an international format for the exchange of MIDI event recordings, and may be so for many years to come. SMUS (Simple Music) format, defined by Electronic Arts and Commodore Business Machines, Inc., is still being used by multi-media programs; I can't estimate it's life. It is one of two file formats produced by DMCS from Electronic Arts (TM). The other is a proprietary IFF form with private chunks. The proprietary DMCS file holds more information than SMUS format, but it is not publicly defined. SMUS format is publicly defined, as is Standard MIDI File format. Although some multi-media programs for the Amiga use SMUS format, MIDI sequencing programs almost universally use Standard MIDI File format, in addition to private formats that hold more information, just as DMCS's proprietary format does. The current commercial SMUS-MIDI converter is available as an add-on to another program for a total of hundreds of dollars. Many people have written music in DMCS, only to later buy inexpensive modern MIDI sequencing software, and find that they cannot transfer the old files to the new program. This program, SMUSMIDI, makes it possible to transfer DMCS SMUS output files to a modern MIDI sequencing program by converting the DMCS SMUS file to Standard MIDI File format. SMUSMIDI does not: 1. Convert SMUS forms that are embedded in other IFF files. 2. Convert all SMUS files, for example, those output by software other than DMCS. 3. Support file icons 4. Require a MIDI hardware interface or use internal Amiga voices. SMUSMIDI was compiled with SAS/C 5.1a. HARDWARE REQUIREMENTS SMUSMIDI probably would run on an Amiga with 512K bytes of memory. To estimate the amount of memory needed for a conversion, multiply the length of the SMUS file in bytes times five. To find its length, use the AmigaDOS list command. RUNNING SMUSMIDI SMUSMIDI is run from a CLI (command line interface). Set a path (using the AmigaDOS path command) to the location of SMUSMIDI, or changed directory (with the AmigaDOS cd command) to the directory in which SMUSMIDI resides. The command format for SMUSMIDI is: SMUSMIDI inputfile.SMUS outputfile The input file should be an SMUS file output by Deluxe Music Construction Set. The output file may be any name; .MID will be appended to it. For example: 1>SMUSMIDI goldbergaria.SMUS goldbergaria FORM is: 1360 bytes. HEADER: Tempo: MM 63; 4 Tracks SCORE: goldbergaria.SMUS Instrument: First Voice Instrument: First Voice No more instruments. Length of track: 608 bytes This will read goldbergaria.SMUS, close it, convert it to Standard MIDI File format, and write it to goldbergaria.MID. The repeats marked by Bach are lost. To preserve the list of instruments in a note, use indirection: 1>SMUSMIDI >goldbergaria.notes goldbergaria.SMUS goldbergaria Limitations and known problems: DMCS SMUS files apparently lose some information (relative to the proprietary format) from the file, although I may be wrong about this. Some of the apparently lost information is: 1. Slurs (phrasing marks) 2. Playing styles (staccato, etc.) 3. MIDI channel assignments Therefore, the MIDI output file from SMUSMIDI cannot represent this information. In addition, SMUSMIDI does not preserve instruments. Repeat signs are lost. Crescendos are lost. I don't know if these items are in the SMUS file to start with, but they aren't documented in the standard. Preserved and copied into the MIDI file are: key signatures, time signatures, and control changes. SMUSMIDI inserts "NULL" text events in the MIDI file to separate two consecutive delays. I am too sick of working on the program to fix this. The music is converted quite well, so I don't care any more. A commercial sequencer I use strips out everything it doesn't want, so this is a non- problem anyway. ROOM FOR IMPROVEMENT SMUSMIDI should be improved in the following ways: 1. The null text events separating delays should be eliminated and delays combined. 2. The repeat sign code should be reverse-engineered and repeats supported. 3. Ticks per quarter should be an optional command-line parameter. 4. The program should support general SMUS format so that outputs from programs other than DMCS can be converted. I won't do any of these changes because I have already successfully converted 130 of my own modern "classical" compositions and about 20 off the network, so I got what I wanted out of this exercise. BIBLIOGRAPHY MIDI Programmer's Handbook. Steve De Furia, Joe Scacciaferro. M&T Publishing, Inc. Redwood City. 1989. ROM Kernel Reference Manual: Exec; Carl Sassenrath, Rob Peck, Susan Deyl; Commodore Business Machines, Inc. Addision-Wesley Publishing Company, Inc., Reading. 1986. Deluxe Music Contruction Set Manual for your Amiga; Electronic Arts, San Mateo. 1986.