• 1
  • 2
  • 3(current)
  • 4
  • 5
  • 7
[Linux] kodivc - a program for controlling Kodi with simple voice commands
#31
Thanks a lot for your feedback.

"My C code" in terms of speech recognition is basically a continous listening example program provided with pocketsphinx. I then added a JSON-RPC layer on top of it and voila - you get xbmcvc.

Considering the above, you are right, there is not much I can do to improve recognition accuracy.

As for the segfaults, I admit I didn't test the PPA build well enough as I didn't have time to prepare a VM with proper sound integration. I did test the program extensively on Gentoo, though, and it's been some time since it segfaulted. Debugging would require creating a debug build and, as mentioned previously, I won't be able to describe and prepare that any time soon.

Same goes for your feature requests (thanks!). I'll consider them when I find the time to work on the application again.
Reply
#32
Just found this forum and tried the program on my Frodo XBMC and was amazed. Thank you so much for your efforts. Hope you keep up the good work.
Reply
#33
Thank you for your encouragement. I'm glad you liked xbmcvc! I'll definitely come back to this project even though it won't be in the nearest future.
Reply
#34
I tried this app recently and then concept is quite awesome. I do have some difficulty being understood by the voice recognizer though. I will play with the input volume and report back. I was wondering if/how to use the sphinx voice trainer for better results? I stumbled upon that app on pocket sphinx 's website.
Reply
#35
If you're having difficulties being recognized, first check your input levels, try talking to the microphone from a different distance/angle etc. Then I might suggest looking at the normal.dic file which gives some insight into what xbmcvc expects to hear to recognize a given word.

Regarding acoustic model adaptation, based on what I've read at the pocketsphinx website, it is probably way too cumbersome for the improvement it provides. That said, I am definitely not a pocketsphinx expert. I'll go out on a limb and say it is probably possible to write a script/program which would make xbmcvc-oriented adaptation an easier (or even easy) process, though I have no ground to back that thesis nor the time to dig into that matter.
Reply
#36
blueslee,

I have set up an XBMCbuntu 12.0 VM with sound integration and I've been trying to force a segfault, but I failed. I have enabled core dumps in the newest xbmcvc build. If you could update to the newest PPA build and generate a backtrace using the instructions from the updated README, it may shed some light on the matter.
Reply
#37
Thanks Kempniu, I tried using the mic from a closer distance, and it worked much better. (I am looking at investing in a CAD Audio U7 USB boundary microphone for, hopefully better results.)

I have recently started using the hardware accelerated version of XBMC. Unfortunately the one I choose seems to be a 13.x alpha. I see when starting xbmcvc that it doesn't like that version.

Code:
$ xbmcvc
INFO: Initializing, please wait...
CRITICAL: XBMC version 13, which is running at localhost:8080, is unsupported

Is there a timeframe on if/when this version of XBMC will be supprted?

Thanks again for the great work Kempniu!

(2013-02-19, 21:38)Kempniu Wrote: If you're having difficulties being recognized, first check your input levels, try talking to the microphone from a different distance/angle etc. Then I might suggest looking at the normal.dic file which gives some insight into what xbmcvc expects to hear to recognize a given word.
Reply
#38
AFAIK, at least for now, current XBMC alpha builds use the same JSON-RPC version as Frodo, so probably the only thing preventing you from using xbmcvc with them is xbmcvc itself Wink I'll modify the code to enable cooperation with alpha builds with some warning about it being in an experimental state. The updated PPA build should be available later today (look for a package called 0.4-0~20130306XXXX).
Reply
#39
I gave your program a shot and am simply amazed with how professional you have presented it. The install instructions are complete, the command line options are helpful, your github is documented etc. etc.

Anyway, everything seems to work for a few minutes after started xbmcvc (I can usually go to weather and then home using my voice), and then everything locks up - HARD. Absolutely nothing on the machine is usable and I must cycle power.

I've taken a look at the logs and can find nothing interesting in any log. Everything is simply running, and then suddenly everything on the machine stops with no warning.

So I have two questions: Specifically which logs would you like me to post? (I will post them after work) and is there a way to increase verbosity on the logs?

Thank you!

[EDIT] What do you think of this? https://launchpad.net/~indicator-applet-...nx-testing
It may help to update pocketsphinx?

Additionally, according to this page: https://launchpad.net/ubuntu/+source/pocketsphinx
pocketsphinx 0.5 is built for 12.10 and 0.8 is built for 13.04. Which version is required for xbmcvc? [/EDIT]
Reply
#40
Thank you for your interest and feedback. If you're experiencing a true hardlock (CTRL+ALT+BACKSPACE doesn't work, "magic SysRq" doesn't work, you can't SSH into the box etc.), I'm afraid it's not directly caused by xbmcvc but rather by some part of the kernel it uses - a wild guess would be ALSA Wink I assume you're not getting hardlocks when using XBMC itself, right? If you've got some spare time, you can try playing with the pocketsphinx continous listening example program to check if you're getting a similar behavior.

Generally, diagnosing hardlocks is a bitch and I'm not 100% sure I'll be able to assist you with this matter. However, trying out different library versions is always worth trying. xbmcvc should work with any pocketsphinx version equal to or newer than 0.6. Apart from the PPAs, you can also try compiling pocketsphinx from source on your box. As for the logs, there is currently no way to increase verbosity in xbmcvc (as that would mean printing out pocketsphinx debugs - I might implement that later), so just post whatever you have - xbmcvc logs/messages, XBMC logs, Xorg logs, your /var/log/messages (more likely a part of it) - anything can be a hint, though please keep in mind that hardlocks can be caused by a lot of things and I have yet to experience a single hardlock while using xbmcvc, so in the end, you might be on your own. If you have the possibility, try configuring a serial console on your box and output your kernel messages to another box as otherwise they are pretty much unrecoverable after a hardlock.

Whatever you post, I'll do my best to check it out on Monday.
Reply
#41
So I didn't get around to working on this too much this weekend. It's a time consuming process because I have to wait for it to lock, make sure it's locked, hard reset, repeat.

Upgrading pocketsphinx (from the PPAs) seemed to do nothing different.

I'm going to be focusing on other XBMC improvements for now. I might come back to this after a few projects.
Reply
#42
Kempniu,

And you thought your program, xbmcvc, wouldn't receive much response, eh? LoL

Actually, even with my marginal wireless microphone, xbmcvc controls XBMC 12.1 quite effectively. I'm impressed!

With a good quality wireless microphone, your software would be nearly as effective as a remote control overall in operating XBMC.

Keep up the great work. We need a peripheral discussion on low-cost, effective wireless microphones.

Thanks!
Reply
#43
Thank you for the kind words. I agree a good microphone is an essential factor of xbmcvc's usability. One shouldn't expect any magic when your mic is bad. Also, evil things are going to happen if your microphone is able to hear XBMC output (music/movies). I was thinking a Bluetooth earpiece might be a reasonable solution but I haven't had the time for any serious experiments so far.
Reply
#44
hi All !

I believe voice control is definitely THE next big step in world of media centers.
i have an issue currently while trying to test xbmcvc:

Code:
xbmc@HTPC:~$ sudo xbmcvc
INFO: Initializing, please wait...
CRITICAL: Failed to open audio device

my system is XBMC 12.2 running on standard Ubuntu 12.04 LTE.
audio devices:
Code:
xbmc@HTPC:~$ sudo aplay -l
**** Liste des Périphériques Matériels PLAYBACK ****
Home directory /home/xbmc not ours.
carte 0: SB [HDA ATI SB], périphérique 0: ALC889A Analog [ALC889A Analog]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 0: SB [HDA ATI SB], périphérique 1: ALC889A Digital [ALC889A Digital]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 1: HDMI [HDA ATI HDMI], périphérique 3: HDMI 0 [HDMI 0]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0

i have tested the microphone successfully :
Code:
xbmc@HTPC:~$ arecord -r 16000 test.wav
Capture WAVE 'test.wav' : Unsigned 8 bit, Fréquence 16000 Hz, Mono

i have tried specifying the recording device, but still unsuccessful.
Code:
xbmc@HTPC:~$ sudo xbmcvc -D plughw:0,0
INFO: Initializing, please wait...
CRITICAL: Failed to open audio device

Any idea ? I would so much enjoy testing it...
Reply
#45
It looks like an ALSA or pocketsphinx issue. Have you tried running xbmcvc as a normal user (without sudo)? If arecord run by user xbmc can record from the default device, so should pocketsphinx (and, in turn, xbmcvc).
Reply
  • 1
  • 2
  • 3(current)
  • 4
  • 5
  • 7

Logout Mark Read Team Forum Stats Members Help
[Linux] kodivc - a program for controlling Kodi with simple voice commands2