Warmed up!

I got a little hooked on my coding “warmup” from last week, and have now optimised all parts of the mixdown stage of the Pithesiser. The ARM chip in the Pi has some nice parallel operation instructions like MMX which GCC doesn’t seem to use (even with the right CPU settings) – by judiciously deploying those along with a little light loop unrolling, I’ve achieved roughly a 38% speedup over the optimised C versions.

Having got through this, I really should look at working on features… coming back to this project, I’ve found there’s some usability bumps I’d been glossing over – filter envelopes need hooking up to MIDI controllers, UI displays are needed for indicating settings, saving and loading of patches would be very useful…

(c) 2013 Nicholas Tuckett

Advertisements