Spectrum SOUND EFFECTS USER GUIDE "Turn your Spectrum into a synthesiser!" MFM Data Services Ltd Spectrum Sound Effects Copyright 1984 John .V. Green. Spectrum Sound Effects is a synthesised sound effect package for the 48k Spectrum. Over 2000 professional machine code effects are readily available, and you can go on producing your own new effects "to your hearts content" All effects can a) be played through the spectrum keyboard (40 different tones for each effect), and b) be easily saved to enhance your own programs with sounds never before heard from the Spectrum! Sounds vary from lazer zaps, alien screams and white noise to telephones ringing and horses galloping! No extra hardware is required. However, it is recommended that you amplify the mic output of the spectrum via either your stereo (N.B. take care with the volume control, the spectrum gives quite a strong signal, so beware!) or one of the commercially available sound boosters. This totally user friendly system, makes it child's play to experiment with any of the sounds. Any sound you create yourself can easily be fed into the system to take advantage of the facilities (keyboard, plotting etc). Loading Instructions: Reset machine (switch off and on). Type Load "" and press 'Enter'. The screen will quickly display the copyright message and continue loading. (Microdrive owners, see section on microdrives). On completion of loading the message "Tape or M/Drive" will appear. If you have a Microdrive and wish to move the system to microdrive read the section on M/Drives. Otherwise just type "T" for tape. The main menu will then appear with 7 options. DEMO If you press key '6', a demonstration of some of the sounds in the system will run for approximately one minute and then return you to main menu. VIEW If you press key '7' you will see that 20 of the 50 SOUND available sounds are already available. The display shows, the position of the sound in the "Sound Database", the sound name (i.e. sound20) and the start and end address in computer memory of each sound. Press any key to return to menu. PLAY Press key '2' for "Play Sound". You will be asked SOUND to "Enter position of sound you would like to hear (1-20). Type 'g' and 'Enter' you will then be asked to "Enter Delay (1-40)". This is the value that changes the tone of the sound, lets try '40' and 'Enter', Hit 'Enter' again and hold down. This will repeat the sound at delay value '40'. Press any other key to go back to the main menu, type '2'. Now try another sound with another delay. KEYBOARD Get back to the main menu and press '4' for "Play Keyboard" of the display will ask you to "Enter the position of the sound you would like to hear (1-20)" Lets try the sound in position 8. Type '8' and 'Enter'. Next a message "Hi or Lo range" will appear. Lets try Hi range, type 'H'. You will now have activated the keyboard. Sounds can be played with the 2nd & 3rd rows (Q-P and A-Enter respectively). Try a few. You will notice if you hold a key down it is automatically repeated. (Your spectrum is now effectively a monophonic synthesiser!). To return to the main menu press '0' (zero). PLOT Lets now see what a sound looks like when plotted. SOUND Press '3'. Then type '15' and 'Enter' to select the sound in position 15. A graph of that sound will then be automatically plotted. (Amplitude vertically, memory location horizontally). Press any key to return to main menu. (The "plot sound" option should only be used to give a general idea of what the sound looks like, accuracy is not guaranteed!) LOAD Apart from the 20 sounds now in the memory there are SOUNDS 30 others available still on tape. Let's try one. Press '1' on the main menu for "Load Sound". Type '45' and 'Enter' for sound45. Next enter the positon that you would like the sound to take up in the database, lets say position 1. Type '1' and 'Enter' (N.B. This will overwrite the sound that was previously in position 1). Reply Y or N to O.K. message, having first rewound the "Spectrum Sound Effects" tape. The computer will now search the tape for sound45. (The sounds are saved on the tape after the main program so, if you feel confident you can start the tape there). When the sound is loaded press any key to return to main menu. Press '7' for "VIEW SOUNDS" and you will see that the sound 45 is now in position 1 and can be plotted and played through the keyboard etc. SAVE When you have found an effect that you would like SOUND to use in your own program it can be saved with option 5. First check the position of the sound with option 7 of the main menu. Then select option 5 of the main menu. Enter the position of the sound you would like to save. Then enter the delay value (1-40) to produce the exact sound you want. Then enter an eight character name of your choosing for the sound. Reply Y if all O.K. Sound will then be saved in the normal way. On successful saving a message "Sound xxxxxx saved O.K." "Start yyyyy, Length zzz" will be displayed. The values of xxxxxx, yyyy and zzz should be noted down to be used later to call the sound in your own program. USING This sound can now be loaded into your own program SOUND as follows. Clear 64469. LOAD "" CODE. It can be called simply by RANDOMIZE USR 64470. If you wish to move the routine about in computer memory the following procedure should be followed. CLEAR START ADDRESS - 1 LOAD "" CODE START ADDRESS POKE START ADDRESS + 4 & 5, 2 byte equivalent of START ADDRESS + 70 POKE START ADDRESS = 1 & 2, 2 byte equivalent of START ADDRESS + LENGTH RANDOMIZE USR START ADDRESS So if you wanted to move the sound to say address 50000 in memory this is what you would do (assuming length - 500). CLEAR 49999 LOAD "" CODE 50000 POKE 50004, 500070-256 * INT (50070/256) POKE 50005, INT (50070/256) POKE 50001, 50570-256 * INT (50570/256) POKE 50002, INT (50570/256) RANDOMIZE USR 50000. Incidently, once poked, the routine can be resaved with SAVE 'xxxxxx' CODE 50000, 570 and as long as it is not moved again can be reloaded and used as it is without pokes. Once you have saved a sound or sounds they can be called repeatedly from a basic (or M/Code) program. If the delay is changed while you are calling the sound some startling effects can be made. 10 FOR X = 1 TO 5 20 POKE START ADDRESS - 50, x (change delay) 30 RANDOMIZE USR START ADDRESS 40 NEXT X 50 FOR Y = 4 TO 2 STEP - 1 60 POKE START ADDRESS + 50, Y (change delay) 70 RANDOMIZE USR START ADDRESS 80 NEXT Y 90 GO TO 10 Another trick to alter the sound even more is to shorten the sound. This is done by altering what is poked into START ADDRESS + 1 & 2, instead of the two byte equivalent of the START ADDRESS + LENGTH try START ADDRESS + 170. Warning! Do not go above the value of "Length" or below 80, the system will crash! CREATING Creating your own sounds is really very easy and SOUNDS the possibilities of making new and original effects are without limit. Here is an example of how to do it. Reset the machine (turn off and on) (or RANDOMIZE USR 0) Type this program in: 10 LET Y = 0 20 FOR X-1 TO 500 30 LET Y-Y + .02 40 LET Z - 100 + INT (100 * SIN Y) 50 POKE (50000 + X), Z 60 NEXT X N.B. If the value of z is ever less than zero or greater than 255 you will have problems. You have been warned! Put a fresh cassette in the recorder and: SAVE 'soundxx' CODE 50000,500 Wher 'sound' is in lower case and xx is 1-50. Now load "Spectrum Sound Effects", select option '1' (load sound) of the main menu, type in the value of xx you gave to your sound enter the position you require and place your cassette in the recorder instead of the "Spectrum Sound Effects" tape. Your sound will now be loaded into the position you specified and you can now once again use the facilities of "Spectrum Sound Effects". HINTS AND a) When using option '4' (the Keyboard) the keys TIPS in "Hi" range represent delays as follows: Q = 20, W = 19, e = 18 ...Ent = 1. The keys in "Lo" range represent delays as follows: Q = 40, W = 39, E = 38. Ent = 20. The Sounds played in the "Lo" range are also halved in length (i.e. LENGTH - 250). b) When creating sounds the first two and last two bytes of the each sound should be 0 (zero) otherwise the sound has a unpleasant and unwanted click. c) As well as the system being error trapped, if you press the wrong key at any time you can simply press 'Caps Shift' and 'Space' to return you to the beginning of the program. EFFECTS Listed below are some of the sounds that are available on "Spectrum Sound Effects". The number refers to the sounds number. The H or L represents "Hi" or "Lo" for option '4' (the Keyboard). 1: L = Horses Galloping (press Q) 3: H = Alien Craft (press Q) 7: H = Car Engine 8: H = More Alien Craft 9: L = Old Jallopy (Big and Going!) 11: H = Car Engine 12: L = UFO 13: H = Laser Zaps 16: H = Warning Note (low fuel?) 17: H = Warning Buzzer 19: L = Juicy Buzzer 20: H = High Pitch Whistle 22: L = Very Old Jallopy 23: L = Bee (Drunk!) 23: H = Alien Scream 25: H = Bouncing Ball 26: H = Steely Organ 27: H = Warning Buzzer 29: H = Penny Whistle 31: H = Bee 34: H = Lazer Zaps 36: H = White Noise 39: H = Warbling Note 47: L = Telephone (press Q) 48: H = Rasping Buzz with fade 49: H = Rasping Buzz Sounds not listed are indescribable! MICRO If you have a microdrive system the following DRIVES instructions will enable you to copy the entire "Spectrum Sound Effects" tape to it. (Microdrive should have at least 45K from space). 1: Put side a) of cassette into recorder 2: Reset Machine (RANDOMIZE USR 0) 3: Type load "" and 'Enter' and start tape 4: Stop the tape immediately the copyright screen appears. 5: 'Break' into program (hold down 'Caps Shift' and 'Space') 6: Type INK 7. Change lines 100 and 110 to Read: 100 LOAD (black square) "m" ; 1; "BYTES 1" CODE 110 LOAD (black square) "m"; 1; "BYTES 2" 7: Save onto your M/Drive as follows: SAVE * "m"; 1; "SOUND FX" LINE 1 8: Reset machine. Type LOAD "" CODE and 'Enter' and start tape. 9: Immediately the file BYTES is fully loaded stop the tape again. 10: Save onto M/Drive with: SAVE * "m";1; "BYTES 1" CODE 49800, 14745 Verify with: VERIFY * "m"; 1; "BYTES 1" CODE. 11: Reset machine and type POKE 49800, 201 12: Type LOAD "" and CODE and 'Enter' and start tape. 13: Immediately the file SOUND FX is loaded stop the tape again and BREAK into program 14: Save onto M/Drive with: SAVE * "m";1; "BYTES1" LINE 1 Verify with: VERIFY * "m" ;1; "BYTES2" 15: To copy remaining sounds across from tape to M/Drive proceed as follows: Sounds 21-30 are situated immediately after the file SOUND FX so your tape should be positioned there. Type in and run the following short program: 5 CLEAR 49999 10 LET a = 21. LET b = 30 20 LET z = 49500 30 FOR x = a TO b 45 LET m$ = "SOUND" + STR$x 50 LET Z = Z + 500 60 LOAD a$ CODE z 70 NEXT x 80 LET Z = 49500 90 FOR x = a TO b 100 LET a$ = "SOUND" = STR$x 110 LET Z = Z + 500 120 CLS: PRINT "SAVING" ; A$ 130 SAVE * "m"; 1; a$ CODE Z, 500 140 NEXT x Don't forget to start the tape! Sounds 31-50 are on the other side of the tape (side b) so turn the tape over, just change line 10 in above program to read: 10 LET a = 31, LET b = 50 Rerun the program. 16: The entire "Spectrum Sound Effects" package is now on your M/Drive (hopefully!). It can be loaded with: LOAD * "m" ; 1; "SOUND FX" Specify 'm' to "Tape or M/Drive" message. (c) Copyright 1984 John V. Green. All rights reserved. No part of this program, packaging or documentation may be reproduced in any form. Unauthorised copying, hiring, lending or sale and repurchase prohibited without prior permission from M.F.M. Data Services Ltd., 141a Camden Road, Tunbridge Wells, Kent, TN1 2RA. Where any part of 'Spectrum Sound Effects' is used commercially or otherwise a prominent credit of that use must be given to M.F.M. Data Services Ltd.