|Hardware Feature #30|
|Currah Microspeech||Currah Computer Components||£29.95|
U Speech unit is a black plastic box which plugs into the
back of a Spectrum and gives an amazing
There are two leads from the unit. One goes into the aerial socket and the other into the MIC socket. The lead to the TV is then plugged into the back of the unit. That must be done before powering up the Spectrum.
The unit provides its own copyright message at the top of the screen when powered up and by pressing it will also start the unit into its keyvoice mode. That is where every key used is spoken by the unit. All the keywords except the tilth (~) are spoken - even the direction arrows which come out as CURSOR. The colours, of course, are not spoken or the or the various modes.
The keyvoice is controlled by a variable called KEYS and can be turned off by LET KEYS=0. That can be used directly or in the program and the keyvoice can be turned on again by LET KEYS=1. The keyvoice also works for keys pressed in the INPUT or INKEY$ unless disabled.
Another useful feature is that S$ has been allocated as a speech buffer and any LET S$ command makes S$ into a spoken string. Only letters are allowed, which is a pity, since numbers would be useful. Letters can also be used in brackets to give single or double allophones. An allophone is a sound rather than a letter in speech and words must be programmed to sound correct.
Most words will be satisfactory if typed-in directly but O's A's and some others may need a set of allophones instead. In that respect the booklet with the unit is very good, giving clear examples and a list of suitable alternatives. Unfortunately the variable KEYS does not effect the speaking of S$.
For the technically minded, the unit contains a ULA which works on a WRITE command from the microprocessor, a ROM containing the keyword speech patterns and SP0256-AL2 speech processor. It also contains a clock for clear speech and an audio modulator to transfer the sound to the TV lead. The sound can be adjusted by using a screwdriver on the screw showing at the top right hand side of the unit.
U-Speech allocates itself the top 256 bytes of memory at
switch-on and moves down the USR graphics and
Time must be allowed in all programs for the speech as it is updated only by the keyboard interrupt routine every 50ms. That also means that during SAVE/LOAD/VERIFY/BEEP and dealings with any device connected to interface one - i.e. Microdrive, RS232 or network - no speech should be in progress. That is because the speech will continue as one sound until the operation is finished.
The unit is extremely useful but time has not permitted it to be tested with any other units to see if they clash. What is presented is a very good clear speech box, with a very easy way to program it and, even more useful, a spoken response to any key input. That might become a more than essential unit for some disabled users.
The following review was taken from Crash. Issue 2
PARDON ME, I'LL SAY THAT AGAIN !
Ever had your mother constantly nagging at you while playing something interesting? Well, now you can improve the situation by having the Spectrum do the same. Impossible? Not any more with the Microspeech unit. The only difference is that the voice will sound like a Dalek rather than a Siren (your mother) and that you can switch it off whenever you feel like it (Try that with your mother)!
Considering the power of voice, the unit is very compact and installing it is kid's stuff. You also gain a beep amplifier, because the sound is directed through your TV speaker. The detailed Programming Manual and Demonstration Tape display the whole 'voice' Spectrum at your disposal and if you can't get to grips with it, try listening to your mother now and again.
the unit is an allophone system, which means that like
you and I it doesn't care about the writing or spelling
of the words, but simply speaks by concatenating speech
sounds (allophones). To this purpose the string variable
s$ has been reserved, which can be assigned by a LET
The FIFO buffer resides near the top of memory between RAMTOP and UDG area and depending on the length of the buffer RAMTOP will have to be lowered with a CLEAR statement. The speech unit initialises RAM-TOP on start-up to allow for a 256 byte buffer (RAMTOP = 65111 on a 48K machine) but this can be increased to the detriment of the BASIC memory area. There are 64 allophone codes and therefore 64 allophone symbols to choose from.
A one step intonation facility is provided (Daleks also get excited and raise their voices!) by using upper case letters (adds decimal 64 to the allophone code). You can create a word or phrase library by assigning string variables consecutively to the reserved s$ string (always with PAUSE 1 in between), or you can concatenate individual string variables to form s$. A more compact solution is to use a string array and concatenate and even slice the individual array elements.
If you don't mind operating with allophone codes directly, you can bypass the interpreter and operate directly on the FIFO buffer by POKEing the codes directly into the buffer memory area. Once loaded you set the stack pointer to one below the last item in the buffer to be voiced by POKEing the stack pointer and -bedlam! Your Spectrum becomes an instant party killer! Loading the buffer can be executed with a small BASIC loader program either via INPUT command or via DATA statements:
10 LET a =
10 LET a =
Whatever way you choose, always make sure your stack area doesn't drop below RAMTOP or your BASIC program will crash... In a similar way the machine code aficionado can (man) handle the FIFO and stack pointer directly from assembler or native code and so incorporate voice into his silent Dalek game. Mind you, in space nobody can hear even the Spectrum scream!
If all this is softwearing you down and you are 'first and foremost' a game player, have no fear: The Currah Microspeech is rapidly becoming an industry standard add-on and the list below gives a hint of the games which already include voice facility. But beware of using the speech unit in combination with non compatible programs:
BASIC and m/c programs will undoubtedly crash or develop unwanted and potentially dangerous side effects due to the clashing of the FIFO buffer area with the program's own stack or program area (Play DEATHCHASE or ATIC ATAC and you'll know what I mean).
wondering where to plug in your joystick interface, be
ready for a surprise:
Throughout the usage of the Currah Microspeech you will become increasingly neurotic and paranoid, believing to hear each and every word or thought repeated by an inhuman voice. Before consulting your psychiatrist, try entering LET keys = 0 and you will find immediate remedy and absolute tranquillity while you key in your latest software creation: This command will disable the voicing of all the BASIC keywords and printable characters and you will instantly be able to hear yourself think again.
small unit. Also acts as only a sound amplifier by
diverting BEEP sound to TV loudspeaker. Easy programming
from BASIC and m/c as the unit is totally independent. It
only requires feeding of a stack and setting of a stack
pointer. But, as stack pointer and flagbytes reside in
top of Spectrum memory:
Price: High for a Spectrum add-on, but considering the complexity of the unit (speech chip controlled by allophone symbol interpreter/microprocessor) a small miracle. The unit comes packaged in an attractive card box with transparent window, complete with demonstration cassette, programming manual and all necessary connections. May be used with either 16K or 48K Spectrum.
Supported by Currah Microspeech:
|[ Main Page ] [ Features ]|