how to process audio files in Matlab
Spectrum, FFT magnitude, and pwelch are pretty much the same thing, i.e. a metric of energy density as a function of frequency. They all can be configured in different ways: window length, window shape, overlap, FFT size, lin/log representation, smoothing, different averaging methods, etc. 
All these parameters need to be chosen carefully depending on the requirements of your application: how fast do you need to track, what frequency resolution do you need,  what's the  noise spectrum look like etc.
Choosing the parameters properly is actually more important than the core algorithm (which is more or less the same anyway).