trying to get simon to run on OpenBSD - any help?

Stefan Sperling stsp at stsp.name
Tue Apr 23 13:01:34 BST 2019


I am trying to get Simon to run on OpenBSD in the context of this
project: https://www.bsdcan.org/2019/schedule/events/1047.en.html

I chose Simon because most dependencies were already present in
OpenBSD's ports tree, the documentation seemed extensive and the
use cases seemed applicable. I have sphinxbase, pocketsphinx, and
sphinxtrain in version '5prealpha' working, and I can start
simon 0.4.90 successfully.

But after some time of trying to get it to work, I am about to give up.

I am trying to get the "Mouse" scenario to work:
https://store.kde.org/p/1150880/

I can't find a matching base model dictionary to use.
These pages contain no links to actual files:
https://store.kde.org/p/1150843/
https://store.kde.org/p/1150900/
What happened here? Were these files once available?

Given this it seems impossible to get the software up and running
as described in the manual. Simon's built-in download feature also
seems to be broken again (hangs at "Loading provider information").
Release notes for the latest release claim it was fixed:
https://blogs.kde.org/2017/05/20/simon-0490-beta-released

I also tried base models and dictionaries from other sources, such as:
http://www.repository.voxforge1.org/downloads/Main/Trunk/AcousticModels/Sphinx/
https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English/
http://svn.code.sf.net/p/cmusphinx/code/trunk/cmudict/
But all files I've tried seem to incompatible with current versions
of pocketsphinx (running into parsing errors in acmod.c).

If I start out without a base model, sphinxtrain keeps complaining about
lack of training data:
ERROR: Not enough data for the training, we can only train CI models (set CFG_CD_TRAIN to "no")
(as also reported here: https://forum.kde.org/viewtopic.php?f=216&t=154040&sid=7d239572127a5a9d6d6f2db4e6b8b8e8)

Setting CFG_CD_TRAIN to "no" as suggested in the above error message
does not help. I end up with errors such as this one instead:
ERROR: FATAL: "senone.c", line 213: fopen(/tmp/kde4-stsp/simond/default/compile/sphinx/default{beabd9c7-3b7b-4738-9479-fc1a61d4bdb9}/model_parameters/default{beabd9c7-3b7b-4738-9479-fc1a61d4bdb9}.cd_semi_200_delinterp/mixture_weights,rb) failed

The above directory is empty. The parent directory looks like this:
    $ ls -1 *
    default{beabd9c7-3b7b-4738-9479-fc1a61d4bdb9}.cd_semi_200_delinterp:
    
    default{beabd9c7-3b7b-4738-9479-fc1a61d4bdb9}.ci_semi:
    feat.params
    mdef
    means
    mixture_weights
    noisedict
    transition_matrices
    variances
    
    default{beabd9c7-3b7b-4738-9479-fc1a61d4bdb9}.ci_semi_flatinitial:
    means
    mixture_weights
    transition_matrices
    variances

I have repeated the training process a few times to no avail. Is there
any indication how long it will take to gather enough training data?
Perhaps there is some unrelated problem which prevents these files from
being created. I have not tried to dig deeper yet.

I don't have much understanding of how speech recognition software works,
so I am most probably just making some basic mistakes.
If someone could help out, that would be appreciated.

I realize Simon does not appear to be supported anymore, but it is the
most viable speech-to-command software in the FOSS ecosystem I could find.

Thanks,
Stefan


More information about the Kde-speech mailing list