When performing FM speech synthesis, a short-period waveform is used in a loop. Therefore, the output value (function) of the address pointer is as shown in Figure 4.17. Figure 4.17 Address pointer output value when FM speech synthesis is executed (1)

Figure 4.17 Address pointer output value when FM speech synthesis is executed (1)

Set the start address to the address of a, set the value of the loop start address to "0000H", and set the waveform read address and the waveform loop start address to the same address. Furthermore, if the loop end address is set so that the address of b becomes the waveform loop end address, the waveform shown in Fig. 4.17 can be obtained. Figure 4.18 Address pointer output value when FM speech synthesis is executed (2)

Figure 4.18 Address pointer output value when FM speech synthesis is executed (2)

When the output value of the address pointer is linearized as shown in Fig. 4.18 (waveform A), it is output according to the waveform of RAM (waveform 1). However, when it becomes a non-linear function (waveform of B), the way of reading the waveform changes and the waveform of 2 is output. When the waveform is deformed in this way, the timbre changes.
The FM speech synthesis method is an application that distorts the waveform by changing this phase value over time. The FM speech synthesis method uses a method of making the address pointer output value (phase value) non-linear, and actually adds the output values of other (or own) slots. Up to now, the explanation has been given using the normal mode as an example, but in addition, the reverse loop and alternative loop can be set by changing the "LPCTL" register. The loop data that can be specified by the "LPCTL" register is shown in Fig. 4.19, Fig. 4.20, and Fig. 4.21. Figure 4.19 Normal loop

Figure 4.20 Reverse loop

Figure 4.21 Alternative loop

Since it is assumed that the data corresponding to "LSA" and "LEA" are the same for the normal loop and the reverse loop, copy the data of "LSA" to "LEA" to create the loop data. Be sure to set the alternative loop setting value so that "LSA" <"LEA" (operation cannot be guaranteed if "LSA"> "LEA" is set in all loops). You can also place duplicate data at the loop start point and loop endpoint to match the pitch for alternative loops with the pitch for other loop modes. When the loop mode of all waveforms is limited to the alternative loop, the data corresponding to "LSA" and "LEA" do not have to be the same value. Figure 4.22 shows the actual FM speech synthesis method in a block diagram. Figure 4.22 FM sound source configuration diagram

Each block of the FM sound source configuration diagram is explained below.