You could probably do a lot of these things with a kernel driver and lights-on detect/mute lines into the empeg; they can be programmed to generate interrupts on an edge and should easily be able to handle a lightweight IRQ several thousand times a second

Hugo