Running sclite
Sclite is a tool for scoring and evaluating the output of speech recognition by comparing the hypothesized text (HYP) output by the speech recognizer to the correct, or reference (REF) text. After comparing REF to HYP, (a process called alignment), statistics are gathered during the scoring process and a variety of reports can be produced to summarize the performance of the recognition system.This is an example output using the files located src\sclite\testdata\tests.hyp and sclite\testdata\tests.ref:
Parameters:
- The '-h' option is a required argument which specifies the input hypothesis file.
- The '-r' option, a required argument, specifies the input reference file which the hypothesis file(s) are compared to.
sclite -h C:\Project\SpeechRecognition\CMUSphinx\3rdPartyLibs\sctk-2.4.3\src\sclite\testdata\tests.hyp -r C:\Project\SpeechRecognition\CMUSphinx\3rdPartyLibs\sctk-2.4.3\src\sclite\testdata\tests.ref
Setup sctk-2.4.0-20091110-0958.tar.bz2 on Windows 7
I downloaded Speech Recognition Scoring Toolkit (SCTK) which includes the SCLITE, ASCLITE, tranfilt, hubscr, SLATreport and utf_filt scoring tools.I could compile it with gcc version 3.4.4, found in the following MinGW setup package mingw-get-inst-20101030.exe.
It was also necessary to modify 'src/rfilter1/makefile.in' and change the value of OPTIONS to be blank (as specified in the instructions)
The following compilation error is thrown when compiling using gcc version 4.6.2:
recording.h:122:29: error: 'Filter::Filter' cannot appear in a constant-expression recording.h:122:36: error: template argument 2 is invalid recording.h:122:36: error: template argument 4 is invalid make[3]: *** [main.o] Error 1
Setup sctk-2.4.2-20120810-0938.tar.bz2 on Windows 7
Something similar happened with this version, I could compile it with gcc version 3.4.4.The following compilation error is thrown when using gcc version 4.6.2:
In file included from asctools.h:23:0, from asctools.cpp:22: timeval.h:33:8: error: redefinition of 'struct timeval' c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/winsock2.h:109:8: error: previous definition of 'struct timeval' make[2]: *** [asctools.o] Error 1 make[2]: Leaving directory `/c/Project/SpeechRecognition/CMUSphinx/3rdPartyLibs/ sctk-2.4.2/src/asclite/test' make[1]: *** [all] Error 2 make[1]: Leaving directory `/c/Project/SpeechRecognition/CMUSphinx/3rdPartyLibs/ sctk-2.4.2/src/asclite' make: *** [all] Error 2
gcc -o rfilter1 rfilter1.c C:\Users\MANGEL~1\AppData\Local\Temp\ccuj1MU6.o:rfilter1.c:(.text+0x760): undefined reference to `strncmpi' C:\Users\MANGEL~1\AppData\Local\Temp\ccuj1MU6.o:rfilter1.c:(.text+0x7c4): undefined reference to `strncmpi' C:\Users\MANGEL~1\AppData\Local\Temp\ccuj1MU6.o:rfilter1.c:(.text+0x827): undefined reference to `strncmpi' C:\Users\MANGEL~1\AppData\Local\Temp\ccuj1MU6.o:rfilter1.c:(.text+0x935): undefined reference to `strncmpi' collect2: ld returned 1 exit status make[1]: *** [rfilter1] Error 1 make[1]: Leaving directory `/c/Project/SpeechRecognition/CMUSphinx/3rdPartyLibs/sctk-2.4.2/src/rfilter1' make: *** [all] Error 2
After finishing the setup you are able to run sclite as described initially.
Resources:
- http://www.speech.cs.cmu.edu/sphinx/tutorial.html
- http://www.itl.nist.gov/iad/mig//tools/
- http://www.nist.gov/itl/iad/mig/tools.cfm
- sclite documentation ctk-2.4.3/doc/sclite.htm
- http://www.voxforge.org/home/forums/message-boards/speech-recognition-engines/can-nists-sclite-be-used-on-windows