MUSIC algorithm for peak detection
We could say MUSIC is optimal algorithm for spectrum estimation if the number of spectral peaks is a priory known and is less than estimator order, $M$. In MUSIC we need to estimate $R_{xx}$ autocovariance matrix of input random process first. The matrix dimension is limited to estimator's order, $M$. Second step is to perform SVD: $R_{xx} = U\cdot\Sigma\cdot V^{H}$ and $\Sigma$ is diagonal matrix with mimension also $M$. This matrix contains singular values of $R_{xx}$, the largest $K$ values correspond to signal's subspace while other - to noise one. For obvious reason $K &lt; M$, so the limitation of the number of spectral peaks (in the other words - harmonic signal sources) becomes clear.

When you use MUSIC in practice to estimate PSD you need either to know actual number of not noise signals in the mixture or to estimate this number after SVD by some kind of threshold or ML search. If your a priory information or estimation isn't valid, it can strongly violate algorithm performance.

What you're searching is number of sources estimation or source enumeration. You can look through this article for example. In the case of MUSIC source enumeration problem can be viwed as signal's subspace estimation problem. You can find simple approach for the problem's solving in this article. It is called MDL, I checked it once while modeling the described SNR estimation algorithm in MATLAB. It seems to work well for pretty low SNR values. But remember you can't overcome limitation of $K &lt; M$ for subspace based methods as I've described above.

Hope it helps.