In the following I am showing how to fix error 2226 occuring during HRest initialization training, when you don’t know where it comes from. The stated solution was copied from Google Cache, since the original Voiceforge forum post is not accessible anymore. I wanted to rescue its contents, since it helped me a lot. Many thanks go to the Voiceforge user imene therefore. So here the solution follows:
I work on integrating the auxiliary features (like: pitch, and formants) in standard HMM based on MFCC. The problem is that I train my HMM with a long acoustic vector which contains MFCC+pitch+3 formant and their first and second derivatives. The following error occurs when doing initial training with HRest:
ERROR [+2226] ReEstimateModel: No Usable Training Examples
FATAL ERROR – Terminating program HRest
Here is the meaning from that error taken from the official HTK documentation:
No training data
None of the supplied training data could be used to re-estimate the model. Data may be corrupt.
The error happened because the diagonal covariance component falls below 0.00001. Then the corresponding mixture weight is set to zero.
The solution is stated on page 284 of HTK 3.3 book:
If any diagonal covariance component falls below 0.00001, then the corresponding mixture weight is set to zero. A warning is issued if the number of mixtures is greater than one, otherwise an error occurs. Applying a variance floor via the -v option or a variance floor macro can be used to prevent this.
I used the option -v in the tool HRest with the value -v 0.000001 instead of the default value 0.00001. That fixed my error.