Presented by : Cameron Fuller
Advanced sound engines with complex synthesis algorithms require low-latency sample generation to keep up with real-time synthesis. Microprocessors such as Analog Devices’ SHARC make use of DSP-specific architecture to facilitate high performance, but tailored code generation at runtime remains an underutilized opportunity for optimization. Here I describe the EaganMatrix Compiler (EMC), a code-generating algorithm implemented on the SHARC to optimize audio sample generation for the EaganMatrix, the internal sound engine of the Haken Continuum Fingerboard. With Single Instruction/Multiple Data (SIMD) capabilities of the SHARC, the EMC’s generated code can evaluate the EaganMatrix at 500 picoseconds per matrix point, twice as fast as the EaganMatrix’s previous optimizations and 40 times faster than functionally identical code generated by Analog Devices’ C/C++ compiler for SHARC. This improved efficiency reduces the computational demand of complex EaganMatrix presets, especially for high polyphony.