Unsupervised learning of harmonic analysis based on a hidden semi-Markov model (HSMM) with code quality templates.