I am using the excellent MIRToolbox for Matlab for a lot of sound analysis applications these days. It meets a lot of my needs, but there are a few things that I miss. Perhaps the most important one is the ability to make clean greyscale spectrograms. The regular mirspectrum function returns a colour spectrogram with lots of garnish, like this:
Such a spectrogram may be useful in some contexts, but not always. Often I just want a plain, greyscale spectrogram, like this:
Here is my trick to do this, based on mirspectrum:
as=mirspectrum(a, 'Frame', 'Max', 3000);
lgrays(i,:) = 1-i/100;
Let me know if you have a better solution for doing this.