Digi-Studio / sound / commercial
From: Michael Current (aa700@cleveland.Freenet.Edu)
Date: 01/23/93-10:58:11 AM Z
From: aa700@cleveland.Freenet.Edu (Michael Current)
Subject: Digi-Studio / sound / commercial
Date: Sat Jan 23 10:58:11 1993
From: djg0@aber.ac.uk (Dean John Garraghty)
Reprinted from News-Disk Issue 10
Digi-Studio -- the new version
------------------------------
What it does, and how I did it!
-------------------------------
Article by Dean Garraghty.
On Saturday 14th November 1992 at AMS6 in Stafford I launched the new complete
version of Digi-Studio, my digitized sounds and music system. I have talked
about the old package 1 on a previous News-Disk. The "missing part" of
Digi-Studio was the tune editor. We need some way of creating our own tune
files for playing with digitized sounds. That's what the new version is all
about.
If you don't know, Digi-Studio is a music creation system for digitized
sounds. It is like all the other programs of this nature, BUT Digi-Studio uses
"real" sounds that have been digitized. This includes things such as trumpets,
synths, piano, pan pipes, guitars, pig grunts, bells, and loads of other
things! You can play these live using the computer keyboard as a piano
keyboard, or play tune files using the sounds. You can also edit the samples
using the supplied editor, or create your own using a joystick. You can also
add tunes to your own Basic or Turbo-Basic prgrams and play them using real
sounds!
Originally, the tune editor was going to be sold as "package 2". But, I have
now scrapped the "package" idea and merged all parts of Digi-Studio into one
big package. This contains new updated versions of the Keyboard and Tune
Players from package 1, as well as the Sample Editor and Tune Compiler from
package 1.5. But, it also has the new tune creation system. This allows you to
create your own tunes from sheet music for use with Digi-Studio. For this
purpose, I have created a new language called LIDS (Language for Instructing
Digitized Sound).
LIDS is a new computer language in which you describe sheet music to the
computer. You write your programs and then use the LIDS Compiler to turn them
into tune files for playing in the Digi-Studio system, or even in your own
Basic or Turbo-Basic programs!
LIDS is a very easy language to learn and use. Most of the commands are
derived straight from sheet music. If you can already read music, the LIDS
will take no time at all to learn! If you can't, don't worry. The manual
supplied with Digi-Studio contains an extensive section on how to read music.
This also includes examples of real music along with their LIDS programs. An
example LIDS command could be: A3 C. This in fact describes the note A in
octave 3, played for a crotchet. Sharps and flats are also handled. LIDS also
has extra commands to allow you to do some clever things. E.g. it allows
repeats like this:
RS
A3 C
C3# M
B2 Q
A2 Q
RF
Also, it has facilities for handling tied notes like this:
TS
A3 C
Q
M
TF
It also takes care of the time signature. E.g. if the music to be programmed
was in 6/8 time, you can issue the command SIG 8 to LIDS and it will take care
of it. Also, you can take care of different tempos by use of a command called
SPEED. This can speed up or slow down the music.
The LIDS Compiler has a built-in text editor for editing LIDS programs. This
means you can also compile straight from memory! The LIDS Compiler also has a
feature called "wrap". This allows you to add sustain to long notes.
As I mentioned earlier, the Keyboard and Tune Players have been updated. The
Keyboard Player has had a few of its notes altered to play more in tune! Also,
an offset option has been added. This is for the benefit on non-UK users who
hear notes being played differently due to different clock rates. However, UK
users can use it to make some samples sound more in tune. Try -10 to make some
samples sound more in tune! The Tune Player also has the offset function in.
The Tune Compiler (for allowing you to merge Digi-Studio tunes in your own
Basic programs) has also been updated with the offset option. It also allows
you to quit the program more easily now.
NOTE: the LIDS compiler is now in version 1.2. This has corrected a problem
with pitch representation. All registered users will be sent a copy of v1.2
soon. But, the tunes on the disk should still be played with offset set to
-10. Any you create with v1.2 should be set to 0. No copies of version 1.1
were sold in the US, so all US users will get v1.2. Only a hand full of v1.1
got out anyway!
The new complete version of Digi-Studio comes on 2 DS/SD disks and includes a
44 page A4 sized manual. Disk one has the programs and some tunes and samples
on. Disk two contains more tunes and samples. In all, 55 samples are provided,
and 47 ready-to-play tunes.
The manual is extensive! I know, I wrote it! It is fully typeset and laser
printed. It is extremely detailed. Each program within the Digi-Studio system
has its own section. The manual also has sections on reading music and
programming in the LIDS language. It also has an appendix with examples of
sheet music along with the corresponding LIDS programs. This manual should
tell you everything you need to know about Digi-Studio!
Digi-Studio costs 12pounds+1pound P&P in the UK. This includes the 2 disks and
manual mentioned. However, it is also available in the US from my distributor.
Over there it costs $29.95+$1.50 shipping. In the US it is available from:
Lance Tatman, 844 Kern Street, Richmond, CA 94805.
In the UK and non-US countries it is available direct from me:
DEAN GARRAGHTY, 62 THOMSON AVE, BALBY, DONCASTER, DN4 0NU, ENGLAND. Price to
EEC countries: 15pounds including shipping. Please contact me for prices to
other countries. Please pay in UK funds by IMO or in cash in pounds. Use
registered post if sending cash.
That was the what it does part of the article, now what went on behind the
scenes!
The Digi-Studio project started way back in the summer of 1990. It was an
attempt to create a utility for creating music using digitized sounds. The
first bit of the system was launched at AMS5 in November 1991. My previous
article explains all about that!
After package 1, I thought it would be a good idea to have a utility to fiddle
with the sounds! I remember seeing a similar thing on the Voice Master demo
disk, so I thought I'd have a go at writing one for Digi-Studio. I started
doing that at christmas 1991. I took until Easter 1992! Writing the Sample
Editor was a pain! It has to do lots of odd things with memory, and in
Turbo-Basic. The algorithm for reversing sample space is particularly odd! The
way samples are stored means that a simple swap all the bytes around will not
work, as I found out during testing. Thanks to Mike Blenkiron for spotting
that it didn't come close to working! It has to rotate bits within the bytes
as well as reverse bytes, which is why it takes so long! Another complication
was over "pages". When you edit a Sample Editor page the program has to
calculate the actual memory page where it will be. Not as easy as it might
sound! The copy page functions were also complicated to write. Moving big
chunks of memory around is hard!
Writing the Tune Compiler was fairly straight forward, and it worked pretty
much first time!
The absolute "biggy" was the tune creation system. Originally, this was being
developed with a nice front end, where you picked notes with a joystick and
was all very nice. However, for samples you need that little more control.
Something more powerful was needed. In early June 1992, I started scribbling
down ideas for a language. After a lot of work, LIDS popped out of the
scribble about a month later! This was to be an easy to use language to allow
you to create tunes for playing using samples. It looked good on paper, but I
needed to write a compiler for it! It took a week to get a very basic compiler
working. This had no repeats, ties, speed, or any other flashy techniques! It
was primitive, but it worked! It didn't do much though. It didn't do anything
clever with the samples to make high notes play the same speed as lower notes.
This was the next step. The compiler now did all this while it was turning
LIDS programs into tune files.
I soon realised that there was no easy way to type and edit programs. So, I
got to work on a text editor. This is a very simple line editor, with all the
usual delete, edit, insert, list, append, list, functions. Writing this was a
PAIN! It is all wacky string handling like you've never seen it before! It
took 3 weeks to get a working version. I then thought it would be nice to have
this within the compiler. An idea I put on ice until I'd finished the compiler!
I now got back to work on the compiler. I needed to add repeats which I did. I
then thought about tied notes, and designed a way of handling those which went
nicely into the compiler. I then added the SPEED command for handling tempo.
This was quite easy really. Then I decided to tackle the problem of different
time signatures. Not an easy one this! I added a command called SIG which
attempts to handle time signatures with no work on the programmers part! It's
not always 100% successful though!
While writing the compiler, I was also refining some of my ideas about
Digi-Studio, so I had to keep trying lots of tunes out to get as much "test
data" as possible to try them out as I went along. It was quite difficult to
get the timings working properly!
After finishing the compiler, it was time to merge the text editor into it!
CRASH! Everything failed to work. There were memory problems (the program and
its storage needs about 23K), and loads of conflicts with variables. Also,
some line numbers went all odd when they were re-numbered, so some sections of
code simply refused to work like they did before!! Very odd, but then
Turbo-Basic isn't bug free! It took one heck of a lot of hard work, late
nights, and sweat to get it working! I was still de-bugging it just a few days
before release! I'm not 100% sure it is totally bug free. That's why I offer
free (well, you have to pay for disk and postage!) updates to LIDS. Hopefully,
I will add in more features and get rid of any bugs that come to light. Don't
let this put you off buying Digi-Studio! LIDS works perfectly well, and I'm
sure any bugs that do come to light will be very minor ones!
This time, I was writing the manual at the same time as writing the software.
In fact, I started writing some sections of the manual before I started the
software (an old IBM technique, well known in the world of professional
software engineering! Just thought I'd try it on the 'ol 8-bit!). The manual
started getting longer and longer. It ended up at 37 pages of text, and 7
pages of appendices. And that's 37 pages of densely packed 11 point text, none
of this big gaps and 10 lines to a page like the Atari manuals of old!! This
manual is a wapper! It took me 1 1/2 hours just to read it, and over a week to
spot the typos! The section on reading music was difficult to write. Although
I am a formally trained musician (with several qualifications in music), it
would be difficult to explain some odd terms and ideas to the man on the
street! So, it was down to the library to get some books on the subject! The
book I found useful, and which I would reccommend you have a look at, is
"Music in the classroom" by B. Rainbow. ISBN: 0-435-81746-9. I would
particularly refer you to chapter 4. Also, "A new dictionary of music" by A.
Jacobs is also a useful reference if you want to know more! Appendix C of the
manual is where all the actual music examples are, so these were cut and
pasted with manuscript paper. Appendix D contains some actual music along with
the corresponding LIDS programs. I thought this would be a useful addition to
clarify some of the things I talk about in the Reading Music section of the
manual.
One thing people moaned about with the manuals for packages 1 and 1.5, was
that the text was hard to read. That's because they were reduced to A5 size.
So, I decided to produce this manual as a full A4 sized manual with a plastic
spine to hold the sheets together. This can easily be removed so you can put
the manual in a ring binder if you like.
So, what's next for Digi-Studio? Well, the thing I'd really like to have a
crack at is a 3-D landscaper for sound. This is done on some VERY expensive
synths. This is where you define a start and end page of a sample space, and
the computer fills in the rest of the sample space by slowly tending the start
page towards the end page. The graphical representation of this looks like a
3-D landscape. However, with only 4-bit playback resolution, you wouldn't get
much of a landscape!! It's worth a try though!
Writing Digi-Studio was a task and a half! Two years work involving me and
lots of other people along the way! I have already set up a dealership for it
in the US, and nearly have one in Germany. It would be very nice if more
people were using Digi-Studio! It's still a VERY minority piece of software at
present. Go on, give it a try!!
--
Michael Current, Cleveland Free-Net 8-bit Atari SIGOp
Carleton College, Northfield, MN, USA / UUCP: ...!umn-cs!ccnfld!currentm
Internet: currentm@carleton.edu / Cleveland Free-Net: aa700
-----------------------------------------
Return to message index