ST Products News
INTRODUCTION TO MIDI PROGRAMMING
by Len Dorfman and Dennis Young
Abacus Software, Inc.
P.O. Box 7219
Grand Rapids, MI 49510
256 pages $19.95
Reviewed by Jim Pierson-Perry
One of the main reasons that I bought my ST was to use it to drive a home MIDI-based music studio. MIDI, which stands for Musical Instrument Digital Interface, is both a hardware specification and communication protocol for data transfer between synthesizers, other music generation or processing devices, and computers. Application programs such as sequencers or synthesizer voice editors can be programmed in any computer language from BASIC to Modula-2, as long as you follow the MIDI protocol.
When I heard that the latest volume in the Abacus ST book series was on MIDI programming, I made sure to get one of the first copies at the local computer store. The authors are Len Dorfman and Dennis Young, who wrote the Printware software series (Xlent Software) for the Atari XL/XE and ST. Their most recent work was the ST Music Box, a music editor/player program which relies heavily on MIDI programming.
Unfortunately, Introduction To MIDI Programming is geared to a very specific audience-those who are C programmers and wish to work with a Casio CZ-101 synthesizer. Four sample MIDI programs are given in the book. All are in C and include many ST system calls. While the code is well-documented, if you are not a C programmer then this book is probably not for you.
Another concern is that the only synthesizer discussed is the CZ-101. While much of the MIDI coverage in the book is generic to all synthesizers (e.g. note on/off), features such as controllers supported or sending tone parameter data can he highly brand specific. At least one of the four programs given in the book will only run on a CZ-101 or compatible.
The book opens with an overview of synthesizer and MIDI terminology. Early on, the authors describe their rationale for choosing a CASIO CZ101 to learn MIDI programming. MIDI implementation charts, which describe exactly what features are available and their constraints for any specific synthesizer, are briefly mentioned but not described. This is unfortunate because interpreting these charts is critical to writing all but the most elementary MIDI applications as well as tracking program logic errors.
Chapter two is the most valuable part of the book for budding MIDI programmers. It gives a review of the MIDI protocol, although weighted almost entirely towards the CZ101 implementation. There is a good explanation of basic MIDI events, such as note on/off and program change; however, features such as controller functions, aftertouch and pitch bend barely receive mention. Curiously, five pages are devoted to describing bits, bytes, and hexadecimal numbers. Anyone who can understand the C code given in the rest of the book does not need this (and those that do are not going to get much further!).
Some MIDI programming applications are finally presented in chapter three. Three Megamax C source listings are given covering: playing scales on the synthesizer, displaying MIDI data to the ST screen, and uploading synthesizer tone data (parameters which set the voice timbre) from the synthesizer to the ST screen and/or printer. The first two programs should work with most synthesizers. The last one is strictly for the CZ-101/1000, since it is based on Casio's specific data structure and nonstandard handshake protocol for tone data transfer, both of which are not used by either synthesizers. The source code of all three programs is well-documented.
The culmination of the book is in chapter four with a presentation of the Alcyon C source code for a MIDI-based autoplayer program designed to work with song files created by the ST Music Box. This is the bulk of the book (about 60%) and the preceding three chapters may be viewed as an introduction to this program. The listing is extremly well-documented, although conspicuously absent is an overview of the program structure and logic. Still, for C programmers this is a rich source of code to study. For non-C programmers, forget it!
This book falls short of my expectations for an introductory book on MIDI programming for the ST. I cannot recommend it except to those C programmers who may wish to study the source code listings. It is too narrow in focus to be of value to the general ST user. An accompanying diskette is available from Abacus Software for $14.95 (plus $2.00 shipping/handling) which contains the few programs contained in the book.
MIDI RECORDING STUDIO
Dr. T's Music Software
66 Louise Road
Chestnut Hill, MA 02167
Reviewed by Jim Pierson-Perry
The doctor is in! Dr. T that is, and no, a member of "The A-Team" hasn't graduated from Med School. Dr. T is a long-respected MIDI software company that has now turned its sights on the ST as the new "musician's computer." They have recently released a first wave of programs ranging from patch editors to sequencers, and promises more yet to come.
The MIDI Recording Studio (MRS) is Dr. T's entry Ievel sequencer program. It is the most musically powerful sequencer currently available for the home/hobbyist ST MIDI market. Not only that, but it is also the least expensive, a true "power without the price" offering! MRS is a full part of the Dr. T's sequencer family. Music files created with MRS are upwardly compatible with the proffessional-level Keyboard Controlled Sequencer and The Copyist, a scoring and musical transcription program.
MRS functions as the software equivalent of an 8-track tape recorder for standard record/playback uses. More detailed control over individual musical or controller events, such as play a note or apply pitchbend, comes from editing a MIDI event table. This is the equivalent of using a word processor on the musical data and is extremely powerful. The program requires TOS in ROM, is heavily copyprotected, and will run with either a monochrome or color monitor.
There are two seperate parts to MRS: real-time music entry and music data editing. Each has an individually tailored operations screen. The input screen mimics a tape recorder with control buttons to record, play, pause. and stop. The screen top shows the current status of the eight available tracks (each of which can contain data for one or all 16 MIDI channels). Each track can be named (eight characters) and heard in ensemble with all other active tracks, played solo, or muted.
The program boots up to the music entry screen with track one set up to begin recording as soon as it recieves any MIDI data. Useful options for real-time music entry include filtering the input MIDI stream to remove controller or aftertouch data, and merging the input data with program output to allow use of a master keyboard driving slave synthesizer units. Recording/playback can be done with either the ST or an external MIDI clock (e.g. drum machine) as the timing control. Playing tempo and beats per measure are both widely variable under user control. An audible and visual metronome operates during recording. When you finish recording, press the right mouse button--the track begins playback and the next empty track is turned on ready to record. This cycle continues so that by track eight you have the previous seven tracks in simultaneous playback.
After laying down the tracks, it's time to switch over to the editor for touch up work and enhancements. This screen shows the table of MIDI events for a selected track and can be easily edited to correct wrong notes, revise timings, etc. There are also a number of powerful musical operations which you can invoke, such as pitch transposition and invetsion, velocity scaling (to give a volume fade in/out effect), time-correct the MIDI events, time-reverse to have notes played backwards ("Paul is dead"), and compressing or expanding the playing time of the overall track. You can do additional event editing to give step-time entry into the MIDI event table. This is useful for entering complex passages that might be hard to do in real-time and equally applies to tempo or controller changes as well as actual notes.
The editing screen also allows for some needed track-based operations such as copy/paste, backup, delete/ clear and naming. Another useful option is to split a track on the basis of note into two tracks which can then be assigned to separate MIDI channels. The reverse operation of track merge is not supported. The entire MIDI event table for each track can be printed to give documentation. A MIDI slow option is also available which slows down the MIDI out transmission rate, which is needed by some synthesizers such as early Yamaha DX-7s.
Now for the flip side, a couple of relatively small conlplaints. First, MRS does not use the standard GEM interface--specifically, it does not support desk accessories. I am annoyed by this as there are now several desk accessory implementations of MIDI instrument set-up programs. It would be nice to be able to use these to change synthesizer patch banks or load new drum machine files without having to drop out of the sequencer program. You could also use these accessories to provide file handling capabilities not built into MRS, such as format, rename and delete.
A minor complaint is that there is no direct user control over track assignment --you always get the next empty track. I like to be able to group tracks by function (drums, rhythm, lead) which helps me to keep my editing under control. Another point is that the length of the overall piece is determined solely by the length of track one. Make sure you allow plenty of time to get in everything planned for the remaining tracks! Finally, while great for most situations (including live on stage), there are features lacking which are needed for more professional applications (such as MIDI song pointer, punch in/out); these are found in Dr. T's professtional level sequencer.
All in all, this program gets superlative marks for performance and sheer number of useful features. After many hours of use in my home MIDI studio, I strongly recommend MRS as the best Atari ST sequencer program for home or hobbyist use. It is easier to use and offers more features than other programs costing three or four times as much.
1046 N. Rengstorff Ave
Mountain View, CA
Reviewed by Sol Guber
What makes for a good fantasy adventure game? It must have the complexity to allow you to immerse yourself into a believable fantasy world, and it must give you sufficient choices and options to allow you to battle your way out of tight situations. Phantasie II both these criteria.
Phantasie II uses a similar structure to other adventure games--the old Akira Kurosawa "Seven Samurai" formula. You must gather a group of six adventurers and clothe, arm, and defend them. You have a choice of body types including lizard men and minotaurs, as well as the normal humans, elves and dwarfs. Each body type has certain skills and defects, and your party must be varied enough to allow for the maximization of skills. Once you have gathered your party, you leave the security of the town to venture into the wilds of Ferronrah.
Phantasie II uses only a mouse and dialog boxes for all of your choices-- how you fight, player characteristics, movement, whatever. There is a menu bar at the top of the screen, whose choices vary depending on the circumstances. The use of the mouse is very effective. You choose the characteristics of your party by clicking the mouse on the proper spot. You only use the keyboard to enter the names for the adventurers. Once you are on your adventure, you'll quickly notice the programming skills of Phantasie II. The graphics of the town and countryside--grass, trees, pathways and water--are superb.
The purpose of any adventure is to find gold, gain enough experience to not be killed easily, and to kill and destroy monsters. The battles in Phantasie II are extremely well represented. You have several options every time you encounter a group of monsters. You can beg for relief, threaten, attack, greet, or flee. Each tactic has its place. If you decide to attack, the highly imaginative monsters try to defend their turf. Each of the 78 different monsters uses two sets of graphics.
Besides deciding how to join in battle, you, as the leader of the band, also have additional choices. Each time you begin a battle, you are allowed to determine how each of the combatants in your party will fight back. They can do anything from parry (a defensive move for the wounded), to attack, slash or even throw rocks.
Once a battle has begun, you can call it off in the middle by fleeing or by begging for mercy. If you win, you receive experience points and gold. As you gain experience points, extra training is available, to allow for the building up of your character. You use the gold to buy better equipment, training and lodging at a local inn.
There are many things that set this game off from some of the other adventure games. First, it is not copy-protected. You can put it on your hard disk and it will run well. (Another copy-protection method is used to limit the free access of this game. Every so often the program asks you a question specifically from the manual--guess incorrectly, and the program gets nasty.) Phantasie II allows for the distribution of gold and experience to be at the judgment of the player. This is quite useful for helping some of the weaker characters build up their strength and become more powerful. It also has the ability to print out a listing of the characteristics of your party to refer to in time of battle and to make other choices. There is no time element in the battles. You make the choices of how you want to fight and then do so. As the battle progress, you can see on the screen the damage to both the monster and your party. Finally there is the selective ability to save the game. This way, you can save the game, get killed, and you have not permanently lost your characters.
Phantasie II is a game of medium difficulty. It should take you no more than three hours or so to build up your characters to the point where they will not be killed indiscriminately by any monster that just happens along. It is very fun to play, and you will spend much time solving the puzzles.