Conclusion
We have shown in this thesis that real-time implementation of the Asymmetrical Frequency Modulation (AFM) technique is possible on a modern DSP such as the Motorola DSP56000. With its ability to shift the power of the spectrum to either side of the fundamental frequency by changing the value of r, i.e. when r < 1.0, power shifts to the left of the fundamental frequency and when r > 1.0, power shifts to the right of the fundamental frequency, it is superior to the FM technique where spectrum control is concerned while it still behaves like the FM technique. When the parameter r is not equal to 1.0, AFM is essentially a synthesis technique that combines Frequency Modulation (FM) and Amplitude Modulation (AM). The AM part of the AFM equation is a function of the modulator frequency fm , the modulation index I and the parameter r. When r is set to 1.0, the AM part of the AFM equation will become unity and AFM will become the original FM. This is also a very convenient way to switch between the AFM and FM synthesis methods without reprogramming and it is also a very convenient way to mix both AFM and FM operators in the synthesis program.
We have also introduced and demonstrated a new sound synthesis method, Double Frequency Modulation (DFM). The DFM synthesis technique is a modification of the FM technique. In this modification, the carrier frequency fc is removed from the equation and another modulator is added into the equation summing it together with the first modulator. Hence the name Double Frequency Modulation.
In the programming part of this research project, the Apple Macintosh desktop computer, with the right combination of hardware such as the DSP56000 and software, has proven to be a capable platform for digital signal processing. The standard Macintosh programming environment, Macintosh Programmers' Workshop (MPW), has a very good user interface in which the programming environment is properly integrated so that one does not have to stop a process in order to temporarily go into another process. The MPW can compile and link programs in the background while the user edits and does changes to his other programs and files. The software tools that come with the DSP56000 readily interface with the MPW environment to become part of the MPW command and function menus. In addition to the DSP56000 tools, we can also program in assembly language and control the DSP56000 from the Macintosh computer directly. This is useful as programs written in assembly language are usually many times faster than the equivalent programs written in higher level computer languages.
The control program was written in another integrated C programming environment called THINK C. The THINK C built-in debugging tool was very useful when there were programming errors that were omitted by accident. The debugging tool could pinpoint an error and display the state of the CPU at that particular point.
The THINK C environment was also used to do in-line assembly language programming wherever a few raw CPU dependent instructions had to be inserted in the high level language program. This was especially fast and useful for bit manipulation processes for the signal processing algorithms.
In the study of the behaviour and prediction of the spectra of the synthesis algorithms, we used the Silicon Graphics Personal IRIS workstation for its computation power and easily programmed TEKTRONIX graphics screen emulator. The fast floating point operation of the IRIS, which is about 0.9 MFLOPS, enabled us to program in such a way that we could animate the spectra changes of a particular synthesis technique on the screen by changing the synthesis parameters.
We were able to implement DFM on the Motorola DSP56000 in real-time. DFM is much simpler than AFM in terms of programming and speed of execution. This is an advantage compared with AFM as it is always cheaper to implement simpler programs with limited memory and computation power. This is because the AFM algorithm requires more operations to implement which takes up many more clock cycles than multiplication and it also needs to refer to an exponential lookup table which takes up a fairly large part of the DSP memory. With only one DFM operator, we were able to synthesize musical instruments fairly accurately as compared to using only one FM operator. This is also an advantage as the more operators we use, the more costly it is to implement and to program a synthesis algorithm.
We believe that with an even more powerful DSP, such as the Motorola DSP96002 which can run at a faster clock cycle (operating at 33.3 MHz) and perform floating point arithmetic (it can perform 50 million floating-point operations per second (MFLOPS)) instead of just integer arithmetic like the Motorola DSP56000 (operating at 20.5 MHz), the DFM and the normalized AFM synthesis (i.e. the generated waveform does not exceed 1.0 in amplitude) methods can be combined. In this way, the advantages of both can be utilised fully, for example, using three normalized AFM operator and three DFM operator synthesis algorithms where the six operators can be connected to each other in many combinations. Such combinations include the simple addition of outputs from all six operators; stacked AFM operators where the outputs of one or more AFM operators are the modulation indices of other AFM operators or DFM operators.
Instead of the sounds of conventional musical instruments, we believe that other new sounds that are beyond the reach of other synthesis algorithms can be created by DFM and that the programmer can therefore indulge his creativity even more fully.