Beebug
1st July 1983The BBC Micro Speech Upgrade
Make Your Micro Speak Like Kenneth Kendall
The speech upgrade for the Beeb will be available shortly from dealers. The upgrade will cost £55 including VAT, and will need to be performed by a dealer. The reason for this is that some machines require modifications to the pcb to implement speech, and in any case, the upgrade will include the fitting of a cartridge ROM socket in the slot to the left of the keyboard. The ROM socket will then be available for plug-in ROM programs, and for vocabulary expansion of the speech unit.
The speech unit itself essentially requires the addition of two ICs. One is a Texas Instruments speech processor, the other a vocabulary ROM. The ROM supplied with the upgrade (coded PHROM A - (Phrase ROM)) contains a vocabulary of around 168 words or sounds. These include the ASCII set with additions like "hundred", "thousand" etc, and extensions which allow the creation of words such as "seven-ty", "eight-ty" etc.
Speech is accessed very simply using a variant of the SOUND command. For example SOUND -1, ASC"P",@,0 will cause the letter "P" to be spoken. The two zeros at the end are redundant, and are only included to keep the syntax the same as for the normal use of SOUND. The operating system allows words to be called up from the PHROM in different ways. You can define the word required by using the so-called word number, or by using an ASCII letter, or by giving an absolute address in PHROM of the start of the word. This allows great flexibility.
As an example of the use of a word number, the command SOUND -1,160,0,0 will produce the word "Acorn". The speech system user guide contains a directory of words and sounds with their appropriate word numbers and addresses. Sounds with word numbers in the range 32 to 126 have a direct or indirect association with the ASCII characters of the same range, and can be called as in the first example.
Thus SOUND -1,ASC"Q",0,0 will produce the SOUND "Q". The pound sign produces the word "pound", and so on. These may be easily accessed with the following simple program given in the speech system user guide:
REPEAT: SOUND -1,GET,@,@:UNTIL @
This will "speak" any key pressed, with the lower case letters producing a range of complete words. The following program will speak the whole vocabulary of PHROM A. This takes about two minutes, suggesting how well packed the data is. Traditionally stored data would require a 5@k byte ROM to generate 2 minutes of speech.
10 FOR A% = 32 TO 291
20 SOUND -1, A%,0,0
30 NEXT
More words can be generated by combining sounds - for example EIGHT + TEEN (there is a special shortened version of the numbers for this purpose) and COMPUTE + ING etc.
Words may also be called up by a direct address, and a particular advantage of this is that the data for the word can be in RAM. This enables the user to experiment with the sounds produced. And although the data blocks used are so complex as to preclude the creation of new words, it would certainly be possible to edit data for words already supplied. It is also possible to access speech from machine code using special OSBYTE and OSWORD calls. This is documented in the clearly written manual.
As I hope I have implied, using the system is extremely easy, moreover the quality of reproduction is extremely good. There are just three keyboard letters that do not sound quite right (B, D and M), but for the rest, the words are not only understandable, but clearly articulated in an obviously English accent which still retains something of its maker Kenneth Kendall. (It was Kenneth Kendall whose voice was used to create the data for PHROM A.)
The speech upgrade provides a most interesting addition to the BBC micro's facilities, and compares very favourably in quality with add-on speech units for other micros. Its most obvious immediate use would appear to be for the visually handicapped, and in primary education, where programs of the 'speak and spell' variety could be used as a teaching aid in spelling and simple arithmetic. One other area of application could be in permitting computer output when the operator cannot see the screen, or when the screen is in full use, as for example in 'speaking cursor co-ordinates' in a screen drawing program. It could also enhance strategy games such as chess or Star Trek; though PHROM A vocabulary could prove somewhat limiting.