• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 31.7k 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.
  • J Offline
    jmartin1009 @sdetweil
    last edited by Sep 30, 2019, 12:52 AM

    @sdetweil

    pi@raspberrypi:~/MagicMirror $ pocketsphinx_continuous --help
    ERROR: "cmd_ln.c", line 607: Unknown argument name '--help'
    ERROR: "cmd_ln.c", line 704: Failed to parse arguments list
    INFO: continuous.c(295): Specify '-infile <file.wav>' to recognize from file or '-inmic yes' to recognize from microphone.
    
    
    S 1 Reply Last reply Sep 30, 2019, 12:56 AM Reply Quote 0
    • S Offline
      sdetweil @jmartin1009
      last edited by Sep 30, 2019, 12:56 AM

      @jmartin1009 try -v instead of --help

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      J 1 Reply Last reply Sep 30, 2019, 12:57 AM Reply Quote 0
      • J Offline
        jmartin1009 @sdetweil
        last edited by Sep 30, 2019, 12:57 AM

        @sdetweil

        ERROR: "cmd_ln.c", line 607: Unknown argument name '-v'
        ERROR: "cmd_ln.c", line 704: Failed to parse arguments list
        INFO: continuous.c(295): Specify '-infile <file.wav>' to recognize from file or '-inmic yes' to recognize from microphone.
        
        S 1 Reply Last reply Sep 30, 2019, 12:58 AM Reply Quote 0
        • S Offline
          sdetweil @jmartin1009
          last edited by Sep 30, 2019, 12:58 AM

          @jmartin1009 grrr. Programmers

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          J 1 Reply Last reply Sep 30, 2019, 12:59 AM Reply Quote 0
          • J Offline
            jmartin1009 @sdetweil
            last edited by Sep 30, 2019, 12:59 AM

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

            S 1 Reply Last reply Sep 30, 2019, 1:03 AM Reply Quote 0
            • S Offline
              sdetweil @jmartin1009
              last edited by Sep 30, 2019, 1:03 AM

              @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 Sep 30, 2019, 1:05 AM Reply Quote 0
              • J Offline
                jmartin1009 @sdetweil
                last edited by Sep 30, 2019, 1:05 AM

                @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 Sep 30, 2019, 1:08 AM

                  @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 Sep 30, 2019, 1:14 AM Reply Quote 0
                  • J Offline
                    jmartin1009 @sdetweil
                    last edited by Sep 30, 2019, 1:14 AM

                    @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 Sep 30, 2019, 1:19 AM Reply Quote 0
                    • S Offline
                      sdetweil @jmartin1009
                      last edited by Sep 30, 2019, 1:19 AM

                      @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
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 6
                      • 7
                      • 8
                      • 9
                      • 6 / 9
                      6 / 9
                      • First post
                        58/81
                        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