When performing FM voice synthesis, a short cycle waveform is used in a loop. Therefore, the output value (function) of the address pointer will be as shown in Figure 4.17.
Figure 4.17 Address pointer output value when executing FM voice synthesis (1)
Figure 4.17 Address pointer output value when executing FM voice synthesis (1)
Set the start address to address a, set the loop start address value to "0000H", and set the waveform read address and waveform loop start address to the same address. Furthermore, by setting the loop end address so that address b becomes the waveform loop end address, a waveform like the one shown in Figure 4.17 will be obtained.
Figure 4.18 Address pointer output value when executing FM voice synthesis (2)
Figure 4.18 Address pointer output value when executing FM voice synthesis (2)
If the output value of the address pointer is made linear as shown in Figure 4.18 (waveform A), it will be output according to the waveform of RAM (waveform 1). However, when it becomes a nonlinear function (waveform B), the way the waveform is read changes, and waveform 2 is output. When the waveform is transformed in this way, the tone changes.
FM speech synthesis is an application of distorting the waveform by varying this phase value over time. The FM voice synthesis method actually uses a method of adding the output values of other (or own) slots to make the address pointer output value (phase value) nonlinear. Up until now, we have explained the normal mode as an example, but it is also possible to set reverse loop and alternative loop by changing the "LPCTL" register. The loop data that can be specified by the "LPCTL" register is shown in Figures 4.19, 4.20, and 4.21.
Figure 4.19 Normal loop
Figure 4.20 Reverse loop
Figure 4.21 Alternative loop
Normal loop and reverse loop assume that the data corresponding to "LSA" and "LEA" are the same, so please copy the data of "LSA" to "LEA" to create loop data. The alternative loop setting value must be "LSA"< Please set it to be "LEA" ("LSA" in all loops).> (Operation cannot be guaranteed if "LEA" is selected.) Also, by placing duplicate data at the loop start point and loop end point, you can match the pitch of an alternative loop to the pitch of other loop modes. When the loop mode of all waveforms is limited to alternative loop, the data corresponding to "LSA" and "LEA" do not need to be the same value.
A block diagram of how to actually implement FM speech synthesis is shown in Figure 4.22.
Figure 4.22 FM sound source configuration diagram
Each block of the FM sound source configuration diagram is explained below.