- What is the role of Microsoft in all this?
See the 'History of HTK'
page on the website for a full
explanation. The short version is:
HTK was originally developed at the Cambridge University
Engineering Department (CUED). In 1993 Entropic Research
Laboratory Inc. acquired the rights to sell HTK and the
development of HTK was fully transferred to Entropic in 1995
when the Entropic Cambridge Research Laboratory Ltd was
established. HTK was sold by Entropic until 1999 when
Microsoft bought Entropic. Microsoft has now licensed HTK back
to CUED and is providing support so that CUED can redistribute
HTK and provide development support via the HTK3 web site.
While Microsoft retains the copyright to the existing HTK
code, everybody is encouraged to make changes to the source
code and contribute them for inclusion in HTK3.
- Can I build & sell products based on HTK3?
You may build a product but you are not allowed to
redistribute (parts of) HTK3, i.e. you can't ship shrink-wrap
boxes with products that contain HTK3 code.
- Can I use this version for teaching & academic research?
- Can I use this version in commercial product Research & Development?
Yes. You can for example use HTK3 to train models that are
then used in your products.
- Can I use HDecode in commercial product Research & Development?
The licence agreement for HDecode is more restrictive that
the standard HTK licence. HDecode is primarily distributed for
research purposes only, BUT may be used as part of the training
process for producing models for products. This is to
enable users to make use of the discriminative training
code. If in doubt you should contact the licensor.
- What is HTK and what is it not?
HTK is a toolkit for research in automatic speech recognition
and has been used in many commercial and academic research
groups for many years.
It is not a desktop dictation system or an application that
you just install on your PC to get a speech interface to your
- Are there any teaching materials available that use HTK3?
Not yet, but we always welcome contributions.
- I have a problem using HTK3 -- where can I get support?
In the first instance search
the HTK website for
the answer to your questions. Otherwise, you can ask on one of the HTK
specific mailing lists (see
Mailing List page).
Queries about the use of HTK3 should be addressed to
Be aware that you need to be a member of this mailing list in order to post messages.
- How can I learn more about Automatic Speech Recognition?
Have a look at our list of standard references
about Automatic Speech Recognition and Pattern Recognition. You could also read some of the papers
referenced on the CUHTK LVR system page.
- I registered but didn't receive an email with my password. What happened?
In almost all cases this happened as a result of our email getting treated as spam by your
email server or client. The best thing to do is to whitelist the email address firstname.lastname@example.org
then visit the change password page
and enter your HTK login in the "have a new password generated for you" field. A new password
email will then be sent to you.
If you do not know how to do this, then you should contact your local technical support.
We cannot instruct you, as the method varies greatly according to what software
is being used at your site.
- Why are my messages being rejected by the mailing lists?
This is most likely because your message contains HTML markup, or has an
attachment. For ease of reading and to maintain the security of our web server, we only accept
postings in plain text. See here for advice
on configuring your email system to compose plain text messages.
Alternatively, it could be that you are either not a subscriber, or are posting
from a different address from the one you used when you subscribed. The
mailing lists only accept messages from email addresses listed as subscribers.
If you change youre email address, please unsubscribe the old address and
subscribe from the new one. Please contact the list owner if you need
Source Code and Installation
- What is the difference between this version and the Entropic one?
The HTK3 code is based on the final release from Entropic
(V2.2_ref). The source code now contains Microsoft Copyright
headers; there is revised and consistent indentation and some
minor changes to remove some compiler warnings have been made.
Functionally the code in HTK 3.0.0 should be identical to HTK
- Can I build the CU-HTK Hub4/5 evaluation system with HTK3?
No. The HTK version used internally at the Cambridge
University Engineering Department has some extra
functionality not available in HTK3; support for
context dependency beyond triphones; long-span language model
support, confusion network generation and combination
etc. Some of the most generally useful of these
features may be made available in future releases of HTK.
- What kind of computer/OS do I need to run HTK3?
The distributed version of HTK3 should build on Linux, Solaris, IRIX, HPUX, Mac OS/Xand
FreeBSD. If it doesn't, please file a bug report. HTK has also been successfully
built on Windows NT, 2000 and XP (probably works on Vista too).
- How can I use HTK with my own data in text/matlab/binary format?
You need to convert your data to the HTK parameter format
(you can eiter use the USER parameter kind or pretend they
are MFCC or similar). Typically this involves writing a
small programm that does the conversion. For an example see
- I get an an error compiling HTKLib on with Visual Studio?
Try using the older makefile
which works with older versions of Visual Studio.
- I get a compilation error: HModel.c:607: error: invalid storage
class for function 'GetInputXForm'
This happens if you try to compile HTK 3.3 using GCC version 4. You can find
details about how to fix this
Note that this has been fixed in 3.4 and we strongly recommend that you upgrade
to the latest release.
- How do I compile HTK 3.3 using GCC4?
Please upgrade to 3.4 which does compile correctly with GCC4
- Can I have some detailed instructions about building HTK on Linux/Unix
Installing HTK on Linux or Unix (including OS X)
- How can I compile HTK 3.2 on Windows
You should upgrade to version 3.4 which has incorporated the modifications
below to enable it to compile on Windows. Alternatively, you can download
Windows binaries which have been tested on Windows 2000 and XP.
For detailed installation instructions for Windows see
Installing HTK on Microsoft Windows
- How can I compile HTK 3.2 on Mac OS X
You should upgrade to HTK 3.4 which now uses autoconf to build on OS X.
- I ran configure with --prefix=/path and the binaries were installed in /path/bin.linux Why?
This was done so to preserve the installation behaviour of previous
releases. This may become optional in future releases.
Commonly used abbreviations:
- Cambridge University Engineering Department
- Hidden Markov Model Toolkit
- Perceptual Linear Prediction