Read the statement by Michael Teeuw here.
MM won't run, blank screen with cursor showing after updating
- 
 @sdetweil also, in the node_modules/pocketsphinx_continuous/index.js show me this var pc = spawn('pocketsphinx_continuous', [ '-adcdev', 'plughw:' + this.microphone, '-inmic', 'yes', '-lm', 'modules/MMM-voice/' + this.setId + '.lm', '-dict', 'modules/MMM-voice/' + this.setId + '.dic'also check for the two files in the mmm-voice folder MMM-voice.lm and MMM-voice.dic 
- 
 @sdetweil this is the entire index file, didn’t see that anywhere const spawn = require('child_process').spawn; const EventEmitter = require('events').EventEmitter; const util = require('util'); const reservedEvents = { close: true, error: true, data: true, end: true, readable: true, drain: true, finish: true, pipe: true, unpipe: true }; function PocketSphinxContinuous(config) { this.setId = config.setId; this.verbose = config.verbose; this.microphone = config.microphone; this.autostart = config.autostart; if (!config.hasOwnProperty('autostart') || config.autostart === true) { this.start(); } EventEmitter.call(this); } PocketSphinxContinuous.prototype.start = function() { if (!this.isListening()) { let mic = this.microphone; // if name starts with number if (typeof this.microphone === 'number' || this.microphone.match(/^\d/)) { mic = `plughw:${this.microphone}`; } this._psc = spawn('pocketsphinx_continuous', [ '-adcdev', mic, '-inmic', 'yes', '-lm', `modules/${this.setId}/${this.setId}.lm`, '-dict', `modules/${this.setId}/${this.setId}.dic` ]); this._psc.stdout.on('data', data => { const output = data.toString().trim(); if (output) { this.emit('data', output); } // Also try to emit an event for the actual data, unless of course the // event is a reserved one. const eventName = output.toLowerCase(); if (!reservedEvents[eventName]) { this.emit(eventName, output); } }); this._psc.stderr.on('data', data => { const output = data.toString().trim(); if (this.verbose && output) { this.emit('debug', data); } }); this._psc.on('close', code => { this.emit('error', code); }); this._psc.on('error', err => { this.emit('error', err); }); } }; PocketSphinxContinuous.prototype.stop = function() { if (this.isListening()) { this._psc.kill(); } }; PocketSphinxContinuous.prototype.isListening = function() { return this._psc && !this._psc.killed; }; util.inherits(PocketSphinxContinuous, EventEmitter); module.exports = PocketSphinxContinuous;also, both of those files are there. 
- 
 @jmartin1009 said in MM won't run, blank screen with cursor showing after updating: 
 from your response> this._psc = spawn('pocketsphinx_continuous', [ > '-adcdev', > mic, > '-inmic', > 'yes', > '-lm', > `modules/${this.setId}/${this.setId}.lm`, > '-dict', > `modules/${this.setId}/${this.setId}.dic` > ]); >so, only the path to the files can be wrong… so, change them to (assume u are running as user pi) this._psc = spawn('pocketsphinx_continuous', [ '-adcdev', mic, '-inmic', 'yes', '-lm', `/home/pi/MagicMirror/modules/${this.setId}/${this.setId}.lm`, '-dict', `/home/pi/MagicMirror/modules/${this.setId}/${this.setId}.dic` ]);
- 
 @jmartin1009 you have the file with my fixes in it… btw 
- 
 @sdetweil which file? and i’ll go change those right now 
- 
 ~/MagicMirror/modules/MMM-voice/node_modules/pocketsphinx_continuous/index.js same file u just showed me 
- 
 @sdetweil oh yeah, im going to change the file paths in it right now in the one you sent last. 
- 
 @sdetweil just changed those file paths, tried running MM, still getting “ERROR undefined” next to the little microphone 
- 
 @jmartin1009 yeh, only care about the debug log 
- 
 @sdetweil ``` 
 INFO: pocketsphinx.c(153): Parsed model-specific feature parameters from /usr/local/share/pocketsphinx/model/en-us/en-us/feat.params
 Current configuration:
 [NAME] [DEFLT] [VALUE]
 -agc none none
 -agcthresh 2.0 2.000000e+00
 -allphone
 -allphone_ci yes yes
 -alpha 0.97 9.700000e-01
 -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 live batch
 -cmninit 40,3,-1 41.00,-5.29,-0.12,5.09,2.48,-4.07,-1.37,-1.78,-5.08,-2.05,-6.45,-1.42,1.17
 -compallsen no no
 -dict /home/pi/MagicMirror/modules/MMM-voice/MMM-voice.dic
 -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 /usr/local/share/pocketsphinx/model/en-us/en-us
 -input_endian little little
 -jsgf
 -keyphrase
 -kws
 -kws_delay 10 10
 -kws_plp 1e-1 1.000000e-01
 -kws_threshold 1e-30 1.000000e-30
 -latsize 5000 5000
 -lda
 -ldadim 0 0
 -lifter 0 22
 -lm /home/pi/MagicMirror/modules/MMM-voice/MMM-voice.lm
 -lmctl
 -lmname
 -logbase 1.0001 1.000100e+00
 -logfn
 -logspec no no
 -lowerf 133.33334 1.300000e+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 25
 -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 0-12/13-25/26-38
 -tmat
 -tmatfloor 0.0001 1.000000e-04
 -topn 4 4
 -topn_beam 0 0
 -toprule
 -transform legacy dct
 -unit_area yes yes
 -upperf 6855.4976 6.800000e+03
 -uw 1.0 1.000000e+00
 -vad_postspeech 50 50
 -vad_prespeech 20 20
 -vad_startspeech 10 10
 -vad_threshold 3.0 3.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-02INFO: feat.c(715): Initializing feature stream to type: ‘1s_c_d_dd’, ceplen=13, CMN=‘batch’, VARNORM=‘no’, AGC=‘none’ 
 INFO: acmod.c(162): Using subvector specification 0-12/13-25/26-38
 INFO: mdef.c(518): Reading model definition: /usr/local/share/pocketsphinx/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: /usr/local/share/pocketsphinx/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(149): Reading HMM transition probability matrices: /usr/local/share/pocketsphinx/model/en-us/en-us/transition_matrices
 INFO: acmod.c(113): Attempting to use PTM computation module
 INFO: ms_gauden.c(127): Reading mixture gaussian parameter: /usr/local/share/pocketsphinx/model/en-us/en-us/means
 INFO: ms_gauden.c(242): 42 codebook, 3 feature, size:
 INFO: ms_gauden.c(244): 128x13
 INFO: ms_gauden.c(244): 128x13
 INFO: ms_gauden.c(244): 128x13
 INFO: ms_gauden.c(127): Reading mixture gaussian parameter: /usr/local/share/pocketsphinx/model/en-us/en-us/variances
 INFO: ms_gauden.c(242): 42 codebook, 3 feature, size:
 INFO: ms_gauden.c(244): 128x13
 INFO: ms_gauden.c(244): 128x13
 INFO: ms_gauden.c(244): 128x13
 INFO: ms_gauden.c(304): 222 variance values floored
 INFO: ptm_mgau.c(475): Loading senones from dump file /usr/local/share/pocketsphinx/model/en-us/en-us/sendump
 INFO: ptm_mgau.c(499): BEGIN FILE FORMAT DESCRIPTION
 INFO: ptm_mgau.c(562): Rows: 128, Columns: 5126
 INFO: ptm_mgau.c(594): Using memory-mapped I/O for senones
 INFO: ptm_mgau.c(837): Maximum top-N: 4
 INFO: phone_loop_search.c(114): State beam -225 Phone exit beam -225 Insertion penalty 0
 INFO: dict.c(320): Allocating 4130 * 20 bytes (80 KiB) for word entries
 INFO: dict.c(333): Reading main dictionary: /home/pi/MagicMirror/modules/MMM-voice/MMM-voice.dic
 INFO: dict.c(213): Dictionary size 29, allocated 0 KiB for strings, 0 KiB for phones
 INFO: dict.c(336): 29 words read
 INFO: dict.c(358): Reading filler dictionary: /usr/local/share/pocketsphinx/model/en-us/en-us/noisedict
 INFO: dict.c(213): Dictionary size 34, allocated 0 KiB for strings, 0 KiB for phones
 INFO: dict.c(361): 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: ngram_model_trie.c(354): Trying to read LM in trie binary format
 INFO: ngram_model_trie.c(365): Header doesn’t match
 INFO: ngram_model_trie.c(177): Trying to read LM in arpa format
 INFO: ngram_model_trie.c(193): LM of order 3
 INFO: ngram_model_trie.c(195): #1-grams: 25
 INFO: ngram_model_trie.c(195): #2-grams: 46
 INFO: ngram_model_trie.c(195): #3-grams: 23
 INFO: lm_trie.c(474): Training quantizer
 INFO: lm_trie.c(482): Building LM trie
 INFO: ngram_search_fwdtree.c(74): Initializing search tree
 INFO: ngram_search_fwdtree.c(101): 28 unique initial diphones
 INFO: ngram_search_fwdtree.c(186): Creating search channels
 INFO: ngram_search_fwdtree.c(323): Max nonroot chan increased to 157
 INFO: ngram_search_fwdtree.c(333): Created 28 root, 29 non-root channels, 5 single-phone words
 INFO: ngram_search_fwdflat.c(157): fwdflat: min_ef_width = 4, max_sf_win = 25
 INFO: continuous.c(307): pocketsphinx_continuous COMPILED ON: Sep 29 2019, AT: 15:24:41Error opening audio device plughw:1,0 for capture: Invalid argument 
 FATAL: “continuous.c”, line 245: Failed to open audio device
