Wave-Designer bugs and solutions

Dr Mike Mellors
I received a copy of the Soundsculptures Music 5000 Wave-Designer software package for a BBC Master 128K computer earlier this year. The software is very good, has obviously been well thought out, and is easy to use. In particular, the manual is excellent.
There are niggles, such as no choice of disc drive other than 0 for all disc I/O, but then it is difficult to get everything right for all users. I did find that the printing option worked without problems on my Star NL10 printer once line feeds were enabled (see earlier review in AMPLINEX 004).
However, the software does contain some bugs - 3 small ones that the user can live with if he knows about them, and 1 very large one that the user should not live with and of which he may be unaware. I have written to the designer to ask him to consider correcting these bugs.
I must emphasise that my observations and comments apply to the BBC Master compatible version of the Wave-Designer package for the Music 5000. I believe that the large bug applies also to the Music 500, since the Music 500 software produces correct waveforms on the Music 5000 hardware.
The bugs are listed below :
1) The PLAY facility: the computer hangs up at the data transfer stage with the transfer message remaining on screen. CTRL+BREAK is the only way out. Hence this useful design facility cannot be used, which means that all waveforms have to be stored on disc before loading into the Music 5000.
2) When individual waveforms (preset W) are loaded from disc into the Wave-Designer, only odd-numbered waveform stores are loaded correctly.
When loading a waveform into an even-numbered store the first point of the waveform (point number 1) loads into the location intended for point number 128 of the previous odd-numbered waveform. The remaining points (2 to 128) load into locations intended for its points 1-127. The location for point 128 remains unloaded.
Thus, if you load wave stores 1 to 13 in that order, one at a time, each odd-numbered store has its point number 128 corrupted and each even-numbered store has its point number 1 corrupted. Avoid the bug by using only odd-numbered waveform stores for loading in single waveforms (preset W).
For a single file of 13 waves (preset P) the loading into the waveform stores occurs without error.
3) When saving a set of 13 waveforms (preset P) to disc the last point (number 128 of waveform 13) does not get saved. Hence this point remains at some previous value for waveform 13 when the file is loaded into the Music 5000 or the Wave-Designer.
4) The Wave-Designer data files do not produce the designed waveforms when loaded into the Music 5000. The waveforms produced are severely distorted in a non-linear fashion when compared with the designed waveforms, which means that the spectral content of the sound produced is different to that designed.
Bug number 1 is unfortunate, but in view of bug number 4 it is irrelevant. This last bug was found through curiosity - to see how closely the waveforms emerging from the Music 5000 compared with the designed waveforms. I put an oscilloscope on the output of one of the channels of the Music 5000 taking care to switch off the other channel by setting its AMP to zero. I was amazed to find that the waveform I saw looked nothing like that expected.
A few measurements and calculations soon confirmed that a logarithmic conversion had being applied to the Wave-Designer data by the time it emerged from the Music 5000. A look inside the Music 5000 (how else could I find out?) not only confirmed the form of conversion but also the parameters of the law being applied.
Hybrid Technology have used a mu-law DAC chip to enable high dynamic range and high signal-to-quantization noise to be obtained with 8-bit data. It seems the Wave-Designer does not take this into account in loading the data into the Music 5000. If the waveform data were encoded correctly before loading into the Music 5000 the designed waveforms would be produced.
I have, therefore, written a program to enable users of the Wave-Designer to obtain the designed waveforms from the Music 5000. The program encodes the waveform data files stored on disc by the Wave-Designer into the correct form, so that subsequent loading of the encoded data produces the correct results.
During the design phase both the original and encoded data files need to be kept, since the Wave-Designer works with the original files and the Music 5000 needs the encoded files if the user is to hear the sound of the waveform as designed. Only when the design is finished can the original data be deleted.
The data conversion program works with DFS and assumes files of prefix W or P as used by the Wave-Designer system. The program removes bug number 2 by prompting the user for the value of point number 128 for waveform 13 for waveforms with preset P. The program also allows the user to choose disc drive numbers for original (input) and encoded (output) files.
I would suggest that a copy of the program is stored on the waveform disc.
As well as producing encoded data files for the Music 5000 the program can also produce data files which, when loaded into the Wave-Designer, will show the user what Music 5000 waveforms result without the encoding process. Hence you can view the results you would normally get. These are 'view' files, distinguished by giving them a file name beginning with the letters VIEW (lower case letters are also acceptable).
The program should run on BBC B, B+ and Master machines. It has been set to run with PAGE at &1900 and has been tested on a BBC Master and Model B. The instructions for running the program are given below. The program prompts for all the input required.
Instructions for the wave converter program U.TFWave:
1) Enter *RUN U.TFWave to run the program
2) Enter a disc drive number for the input files (those produced by the Wave-Designer) and for the output files (those to be produced by U.TFWave)
3) Enter the file prefix, W or P, as assigned by the Wave-Designer
4) Enter the input and output file names (if drive numbers are the same and file names identical then the output file overwrites the input file, which might be desired when a design is completed). Note that an output file beginning with the letters VIEW will produce a file for input to the Wave-Designer which will enable you to 'view' the Music 5000 output which would be produced by the original Wave-Designer data
5) If the file prefix is P the value of point number 128 for waveform 13 will be requested
6) When the output file has been produced you can choose to continue with another file, change disc drive numbers, or exit the program
If any file fails to open an appropriate message is issued. Replies to the prompts should not be preceded by spaces. The Return key is used to enter the reply to allow any mistakes to be corrected.
The Wave-Designer is a good piece of software but its bugs need correcting. I hope the U.TFWave program enables users to make proper use of the Wave-Designer software package.

Related file on this disc:
U.TFWave - Wave-Designer data file converter

Published in AMPLINEX 012, July 1989