Although the polynomial paths do generate a variety of peaks and troughs (as compared to the standard paths described above), because of the equidistant zero-crossings used to generate the polynomials, the rate of the peaks and troughs remains constant. One can have multiple periodicities, but they remain periodicities. As a result, I wondered what would happen if one used an amplitude modulated FM function for the generation of the paths: f(t)=sin(2Pi f1 t/sr)*sin(2Pi f2 t/sr + mi*sin(2Pi f3 t/sr))
The postulate was that the change of rate of peaks and troughs would be determined by the FM function, and the change of magnitude of peaks and troughs would be determined by the AM function.
Please note that the FM and AM functions are not being used to directly generate sound samples. Rather, they are being used to generate the path that will be followed by the variables in every segment.
Specification of the amfm function is done in the following way:
# TrikTraks: input file for amfm (1) 200 100 amfm 0.75 1 1.25 1.5 3 # duration 30000 -30000 amfm 0.5 0.4 0.6 0.8 # amplitude
The first two numbers specify, again, the range of the path (maximum and minimum), followed by the type of path chosen (``amfm''). The following numbers represent: 1) f1, the frequency of the amplitude modulation; 2) f2, carrier frequency for FM; 3) f3 modulation frequency for FM; and 4) mi, modulation index for FM.
This is a normalized plot of both the sample and amplitude paths for the above data:

As you can see, the resulting complexity of the path is greater than that of either the polynomial paths or the standard waveform paths.
The amfm path can be used in conjunction with the polynomial paths or the standard paths described above. Thus, an waveform can be constructed using standard waveforms, and polynomials, and the amfm function.
The implementation of the amfm paths is similar to that described for the polynomial paths above: the function is evaluated, the output is scaled and loaded into a table, and output values are interpolated from the table.
As an example of the variety of path combinations available with the amfm function, the input files and normalized plots for two segments are given below.
# TrikTraks: input file for amfm (2) 50 10 amfm 1 1.25 1.5 1.75 # duration 10000 -10000 amfm 0.15 0.5 0.9 4 # amplitude

# TrikTraks: input file for amfm (3) 100 80 amfm 0.075 0.5 1 2 # duration 20000 -20000 amfm 0.1 0.02 0.03 20 # amplitude
