yes and it's very cool! if you're interested in learning, i'd look into the filtering approach.
maybe could try pyfda and the filtering functions in scipy.signal to start playing around.
or if you have access to matlab it has some really excellent filter design tools.
regarding the hardware/dsp: many cpus include simd instructions these days, which basically are an interface to a hidden digital signal coprocessor. :)