Menu

mllr_transform

Help
audiens
2007-07-04
2012-09-22
  • audiens

    audiens - 2007-07-04

    Hello,

    I have a question about MLLR adaptation with SphinxTrain. I've trained my own spanish model and I need to use speaker adaptation but I have a problem. I've followed the instructions in
    http://www-2.cs.cmu.edu/~archan/documentation/chapter9.ps

    and I did the single iteration of Baum-Welch, I created the MLLR matrix with mllr_solve and I can do online mean transformation with a correct result.

    The problem is that I would use my adapted model with Sphinx4 and I think it's necessary doing offline mean transformation before. When I try to use mllr_transform I got an error (params are incorrect) and if I run it without params I got this:

    C:\tutorial_sphinx2\prueba1>bin\mllr_transform
    [Switch] [Default] [Description]
    -help no Shows the usage of the tool
    -example no Shows example of how to use the tool
    -outmllrfn Output MLLR regression matrices file
    -accumdir Paths containing reestimation sums from bw
    -meanfn Baseline Gaussian density mean file
    -varfn variance (baseline-var, or error-var) file
    -fullvar no Variances are full covariance matrices
    -cb2mllrfn .1cls. Codebook to mllr class mapping index file (If it is given, ignore -cdonly)
    -cdonly no Use only CD senones for MLLR (If yes, -moddeffn should be given.)
    -moddeffn Model Definition file (to get CD starting point for MLLR)
    -mllrmult yes Reestimate full multiplicative term of MLLR adatpation of means (yes/no)
    -mllradd yes Reestimate shift term of MLLR adaptation of means (yes/no)
    -varfloor 1e-3 var floor value

    This is the same output you can see with mllr_solve. Is there anything wrong with mllr_transform? How can I solve it?

    Thanks.

     
    • audiens

      audiens - 2007-07-06

      The problem is only in Windows. I've tryed the same in Ubuntu because I saw you use linux and it's correct.

      Cheers!

       
    • Nickolay V. Shmyrev

      Hm, are you sure you are using latest version and so on, for me it prints different things:

      [shmyrev@shadow bin.i686-pc-linux-gnu]$ ./mllr_transform
      ----- Compiled on May 19 2007, 22:46:09

      [Switch] [Default] [Description]
      -help no Shows the usage of the tool
      -example no Shows example of how to use the tool
      -inmeanfn Input Gaussian mean file name
      -outmeanfn Output Gaussian mean file name
      -ingaucntfn Input Gaussian accumulation count file name
      -outgaucntfn Output Gaussian accumulation count file name
      -mllrmat The MLLR matrix file
      -cb2mllrfn .1cls. The codebook-to-MLLR class file. Override option -cdonly
      -cdonly no Use CD senones only. -moddeffn must be given.
      -inverse no Apply the inverse transform (for speaker adaptive training).
      -moddeffn Model Definition file.
      -varfn Variance (baseline-var, or error-var) file (NOT USED!!!)
      -varfloor 1e-3 Variance floor value (NOT USED!!!)
      [shmyrev@shadow bin.i686-pc-linux-gnu]$ ./mllr_transform
      ----- Compiled on May 19 2007, 22:46:09

      [Switch] [Default] [Description]
      -help no Shows the usage of the tool
      -example no Shows example of how to use the tool
      -inmeanfn Input Gaussian mean file name
      -outmeanfn Output Gaussian mean file name
      -ingaucntfn Input Gaussian accumulation count file name
      -outgaucntfn Output Gaussian accumulation count file name
      -mllrmat The MLLR matrix file
      -cb2mllrfn .1cls. The codebook-to-MLLR class file. Override option -cdonly
      -cdonly no Use CD senones only. -moddeffn must be given.
      -inverse no Apply the inverse transform (for speaker adaptive training).
      -moddeffn Model Definition file.
      -varfn Variance (baseline-var, or error-var) file (NOT USED!!!)
      -varfloor 1e-3 Variance floor value (NOT USED!!!)
      [shmyrev@shadow bin.i686-pc-linux-gnu]$ ./mllr_transform -help yes
      ----- Compiled on May 19 2007, 22:46:09

      ./mllr_transform \ -help yes

      Description:

      Given a set of MLLR transform, mllr_transform can transform
      the mean according to formulat y=Ax+b.

      The output and input files are specified by -outmeanfn and
      -inmeanfn respectively. You may also transform the context-
      dependent model using the option -cdonly. In that case you
      need to specify a model definition using -moddeffn.

      INFO: parse_cmd_ln.c(64): User asked for help or example.
      [shmyrev@shadow bin.i686-pc-linux-gnu]$ ./mllr_transform -example yes
      ----- Compiled on May 19 2007, 22:46:09

      ./mllr_transform \ -example yes

      Example:
      The simplest case:
      mllr_transform -inmeanfn inMeans -outmeanfn outMeans -mllrmat matrix

      Adapt only on CD phones:
      mllr_transform -inmeanfn inMeans -outmeanfn outMeans -mllrmat matrix -cdonly yes -moddeffn mdef

      Help and example:
      nmllr_transform -help yes -example yes

      INFO: parse_cmd_ln.c(64): User asked for help or example.
      [shmyrev@shadow bin.i686-pc-linux-gnu]$

       
    • audiens

      audiens - 2007-07-05

      Thanks!! I'm using the SphinxTrain nightly build package in http://cmusphinx.sourceforge.net/html/download.php#SphinxTrain

      and I guess it's not the latest version. I'll try with cvs.

       
      • Nickolay V. Shmyrev

        Hm, actually nightly build is the latest version. I wonder if something went wrong in the build process. Mine nigtly build is from May as you can see above.

        So please check everything once again, it should really work.

         

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.