I've never used Go before, but this is making me seriously consider trying it out. All of the DSP classes I've taken recommend Matlab + the DSP toolbox, and I would love to have a serious alternative.
It depends on what you mean by "a serious alternative". DSP functions exist in python too (http://docs.scipy.org/doc/scipy/reference/signal.html), but where MATLAB wins out is with their Simulink library, which doesn't have an open source alternative.....yet. AFAIK.
You've been taking the wrong classes :P No, seriously, there's way more to DSP than matlab. You can pretty much do it in any language. For example in shool we used C++ combined with the Intel IPP libraries (which are really fast btw). The first book I bought for a job was C + bits of optimized assembly since it was written specifically for a TI Dsp. I've also played with it in Python but don't remember the lib name atm.
You might scratch the surface of DSP by taking a Matlab-centric course, but if you'd like to do it as a career you're far better off to go in and implement some of the more fundamental algorithms you're using.
Implementing FFT or DCT on actual hardware (which supports a multiply/accumulate instruction over a true DSP memory architecture) will give you the tools that you need when it comes time to troubleshoot (read: use) some vendor's shitty proprietary DSP library.
That said, learn the Matlab stuff too. It's endlessly useful for prototyping, and it's pretty much industry standard in this use. Just don't take it for granted.
For prototyping, I go with SciPy. So I can deploy at least a demonstration without the need to reprogram the algorithm in a new language.
Specially useful when the algorithm is actually a tool which can be used several times, changing the parameters. I put it on a web server and share it wit my colleagues.
how do you recommend getting into this sort of stuff? i have some basic experience with microcontrollers and i'm interested in some dsp hardware projects but i'm not sure where to start as the classes offered do not touch hardware..
the only real way is to get hardware. If you have some experience already, you shouldn't need a course: I can't find the current prices immdeiately, but a couple of years ago something like 250$ got you a fully functional development board (including some analog I/O) + corresponding IDE + signal processing example code of a true DSP like the TI C6000 series. Example of a current version would be http://www.ti.com/tool/tmdxevm6670
It's hard to say this would be a serious alternative from a first glance. Matlab has a rich history and an enormous breadth and depth of support just doesn't have.
This Go code hasn't broken into filter design, visualization or multi-rate methods. I still think its cool that OP is working on this but its far from being a true alternative to Matlab.