I have been able to piece together some of the command line arguments for
running PocketSphinx 0.7 on Windows (pocketsphinx_batch.exe) recognizing from
a WAV file. However, even though the lattice shows multiple possible paths
from the end node to the starting node, the program complains that no bestpath
was found. Here are my command line arguments:
I have been able to piece together some of the command line arguments for
running PocketSphinx 0.7 on Windows (pocketsphinx_batch.exe) recognizing from
a WAV file. However, even though the lattice shows multiple possible paths
from the end node to the starting node, the program complains that no bestpath
was found. Here are my command line arguments:
-ctl SpeechData.batch -ctlcount 2 -adcin yes -cepdir c:\Projects\Speech\Data -cepext .wav -samprate 8000 -hmm ..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k -dict ..\pocketsphinx\model\lm\en_US\hub4.5000.dic -jsgf ..\pocketsphinx\model\lm\en_US\mil.jsgf -dictcase 1 -outlatdir . -backtrace 1
The JSGF grammar contains a single rule with the exact phrase for the single
WAV file referenced in SpeechData.batch.
Here is the complete output from running pocketsphinx_batch.exe:
INFO: cmd_ln.c(691): Parsing command line:
C:\Projects\Speech\pocketsphinx\bin\Debug\pocketsphinx_batch.exe \
-ctl SpeechData.batch \
-ctlcount 2 \
-adcin yes \
-cepdir c:\Projects\Speech\Data \
-cepext .wav \
-samprate 8000 \
-hmm ..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k \
-dict ..\pocketsphinx\model\lm\en_US\hub4.5000.dic \
-jsgf ..\pocketsphinx\model\lm\en_US\mil.jsgf \
-dictcase 1 \
-outlatdir . \
-backtrace 1
Current configuration:
-adchdr 0 0
-adcin no yes
-agc none none
-agcthresh 2.0 2.000000e+000
-alpha 0.97 9.700000e-001
-argfile
-ascale 20.0 2.000000e+001
-aw 1 1
-backtrace no yes
-beam 1e-48 1.000000e-048
-bestpath yes yes
-bestpathlw 9.5 9.500000e+000
-bghist no no
-build_outdirs yes yes
-cepdir c:\Projects\Speech\Data
-cepext .mfc .wav
-ceplen 13 13
-cmn current current
-cmninit 8.0 8.0
-compallsen no no
-ctl SpeechData.batch
-ctlcount -1 2
-ctlincr 1 1
-ctloffset 0 0
-ctm
-debug 0
-dict ..\pocketsphinx\model\lm\en_US\hub4.5000.dic
-dictcase no yes
-dither no no
-doublebw no no
-ds 1 1
-fdict
-feat 1s_c_d_dd 1s_c_d_dd
-featparams
-fillprob 1e-8 1.000000e-008
-frate 100 100
-fsg
-fsgctl
-fsgdir
-fsgext
-fsgusealtpron yes yes
-fsgusefiller yes yes
-fwdflat yes yes
-fwdflatbeam 1e-64 1.000000e-064
-fwdflatefwid 4 4
-fwdflatlw 8.5 8.500000e+000
-fwdflatsfwin 25 25
-fwdflatwbeam 7e-29 7.000000e-029
-fwdtree yes yes
-hmm ..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k
-hyp
-hypseg
-input_endian little little
-jsgf ..\pocketsphinx\model\lm\en_US\mil.jsgf
-kdmaxbbi -1 -1
-kdmaxdepth 0 0
-kdtree
-latsize 5000 5000
-lda
-ldadim 0 0
-lextreedump 0 0
-lifter 0 0
-lm
-lmctl
-lmname default default
-lmnamectl
-logbase 1.0001 1.000100e+000
-logfn
-logspec no no
-lowerf 133.33334 1.333333e+002
-lpbeam 1e-40 1.000000e-040
-lponlybeam 7e-29 7.000000e-029
-lw 6.5 6.500000e+000
-maxhmmpf -1 -1
-maxnewoov 20 20
-maxwpf -1 -1
-mdef
-mean
-mfclogdir
-min_endfr 0 0
-mixw
-mixwfloor 0.0000001 1.000000e-007
-mllr
-mllrctl
-mllrdir
-mllrext
-mmap yes yes
-nbest 0 0
-nbestdir
-nbestext .hyp .hyp
-ncep 13 13
-nfft 512 512
-nfilt 40 40
-nwpen 1.0 1.000000e+000
-outlatbeam 1e-5 1.000000e-005
-outlatdir .
-outlatext .lat .lat
-outlatfmt s3 s3
-pbeam 1e-48 1.000000e-048
-pip 1.0 1.000000e+000
-pl_beam 1e-10 1.000000e-010
-pl_pbeam 1e-5 1.000000e-005
-pl_window 0 0
-rawlogdir
-remove_dc no no
-round_filters yes yes
-samprate 16000 8.000000e+003
-seed -1 -1
-sendump
-senin no no
-senlogdir
-senmgau
-silprob 0.005 5.000000e-003
-smoothspec no no
-svspec
-tmat
-tmatfloor 0.0001 1.000000e-004
-topn 4 4
-topn_beam 0 0
-toprule
-transform legacy legacy
-unit_area yes yes
-upperf 6855.4976 6.855498e+003
-usewdphones no no
-uw 1.0 1.000000e+000
-var
-varfloor 0.0001 1.000000e-004
-varnorm no no
-verbose no no
-warp_params
-warp_type inverse_linear inverse_linear
-wbeam 7e-29 7.000000e-029
-wip 0.65 6.500000e-001
-wlen 0.025625 2.562500e-002
INFO: cmd_ln.c(691): Parsing command line:
\
-nfilt 20 \
-lowerf 1 \
-upperf 4000 \
-wlen 0.025 \
-transform dct \
-round_filters no \
-remove_dc yes \
-svspec 0-12/13-25/26-38 \
-feat 1s_c_d_dd \
-agc none \
-cmn current \
-cmninit 56,-3,1 \
-varnorm no
Current configuration:
-agc none none
-agcthresh 2.0 2.000000e+000
-alpha 0.97 9.700000e-001
-ceplen 13 13
-cmn current current
-cmninit 8.0 56,-3,1
-dither no no
-doublebw no no
-feat 1s_c_d_dd 1s_c_d_dd
-frate 100 100
-input_endian little little
-lda
-ldadim 0 0
-lifter 0 0
-logspec no no
-lowerf 133.33334 1.000000e+000
-ncep 13 13
-nfft 512 512
-nfilt 40 20
-remove_dc no yes
-round_filters yes no
-samprate 16000 8.000000e+003
-seed -1 -1
-smoothspec no no
-svspec 0-12/13-25/26-38
-transform legacy dct
-unit_area yes yes
-upperf 6855.4976 4.000000e+003
-varnorm no no
-verbose no no
-warp_params
-warp_type inverse_linear inverse_linear
-wlen 0.025625 2.500000e-002
INFO: acmod.c(242): Parsed model-specific feature parameters from
..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k/feat.params
INFO: feat.c(684): Initializing feature stream to type: '1s_c_d_dd',
ceplen=13, CMN='current', VARNORM='no', AGC='none'
INFO: cmn.c(142): mean= 12.00, mean= 0.0
INFO: acmod.c(163): Using subvector specification 0-12/13-25/26-38
INFO: mdef.c(520): Reading model definition:
..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k/mdef
INFO: mdef.c(531): Found byte-order mark BMDF, assuming this is a binary mdef
file
INFO: bin_mdef.c(330): Reading binary model definition:
..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k/mdef
INFO: bin_mdef.c(507): 50 CI-phone, 143047 CD-phone, 3 emitstate/phone, 150
CI-sen, 5150 Sen, 27135 Sen-Seq
INFO: tmat.c(205): Reading HMM transition probability matrices:
..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k/transition_matrices
INFO: acmod.c(117): Attempting to use SCHMM computation module
INFO: ms_gauden.c(198): Reading mixture gaussian parameter:
..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k/means
INFO: ms_gauden.c(292): 1 codebook, 3 feature, size:
INFO: ms_gauden.c(294): 256x13
INFO: ms_gauden.c(294): 256x13
INFO: ms_gauden.c(294): 256x13
INFO: ms_gauden.c(198): Reading mixture gaussian parameter:
..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k/variances
INFO: ms_gauden.c(292): 1 codebook, 3 feature, size:
INFO: ms_gauden.c(294): 256x13
INFO: ms_gauden.c(294): 256x13
INFO: ms_gauden.c(294): 256x13
INFO: ms_gauden.c(354): 0 variance values floored
INFO: s2_semi_mgau.c(908): Loading senones from dump file
..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k/sendump
INFO: s2_semi_mgau.c(932): BEGIN FILE FORMAT DESCRIPTION
INFO: s2_semi_mgau.c(1027): Using memory-mapped I/O for senones
INFO: s2_semi_mgau.c(1304): Maximum top-N: 4 Top-N beams: 0 0 0
INFO: dict.c(306): Allocating 10319 * 20 bytes (201 KiB) for word entries
INFO: dict.c(321): Reading main dictionary:
..\pocketsphinx\model\lm\en_US\hub4.5000.dic
INFO: dict.c(212): Allocated 44 KiB for strings, 69 KiB for phones
INFO: dict.c(324): 6212 words read
INFO: dict.c(330): Reading filler dictionary:
..\pocketsphinx\model\hmm\en_US\hub4wsj_sc_8k/noisedict
INFO: dict.c(212): Allocated 0 KiB for strings, 0 KiB for phones
INFO: dict.c(333): 11 words read
INFO: dict2pid.c(396): Building PID tables for dictionary
INFO: dict2pid.c(404): Allocating 50^3 * 2 bytes (244 KiB) for word-initial
triphones
INFO: dict2pid.c(131): Allocated 30200 bytes (29 KiB) for word-final triphones
INFO: dict2pid.c(195): Allocated 30200 bytes (29 KiB) for single-phone word
triphones
INFO: fsg_search.c(145): FSG(beam: -1080, pbeam: -1080, wbeam: -634; wip: -26,
pip: 0)
INFO: jsgf.c(546): Defined rule: PUBLIC <milspeak.greet>
INFO: fsg_model.c(213): Computing transitive closure for null transitions
INFO: fsg_model.c(264): 0 null transitions added
INFO: fsg_model.c(411): Adding silence transitions for <sil> to FSG
INFO: fsg_model.c(431): Added 7 silence word transitions
INFO: fsg_model.c(411): Adding silence transitions for ++NOISE++ to FSG
INFO: fsg_model.c(431): Added 7 silence word transitions
INFO: fsg_model.c(411): Adding silence transitions for ++BREATH++ to FSG
INFO: fsg_model.c(431): Added 7 silence word transitions
INFO: fsg_model.c(411): Adding silence transitions for ++SMACK++ to FSG
INFO: fsg_model.c(431): Added 7 silence word transitions
INFO: fsg_model.c(411): Adding silence transitions for ++COUGH++ to FSG
INFO: fsg_model.c(431): Added 7 silence word transitions
INFO: fsg_model.c(411): Adding silence transitions for ++LAUGH++ to FSG
INFO: fsg_model.c(431): Added 7 silence word transitions
INFO: fsg_model.c(411): Adding silence transitions for ++TONE++ to FSG
INFO: fsg_model.c(431): Added 7 silence word transitions
INFO: fsg_model.c(411): Adding silence transitions for ++UH++ to FSG
INFO: fsg_model.c(431): Added 7 silence word transitions
INFO: fsg_model.c(411): Adding silence transitions for ++UM++ to FSG
INFO: fsg_model.c(431): Added 7 silence word transitions
INFO: fsg_search.c(364): Added 2 alternate word transitions
INFO: fsg_lextree.c(108): Allocated 714 bytes (0 KiB) for left and right
context phones
INFO: fsg_lextree.c(251): 111 HMM nodes in lextree (76 leaves)
INFO: fsg_lextree.c(253): Allocated 11988 bytes (11 KiB) for all lextree nodes
INFO: fsg_lextree.c(256): Allocated 8208 bytes (8 KiB) for lextree leafnodes
INFO: pocketsphinx.c(623): ps_start_utt reached
INFO: pocketsphinx.c(704): Exiting ps_search_start()
INFO: cmn.c(175): CMN: 50.10 -0.38 1.03 1.76 0.13 0.30 -0.29 -0.14 0.08 -0.04
-0.16 -0.19 -0.01
INFO: fsg_search.c(1030): 495 frames, 4944 HMMs (9/fr), 17365 senones (35/fr),
1171 history entries (2/fr) </sil></milspeak.greet>
INFO: fsg_search.c(1407): Start node <sil>.0:2:42
INFO: fsg_search.c(1446): End node <sil>.468:483:494 (-1996)
INFO: fsg_search.c(1662): lattice start node <sil>.0 end node <sil>.468
INFO: ps_lattice.c(1352): Normalizer P(O) = alpha(<sil>:468:494) = -536870912
WARNING: "fsg_search.c", line 1155: Failed to bestpath in a lattice
INFO: pocketsphinx.c(852): Speech\Adapx_63369460768020: (null) (-65767)
INFO: word start end pprob ascr lscr lback
INFO: ps_lattice.c(1352): Normalizer P(O) = alpha(<sil>:468:494) = -536870912
INFO: ps_lattice.c(1352): Normalizer P(O) = alpha(<sil>:468:494) = -536870912
WARNING: "fsg_search.c", line 1155: Failed to bestpath in a lattice
INFO: ps_lattice.c(242): Writing lattice file:
./Speech\Adapx_63369460768020.lat
INFO: batch.c(760): Speech\Adapx_63369460768020: 4.95 seconds speech, 0.09
seconds CPU, 2.44 seconds wall
INFO: batch.c(762): Speech\Adapx_63369460768020: 0.02 xRT (CPU), 0.49 xRT
(elapsed)
INFO: batch.c(774): TOTAL 4.95 seconds speech, 0.09 seconds CPU, 2.44 seconds
wall
INFO: batch.c(776): AVERAGE 0.02 xRT (CPU), 0.49 xRT (elapsed) </sil></sil></sil></sil></sil></sil></sil>
Changing the sample rate from 8,000 to the correct 16,000 solved the issue -
strange.
Now where can I record the response? Is there an output file with the best
path?
You can use -hyp option to dump recognition result to a file.
Yes, that worked! Thanks.