Input Linear Transforms

When reading feature vectors from files HTK will coerce them to the TARGETKIND specified in the config file. Often the TARGETKIND will contain certain qualifiers (specifying for example delta parameters). In addition to this parameter coercion it is possible to apply a linear transform before, or after, appending delta, acceleration and third derivative parameters.

\framebox[70mm]{
\begin{minipage}{70mm}
\begin{program}
\mbox{$\sim$\textsf{j ...
...0 0.1 0.2 0.1 0.4\\
\> \> \> 0.2 1.0 0.1 0.1 0.1
\end{program} \end{minipage} }



Fig. 7..7 Input Linear Transform

Figure 7.16 shows an example linear transform. The $ <$PreQual$ >$ keyword specifies that the linear transform is to be applied before the delta and delta-delta parameters specified in TARGETKIND are added. The default mode, no $ <$PreQual$ >$ keyword, applies the linear transform after the addition of the qualifiers.

The linear transform fully supports projection from higher number of features to a smaller number of features. In the example, the parameterised data must consist of 5 MFCC parameters7.5. The model sets that are generated using this transform have a vector size of 2.

By default the linear transform is stored with the HMM. This is achieved by adding the $ <$InputXform$ >$ keyword and specifying the transform or macroname. To allow compatibility with tools only supporting the old format models it is possible to specify that no linear transform is to be stored with the model.

    # Do not store linear transform
    HMODEL: SAVEINPUTXFORM = FALSE
In addition it is possible to specify the linear transform as a HPARM configuration variable, MATRTRANFN.
    # Specifying an input linear transform
    HPARM: MATTRANFN = /home/test/lintran.mat
When a linear transform is specified in this form it is not necessary to have a macroname linked with it. In this case the filename will be used as the macroname (having stripped the directory name)


Back to HTK site
See front page for HTK Authors