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