MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MM won't run, blank screen with cursor showing after updating

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    81 Posts 2 Posters 35.6k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      sdetweil @jmartin1009
      last edited by

      @jmartin1009 grrr. Programmers

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      J 1 Reply Last reply Reply Quote 0
      • J Offline
        jmartin1009 @sdetweil
        last edited by

        @sdetweil as a programmer in college right now, i relate lmao any leads or ideas about it?

        S 1 Reply Last reply Reply Quote 0
        • S Offline
          sdetweil @jmartin1009
          last edited by

          @jmartin1009 if you give it NO parms, it dumps them out…

          SO, pocketsphinx_continuous 2>somefile

          to get the list of possible parms

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          J S 2 Replies Last reply Reply Quote 0
          • J Offline
            jmartin1009 @sdetweil
            last edited by

            @sdetweil

            ERROR: "cmd_ln.c", line 682: No arguments given, available options are:
            Arguments list definition:
            [NAME]			[DEFLT]		[DESCR]
            -adcdev					Name of audio device to use for input.
            -agc			none		Automatic gain control for c0 ('max', 'emax', 'noise', or 'none')
            -agcthresh		2.0		Initial threshold for automatic gain control
            -allphone				Perform phoneme decoding with phonetic lm
            -allphone_ci		yes		Perform phoneme decoding with phonetic lm and context-independent units only
            -alpha			0.97		Preemphasis parameter
            -argfile				Argument file giving extra arguments.
            -ascale			20.0		Inverse of acoustic model scale for confidence score calculation
            -aw			1		Inverse weight applied to acoustic scores.
            -backtrace		no		Print results and backtraces to log.
            -beam			1e-48		Beam width applied to every frame in Viterbi search (smaller values mean wider beam)
            -bestpath		yes		Run bestpath (Dijkstra) search over word lattice (3rd pass)
            -bestpathlw		9.5		Language model probability weight for bestpath search
            -ceplen			13		Number of components in the input feature vector
            -cmn			live		Cepstral mean normalization scheme ('live', 'batch', or 'none')
            -cmninit		40,3,-1		Initial values (comma-separated) for cepstral mean when 'live' is used
            -compallsen		no		Compute all senone scores in every frame (can be faster when there are many senones)
            -dict					Main pronunciation dictionary (lexicon) input file
            -dictcase		no		Dictionary is case sensitive (NOTE: case insensitivity applies to ASCII characters only)
            -dither			no		Add 1/2-bit noise
            -doublebw		no		Use double bandwidth filters (same center freq)
            -ds			1		Frame GMM computation downsampling ratio
            -fdict					Noise word pronunciation dictionary input file
            -feat			1s_c_d_dd	Feature stream type, depends on the acoustic model
            -featparams				File containing feature extraction parameters.
            -fillprob		1e-8		Filler word transition probability
            -frate			100		Frame rate
            -fsg					Sphinx format finite state grammar file
            -fsgusealtpron		yes		Add alternate pronunciations to FSG
            -fsgusefiller		yes		Insert filler words at each state.
            -fwdflat		yes		Run forward flat-lexicon search over word lattice (2nd pass)
            -fwdflatbeam		1e-64		Beam width applied to every frame in second-pass flat search
            -fwdflatefwid		4		Minimum number of end frames for a word to be searched in fwdflat search
            -fwdflatlw		8.5		Language model probability weight for flat lexicon (2nd pass) decoding
            -fwdflatsfwin		25		Window of frames in lattice to search for successor words in fwdflat search 
            -fwdflatwbeam		7e-29		Beam width applied to word exits in second-pass flat search
            -fwdtree		yes		Run forward lexicon-tree search (1st pass)
            -hmm					Directory containing acoustic model files.
            -infile					Audio file to transcribe.
            -inmic			no		Transcribe audio from microphone.
            -input_endian		little		Endianness of input data, big or little, ignored if NIST or MS Wav
            -jsgf					JSGF grammar file
            -keyphrase				Keyphrase to spot
            -kws					A file with keyphrases to spot, one per line
            -kws_delay		10		Delay to wait for best detection score
            -kws_plp		1e-1		Phone loop probability for keyphrase spotting
            -kws_threshold		1e-30		Threshold for p(hyp)/p(alternatives) ratio
            -latsize		5000		Initial backpointer table size
            -lda					File containing transformation matrix to be applied to features (single-stream features only)
            -ldadim			0		Dimensionality of output of feature transformation (0 to use entire matrix)
            -lifter			0		Length of sin-curve for liftering, or 0 for no liftering.
            -lm					Word trigram language model input file
            -lmctl					Specify a set of language model
            -lmname					Which language model in -lmctl to use by default
            -logbase		1.0001		Base in which all log-likelihoods calculated
            -logfn					File to write log messages in
            -logspec		no		Write out logspectral files instead of cepstra
            -lowerf			133.33334	Lower edge of filters
            -lpbeam			1e-40		Beam width applied to last phone in words
            -lponlybeam		7e-29		Beam width applied to last phone in single-phone words
            -lw			6.5		Language model probability weight
            -maxhmmpf		30000		Maximum number of active HMMs to maintain at each frame (or -1 for no pruning)
            -maxwpf			-1		Maximum number of distinct word exits at each frame (or -1 for no pruning)
            -mdef					Model definition input file
            -mean					Mixture gaussian means input file
            -mfclogdir				Directory to log feature files to
            -min_endfr		0		Nodes ignored in lattice construction if they persist for fewer than N frames
            -mixw					Senone mixture weights input file (uncompressed)
            -mixwfloor		0.0000001	Senone mixture weights floor (applied to data from -mixw file)
            -mllr					MLLR transformation to apply to means and variances
            -mmap			yes		Use memory-mapped I/O (if possible) for model files
            -ncep			13		Number of cep coefficients
            -nfft			512		Size of FFT
            -nfilt			40		Number of filter banks
            -nwpen			1.0		New word transition penalty
            -pbeam			1e-48		Beam width applied to phone transitions
            -pip			1.0		Phone insertion penalty
            -pl_beam		1e-10		Beam width applied to phone loop search for lookahead
            -pl_pbeam		1e-10		Beam width applied to phone loop transitions for lookahead
            -pl_pip			1.0		Phone insertion penalty for phone loop
            -pl_weight		3.0		Weight for phoneme lookahead penalties
            -pl_window		5		Phoneme lookahead window size, in frames
            -rawlogdir				Directory to log raw audio files to
            -remove_dc		no		Remove DC offset from each frame
            -remove_noise		yes		Remove noise with spectral subtraction in mel-energies
            -remove_silence		yes		Enables VAD, removes silence frames from processing
            -round_filters		yes		Round mel filter frequencies to DFT points
            -samprate		16000		Sampling rate
            -seed			-1		Seed for random number generator; if less than zero, pick our own
            -sendump				Senone dump (compressed mixture weights) input file
            -senlogdir				Directory to log senone score files to
            -senmgau				Senone to codebook mapping input file (usually not needed)
            -silprob		0.005		Silence word transition probability
            -smoothspec		no		Write out cepstral-smoothed logspectral files
            -svspec					Subvector specification (e.g., 24,0-11/25,12-23/26-38 or 0-12/13-25/26-38)
            -time			no		Print word times in file transcription.
            -tmat					HMM state transition matrix input file
            -tmatfloor		0.0001		HMM state transition probability floor (applied to -tmat file)
            -topn			4		Maximum number of top Gaussians to use in scoring.
            -topn_beam		0		Beam width used to determine top-N Gaussians (or a list, per-feature)
            -toprule				Start rule for JSGF (first public rule is default)
            -transform		legacy		Which type of transform to use to calculate cepstra (legacy, dct, or htk)
            -unit_area		yes		Normalize mel filters to unit area
            -upperf			6855.4976	Upper edge of filters
            -uw			1.0		Unigram weight
            -vad_postspeech		50		Num of silence frames to keep after from speech to silence.
            -vad_prespeech		20		Num of speech frames to keep before silence to speech.
            -vad_startspeech	10		Num of speech frames to trigger vad from silence to speech.
            -vad_threshold		3.0		Threshold for decision between noise and silence frames. Log-ratio between signal level and noise level.
            -var					Mixture gaussian variances input file
            -varfloor		0.0001		Mixture gaussian variance floor (applied to data from -var file)
            -varnorm		no		Variance normalize each utterance (only if CMN == current)
            -verbose		no		Show input filenames
            -warp_params				Parameters defining the warping function
            -warp_type		inverse_linear	Warping function type (or shape)
            -wbeam			7e-29		Beam width applied to word exits
            -wip			0.65		Word insertion penalty
            -wlen			0.025625	Hamming window length
            
            INFO: continuous.c(295): Specify '-infile <file.wav>' to recognize from file or '-inmic yes' to recognize from microphone.
            
            
            1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @sdetweil
              last edited by

              @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

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              J 1 Reply Last reply Reply Quote 0
              • J Offline
                jmartin1009 @sdetweil
                last edited by

                @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.

                S 2 Replies Last reply Reply Quote 0
                • S Offline
                  sdetweil @jmartin1009
                  last edited by

                  @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`
                       ]); 
                  

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    sdetweil @jmartin1009
                    last edited by

                    @jmartin1009 you have the file with my fixes in it… btw

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    J 1 Reply Last reply Reply Quote 0
                    • J Offline
                      jmartin1009 @sdetweil
                      last edited by

                      @sdetweil which file? and i’ll go change those right now

                      S 1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @jmartin1009
                        last edited by sdetweil

                        @jmartin1009

                        ~/MagicMirror/modules/MMM-voice/node_modules/pocketsphinx_continuous/index.js

                        same file u just showed me

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        J 2 Replies Last reply Reply Quote 0
                        • 1
                        • 2
                        • 5
                        • 6
                        • 7
                        • 8
                        • 9
                        • 7 / 9
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy