Digi-Studio: Digitized Sounds and Music System Programs by Dean Garraghty Software
Review by Bob Hardy, AC Staff Reviewer
Studio By Mail
Digi-Studio arrives simply: two diskettes containing version 1.2 of the software and a 44-page laser-printed manual bound with a plastic sleeve. Nothing fancy, just a large envelope with a cardboard insert, passed to me from Dean Garraghty Software in England via ACs Managing Editor. My curiosity sharpens as I fire up my Newell 256K 800XL (the extra memory doesn't seem to help) and my ancient Rana 1000 disk drive. The main programs are on a single-density AtariDOS 2.5 "flippy" disk, with the back side and another whole disk devoted to additional sounds and "tunes". I lock the latch on the venerable Rana and watch my screen...
Up comes the Turbo-BASIC XL 1.5 banner. That clears my mind about the language in which the programs were written, but it'll disappoint SpartaDOS users. Attempting to load TurboBASIC locks up SpartaDOS (they both try to grab the same memory area), so there's a compatability roadblock for Sparta fans. Also, since Turbo-BASIC XL won't run on 400 or 800 machines, neither will Digi-Studio (henceforth called D-S): you need 64K of memory. The manual cover says "XL/XE", and that's exactly what it means.
D-S runs normally under OS/A+ 2.00, as I'm sure it would under AtariDOS 2.0s. I tried it under TOP-DOS 1.5+ but some of the screen formatting came out wrong. Under MyDOS 4.2C the directory listing routines get confused by the extra digit in the file length field, gives ERROR 136, and exits back to the menu. I'd expect the latest MyDOS 4.5 version to work properly with D-S. Probably any DOS variants that closely emulate AtariDOS 2.0 would work, such as MachDOS, SuperDOS and SmartDOS.
What's It Like?
The manual explains the LIDS (Language for Instructing Digitized Sound) music language, devised for writing "tune" files. LIDS is roughly equivalent to the language used by the Atari Music Composer cartridge. There's no cute display while listening like you get with Music Composer, the Advanced Music System programs, or Music Construction Set. This was disappointing, considering Music Composer was released in 1980, and Music Construction Set in 1983. Of course, in 1980 Music Composer cost a lot more, and Music Construction Set cost more in 1983 than the new, lower price of D-S.
There's a central feature of D-S that's different from Music Composer, Advanced Music System and Music Construction Set: you play the music using "samples" instead of synthetic tones. Samples are digitally encoded data taken from real-world analog sounds. One sampled sound is used to generate all the notes necessary to play a song. So you can play the "Star Spangled Banner" with panpipes, sheep bleats, or gunshots!
The manual is well-written and looks nice, but the last few pages (appendices A through D) contain hand-drawn musical symbols and reproductions of printouts from a plain old 9-pin dot matrix printer. Nevertheless, the manual is better thought-out and more polished than most. I was favorably impressed.
In the "Credits and Copyright" section of the manual, the author states that D-S isn't intended for professional musicians and may not be suitable for public performance. There's no MIDIinterfacing, sequencing or other features for the professional musician. D-S aims to be a fun program for musical amateurs and kids. Children will enjoy the Keyboard Player but will need assistance from an adult. I estimate the minimum age for using D-S without adult supervision to be about 10 to 12 years.
Perhaps the best part of the manual is a tutorial on reading music. This has been done so well that non-musical users should readily learn to convert sheet music into their own tune files. Careful study of this section of the manual will teach new users the basic elements of music notation. Bravo, Mr. Garraghty! I like software that actually enriches the user's life in some way, beyond just using the program.
This part of D-S will be used by everyone who buys it. It plays tunes provided on the disks as well as those users may create for themselves with the included Text Editor and Tune Compiler. Playing back existing tunes with existing samples requires no musical skills: anybody can do it. But, the user interface will try your patience.
I try to "Load New Sample" and find it irritatingly slow. Or rather, the pause before the prompt appears, asking which sample to load. It seems the memory buffer containing each sample has to be erased before a new sample can load. This takes about 9 seconds- long enough for ice cream to melt! It isn't clear why the new sample can't simply overwrite the old one in memory. D-S doesn't automatically clear memory upon bootup, but only when I load a sample- just when I don't feel like waiting for it. It also doesn't know what samples it has in memory at any given time. This creates an inadvertent feature: I manage to play "music" when I haven't loaded any samples! Random data junk that happens to be in memory appears as the "sample" because the data buffers are only cleared when you actually load a sample. The sound thus produced is not inspiring.
I select "Load New" by mistake. Oops! I trust the software, and think "the system must know enough to accept a carriage return as a clue that I goofed, and I don't want to 'load new' after all". It doesn't. I cant exit without getting an error message. I hit Return and get "Sorry. Error occurred on...". There should be a more elegant way to escape from this option. Otherwise, the Tune Player easy to use.
There's also a program module allowing you to play simple tunes on the keyboard using previously loaded samples as the sound. My 10-year-old daughter thought this great fun, but I was unimpressed. The keyboard layout isn't much like a piano. But this module is your only way of previewing the various samples without having to play an entire tune.
I preview some of the samples using the Keyboard Player. Darn, that "Clear the bank before loading the sample" routine is SLOW! Some of the samples aren't very musical, such as WOOF, COW, SCREAM2, and PIGS. Other sounds are semi-musical, being two-note chords. These are musical alone but aren't suitable for playing entire melodies. SYNTH3 for instance is a complex chord: a minor 9th. Playing a tune with a series of minor 9th chords isn't musical. Fortunately, there are some definitely musical sounds among the samples provided. Here are my picks for the best musical samples: BOATHORN, ELECG1, ELECG3, ELECG4, ELECG5, GUITAR2, HEAVYG, PANPIPES, PING; SYNTH4, SYNTHS, and TRUMPET.
I've Lost The Tune
You can enter new songs with the Text Editor and compile them with the Tune Compiler afterwards. These can be stored on disk and played back like any of the provided tunes. In order to successfully create a new tune file, I must learn the LIDS music language from the manual.
I fire up the Text Editor. It's a little awkward but works reasonably well. I enter new music data and press RETURN on an empty line to exit back to the Text Editor menu. Back at the menu, I can delete or edit text only by line number, so I must know what line number I want. Otherwise, I must list out the file to get the number, exit back to the menu, and try again. The editor doesn't check syntax: I could use it for writing ordinary text, though I wouldn't want to (it doesn't compare with any of my Atari wordprocessors). The most endearing feature of the editor is that it doesn't require me to exit the program in order to use it.
I discover I can't format a data disk from the Text Editor menu. I have no data disk prepared, not having expected this, and I nearly lose my tune because I have nowhere to save it. Fortunately I'm able to find some free space on another disk I hadn't intended to use for music. Hard to believe such a necessary function could have been omitted, but it was.
LIDS seems non-intuitive to me. According to the chart in Appendix B of the manual, available notes are F1 (lowest) to C4 (highest). Ten pages earlier, page 27 of the manual lists the time values allowed by LIDS. I wonder why the acceptable time and note values aren't on the same page, with my fingers stuffed between the pages to keep my place while skipping back and forth. Time values are given using mnemonics based on British nomenclature: a quarter note is a crotchet (C), a half note is a minim (M), a whole note is a semibreve (S) and an eighth note is a quaver (Q). This nomenclature isn't incorrect, but it would've been easier for me, an American user, if Q, H, W and E had been used instead of C, M, S and Q, as the Music Composer cartridge did. Dotted notes are indicated by a D before the regular time value token- even though in sheet music the dot follows the note.
Sharps and flats can only be entered one way: C# is available but D-flat isn't, even though they're the same note. I discover that if I enter a D-flat the Text Editor will accept it but the Tune Compiler won't. This is frustrating, as my tune is in the key of B-flat (where D-flat is a perfectly legitimate note), yet I'm forced to enter the note as C#. But the Tune Compiler is Digi-Studio's highest authority on the subject of musical correctness: you can't appeal to this judge when an unfavorable ruling is passed down. It should be smart enough to know that C# and D-flat are the same note, and if C# is correct, D-flat can't be incorrect. Hrrumph!
So a dotted quarter note of D-flat in the second octave is, in the LIDS music language (and according to the dictates of the Tune Compiler):
(note C -- octave 2 -- sharp -- dotted -- crotchet)
while in Music Composer, it was:
(note D -- flat -- octave 2 -- quarter note -- dotted).
The language used in Music Composer was more intuitive and natural to me than LIDS. I can't make a comparison with Music Construction Set, as it allowed you to just select the desired note and place it anywhere on the staff along with necessary sharps, flats or dots. Although LIDS supports time signatures, it doesn't support key signatures, such that even in the key of B-flat every B-flat note must be entered as B-flat and not B; and every D-flat... well, you see! Music Composer and Music Construction Set both supported key signatures. Very frustrating for people who read music and expect the support of key signatures! And such folk are most likely to enter new tunes themselves.
The Tune Compiler is just what it says it is. It reads a tune from a text file on disk or from memory and compiles it into a tokenized music file. I'm reminded of the C language when I use it. The Tune Compiler, like a good C compiler, warns of syntax errors and gives me clues as to the nature of the problem and the line on which it occurs: a nice touch. I enter a tune of my own to test the Text Editor and Tune Compiler. The Tune Compiler correctly flags several errors (as well as all my D-flats!). After I've fixed them, it compiles the LIDS file into a loadable tune file. However...
After compiling and saving my tune on disk, upon playback with several different samples I find the rhythm "mushy". The length of each note seems only approximately what I entered, and I'm unable to make any effective correction. This is forgivable with some ballads but much less satisfactory in a march or other briskly rhythmic song. I use my favorite test piece, the Promenade theme from "Pictures at an Exhibition", which is approximately a march. I find the rhythm unacceptable compared to results from Music Composer or Music Construction Set. Perhaps a more percussive sample would sound better, but the Promenade theme is lyrically melodic so I use less percussive samples to play back my tune. It's not a happy combination. The manual says "The timings are not always perfect". I'm unlikely to try entering more tunes after seeing what happened to my beloved Promenade! This smeared rhythm would be unpleasant for "Old MacDonald Had A Farm" and doesn't improve Mussorgsky, either.
It would be much easier to correct mistakes interactively. Both Music Construction Set and Music Composer allow you to listen back to what you entered immediately, but that's impossible with D-S due to the non-interactive method of entering data. This less flexible approach does work but may be discouraging to musical novices and hobbyists who are poorly equipped to deal with the task of correctly entering the musical data blindly (or deafly, to be exact). A simple "beep" of the right pitch for each note as it's entered would make the Editor more usable; notes that were glaringly wrong could be corrected "on the fly" rather than to exit, compile, and load the entire tune to find the clunkers. Instead, I must know the notes I want in advance to create a "good" LIDS file in a reasonably short time.
If It Ain't Broke...
The manual describes an "offset" required for users outside the UK, to adjust differences in the pitch of scales and prevent an "out-of-tune" effect discussed in the manual. I didn't need it. Using the default value of 0, I think the scales sound better than they do with the recommended -5 for the U.S. Maybe the author had no opportunity to try this option in the U.S., but if he could hear it as I do, he'd agree the offset is unnecessary.
Then there's a pitch problem when I try to use higher notes. The low octave seems well in-tune, but not some of the highest notes. This may bother my ears more than yours, and there are some precedents. Atari 8-bit machines have always had a problem with musical pitch. It affected the original Advanced Music System and Music Composer programs as well as Atari BASIC music programs, unless they used the 16-bit technique more familiar to advanced programmers. This problem could potentially warp the ear-training of young aspiring musicians who don't know sharp from flat and need to learn to hear the difference. The manual says "...some pitch values sound odd." Yep. They need fixing.
The Sample Editor
The Sample Editor is the part of the program that will be used least. Editing a sample means changing the content of the digitized sound data: you alter the shape of the sound waves by moving points of data around. Minor edits aren't audible. This isn't a flaw in the program, it's just a fact of life! Major editing isn't a task the casual user will undertake, so the Sample Editor's awkwardness won't be noticed by most people. They'll simply avoid it. Manual sample editing is for someone with lots of time to kill and gallons of hot coffee.
Upon entering the Sample Editor, I see it doesn't offer me a way of viewing what samples are available on the disk when the obvious thing I'll want to do is load a sample. The manual warns of this, but there should be a Sample Editor menu option to allow viewing samples on disk. It's unreasonable to expect users to memorize the names and locations of all the samples and tunes on all four disk sides. Now I'm stuck, wondering what to do.
You Can't Get There From Here.
I must exit back to the main menu and enter the Keyboard Player to list out the available sample files. Side A of the program disk contains very few samples, so I try side B. Upon attempting to exit back to the Main Menu to return to the Sample Editor, I encounter an error with no explanation, and the Keyboard Player menu is reprinted.
Gradually I realize the problem is that I'm now on side B, and the Main Menu program is back on side A, but there's no error message saying "Couldn't Find Main Menu Program! Please Insert Program Disk With Side A Up." By now I've forgotten the name of the sample I went after in the first place. Instead of a user interface, the Sample Editor has a hedge of thorns.
This occurs throughout D-S and needs to be fixed. I can't save a tune, a LIDS music file, or a modified sample on the provided disks, but all the programs are on those disks. I can't avoid having them in the drive nearly all the time, but I must remove them to save any files and then prompt myself whenever I forget to swap back. It seems only one disk drive is supported. Bleah! A RAMdisk would be the best place to store data files, but allowing a second floppy drive would be better than just one. I finally manage to load a sample and continue.
The Sample Editor lacks some other important options. I read that samples are edited by "pages", a chunk of memory containing sample data. I can graph the sample on the screen- a potentially interesting and informative option- but I can't tell how the graph relates to the page I wish to edit. There are no labels to identify the graphed pages, such that I could then edit them by number. This reduces the usefulness of the graph to little more than whimsical curiosity. You have to specify the page you want before you can edit it, but there's no way to identify any page without editing it. A "zoom" option would have been nice, or just a scale of page numbers at the bottom so you can find your place. The Sample Editor emerges clearly as the least usable part of the software.
This points up the greatest overall weakness I found in DigiStudio: error handling- and the user interface generally- is poor. D-S needs further refinement before it will be a really finished product. Most of the technical glitches would be forgivable if the user interface were more friendly. Nowhere is there a default filename, even after I've loaded in a file, whether it be tune or sample. You'd think the Sample Editor and Text Editor especially would offer to save the current sample back to its original filename, without requiring me to memorize it, but they don't.
Overview and Suggested Improvements
On the upside, there are lots of samples and quite a few tunes. On the downside, many of the samples have no value beyond the element of surprise, and I can't tell what they are without hearing them. Thank goodness the Keyboard Player lets me try out the samples, though I still have to endure the deathly slow loading of each new sample file.
Maybe I'm just a fussy old guitar player, but I find some of the tunes are rather poor transcriptions. I'd enjoy this package more if it had better song files, with fewer "novelty" sounds and more truly musical samples. I remain unconvinced by the piano, trumpet, and several guitar samples. There aren't any violins, cellos, xylophones, vibes, harps, celestes, flutes, harpsichords, saxes, or harmonicas. But there's a donkey, pig, owl, two samples of laughter, sheep, dog, boathorn, and a motor-driven camera. There's more of sideshow than symphony in the selection of sounds.
Tunes can't be longer than 500 notes, including rests, which is understandable but regrettable. Too bad also that only singlevoice sound is possible. But to allow two voices would cut the length of each tune by half, to accommodate the data storage of notes for the second voice. Still, it would be nice to be able to use more than one sample in a single tune.
I can see a lot of work went into D-S, but overall design of the product is shaky. The several modules comprising Digi-Studio don't interconnect like they should, and error handling is flatly substandard. These deficiencies seriously compromise the pleasure of using it. It's easy to get D-S to make silly or rude noises. But getting music out of it is not so easy, which greatly irks the musician in me. My best effort yields a tune that's at most a blurry cartoon of the music. Maybe I'm too jaded, or my attitude prevents me from just having fun with the goofy sounds as someone else might. I'm not laughing. I'm not even smiling.
Part of the problem might be that the programs are all written in Turbo-BASIC. This is a big improvement over Atari BASIC but still means limited memory space for the program and for my data. Assembly language lets you cram lots of code and data into a small memory space. If D-S had been written in assembly rather than Turbo-BASIC, I think many more features and a better user interface might have been possible. It would have required considerably more work, though.
At $15, I think Digi-Studio is reasonably priced. I paid more for Music Composer when it was new, and less for Music Construction Set when it was old, and used both of those quite a lot. But a decade has gone by, and with inflation and the decline of the Atari 8-bit software market, the price is modest. Due to the poor user interface and lack of conveniences discussed earlier, D-S is less fun than those earlier music programs. (Well, okay, Music Composer's user interface wasn't dazzling either.) Since the price of Digi-Studio recently dropped by half (!), users may be willing to put up with these flaws in exchange for the ability to play back samples instead of synthetic beeps or the lame organ tone Music Composer produced (unless you had Ken Collier's Music Synthesizer playback program from ANALOG Computing #15 which helped out Music Composer files a lot!).
Near the end of the manual, the author says many future developments are expected, though that was written when the price was twice as high. I don't know how many of those promises will now be kept, but I've here presented my wish-list if future improvements are still a viable possiblity. With The revisions I've noted in this article, I'd find tomorrow's Digi-Studio a lot more fun than today's version. Maybe by telling Mr. Garraghty that we care, and describe features we think are really important, he'll listen, and the product will evolve into something we'd all like to add to our software libraries.
But for now, I shut down the 800XL and remove Digi-Studio for the last time from the jaws of my trusty Rana drive. There's little danger I'll wear out the disks from excessive use.