HTK Speech Recognition Toolkit
 [ Home | Register | Mailing Lists | Documentation ]
Home

Getting HTK
Register
Manage login/password
Download

Documentation
HTKBook
FAQ
History of HTK
CUED LVR Systems
License

Mailing Lists
Subscribe
Account/Unsubscribe
Archives

Development
Get involved
Future Plans
Report a Bug
Bug Status
ATK   

Links
HTK Extensions
ASR Toolkits/Software
ASR Research Sites
Speech Companies
Speech Conferences
Speech Journals
ASR Evaluations



Sponsors

HTK FAQ

License Issues

  • 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?

    Yes, absolutely.

  • 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.

General

  • 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 computer.

  • 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?

    A set of mailing lists have been created to help solve HTK related problems (see Mailing List page). Queries about the use of HTK3 should be addressed to htk-users@eng.cam.ac.uk.

  • 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.

Source Code

  • 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 V2.2_ref.

  • 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; such as PLP coefficients; vocal tract length normalisation; extended types of adaptation; lattice operations; support for context dependency beyond triphones; long-span language model support etc. Some of the most generally useful of these features will be made available in HTK3 over the next few months. In addition to this HTK3 does not include a large vocabulary decoder that is usable with cross-word triphones and long-span language models at the moment (HVite can rescore but not generate lattices for such configurations). We hope to be able to provide a capable large vocabulary decoder in the medium term.

  • What kind of computer/OS do I need to run HTK3?

    The distributed version of HTK3 should build on Solaris, IRIX, HPUX and Linux. If it doesn't, please file a bug report. HTK has also been successfully built on Windows NT and 2000(see below).

    HTK has always endeavoured to be as machine independent as possible and it should be possible to build all of the main tools on any machine supporting ANSI C and either X-Windows or MS-Windows. The only exception to this concerns direct audio recording/replay. If this is needed, an appropriate driver may need to be written.

  • 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 HTKWrite.c

  • Can I have some detailed instructions about building HTK on Linux/Unix
  • See Installing HTK on Linux or Unix

  • How can I compile HTK 3.2 on Windows

    You should upgrade to version 3.2.1 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

    The following settings were kindly provided by Guido Aversano.

    Preliminary step: Download "Xcode Tools v1.5" (developer tools, including standard gcc, etc.) from the Apple's developer site (http://developer.apple.com/macosx/). Probably Xcode tools are also included in Mac OS X installation DVDs.
    Install the tools, selecting "Ad Hoc" installation and than including the "X11SDK" package

    1. Use the following settings (provided you are using csh):
      setenv HTKCF '-ansi -g -O2 -DNO_AUDIO'
      setenv HTKLF '-L/usr/X11R6/lib'
      setenv HTKCC 'cc'
      setenv Arch DARWIN 
      setenv Objcopy "echo"
      setenv PRILF '-x'
      setenv CPU darwin 
      setenv SHRLF '-shared'
      setenv LIBEXT 'dylib'
      setenv HBIN'.../some/installation/dir...'
      
    2. create the "bin.darwin" directory in the path defined by the HBIN environment variable
    3. in the HTKLib folder, open the strarr.c source and change the "#include " line into "#include "
    4. run "make" in the HTKLib folder
    5. run "make" in the HTKTools folder

Commonly used abbreviations:

CUED - Cambridge University Engineering Department
HTK - Hidden Markov Model Toolkit
PLP - Perceptual Linear Prediction

Comments and suggestions to htk-mgr@eng.cam.ac.uk