PocketSphinx Not Working

I have two computers, a laptop from 2021 that does support AVX and a desktop from 2010 that does not. Both are running Kubuntu 20.04.

The install works in both, no Mimic. However, in the desktop, I must choose PocketSphinx instead of Precise and the wake word does not work. The device can hear me, it can reply to text with text, and everything works fine, except that it fails to recognize the wake word (the default “Hey Mycroft!”).

I cannot use Precise, as noted, the machine is too old and lacks Advanced Vector Extensions. I know at this point Mycroft for PC may be abandonware, but I just request someone from the community to give me an idea.

When running the unittest I get these errors:

Exception in thread Thread-47:
Traceback (most recent call last):
File “/usr/lib/python3.8/threading.py”, line 932, in _bootstrap_inner
self.run()
File “/usr/lib/python3.8/threading.py”, line 870, in run
self._target(*self._args, **self._kwargs)
File “/home/{user}/mycroft-core/.venv/lib/python3.8/site-packages/precise_runner/runner.py”, line 192, in _handle_predictions
chunk = self.stream.read(self.chunk_size // self.read_divisor)
File “/home/{user}/mycroft-core/.venv/lib/python3.8/site-packages/precise_runner/runner.py”, line 64, in get_prediction
self.proc.stdin.flush()
BrokenPipeError: [Errno 32] Broken pipe

Exception in thread Thread-18:
Traceback (most recent call last):
File “/usr/lib/python3.8/threading.py”, line 932, in _bootstrap_inner
self.run()
File “/usr/lib/python3.8/threading.py”, line 870, in run
self._target(*self._args, **self._kwargs)
File “/home/{user}/mycroft-core/.venv/lib/python3.8/site-packages/precise_runner/runner.py”, line 192, in _handle_predictions
chunk = self.stream.read(self.chunk_size // self.read_divisor)
File “/home/{user}/mycroft-core/.venv/lib/python3.8/site-packages/precise_runner/runner.py”, line 64, in get_prediction
self.proc.stdin.flush()
BrokenPipeError: [Errno 32] Broken pipe

It’s trying to use Precise, even though I asked it to use PocketSphinx! How to force the switch?

I don’t think we’re doing a good enough job explaining OVOS and Neon. It’s not just that MycroftAI’s assistant is abandonware. OVOS makes the last surviving version of Mycroft, and Neon is the last surviving business offering customer support, so between us we’re just kinda taking over.

There’s lots of maintained code to choose from, some of which has full time professionals working on it. At the moment, I suggest most people start with NeonAI, and come back to OVOS if they want to dive really deep into its FOSSy guts.

We don’t anticipate MycroftAI, which is reduced to its CEO, handing over enough of their IP to allow us to resume that name, and considering how their last couple years went down, I’m not sure we would want it if they offered.

Anyway, the reason the community doesn’t offer tech support on the abandoned repos is because they’ve been abandoned even longer than it looks; Mycroft-core was stale for so long, that’s the whole reason OVOS forked to begin with. The community members who would be offering tech support for Mycroft-core all either left due to frustration, or moved their efforts to OVOS, during 2021-22.

I’ve been hesitant to put it in such blunt terms because it doesn’t seem quite professional, but it is what it is.

2 Likes

you can likely find a tensorflow package on github built for non-avx cpu’s to get precise working.

Pocketsphinx is bad enough you should probably build it yourself if you don’t find one.

We can solve the wake word problem, but what next?

There’s a 3B+ compatible OVOS-Raspbian edition, spearheaded by @builderjer, which has been working its way through “what next” for some months. It started life as “the new Picroft,” but MycroftAI’s trademark policy still applies, so no more Picroft branding. Our chat rooms usually just call it “the headless image,” since it doesn’t need a screen.

How do you eat an elephant?