next up previous contents index
Next: 6.4 Editing Label Files Up: 6.3 Master Label Files Previous: 6.3.3 MLF Search

6.3.4 MLF Examples

 

  1. Suppose a data set consisted of two training data files with corresponding label files:
    a.lab contains
           000000  590000  sil
           600000 2090000  a
          2100000 4500000  sil
    b.lab contains
           000000  990000  sil
          1000000 3090000  b
          3100000 4200000  sil
    Then the above two individual label files could be replaced by a single MLF
          #!MLF!#
          "*/a.lab"
           000000  590000  sil
           600000 2090000  a
          2100000 4500000  sil
          .                      
          "*/b.lab"
           000000  990000  sil
          1000000 3090000  b
          3100000 4200000  sil
          .
  2. A digit data base contains training tokens one.1.wav, one.2.wav, one.3.wav, ..., two.1.wav, two.2.wav, two.3.wav, ..., etc. Label files are required containing just the name of the model so that HTK tools such as HEREST can be used. If MLFs are not used, individual label files are needed. For example, the individual label files one.1.lab, one.2.lab, one.3.lab, .... would be needed to identifiy instances of ``one'' even though each file contains the same entry, just
          one
    Using an MLF containing
          #!MLF!#
          "*/one.*.lab"
          one
          .
          "*/two.*.lab"
          two
          .
          "*/three.*.lab"
          three
          .
          <etc.>
    avoids the need for many duplicate label files.
  3. A training database /db contains directories dr1, dr2, ..., dr8. Each directory contains a subdirectory called labs holding the label files for the data files in that directory. The following MLF would allow them to be found
          #!MLF!#
          "*" -> "/db/dr1/labs"
          "*" -> "/db/dr2/labs"
          ...
          "*" -> "/db/dr7/labs"
          "*" -> "/db/dr8/labs"
    Each attempt to open a label file will result in a linear search through dr1 to dr8 to find that file. If the sub-directory name is embedded into the label file name, then this searching can be avoided. For example, if the label files in directory drx had the form drx_xxxx.lab, then the MLF would be written as
          #!MLF!#
          "*/dr1_*" -> "/db/dr1/labs"
          "*/dr2_*" -> "/db/dr2/labs"
          ...
          "*/dr7_*" -> "/db/dr7/labs"
          "*/dr8_*" -> "/db/dr8/labs"
  4. A training database is organised as a hierarchy where /disk1/db/dr1/sp2/u3.wav is the data file for the third repetition from speaker 2 in dialect region dr1 (see Figure 6.2).

      tex2html_wrap20006

    Suppose that a similar hierarchy of label files was constructed on disk3. These label files could be found by any HTK tool by using an MLF containing just

          #!MLF!#
          "*" => "/disk3"
    If for some reason all of the drN directories were renamed ldrN in the label hierarchy, then this could be handled by an MLF file containing
          #!MLF!#
          "*/dr1/*" => "/disk3/ldr1"
          "*/dr2/*" => "/disk3/ldr2"
          "*/dr3/*" => "/disk3/ldr3"
                   etc.
These few examples should illustrate the flexibility and power of MLF files.


next up previous contents index
Next: 6.4 Editing Label Files Up: 6.3 Master Label Files Previous: 6.3.3 MLF Search

ECRL HTK_V2.1: email [email protected]