Music Tracker Version 0.01 (c)1992 P.J.Shaw
CONTENTS
--------
1. Music Tracker (A brief introduction)
2. Music Tracker v0.01
3. Music Tracker File Player
4. Music Tracker Envelope Editor
5. Music Tracker Module Maker
6. Music Tracker File Editor
7. Music Tracker Play from Basic Util
8. Technical Information
9. Help & What to do if things don't Work
Thank you very much for showing an interest in Music Tracker and Have fun
creating and playing songs with it.
P.J.Shaw
Chapter 1. MUSIC TRACKER (a brief introduction)
-----------------------------------------------
Welcome to the Music Tracker package for the BBC B.
The software with this manual allows you to play and edit music files that I
have dubbed as tracker files because of the way they are played.
The files themselves are very simple and easy to understand they are actually
in sound command format.
For those who are not familiar with the BBC Basic Sound command, refer to the
chapter on the tracker file editor and all will be explained there in more
detail.
Music Tracker was written purely to see if I could do something similar to that
on an Archimedes and originally was just supposed to be a demo that looked like
a tracker but didn't actually play anything, except an external sound fed into
the disconnected speaker inside the beeb coming from an A3000. So in actual
fact the Arch was playing th music and the beeb just looked like it was.
Anyway, I soon realised that it would be reasonably easy to actually write a
tracker based around the sound command. So I started playing with this demo
that I had written and fed all the info from the Serial port (A3000) to the
Sound command and although it made a terrible noise it did actually work. So I
replaced the serial port with the ability to read files. Or more to the point
read from the computers memory once the file had been loaded in.
Anyway to cut a long story short, the original Music Tracker was born (Option
1 from the Menu on the disc) and around this, various utilities to complement
it sprang up.
So there you have a brief history of Music Tracker. I have tried to think of
most things that you the user would want in this package and I think I've done
pretty well. However I never say NO to a good idea and if you have any
suggestions as to anything I could add, then please don't be afraid to write
me a letter, and if you enclose a disc with your letter you may even get some
nice little items of PD & other bits and bobs sent back to you as well as
getting some credit in the program for your help.
The address to send your suggestions to can be found in the helpful info at
the back of the manual. Any suggestions are welcome, even a completely new
idea that has nothing to do with Music Tracker. So get Writing and I hope to
hear from you soon.
Chapter 2. Music Tracker v0.01
------------------------------
The Music Tracker is the main part of the software and although it has no
editing facilities, Tracker files can be edited using a separate program.
The main use of this part is to play back the files at a visual speed with
user control over them as well as mixing the sounds.
Using the tracker allows the loading of separate envelope file to the one that
is actually used by the music file (Usually of the same name but stored in the
E. directory), This allows you to see what different instruments sound like in
your composition.
User controls
-------------
P/C - Both these are used to play the currently loaded file, The difference
between them is that the C option plays the file from start to end (It actually
uses the same machine code routine that the file play program uses) and allows
you to hear what the full file at it's proper speed sounds like. The P option
plays back the file at a slower speed while displaying the current parameters
on the screen so that the current note can be seen as it is playing. The
information is displayed in the following format :-
CHANNEL,VOLUME/ENVELOPE,PITCH,LENGTH
:,/ - The / & : Controls are used to step forward & back a note entry. This
allows you to view the parameters above without having to play the song.
@ - This plays the current note without stepping forward or backward, Combined
with the / & : controls allows the user to analyse and work out the note values
required to create their own tracker files.
R - This resets the music file pointer to the start of the file, useful if you
get lost while using the / & : controls
L/E - Load music file/Envelope file. This option speaks for itself it allows
you to load a tracker file into memory along with an envelope file which
defines the instruments.
Chapter 3. Music Tracker file player
------------------------------------
This utility allows you to play tracker files at their proper speed without
having to use the tracker itself.
The program is really easy to use. It displays a list of tracker files on the
disk and asks you which one you would like to hear.
When you type in the file name there is no need to put the M. prefix in front
of the file as the software automatically sets this. The same applies to any of
the programs that make up this package, envelope files included, except instead
of not typing M. you don't type E.
You will then be asked if the envelope file has the same name as the music
file. If it has, then just press Y and it will be loaded and the music will
play. If not then you will be asked for the name of the envelope file.
Once this is typed in, the envelope file will be loaded and the music will
play.
During play the controls Z,X and S allow you to PAUSE/RESUME and STOP the
music respectively, giving you some control over the play back of the tracker
file.
When the file has reached its end or S is pressed then you are given the choice
to (P)lay again (L)oad another or (Q)uit, pressing the appropriate letter
selects the required option.
Chapter 4. Envelope editor
--------------------------
The envelope editor is used to alter the envelope files that define how the
instruments sound. The format of a tracker envelope file is identical to the
standard BBC envelope files produced by doing a direct memory save of the
envelope parameters. In fact that's exactly how Music Tracker handles its
envelope files, so any envelope editor can be used to alter envelope files.
I have found that the best thing to use is The Island Logic Music systems
Synthesizer module with the Save Option set to BBC format envelope file. But
you may like to use any editor that you are comfortable with.
The keys are very simple and easy to use. It's just a matter of knowing that
the key displayed at the left hand side of the / means INCREASE parameter and
on the right means DECREASE parameter.
Each parameter has its 2 keys displayed below it in the form x/x as described
above, the only other keys that are needed are L & P which loads and saves an
envelope file and @ to sound the current envelope so you can hear what it
sounds like.
The envelope command is a very powerful command from BBC basic as it allows
you to shape a sound to make it sound like or as near as possible to any
instrument you would like to name. Having said that, there is too much
information required to describe the use of it properly. Far too much to fit
into this manual.
For a good description of the BBC envelope statement refer to the BBC Basic
User Guide that came with your computer. There is an excellent description of
how it works in the chapter under sound. However for those who want a more
advanced knowledge of it, then I suggest that you obtain a copy of "CREATIVE
SOUND on the BBC Micro" by David Ellis and Chris Jordan originally published by
Acornsoft, but should be available elsewhere.
This book explains all the advanced things that you can do with the BBC sound
system and is well worth the money.
For the time being though, I will leave you with some envelopes to try.
These are in standard envelope format which is :-
Envelope Number,Time,pi1,pi2,pi3,pn1,pn2,pn3,aa,ad,as,ar,ala,ald
ENVELOPE 1,3,0,0,0,0,0,0,121,-10,-5,-2,120,120
ENVELOPE 1,8,1,-1,1,1,1,1,121,-10,-5,-2,120,1
ENVELOPE 1,7,2,1,1,1,1,1,121,-10,-5,-2,120,120
Chapter 5. Music Tracker Module Maker
-------------------------------------
The module maker is intended for those of you who wish to use Tracker music in
your own programs/demos/games or whatever you wish to add the music to.
The mouler is not complicated with lots of different key presses like the
other sections and is very simple to use.
Once the program is run you will be presented with a list of the music files
held on the disk. You will then be asked which one you want to make into a
module. Enter the name of the file to convert at the prompt (You do not need
to put the M. Prefix on any of the file names as all the sections of the
package do this for you).
When you have entered the name of the music file you will then be asked if the
envelope file is the same name as the music file. Normally it will be, but if
it isn't you will be asked for the name of the envelope file.
Once this is entered there is a brief pause while the module is compiled. You
are then asked for a file name to save the module under. This should be saved on
to a different disk as there will not be enough room on the tracker disk to
save it.
When you have the compiled module on disk the following is used to control it:-
*<Filename> Will run the Module.
*FX13,4 Will stop it playing.
*FX14,4 Will restart it where it was stopped.
Chapter 6. Music Tracker File Editor
------------------------------------
A file editor is provided to enable you to alter or even create your own
tracker music if you have the time and the concentration.
The layout of the screen is very much the same as the music tracker in that a
box providing a visual reading of the sound command being played is on screen
so that you can observe the current values.
The format is also the same where the info is displayed as :-
Channel,Envelope(Instrument),pitch,length
The layout is exactly the same as the BBC Basic sound command, so reference to
the chapter on sound in the BBC User guide would be an advantage.
The keys are displayed on screen but are also repeated here :-
E - Load envelope file
----------------------
This option loads in the file that defines what each of the 4 voices sounds
like. In fact up to 16 different instruments can be created, only 4 at a time
can be used. The file name should be entered without the E. prefix as the
program does this for you.
L - Load music file
-------------------
This option loads a previously saved music file into memory ready to be played
or altered. Again the M. prefix is not needed as the program takes care of
this.
S - Save music file
-------------------
Save current music to disk/Tape
I & D - Insert & Delete note at current entry
--------------------------------------------
Insert a new note after the current entry or delete the currently selected
entry.
Z/X Decrease/Increase channel number
A/S Decrease/Increase Envelope no
Q/W Decrease/Increase Pitch
1/2 Decrease/Increase Length
------------------------------------
These keys are the ones that are actually used to edit the note entries by
increasing and decreasing the appropriate parameter at the current entry.
@ - Play current entry
: & / One entry Back, Forward
P - Play complete tracker from start to end.
Certain pitches of the note entry correspond to the notes on a musical
instrument. As there is no room here to reproduce the table printed in the BBC
User guide, If you don't have a copy to hand there is a copy of it in the
technical section of this manual.
The values for the note lengths are roughly as follows :-
5 - Quaver
10 - Crotchet
20 - Minim
40 - Semibreve
and in between values for dotted notes. The exact value depends on you and the
above is just a rough guide.
Chapter 7. Music Tracker play from basic
----------------------------------------
The play from basic util simply asks for a file and then creates a basic play
routine for you to save/change etc.
To create your own basic music using the tracker.
You are free to change any part of the program for your own needs and to
distribute it where and how you like. All that is asked is that you in some
way acknowledge that the music was created using Music Tracker.
Chapter 8. Music Tracker technical info
---------------------------------------
This chapter is intended for the more adventurous of you who want to know more
about the package.
Standard BBC Pitch Values
-------------------------
Certain pitch values represent the note on an instrument. The following table
shows the Acorn allocated ones :-
NOTE: OCTAVE
---------------------------------------------------------------------
----:1 2 3 4 5 6
--------------------------------------------------------------------
C : 5 53* 101 149 197
C# : 9 57 105 153 201
D : 13 61 109 157 205
D# : 17 65 113 161 209
E : 21 69 117 165 213
F : 25 73 121 169 217
F# : 29 77 125 173 221
G : 33 81 129 177 225
G# : 37 85 133 181 229
A : 41 89 137 185 233
A# : 45 93 141 189 237
B : 1 49 97 145 193 241
* = Middle C
Converting Basic music to tracker form
--------------------------------------
This process can be very tricky and requires a reasonable knowledge of the
Basic programming language to do it.
The procedure varies from program to program and the only way you can pick out
what you need is to look through the program for a SOUND Command.
This may take quite a few forms all depending on the method used to play the
music. Some common examples are :-
SOUND 1,-15,10,100 : Absolute values
SOUND c,v,p,l : Standard Variables
SOUND V,E(V+I),ASC(MID$(M$,I,1))+&40,TEMP : Variables using various formulae
to work out the note values (Similar to music by the NOIGE)
Once you have located all the sound commands you need to put 4 BPUT commands
after each sound command as follows :-
If the line reads,
100 SOUND c,v,p+12,l*&40
Then you would add,
101 BPUT#file%,c
102 BPUT#file%,v
103 BPUT#file%,p+12
104 BPUT#file%,l*&40
Once you have done this for all the sound statements you then need to open a
file to save the data to, add a line to the start of the program along the
lines of, 1 file%=OPENOUT"<filename>"
and at the end of the program something like:
1000 FOR T=1 TO 4:BPUT#file%,&FF:NEXT:CLOSE#file%
Obviously the line numbers will be different.
Then run the program with the disk you want to save the data to in the drive.
The file will then be compiled.
The envelopes are easy to create. Once the program has finished running type :-
*SAVE <filename> 08C0 0A00
All music files must be saved with M. in front and the envelope files with E.
in front otherwise the programs will not recognise them.
Music file Format
-----------------
The format of a music file is very simple and identical to the BBC sound
command. The file is terminated with 4 bytes of value 255 &FF(Hex) so that the
programs know where the end of the music is. If the last 4 bytes are not &FF
the programs will just keep playing and playing. Probably just producing junk.
The format is as follows :-
Note entry 1 - CHN,ENV,PCH,LEN
Note entry 2 - CHN,ENV,PCH,LEN
Note entry n - CHN,ENV,PCH,LEN
Note entry n+1 - &FF,&FF,&FF,&FF
Chapter 9. Help and what to do if things go wrong
-------------------------------------------------
As far as I know there are no bugs in the software.
The software has been tested thoroughly. However bugs have been known to pop up
months, even years after the final test.
If you discover a bug, then please report it to me at the address below, I
would also appreciate your views and thoughts, ideas etc about the package. It
is the only way I can find out how well it is doing if I get feed back from
the users. If you help me out by reporting a bug and send a blank disk &
address I will reward you by filling your disk with Some PD software that I
have written and return it to you.
Trouble shooting
----------------
Below is a list of common problems. Consult this before taking any further
action.
Problem : Cause : Recommended Action
---------------------------------------------
Disk Fault :Corrupt Disk: Return to the source you obtained it from
: : explaining the problem.
No Sound :Sound turned: Turn back on using *FX210,0
: off :
File not :Wrong file : Check that the file was saved using the
found : Name : E./M. Prefixes or that you didn't type them
: : when asked for a filename by the software
: : or that you typed the correct filename.
If you have any other problems write to,
P.J.SHAW,
60 Oakfield Lane,
The Grove,
Consett,
Co/Durham,
DH8 8AP.
Enclosing the disk and a full explanation of the problem if possible.