raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

PocketSphinx en Raspberry Pi

Mon Mar 30, 2015 11:19 am

Hola,

Instalé PocketSphinx en la Raspberry Pi B+ con el Kernel Linux raspberrypi 3.18.9+ #772 PREEMPT Sun Mar 22 15:12:39 GMT 2015 armv6l GNU/Linux

Todo se compiló e instaló sin problemas , tanto el sphinxbase como el pocketsphinx, las versiones pre-alpha del sourceforge.

Lo que ahora me estoy haciendo la picha un lío intentando ejecutarlo ya que no se como especificarle el modelo de lenguaje.

Lo estoy intentando arrancar con la opción de micro así:

Code: Select all

src/programs/pocketsphinx_continuous -inmic yes -samprate 16000 -hmm model/en-us/en-us/
Y este es el log:

Code: Select all

INFO: cmd_ln.c(697): Parsing command line:
/home/pi/pocketsphinx-5prealpha/src/programs/.libs/lt-pocketsphinx_continuous \
	-inmic yes \
	-samprate 16000 \
	-hmm model/en-us/en-us/ 

Current configuration:
[NAME]		[DEFLT]		[VALUE]
-adcdev				
-agc		none		none
-agcthresh	2.0		2.000000e+00
-allphone			
-allphone_ci	no		no
-alpha		0.97		9.700000e-01
-argfile			
-ascale		20.0		2.000000e+01
-aw		1		1
-backtrace	no		no
-beam		1e-48		1.000000e-48
-bestpath	yes		yes
-bestpathlw	9.5		9.500000e+00
-ceplen		13		13
-cmn		current		current
-cmninit	8.0		8.0
-compallsen	no		no
-debug				0
-dict				
-dictcase	no		no
-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-08
-frate		100		100
-fsg				
-fsgusealtpron	yes		yes
-fsgusefiller	yes		yes
-fwdflat	yes		yes
-fwdflatbeam	1e-64		1.000000e-64
-fwdflatefwid	4		4
-fwdflatlw	8.5		8.500000e+00
-fwdflatsfwin	25		25
-fwdflatwbeam	7e-29		7.000000e-29
-fwdtree	yes		yes
-hmm				model/en-us/en-us/
-infile			INFO: cmd_ln.c(697): Parsing command line:
/home/pi/pocketsphinx-5prealpha/src/programs/.libs/lt-pocketsphinx_continuous \
	-inmic yes \
	-samprate 16000 \
	-hmm model/en-us/en-us/ 

Current configuration:
[NAME]		[DEFLT]		[VALUE]
-adcdev				
-agc		none		none
-agcthresh	2.0		2.000000e+00
-allphone			
-allphone_ci	no		no
-alpha		0.97		9.700000e-01
-argfile			
-ascale		20.0		2.000000e+01
-aw		1		1
-backtrace	no		no
-beam		1e-48		1.000000e-48
-bestpath	yes		yes
-bestpathlw	9.5		9.500000e+00
-ceplen		13		13
-cmn		current		current
-cmninit	8.0		8.0
-compallsen	no		no
-debug				0
-dict				
-dictcase	no		no
-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-08
-frate		100		100
-fsg				
-fsgusealtpron	yes		yes
-fsgusefiller	yes		yes
-fwdflat	yes		yes
-fwdflatbeam	1e-64		1.000000e-64
-fwdflatefwid	4		4
-fwdflatlw	8.5		8.500000e+00
-fwdflatsfwin	25		25
-fwdflatwbeam	7e-29		7.000000e-29
-fwdtree	yes		yes
-hmm				model/en-us/en-us/
-infile				
-inmic		no		yes
-input_endian	little		little
-jsgf				
-keyphrase			
-kws				
-kws_plp	1e-1		1.000000e-01
-kws_threshold	1		1.000000e+00
-latsize	5000		5000
-lda				
-ldadim		0		0
-lifter		0		0
-lm				
-lmctl				
-lmname				
-logbase	1.0001		1.000100e+00
-logfn				
-logspec	no		no
-lowerf		133.33334	1.333333e+02
-lpbeam		1e-40		1.000000e-40
-lponlybeam	7e-29		7.000000e-29
-lw		6.5		6.500000e+00
-maxhmmpf	30000		30000
-maxwpf		-1		-1
-mdef				
-mean				
-mfclogdir			
-min_endfr	0		0
-mixw				
-mixwfloor	0.0000001	1.000000e-07
-mllr				
-mmap		yes		yes
-ncep		13		13
-nfft		512		512
-nfilt		40		40
-nwpen		1.0		1.000000e+00
-pbeam		1e-48		1.000000e-48
-pip		1.0		1.000000e+00
-pl_beam	1e-10		1.000000e-10
-pl_pbeam	1e-10		1.000000e-10
-pl_pip		1.0		1.000000e+00
-pl_weight	3.0		3.000000e+00
-pl_window	5		5
-rawlogdir			
-remove_dc	no		no
-remove_noise	yes		yes
-remove_silence	yes		yes
-round_filters	yes		yes
-samprate	16000		1.600000e+04
-seed		-1		-1
-sendump			
-senlogdir			
-senmgau			
-silprob	0.005		5.000000e-03
-smoothspec	no		no
-svspec				
-time		no		no
-tmat				
-tmatfloor	0.0001		1.000000e-04
-topn		4		4
-topn_beam	0		0
-toprule			
-transform	legacy		legacy
-unit_area	yes		yes
-upperf		6855.4976	6.855498e+03
-uw		1.0		1.000000e+00
-vad_postspeech	50		50
-vad_prespeech	10		10
-vad_threshold	2.0		2.000000e+00
-var				
-varfloor	0.0001		1.000000e-04
-varnorm	no		no
-verbose	no		no
-warp_params			
-warp_type	inverse_linear	inverse_linear
-wbeam		7e-29		7.000000e-29
-wip		0.65		6.500000e-01
-wlen		0.025625	2.562500e-02

INFO: cmd_ln.c(697): Parsing command line:
\
	-lowerf 130 \
	-upperf 6800 \
	-nfilt 25 \
	-transform dct \
	-lifter 22 \
	-feat 1s_c_d_dd \
	-svspec 0-12/13-25/26-38 \
	-agc none \
	-cmn current \
	-varnorm no \
	-model ptm \
	-cmninit 40,3,-1 

Current configuration:
[NAME]		[DEFLT]		[VALUE]
-agc		none		none
-agcthresh	2.0		2.000000e+00
-alpha		0.97		9.700000e-01
-ceplen		13		13
-cmn		current		current
-cmninit	8.0		40,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		22
-logspec	no		no
-lowerf		133.33334	1.300000e+02
-ncep		13		13
-nfft		512		512
-nfilt		40		25
-remove_dc	no		no
-remove_noise	yes		yes
-remove_silence	yes		yes
-round_filters	yes		yes
-samprate	16000		1.600000e+04
-seed		-1		-1
-smoothspec	no		no
-svspec				0-12/13-25/26-38
-transform	legacy		dct
-unit_area	yes		yes
-upperf		6855.4976	6.800000e+03
-vad_postspeech	50		50
-vad_prespeech	10		10
-vad_threshold	2.0		2.000000e+00
-varnorm	no		no
-verbose	no		no
-warp_params			
-warp_type	inverse_linear	inverse_linear
-wlen		0.025625	2.562500e-02

INFO: acmod.c(252): Parsed model-specific feature parameters from model/en-us/en-us//feat.params
INFO: feat.c(715): Initializing feature stream to type: '1s_c_d_dd', ceplen=13, CMN='current', VARNORM='no', AGC='none'
INFO: cmn.c(143): mean[0]= 12.00, mean[1..12]= 0.0
INFO: acmod.c(171): Using subvector specification 0-12/13-25/26-38
INFO: mdef.c(518): Reading model definition: model/en-us/en-us//mdef
INFO: mdef.c(531): Found byte-order mark BMDF, assuming this is a binary mdef file
INFO: bin_mdef.c(336): Reading binary model definition: model/en-us/en-us//mdef
INFO: bin_mdef.c(516): 42 CI-phone, 137053 CD-phone, 3 emitstate/phone, 126 CI-sen, 5126 Sen, 29324 Sen-Seq
INFO: tmat.c(206): Reading HMM transition probability matrices: model/en-us/en-us//transition_matrices
INFO: acmod.c(124): Attempting to use PTM computation module
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: model/en-us/en-us//means
INFO: ms_gauden.c(292): 42 codebook, 3 feature, size: 
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: model/en-us/en-us//variances
INFO: ms_gauden.c(292): 42 codebook, 3 feature, size: 
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(354): 222 variance values floored
INFO: ptm_mgau.c(476): Loading senones from dump file model/en-us/en-us//sendump
INFO: ptm_mgau.c(500): BEGIN FILE FORMAT DESCRIPTION
INFO: ptm_mgau.c(563): Rows: 128, Columns: 5126
INFO: ptm_mgau.c(595): Using memory-mapped I/O for senones
INFO: ptm_mgau.c(835): Maximum top-N: 4
INFO: phone_loop_search.c(115): State beam -225 Phone exit beam -225 Insertion penalty 0
INFO: dict.c(320): Allocating 4101 * 20 bytes (80 KiB) for word entries
INFO: dict.c(342): Reading filler dictionary: model/en-us/en-us//noisedict
INFO: dict.c(213): Allocated 0 KiB for strings, 0 KiB for phones
INFO: dict.c(345): 5 words read
INFO: dict2pid.c(396): Building PID tables for dictionary
INFO: dict2pid.c(406): Allocating 42^3 * 2 bytes (144 KiB) for word-initial triphones
INFO: dict2pid.c(132): Allocated 21336 bytes (20 KiB) for word-final triphones
INFO: dict2pid.c(196): Allocated 21336 bytes (20 KiB) for single-phone word triphones
INFO: continuous.c(299): /home/pi/pocketsphinx-5prealpha/src/programs/.libs/lt-pocketsphinx_continuous COMPILED ON: Mar 30 2015, AT: 11:00:21

ERROR: "pocketsphinx.c", line 913: No search module is selected, did you forget to specify a language model or grammar?
FATAL: "continuous.c", line 244: Failed to start utterance	
-inmic		no		yes
-input_endian	little		little
-jsgf				
-keyphrase			
-kws				
-kws_plp	1e-1		1.000000e-01
-kws_threshold	1		1.000000e+00
-latsize	5000		5000
-lda				
-ldadim		0		0
-lifter		0		0
-lm				
-lmctl				
-lmname				
-logbase	1.0001		1.000100e+00
-logfn				
-logspec	no		no
-lowerf		133.33334	1.333333e+02
-lpbeam		1e-40		1.000000e-40
-lponlybeam	7e-29		7.000000e-29
-lw		6.5		6.500000e+00
-maxhmmpf	30000INFO: cmd_ln.c(697): Parsing command line:
/home/pi/pocketsphinx-5prealpha/src/programs/.libs/lt-pocketsphinx_continuous \
	-inmic yes \
	-samprate 16000 \
	-hmm model/en-us/en-us/ 

Current configuration:
[NAME]		[DEFLT]		[VALUE]
-adcdev				
-agc		none		none
-agcthresh	2.0		2.000000e+00
-allphone			
-allphone_ci	no		no
-alpha		0.97		9.700000e-01
-argfile			
-ascale		20.0		2.000000e+01
-aw		1		1
-backtrace	no		no
-beam		1e-48		1.000000e-48
-bestpath	yes		yes
-bestpathlw	9.5		9.500000e+00
-ceplen		13		13
-cmn		current		current
-cmninit	8.0		8.0
-compallsen	no		no
-debug				0
-dict				
-dictcase	no		no
-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-08
-frate		100		100
-fsg				
-fsgusealtpron	yes		yes
-fsgusefiller	yes		yes
-fwdflat	yes		yes
-fwdflatbeam	1e-64		1.000000e-64
-fwdflatefwid	4		4
-fwdflatlw	8.5		8.500000e+00
-fwdflatsfwin	25		25
-fwdflatwbeam	7e-29		7.000000e-29
-fwdtree	yes		yes
-hmm				model/en-us/en-us/
-infile				
-inmic		no		yes
-input_endian	little		little
-jsgf				
-keyphrase			
-kws				
-kws_plp	1e-1		1.000000e-01
-kws_threshold	1		1.000000e+00
-latsize	5000		5000
-lda				
-ldadim		0		0
-lifter		0		0
-lm				
-lmctl				
-lmname				
-logbase	1.0001		1.000100e+00
-logfn				
-logspec	no		no
-lowerf		133.33334	1.333333e+02
-lpbeam		1e-40		1.000000e-40
-lponlybeam	7e-29		7.000000e-29
-lw		6.5		6.500000e+00
-maxhmmpf	30000		30000
-maxwpf		-1		-1
-mdef				
-mean				
-mfclogdir			
-min_endfr	0		0
-mixw				
-mixwfloor	0.0000001	1.000000e-07
-mllr				
-mmap		yes		yes
-ncep		13		13
-nfft		512		512
-nfilt		40		40
-nwpen		1.0		1.000000e+00
-pbeam		1e-48		1.000000e-48
-pip		1.0		1.000000e+00
-pl_beam	1e-10		1.000000e-10
-pl_pbeam	1e-10		1.000000e-10
-pl_pip		1.0		1.000000e+00
-pl_weight	3.0		3.000000e+00
-pl_window	5		5
-rawlogdir			
-remove_dc	no		no
-remove_noise	yes		yes
-remove_silence	yes		yes
-round_filters	yes		yes
-samprate	16000		1.600000e+04
-seed		-1		-1
-sendump			
-senlogdir			
-senmgau			
-silprob	0.005		5.000000e-03
-smoothspec	no		no
-svspec				
-time		no		no
-tmat				
-tmatfloor	0.0001		1.000000e-04
-topn		4		4
-topn_beam	0		0
-toprule			
-transform	legacy		legacy
-unit_area	yes		yes
-upperf		6855.4976	6.855498e+03
-uw		1.0		1.000000e+00
-vad_postspeech	50		50
-vad_prespeech	10		10
-vad_threshold	2.0		2.000000e+00
-var				
-varfloor	0.0001		1.000000e-04
-varnorm	no		no
-verbose	no		no
-warp_params			
-warp_type	inverse_linear	inverse_linear
-wbeam		7e-29		7.000000e-29
-wip		0.65		6.500000e-01
-wlen		0.025625	2.562500e-02

INFO: cmd_ln.c(697): Parsing command line:
\
	-lowerf 130 \
	-upperf 6800 \
	-nfilt 25 \
	-transform dct \
	-lifter 22 \
	-feat 1s_c_d_dd \
	-svspec 0-12/13-25/26-38 \
	-agc none \
	-cmn current \
	-varnorm no \
	-model ptm \
	-cmninit 40,3,-1 

Current configuration:
[NAME]		[DEFLT]		[VALUE]
-agc		none		none
-agcthresh	2.0		2.000000e+00
-alpha		0.97		9.700000e-01
-ceplen		13		13
-cmn		current		current
-cmninit	8.0		40,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		22
-logspec	no		no
-lowerf		133.33334	1.300000e+02
-ncep		13		13
-nfft		512		512
-nfilt		40		25
-remove_dc	no		no
-remove_noise	yes		yes
-remove_silence	yes		yes
-round_filters	yes		yes
-samprate	16000		1.600000e+04
-seed		-1		-1
-smoothspec	no		no
-svspec				0-12/13-25/26-38
-transform	legacy		dct
-unit_area	yes		yes
-upperf		6855.4976	6.800000e+03
-vad_postspeech	50		50
-vad_prespeech	10		10
-vad_threshold	2.0		2.000000e+00
-varnorm	no		no
-verbose	no		no
-warp_params			
-warp_type	inverse_linear	inverse_linear
-wlen		0.025625	2.562500e-02

INFO: acmod.c(252): Parsed model-specific feature parameters from model/en-us/en-us//feat.params
INFO: feat.c(715): Initializing feature stream to type: '1s_c_d_dd', ceplen=13, CMN='current', VARNORM='no', AGC='none'
INFO: cmn.c(143): mean[0]= 12.00, mean[1..12]= 0.0
INFO: acmod.c(171): Using subvector specification 0-12/13-25/26-38
INFO: mdef.c(518): Reading model definition: model/en-us/en-us//mdef
INFO: mdef.c(531): Found byte-order mark BMDF, assuming this is a binary mdef file
INFO: bin_mdef.c(336): Reading binary model definition: model/en-us/en-us//mdef
INFO: bin_mdef.c(516): 42 CI-phone, 137053 CD-phone, 3 emitstate/phone, 126 CI-sen, 5126 Sen, 29324 Sen-Seq
INFO: tmat.c(206): Reading HMM transition probability matrices: model/en-us/en-us//transition_matrices
INFO: acmod.c(124): Attempting to use PTM computation module
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: model/en-us/en-us//means
INFO: ms_gauden.c(292): 42 codebook, 3 feature, size: 
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: model/en-us/en-us//variances
INFO: ms_gauden.c(292): 42 codebook, 3 feature, size: 
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(354): 222 variance values floored
INFO: ptm_mgau.c(476): Loading senones from dump file model/en-us/en-us//sendump
INFO: ptm_mgau.c(500): BEGIN FILE FORMAT DESCRIPTION
INFO: ptm_mgau.c(563): Rows: 128, Columns: 5126
INFO: ptm_mgau.c(595): Using memory-mapped I/O for senones
INFO: ptm_mgau.c(835): Maximum top-N: 4
INFO: phone_loop_search.c(115): State beam -225 Phone exit beam -225 Insertion penalty 0
INFO: dict.c(320): Allocating 4101 * 20 bytes (80 KiB) for word entries
INFO: dict.c(342): Reading filler dictionary: model/en-us/en-us//noisedict
INFO: dict.c(213): Allocated 0 KiB for strings, 0 KiB for phones
INFO: dict.c(345): 5 words read
INFO: dict2pid.c(396): Building PID tables for dictionary
INFO: dict2pid.c(406): Allocating 42^3 * 2 bytes (144 KiB) for word-initial triphones
INFO: dict2pid.c(132): Allocated 21336 bytes (20 KiB) for word-final triphones
INFO: dict2pid.c(196): Allocated 21336 bytes (20 KiB) for single-phone word triphones
INFO: continuous.c(299): /home/pi/pocketsphinx-5prealpha/src/programs/.libs/lt-pocketsphinx_continuous COMPILED ON: Mar 30 2015, AT: 11:00:21

ERROR: "pocketsphinx.c", line 913: No search module is selected, did you forget to specify a language model or grammar?
FATAL: "continuous.c", line 244: Failed to start utteranceINFO: cmd_ln.c(697): Parsing command line:
/home/pi/pocketsphinx-5prealpha/src/programs/.libs/lt-pocketsphinx_continuous \
	-inmic yes \
	-samprate 16000 \
	-hmm model/en-us/en-us/ 

Current configuration:
[NAME]		[DEFLT]		[VALUE]
-adcdev				
-agc		none		none
-agcthresh	2.0		2.000000e+00
-allphone			
-allphone_ci	no		no
-alpha		0.97		9.700000e-01
-argfile			
-ascale		20.0		2.000000e+01
-aw		1		1
-backtrace	no		no
-beam		1e-48		1.000000e-48
-bestpath	yes		yes
-bestpathlw	9.5		9.500000e+00
-ceplen		13		13
-cmn		current		current
-cmninit	8.0		8.0
-compallsen	no		no
-debug				0
-dict				
-dictcase	no		no
-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-08
-frate		100		100
-fsg				
-fsgusealtpron	yes		yes
-fsgusefiller	yes		yes
-fwdflat	yes		yes
-fwdflatbeam	1e-64		1.000000e-64
-fwdflatefwid	4		4
-fwdflatlw	8.5		8.500000e+00
-fwdflatsfwin	25		25
-fwdflatwbeam	7e-29		7.000000e-29
-fwdtree	yes		yes
-hmm				model/en-us/en-us/
-infile				
-inmic		no		yes
-input_endian	little		little
-jsgf				
-keyphrase			
-kws				
-kws_plp	1e-1		1.000000e-01
-kws_threshold	1		1.000000e+00
-latsize	5000		5000
-lda				
-ldadim		0		0
-lifter		0		0
-lm				
-lmctl				
-lmname				
-logbase	1.0001		1.000100e+00
-logfn				
-logspec	no		no
-lowerf		133.33334	1.333333e+02
-lpbeam		1e-40		1.000000e-40
-lponlybeam	7e-29		7.000000e-29
-lw		6.5		6.500000e+00
-maxhmmpf	30000		30000
-maxwpf		-1		-1
-mdef				
-mean				
-mfclogdir			
-min_endfr	0		0
-mixw				
-mixwfloor	0.0000001	1.000000e-07
-mllr				
-mmap		yes		yes
-ncep		13		13
-nfft		512		512
-nfilt		40		40
-nwpen		1.0		1.000000e+00
-pbeam		1e-48		1.000000e-48
-pip		1.0		1.000000e+00
-pl_beam	1e-10		1.000000e-10
-pl_pbeam	1e-10		1.000000e-10
-pl_pip		1.0		1.000000e+00
-pl_weight	3.0		3.000000e+00
-pl_window	5		5
-rawlogdir			
-remove_dc	no		no
-remove_noise	yes		yes
-remove_silence	yes		yes
-round_filters	yes		yes
-samprate	16000		1.600000e+04
-seed		-1		-1
-sendump			
-senlogdir			
-senmgau			
-silprob	0.005		5.000000e-03
-smoothspec	no		no
-svspec				
-time		no		no
-tmat				
-tmatfloor	0.0001		1.000000e-04
-topn		4		4
-topn_beam	0		0
-toprule			
-transform	legacy		legacy
-unit_area	yes		yes
-upperf		6855.4976	6.855498e+03
-uw		1.0		1.000000e+00
-vad_postspeech	50		50
-vad_prespeech	10		10
-vad_threshold	2.0		2.000000e+00
-var				
-varfloor	0.0001		1.000000e-04
-varnorm	no		no
-verbose	no		no
-warp_params			
-warp_type	inverse_linear	inverse_linear
-wbeam		7e-29		7.000000e-29
-wip		0.65		6.500000e-01
-wlen		0.025625	2.562500e-02

INFO: cmd_ln.c(697): Parsing command line:
\
	-lowerf 130 \
	-upperf 6800 \
	-nfilt 25 \
	-transform dct \
	-lifter 22 \
	-feat 1s_c_d_dd \
	-svspec 0-12/13-25/26-38 \
	-agc none \
	-cmn current \
	-varnorm no \
	-model ptm \
	-cmninit 40,3,-1 

Current configuration:
[NAME]		[DEFLT]		[VALUE]
-agc		none		none
-agcthresh	2.0		2.000000e+00
-alpha		0.97		9.700000e-01
-ceplen		13		13
-cmn		current		current
-cmninit	8.0		40,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		22
-logspec	no		no
-lowerf		133.33334	1.300000e+02
-ncep		13		13
-nfft		512		512
-nfilt		40		25
-remove_dc	no		no
-remove_noise	yes		yes
-remove_silence	yes		yes
-round_filters	yes		yes
-samprate	16000		1.600000e+04
-seed		-1		-1
-smoothspec	no		no
-svspec				0-12/13-25/26-38
-transform	legacy		dct
-unit_area	yes		yes
-upperf		6855.4976	6.800000e+03
-vad_postspeech	50		50
-vad_prespeech	10		10
-vad_threshold	2.0		2.000000e+00
-varnorm	no		no
-verbose	no		no
-warp_params			
-warp_type	inverse_linear	inverse_linear
-wlen		0.025625	2.562500e-02

INFO: acmod.c(252): Parsed model-specific feature parameters from model/en-us/en-us//feat.params
INFO: feat.c(715): Initializing feature stream to type: '1s_c_d_dd', ceplen=13, CMN='current', VARNORM='no', AGC='none'
INFO: cmn.c(143): mean[0]= 12.00, mean[1..12]= 0.0
INFO: acmod.c(171): Using subvector specification 0-12/13-25/26-38
INFO: mdef.c(518): Reading model definition: model/en-us/en-us//mdef
INFO: mdef.c(531): Found byte-order mark BMDF, assuming this is a binary mdef file
INFO: bin_mdef.c(336): Reading binary model definition: model/en-us/en-us//mdef
INFO: bin_mdef.c(516): 42 CI-phone, 137053 CD-phone, 3 emitstate/phone, 126 CI-sen, 5126 Sen, 29324 Sen-Seq
INFO: tmat.c(206): Reading HMM transition probability matrices: model/en-us/en-us//transition_matrices
INFO: acmod.c(124): Attempting to use PTM computation module
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: model/en-us/en-us//means
INFO: ms_gauden.c(292): 42 codebook, 3 feature, size: 
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: model/en-us/en-us//variances
INFO: ms_gauden.c(292): 42 codebook, 3 feature, size: 
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(354): 222 variance values floored
INFO: ptm_mgau.c(476): Loading senones from dump file model/en-us/en-us//sendump
INFO: ptm_mgau.c(500): BEGIN FILE FORMAT DESCRIPTION
INFO: ptm_mgau.c(563): Rows: 128, Columns: 5126
INFO: ptm_mgau.c(595): Using memory-mapped I/O for senones
INFO: ptm_mgau.c(835): Maximum top-N: 4
INFO: phone_loop_search.c(115): State beam -225 Phone exit beam -225 Insertion penalty 0
INFO: dict.c(320): Allocating 4101 * 20 bytes (80 KiB) for word entries
INFO: dict.c(342): Reading filler dictionary: model/en-us/en-us//noisedict
INFO: dict.c(213): Allocated 0 KiB for strings, 0 KiB for phones
INFO: dict.c(345): 5 words read
INFO: dict2pid.c(396): Building PID tables for dictionary
INFO: dict2pid.c(406): Allocating 42^3 * 2 bytes (144 KiB) for word-initial triphones
INFO: dict2pid.c(132): Allocated 21336 bytes (20 KiB) for word-final triphones
INFO: dict2pid.c(196): Allocated 21336 bytes (20 KiB) for single-phone word triphones
INFO: continuous.c(299): /home/pi/pocketsphinx-5prealpha/src/programs/.libs/lt-pocketsphinx_continuous COMPILED ON: Mar 30 2015, AT: 11:00:21

ERROR: "pocketsphinx.c", line 913: No search module is selected, did you forget to specify a language model or grammar?
FATAL: "continuous.c", line 244: Failed to start utterance		30000
-maxwpf		-1		-1
-mdef				
-mean				
-mfclogdir			
-min_endfr	0		0
-mixw				
-mixwfloor	0.0000001	1.000000e-07
-mllr				
-mmap		yes		yes
-ncep		13		13
-nfft		512		512
-nfilt		40		40
-nwpen		1.0		1.000000e+00
-pbeam		1e-48		1.000000e-48
-pip		1.0		1.000000e+00
-pl_beam	1e-10		1.000000e-10
-pl_pbeam	1e-10		1.000000e-10
-pl_pip		1.0		1.000000e+00
-pl_weight	3.0		3.000000e+00
-pl_window	5		5
-rawlogdir			
-remove_dc	no		no
-remove_noise	yes		yes
-remove_silence	yes		yes
-round_filters	yes		yes
-samprate	16000		1.600000e+04
-seed		-1		-1
-sendump			
-senlogdir			
-senmgau			
-silprob	0.005		5.000000e-03
-smoothspec	no		no
-svspec				
-time		no		no
-tmat				
-tmatfloor	0.0001		1.000000e-04
-topn		4		4
-topn_beam	0		0
-toprule			
-transform	legacy		legacy
-unit_area	yes		yes
-upperf		6855.4976	6.855498e+03
-uw		1.0		1.000000e+00
-vad_postspeech	50		50
-vad_prespeech	10		10
-vad_threshold	2.0		2.000000e+00
-var				
-varfloor	0.0001		1.000000e-04
-varnorm	no		no
-verbose	no		no
-warp_params			
-warp_type	inverse_linear	inverse_linear
-wbeam		7e-29		7.000000e-29
-wip		0.65		6.500000e-01
-wlen		0.025625	2.562500e-02

INFO: cmd_ln.c(697): Parsing command line:
\
	-lowerf 130 \
	-upperf 6800 \
	-nfilt 25 \
	-transform dct \
	-lifter 22 \
	-feat 1s_c_d_dd \
	-svspec 0-12/13-25/26-38 \
	-agc none \
	-cmn current \
	-varnorm no \
	-model ptm \
	-cmninit 40,3,-1 

Current configuration:
[NAME]		[DEFLT]		[VALUE]
-agc		none		none
-agcthresh	2.0		2.000000e+00
-alpha		0.97		9.700000e-01
-ceplen		13		13
-cmn		current		current
-cmninit	8.0		40,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		22
-logspec	no		no
-lowerf		133.33334	1.300000e+02
-ncep		13		13
-nfft		512		512
-nfilt		40		25
-remove_dc	no		no
-remove_noise	yes		yes
-remove_silence	yes		yes
-round_filters	yes		yes
-samprate	16000		1.600000e+04
-seed		-1		-1
-smoothspec	no		no
-svspec				0-12/13-25/26-38
-transform	legacy		dct
-unit_area	yes		yes
-upperf		6855.4976	6.800000e+03
-vad_postspeech	50		50
-vad_prespeech	10		10
-vad_threshold	2.0		2.000000e+00
-varnorm	no		no
-verbose	no		no
-warp_params			
-warp_type	inverse_linear	inverse_linear
-wlen		0.025625	2.562500e-02

INFO: acmod.c(252): Parsed model-specific feature parameters from model/en-us/en-us//feat.params
INFO: feat.c(715): Initializing feature stream to type: '1s_c_d_dd', ceplen=13, CMN='current', VARNORM='no', AGC='none'
INFO: cmn.c(143): mean[0]= 12.00, mean[1..12]= 0.0
INFO: acmod.c(171): Using subvector specification 0-12/13-25/26-38
INFO: mdef.c(518): Reading model definition: model/en-us/en-us//mdef
INFO: mdef.c(531): Found byte-order mark BMDF, assuming this is a binary mdef file
INFO: bin_mdef.c(336): Reading binary model definition: model/en-us/en-us//mdef
INFO: bin_mdef.c(516): 42 CI-phone, 137053 CD-phone, 3 emitstate/phone, 126 CI-sen, 5126 Sen, 29324 Sen-Seq
INFO: tmat.c(206): Reading HMM transition probability matrices: model/en-us/en-us//transition_matrices
INFO: acmod.c(124): Attempting to use PTM computation module
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: model/en-us/en-us//means
INFO: ms_gauden.c(292): 42 codebook, 3 feature, size: 
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: model/en-us/en-us//variances
INFO: ms_gauden.c(292): 42 codebook, 3 feature, size: 
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(294):  128x13
INFO: ms_gauden.c(354): 222 variance values floored
INFO: ptm_mgau.c(476): Loading senones from dump file model/en-us/en-us//sendump
INFO: ptm_mgau.c(500): BEGIN FILE FORMAT DESCRIPTION
INFO: ptm_mgau.c(563): Rows: 128, Columns: 5126
INFO: ptm_mgau.c(595): Using memory-mapped I/O for senones
INFO: ptm_mgau.c(835): Maximum top-N: 4
INFO: phone_loop_search.c(115): State beam -225 Phone exit beam -225 Insertion penalty 0
INFO: dict.c(320): Allocating 4101 * 20 bytes (80 KiB) for word entries
INFO: dict.c(342): Reading filler dictionary: model/en-us/en-us//noisedict
INFO: dict.c(213): Allocated 0 KiB for strings, 0 KiB for phones
INFO: dict.c(345): 5 words read
INFO: dict2pid.c(396): Building PID tables for dictionary
INFO: dict2pid.c(406): Allocating 42^3 * 2 bytes (144 KiB) for word-initial triphones
INFO: dict2pid.c(132): Allocated 21336 bytes (20 KiB) for word-final triphones
INFO: dict2pid.c(196): Allocated 21336 bytes (20 KiB) for single-phone word triphones
INFO: continuous.c(299): /home/pi/pocketsphinx-5prealpha/src/programs/.libs/lt-pocketsphinx_continuous COMPILED ON: Mar 30 2015, AT: 11:00:21

ERROR: "pocketsphinx.c", line 913: No search module is selected, did you forget to specify a language model or grammar?
FATAL: "continuous.c", line 244: Failed to start utterance
Alguna idea de como se especifica correctamente el lm?

Saludos

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Mon Mar 30, 2015 11:56 am

Vale era más fácil de lo que pensaba, así :

src/programs/pocketsphinx_continuous -inmic yes -hmm ../voxforge-es-0.2/model_parameters/voxforge_es_sphinx.cd_ptm_3000/ -samprate 16000 -dict ../voxforge-es-0.2/etc/voxforge_es_sphinx.dic -lm ../voxforge-es-0.2/etc/voxforge_es_sphinx.transcription.test.lm

De esa manera ya obtengo el READY en la consola y el micro se queda escuchando a ver ahora como funciona esto :D

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Mon Mar 30, 2015 12:39 pm

Funciona de lujo. Hay palabras que no reconoce bien pero supongo que sea cosa de adaptar el modelo de lenguaje.

Un ejemplo con el número 4, (el resultado lo está al final):

Code: Select all

Listening...
Input overrun, read calls are too rare (non-fatal)
INFO: cmn_prior.c(99): cmn_prior_update: from < 32.35 -4.19  2.60  4.11  5.85 -1.23  3.66  3.04  2.23  2.16  1.38  2.14 -2.27 >
INFO: cmn_prior.c(116): cmn_prior_update: to   < 33.36 -2.92  2.81  3.67  4.79 -1.45  3.86  2.94  1.79  1.73  1.38  2.69 -2.24 >
Input overrun, read calls are too rare (non-fatal)
Input overrun, read calls are too rare (non-fatal)
INFO: cmn_prior.c(131): cmn_prior_update: from < 33.36 -2.92  2.81  3.67  4.79 -1.45  3.86  2.94  1.79  1.73  1.38  2.69 -2.24 >
INFO: cmn_prior.c(149): cmn_prior_update: to   < 32.32 -2.87  3.05  3.78  4.83 -1.36  4.17  3.32  2.24  2.33  2.03  3.04 -1.83 >
INFO: ngram_search_fwdtree.c(1553):     1669 words recognized (11/fr)
INFO: ngram_search_fwdtree.c(1555):   245397 senones evaluated (1604/fr)
INFO: ngram_search_fwdtree.c(1559):   231218 channels searched (1511/fr), 18538 1st, 32161 last
INFO: ngram_search_fwdtree.c(1562):     3010 words for which last channels evaluated (19/fr)
INFO: ngram_search_fwdtree.c(1564):    10216 candidate words for entering last phone (66/fr)
INFO: ngram_search_fwdtree.c(1567): fwdtree 1.95 CPU 1.275 xRT
INFO: ngram_search_fwdtree.c(1570): fwdtree 6.08 wall 3.972 xRT
INFO: ngram_search_fwdflat.c(302): Utterance vocabulary contains 34 words
INFO: ngram_search_fwdflat.c(945):      994 words recognized (6/fr)
INFO: ngram_search_fwdflat.c(947):    70908 senones evaluated (463/fr)
INFO: ngram_search_fwdflat.c(949):    47113 channels searched (307/fr)
INFO: ngram_search_fwdflat.c(951):     3559 words searched (23/fr)
INFO: ngram_search_fwdflat.c(954):     2510 word transitions (16/fr)
INFO: ngram_search_fwdflat.c(957): fwdflat 0.78 CPU 0.510 xRT
INFO: ngram_search_fwdflat.c(960): fwdflat 0.78 wall 0.509 xRT
INFO: ngram_search.c(1252): lattice start node <s>.0 end node </s>.107
INFO: ngram_search.c(1278): Eliminated 0 nodes before end node
INFO: ngram_search.c(1383): Lattice has 139 nodes, 184 links
INFO: ps_lattice.c(1380): Bestpath score: -4302
INFO: ps_lattice.c(1384): Normalizer P(O) = alpha(</s>:107:151) = -332212
INFO: ps_lattice.c(1441): Joint P(O,S) = -337121 P(S|O) = -4909
INFO: ngram_search.c(874): bestpath 0.01 CPU 0.007 xRT
INFO: ngram_search.c(877): bestpath 0.01 wall 0.007 xRT
cuatro

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Wed Apr 01, 2015 12:56 pm

Pues es cuestión de trabajar el modelo de lenguaje. Creé uno como explican aquí y reconoce al vuelo muchas palabras, hay algunas que fallan pero supongo que es cuestión de trabajarlo, es mi primier lm y funciona al 70% (apróximadamente), no está nada mal.

Esta es una prueba en la que le dije "apaga la diez" y lo reconoció sin problemas.
READY....
Input overrun, read calls are too rare (non-fatal)
INFO: cmn_prior.c(99): cmn_prior_update: from < 18.89 -5.61 2.41 -0.51 2.32 2.96 7.77 5.30 1.95 0.73 3.23 0.52 -2.29 >
INFO: cmn_prior.c(116): cmn_prior_update: to < 19.07 -5.50 2.34 -0.76 2.22 2.83 7.80 5.37 1.89 0.79 3.28 0.68 -2.35 >
Listening...
Input overrun, read calls are too rare (non-fatal)
INFO: cmn_prior.c(131): cmn_prior_update: from < 19.07 -5.50 2.34 -0.76 2.22 2.83 7.80 5.37 1.89 0.79 3.28 0.68 -2.35 >
INFO: cmn_prior.c(149): cmn_prior_update: to < 19.90 -3.86 2.40 -1.45 2.33 1.82 7.80 5.67 1.59 0.58 4.02 1.58 -2.86 >
INFO: ngram_search_fwdtree.c(1553): 425 words recognized (4/fr)
INFO: ngram_search_fwdtree.c(1555): 15061 senones evaluated (145/fr)
INFO: ngram_search_fwdtree.c(1559): 6403 channels searched (61/fr), 1162 1st, 3866 last
INFO: ngram_search_fwdtree.c(1562): 512 words for which last channels evaluated (4/fr)
INFO: ngram_search_fwdtree.c(1564): 161 candidate words for entering last phone (1/fr)
INFO: ngram_search_fwdtree.c(1567): fwdtree 1.06 CPU 1.019 xRT
INFO: ngram_search_fwdtree.c(1570): fwdtree 2.88 wall 2.774 xRT
INFO: ngram_search_fwdflat.c(302): Utterance vocabulary contains 10 words
INFO: ngram_search_fwdflat.c(945): 323 words recognized (3/fr)
INFO: ngram_search_fwdflat.c(947): 18373 senones evaluated (177/fr)
INFO: ngram_search_fwdflat.c(949): 9471 channels searched (91/fr)
INFO: ngram_search_fwdflat.c(951): 806 words searched (7/fr)
INFO: ngram_search_fwdflat.c(954): 523 word transitions (5/fr)
INFO: ngram_search_fwdflat.c(957): fwdflat 0.53 CPU 0.510 xRT
INFO: ngram_search_fwdflat.c(960): fwdflat 0.53 wall 0.514 xRT
INFO: ngram_search.c(1252): lattice start node <s>.0 end node </s>.63
INFO: ngram_search.c(1278): Eliminated 0 nodes before end node
INFO: ngram_search.c(1383): Lattice has 40 nodes, 19 links
INFO: ps_lattice.c(1380): Bestpath score: -2937
INFO: ps_lattice.c(1384): Normalizer P(O) = alpha(</s>:63:102) = -240814
INFO: ps_lattice.c(1441): Joint P(O,S) = -256832 P(S|O) = -16018
INFO: ngram_search.c(874): bestpath 0.01 CPU 0.010 xRT
INFO: ngram_search.c(877): bestpath 0.00 wall 0.004 xRT
apaga la diez
Esta es otra en la que le dije "apaga la dos" pero reconoció "la dos la", como se puede ver al final:
READY....
Input overrun, read calls are too rare (non-fatal)
Listening...
Input overrun, read calls are too rare (non-fatal)
Input overrun, read calls are too rare (non-fatal)
INFO: cmn_prior.c(99): cmn_prior_update: from < 18.09 -7.03 0.03 -1.12 -0.84 -0.01 3.43 2.80 3.99 1.57 1.68 0.12 0.65 >
INFO: cmn_prior.c(116): cmn_prior_update: to < 19.80 -6.60 1.44 -0.51 -1.42 -0.99 4.29 2.83 3.24 1.76 1.19 -0.03 0.97 >
INFO: cmn_prior.c(131): cmn_prior_update: from < 19.80 -6.60 1.44 -0.51 -1.42 -0.99 4.29 2.83 3.24 1.76 1.19 -0.03 0.97 >
INFO: cmn_prior.c(149): cmn_prior_update: to < 19.23 -6.56 1.51 -0.35 -1.28 -0.92 4.17 2.67 3.09 1.65 1.19 -0.00 1.02 >
INFO: ngram_search_fwdtree.c(1553): 815 words recognized (5/fr)
INFO: ngram_search_fwdtree.c(1555): 30960 senones evaluated (197/fr)
INFO: ngram_search_fwdtree.c(1559): 13862 channels searched (88/fr), 1989 1st, 8522 last
INFO: ngram_search_fwdtree.c(1562): 967 words for which last channels evaluated (6/fr)
INFO: ngram_search_fwdtree.c(1564): 572 candidate words for entering last phone (3/fr)
INFO: ngram_search_fwdtree.c(1567): fwdtree 1.69 CPU 1.076 xRT
INFO: ngram_search_fwdtree.c(1570): fwdtree 5.21 wall 3.320 xRT
INFO: ngram_search_fwdflat.c(302): Utterance vocabulary contains 12 words
INFO: ngram_search_fwdflat.c(945): 674 words recognized (4/fr)
INFO: ngram_search_fwdflat.c(947): 34236 senones evaluated (218/fr)
INFO: ngram_search_fwdflat.c(949): 17792 channels searched (113/fr)
INFO: ngram_search_fwdflat.c(951): 1460 words searched (9/fr)
INFO: ngram_search_fwdflat.c(954): 828 word transitions (5/fr)
INFO: ngram_search_fwdflat.c(957): fwdflat 0.95 CPU 0.605 xRT
INFO: ngram_search_fwdflat.c(960): fwdflat 0.96 wall 0.611 xRT
INFO: ngram_search.c(1252): lattice start node <s>.0 end node </s>.101
INFO: ngram_search.c(1278): Eliminated 0 nodes before end node
INFO: ngram_search.c(1383): Lattice has 61 nodes, 55 links
INFO: ps_lattice.c(1380): Bestpath score: -4028
INFO: ps_lattice.c(1384): Normalizer P(O) = alpha(</s>:101:155) = -336672
INFO: ps_lattice.c(1441): Joint P(O,S) = -370292 P(S|O) = -33620
INFO: ngram_search.c(874): bestpath 0.01 CPU 0.006 xRT
INFO: ngram_search.c(877): bestpath 0.01 wall 0.004 xRT
la dos la

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Thu Apr 02, 2015 8:18 am

Por si alguien piensa utilizar CMUSphinx para su proyecto con la Raspberry Pi (o con Android o Java) mejor que utilice las releases de GitHub porque las de Sourceforge no están actualizadas.

Sorry, o Python https://github.com/cmusphinx/pocketsphinx-python

Para luego obtener los resultados en Java o en Python hay unos ejemplos:
Java Decoder Test
Python Decoder Test

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Fri Apr 03, 2015 6:00 pm

¿Alguien se apunta para crear un tutorial sobre PocketSphinx para Raspberry Pi en Español?

Y otro para Android.

Saludos

Commando2009
Posts: 35
Joined: Wed Apr 29, 2015 10:56 pm
Location: Madrid

Re: PocketSphinx en Raspberry Pi

Wed Apr 29, 2015 11:03 pm

Estaria bien,no dispongo de mucho tiempo pero vamos a ir viéndolo....

trato de implementar un reconocimiento de voz para ordenar acciones (domotizadas) y la verdad es que la
opción de google api,es mas fiable y directa,pero sujeta a que google la deje usar o no.
Por tanto es mas interesante usar un reconocimiento de voz nativo y offline,asi pues estoy trasteando con
cmusphinx y julius,a ver cual de ellos hace lo que yo quiero y en español......lo dicho...vamos viéndolo y si hay adelantos
los iremos posteando...


Saludos

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Thu Apr 30, 2015 8:26 am

Este juego utiliza sphinx

https://www.youtube.com/watch?v=1ZOqEo3yxsI

En el proyecto de CMU Sphinx trabaja un investigador de Google (español) http://research.google.com/pubs/author5289.html entre otros investigadores.

Es un proyecto bastante activo y con un soporte muy bueno, Nickolay está siempre ahí en el foro y en stackoverflow ayudando, es un crack.

Yo ahora mismo le he dejado aparcado en un branch en GitHub porque como tengo unos problemillas con la RF he pedido unos módulos nuevos a USA a ver que tal van, estoy deseando tenerlos ya para probarlos, ya ví que llegaron al aeropuerto esta mañana, a ver si me los entregan hoy.

Y para aprovechar el tiempo en lo que llegaba el pedido he estado implementando un SPP Server al proyecto (en la Raspberry Pi) para poder aceptar conexiones bluetooth desde un SPP Client en Android. Era un tema que tenía pendiente (me había ayudado con el tema unpeatonenlared en otro hilo (y alguien más creo)) en el que pensaba hacerlo con cable (OTG) (pero no todos los smartphones soportan OTG aún), y de esta manera no dejo fuera la RBPI y se va a encargar de hacer todas las operaciones de comunicación con la red Zigbee. Android lo utilizaré para el audio (micro y altavoz) y la interfaz gráfica.

De esta manera el staff de la empresa se podrá descargar la app en el play store y conectarse a la estación de control (la RBPI) y operar como si lo hiciera desde la PiTFT.

En la RBPI sphinx4 yo no he podido utilizar, poca potencia. Pocketsphinx sí, para pocas palabras es aceptable, por ejemplo, "apaga la luz" o "sube la persiana", para eso está bien y la presición, si adaptas bien el modelo de lenguaje (ahí está el truquillo), te va a ir como la seda.

Donde está el trabajo duro es en la adaptación, si te puedo ayudar, estoy por aquí. Sobre lo del artículo si quieres lo podemos hacer un poco más adelante, cuando solucione algunas cosillas.

Saludos

Commando2009
Posts: 35
Joined: Wed Apr 29, 2015 10:56 pm
Location: Madrid

Re: PocketSphinx en Raspberry Pi

Thu Apr 30, 2015 5:00 pm

Vaya, a priori todo había parecido instalarse bien,
pero de buenas a primeras me tira error ,estoy atascado ahora mismo
es posible que tenga problemas con el lm.....

Voy a ver si tengo suerto y recompilo,tras quitar el pulseaudio....


Saludos

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Thu Apr 30, 2015 5:20 pm

Pega el error.

Commando2009
Posts: 35
Joined: Wed Apr 29, 2015 10:56 pm
Location: Madrid

Re: PocketSphinx en Raspberry Pi

Thu Apr 30, 2015 7:02 pm

ok,eliminado pulseaudio y recompilando arranco sin problema desde SSL....ya tengo el READY,no reconoce muchas palabras pero algo es algo,es un comienzo como bien decias tu.
Lo que me sucede es algo muy curioso,desde SSL obtengo el ready sin problemas...en modo local me tira error de ejecución de pocketsphinx.c en la línea 134 de que no hay definido un mdef en .....ptm_3000 de voxforge-es-0.2.....en definitiva me avisa de que no tengo definido un modelo de lenguaje.....
....no se voy a ver si encuentro el bug/problema.......pero no deja de ser curioso.

Saludos

Commando2009
Posts: 35
Joined: Wed Apr 29, 2015 10:56 pm
Location: Madrid

Re: PocketSphinx en Raspberry Pi

Thu Apr 30, 2015 7:40 pm

Es para volverse loco...

me explico, tengo un pc en otro sala donde me conecto por ssl a la pi,desde allí lanza la apli y READY sin problemas....

si me voy a la pi y lo ejecuto DE IGUAL MANERA,no reconoce el mdef QUE SI RECONOCE cuando lo hago por ssl ....
increíble...
....si obtengo novedades las posteare ....se agradecen ayudas posibles

PD: a ver como me las ingenio y desde la consola de la pi pego el log.

Saludos
Last edited by Commando2009 on Thu Apr 30, 2015 8:00 pm, edited 1 time in total.

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Thu Apr 30, 2015 7:55 pm

SSH, SSL es otro protocolo.

Me pillas en eso porque siempre lo he usado con ssh. Pero debería de funcionar. Prueba en local a hacer algo así a ver si ves el comando que utilizaste de manera remota:

history | grep 'pocketsphinx_continous'

Luego le pones este signo seguido del número de la línea y entere !xxxx

Es decir si te salió algo así:

362 pocketsphinx_continous dic=blabla

Pues pones !362 y le das a enter para ejecutarlo.

Así se aseguras que no estés dejando atrás algo del modelo de lenguaje.

Si tienes algún fallo en el reconicimiento tendrás que adaptar tu modelo, es susceptible a acentos, así que lo mejor es crear un modelo con el tipo de voz que vayas a utilizar.

También ten en cuenta que las voces han de ser de 16Khz, 16 bits, Monocanal y no recuerdo que más pero lo tienes todo en la wiki:

http://cmusphinx.sourceforge.net/wiki/tutorialadapt

Puedes utilizar el modelo de voxforge en español y adaptarlo a tus necesidades como indican en el tutorial de arriba. Luego haces el test y si te da 100% debería de funcionar todo bien, a mí me funcionó.

Saludos.

Commando2009
Posts: 35
Joined: Wed Apr 29, 2015 10:56 pm
Location: Madrid

Re: PocketSphinx en Raspberry Pi

Thu Apr 30, 2015 8:06 pm

ok,ya vi el problema ( efectivamente llevas razón SSH, con el mosqueo escribo hasta mal)
lo único que ocurre es un tema de permisos, al ejecutar desde la pi sudo -i,como root ya reconoce los mdef y demás,tenemos el READY escuchando.
Así pues un escollo menos....daré permisos recursivos a la carpeta de voxforge y listo.

Gracias por la info revisare la wiki y tratare de "educar" el lm con mi voz, ya que no reconoce ni una palabra con lo que trae por defecto, seguimos con el proyecto.

Saludos

Commando2009
Posts: 35
Joined: Wed Apr 29, 2015 10:56 pm
Location: Madrid

Re: PocketSphinx en Raspberry Pi

Fri May 01, 2015 4:16 pm

hola

usaste el CMUCLTK tools ,para crear tu lm o lo hiciste a "pelo"??...me refiero que si has variado el lm de voxforge o
te has hecho un "mini lenguaje" para probar......

imagino que habras generado todo desde otro pc y una vez preparado lo has volcado a la pi,
o estoy equivocado?
el CMUCLTK tools solo trabaja en arquitecturas x86 Linux o Windows, pero no en arm....
te agradecería me resumieras como has hecho mas o menos para obtener un 70% de reconocimiento..

...levas razón el trabajo duro es la adaptación....hacer algo medianamente funcional ......no se yo....

Saludos

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Fri May 01, 2015 5:43 pm

usaste el CMUCLTK tools ,para crear tu lm o lo hiciste a "pelo"??...me refiero que si has variado el lm de voxforge o
te has hecho un "mini lenguaje" para probar......
Usé el de voxforge y lo adapté, tal y como dice en el tutorial pero con el modelo de voxforge. Grabé mis voces y las adapté.
imagino que habras generado todo desde otro pc y una vez preparado lo has volcado a la pi,
o estoy equivocado?
No, no te equivocas.

En la pi instalas pocketsphinx y copias el modelo adaptado y cuando lo ejectues le pasas ese modelo.

el CMUCLTK tools solo trabaja en arquitecturas x86 Linux o Windows, pero no en arm....
te agradecería me resumieras como has hecho mas o menos para obtener un 70% de reconocimiento..
Yo lo hice en 64 bits, en arm nunca lo probé.
...levas razón el trabajo duro es la adaptación....hacer algo medianamente funcional ......no se yo....
Solo tienes que hacer paso a paso lo que dice el tutorial, incluido el test, y verás que te sale.

Suerte

Commando2009
Posts: 35
Joined: Wed Apr 29, 2015 10:56 pm
Location: Madrid

Re: PocketSphinx en Raspberry Pi

Sun May 03, 2015 10:15 am

Hola
en el pc nativo con kubutu, va bastante bien, reconoce casi todo
hasta frases completas....pero al usar en la pi ese modelo los resultados son desastrosos
no reconoce nada.....el proceso usado es IDENTICO,lo cual me lleva apensar que la escases de recursos
en la pi, deben de influir.
...va a ser mas laborioso de lo que esperaba, es probable que haya que generar todo en la pi para
que esto tenga un funcionamiento medio aceptable.
Voy a dar un giro al proyecto y como me veo "educando" "phoneticamente" desde el principio a la pi,voy a
intentar ir un paso por delante......voy directamente con jasper.
Vamos a ver si vamos avanzando.

Saludos

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Sun May 03, 2015 1:06 pm

...pero con Jasper tendrás que usar un stt engine de igual forma y las opciones para la Pi son Pocketsphinx y poco más.

Y el modelo será el mismo en inglés, tendrás que hacer la adaptación, bueno reutilizar la que ya hiciste. Pero bueno prueba a ver si va mejor.

Para frases completas supongo que la Pi no vaya muy bien, quizás las reconozca pero tardará bastante tiempo. Alguien me dijo que utiliza Odroid, o algo similar más potente que la Pi con Sphinx4 y le va bien.

Saludos

Commando2009
Posts: 35
Joined: Wed Apr 29, 2015 10:56 pm
Location: Madrid

Re: PocketSphinx en Raspberry Pi

Mon May 04, 2015 8:41 am

Hola
Lo primero gracias por tu ayuda....
He conseguido que corra ya bien en las 2 pi que tengo,reconoce todos los numeros y bastantes palabras.
El siguiente paso que intentare,cuando pueda (ando excaso de tiempo),es reducir el diccionario a las ordenes exclusivas que necesito,el escollo que veo a priori es que lmtools se basa en ingles,no se si generando un dic y lm con ellas me servira.....habra que probar...la idea es que se centre en "OIR" solo lo que necesito:ordenes,de lo contrario me ls ingeniare para adptarlo,al hmm usado en voxforge le faltan muuuuchas palabras,jejeje.
Vamos a ver si lo logramos.
En cuanto esto funcione si quieres organizamos un tutorial.
PD:

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Mon May 04, 2015 2:17 pm

El siguiente paso que intentare,cuando pueda (ando excaso de tiempo),es reducir el diccionario a las ordenes exclusivas que necesito,el escollo que veo a priori es que lmtools se basa en ingles,no se si generando un dic y lm con ellas me servira.....habra que probar...la idea es que se centre en "OIR" solo lo que necesito
Creía que ya lo habías hecho.

Ya nos contarás.

Saludos

Commando2009
Posts: 35
Joined: Wed Apr 29, 2015 10:56 pm
Location: Madrid

Re: PocketSphinx en Raspberry Pi

Wed May 06, 2015 9:30 pm

Hola,
Bueno ya tengo operativo el enginer para la función que le voy a dar.Tengo un 100% de
reconocimiento en las ordenes concretas (abrir garaje, cerrar....etc),ahora seguiremos con el código, los gpio, etc..etc
Resultó mas fácil de lo que parecía,lo que pasa es que me obcequé en el camino equivocado....pero de todo se aprende ^_*.
Tras este escollo continuo con mi miniproyecto de domótica.La idea de jasper es atractiva per o usar Julius la complica,asi pues
de moemto la dejo aparcada.....hay que j...erse lo que puede dar y da de si la pi....jajajajaja
Ya tengo las ideas mas claras, si alguien tiene alguna duda, como dice el amigo raspdroid....aquí estamos para echar un cable.

Saludos

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Thu May 07, 2015 7:04 am

Con Jasper puedes usar Pocketsphinx. http://jasperproject.github.io/document ... ation/#stt

Saludos

Commando2009
Posts: 35
Joined: Wed Apr 29, 2015 10:56 pm
Location: Madrid

Re: PocketSphinx en Raspberry Pi

Fri May 08, 2015 11:49 am

Como te decia,Jasper lo usare (o no) en un futuro.
De momento lo que estoy haciendo es modificar el enginer y añadirle librerias y funciones necesarias para gobernar los gpios,recompilar y usarlo como daemon,en segundo plano,con eso me basta de momento......si todo funciona,le ire añadiendo aparatos.
La idea original era por scripts en python,pero si lo hago en c,las respuestas deberian ser mas rapidas.
Ya comentare como ha quedado todo.

Saludos

raspdroid
Posts: 1603
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: PocketSphinx en Raspberry Pi

Fri May 08, 2015 9:39 pm

lo puedes hacer con python, lo tienes en la carpeta swig, solo tienes que compilarlo con make y ya. Deben de haber ejemplos, para Java los hay.

orxa
Posts: 46
Joined: Thu Nov 12, 2015 5:20 pm

Re: PocketSphinx en Raspberry Pi

Thu Nov 12, 2015 5:26 pm

Hola.

Soy Jose, este es mi primer mensaje.

Estaba leyendo el post y esperaba con ansia el tutorial, pero veo que no os decidisteis al final a hacerlo o, al menos, a publicarlo.

¿Tenéis pensado hacerlo?

Parece una herramienta bastante potente para lo que tengo entre manos pero la verdad, viéndoos hablar, pienso que si yo tengo que echarla a andar, me quedaré con la api de Google, que no estoy descontento con ella, pero la verdad es que me gustaría algo offline y que fuera bien.

Desde ya, os agradezco vuestros posts.

Saludos.

Return to “Español”