As many small devices do not have floating point processors we have also started looking at how much of the system can be done in fixed point arithmetic. By far the most computationally intensive part of the synthesis process is the reconstruction of the signal from the LPC coefficients and residuals. We have experimented with replacing that function with a fixed point equivalent, and encoded the unit database accordingly (and adjusted the residuals with respect to the error the fixed point LPC representation introduces). The result, although different from the floating point version is indistinguishable. Importantly however it is much faster on processors without floating point allowing us to run on a 486SX 33MHz machine in 1.5 times faster than real time.
There are other aspects of the system that use floating point and they too deserve addressing.