VoxCommando

New Features and Feature Requests => Version 2 updates => Topic started by: nime5ter on April 12, 2014, 06:55:25 PM

Title: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: nime5ter on April 12, 2014, 06:55:25 PM
Testing the Russian speech recognition engine with VoxCommando version 2. :)

http://www.screencast.com/t/opvqqYZ2

==================================================================

Download VoxCommando 2 here: http://voxcommando.com/home/downloads/  (Note: Requires .Net 4.5 (http://www.microsoft.com/en-ca/download/details.aspx?id=30653))

You will also need to download and install:
(1) MS Speech Platform 11 x86 version 32-bit,
(2) the Russian language pack.
(3) You may also want to download a TTS voice from Microsoft (Elena), but this is optional.

Instructions with images: http://voxcommando.com/mediawiki/index.php?title=MS_Speech_Platform

IMPORTANT: Do NOT install VoxCommando in C:\Program Files or another protected directory. VC is a portable program. Create a folder for it on your desktop or some other user directory.

To edit commands, click "Edit" in the main menu. DO NOT EDIT THE XML DIRECTLY.

It is easy to share commands or groups of commands using copy and paste. See this short video demonstration: http://www.screencast.com/t/5dh9bcduUeJY
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Filipok on April 14, 2014, 03:05:28 PM
I've translated XBMC commands to Russian.

I've translated most of the items (~80%), except some of the test items and items that use payload lists (ex. focus window), these need to be changed to payload xml, I might do it later if there is interest in it.
All of the TTS.Speak commands are changed to TTSMS.Speak, as the default Russian TTS voice (in windows 8 ) sounds very bad.  The voice that comes with the Speech Platform sounds much better.
Live TV commands were added to config.

Ensure that your movies/albums/tv channels are scrapped correctly, the titles, actor names, genres, etc must be in Russian, otherwise you will not be able to select it by name or title.

I've also changed some of the options:
TTSMS plugin is enabled
Speech Culture is set to ru-RU
Speech recognizer is set to Microsoft Server Speech Recognition Language - TELE (ru-RU)



Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Filipok on April 14, 2014, 03:12:03 PM
Some notes/requests for future:

Currently if you install Version 2 and you do not have en-US speech recognizer language installed, the VoxCommandoSP.exe will fail to start.
To overcome this issue, either:

And a small request: would it be possible for Escape key to close dialogs in Vox?

P.S. James, if you send me the XML for Display language, I can translate it to Russian too.
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: jitterjames on April 14, 2014, 05:48:29 PM
That is wonderful Filipok.  Thank you very much for this!

Which dialog boxes specifically do you want to be able to close using escape?
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Filipok on April 14, 2014, 07:01:04 PM
Preferably all that have a Cancel button, for example options dialog, LCB dialog.
And actually dialogs for plugin settings could do that too, as the way it is right now, it is not too clear (for novice users) how to close those dialogs without saving settings.
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: jitterjames on April 14, 2014, 07:16:26 PM
Well, for many of these full-fledged windows I prefer not to use escape because I use often escape, for example, to stop editing a label in the command tree and I don't want to accidentally close the edit window.

As with any window in Windows, you should be able to close them using Alt-F4

I will think about this and try to decide if and where I think it is appropriate.  In the meantime I hope that Alt-F4 will work OK for you.
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Filipok on April 14, 2014, 07:28:35 PM
Yes, Alt-F4 is fine for me :)

But take a look at LCB and option window, in neither of them Escape does anything at all.

In the command tree you are correct, it much better there to Escape editing the labels or payloads than close the window.
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Filipok on April 15, 2014, 11:57:24 AM
I've updated XBMC Russian commands.

Now the only untranslated part remaining are the sort orders.

Changes:
 - "Activate XBMC screens" payload XML created, added some of the screens that were missing in original payload list, also removed duplicates from other sections of commands list
 - Aeon MQ5 viewmodes payload XML created, covers all of 15+ MQ5 views, existing MQ2 payload XML kept, if someone needs it edit the "Activate Window" command to use the old "aeon viewmodes.xml"
   if someone wants to use it for other languages I've added comments to the XML, so it is easy to understand what view it is.
 - some misc changes and fixes


Please note I am using nightly builds of XBMC (which is XBMC Gotham beta 3+ currently) with Aeon MQ5 skin.
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Filipok on April 16, 2014, 06:18:21 AM
update config attached:

 - Comments removed from XML
 - Right/Left directions fixed
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Phobophile on May 25, 2014, 04:16:59 PM
Hi everyone!
Russian recognition works good! But do I understand correctly, that you cannot use English and Russian recognition simultaneously? Nearly all of my music/video library is in English. For example, I would like to say command "play" in Russian followed by the name of the artist in English. Is this technically possible? I think, that would be a great feature.

PS: "there's been some interest from Russian-speaking people" - I humbly hope that I have something to do with this, since couple months ago I mentioned VC in the article published on the top Russian IT-website, habrahabr.ru.  ;D
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Kalle on May 25, 2014, 06:10:49 PM
You can not get russian and english in one instance of VC, but you can run two instances of VC in one is the russian recognition active and in the second instance english - I know, this will solve not your wish. It is possible to pronounce for example the russian word "играть" to english. I did not speak russian, so I have no idea how it will work, but I have some tests done in this way with german language which works for easy commands.
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: jitterjames on May 25, 2014, 07:26:38 PM
Following up on Kalle's response (just elaborating on what he said in case it is not 100% clear):

As far as I know there is no such thing as a multilingual speech recognition engine, made by anyone on any platform.  As far as VC is concerned it would need to be implemented by Microsoft as part of their api before we could use it.  Don't hold your breath on that one!

As Kalle says, you can run two instances of VC at once, side by side, using two different configurations (and languages).  By default VC won't allow opening a second version of itself when one is running so you need to add the command line parameter -new to tell it to open a second instance.

Kalle is also saying that, alternatively you can run VC with an English engine, and you can write some Russian phrases phonetically using the English alphabet.  Well, you can try anyway.  I believe that Wanilton was able to do quite well using this technique with Portuguese / Brazil.

We are aware of your help in promoting VC and the very nice (and amusing) blog (or whatever it was) that you created.  If you take a look at our Google+ community you'll see that we linked to your blog and probably also referred to it in a couple of other places.  Thanks!  :hugs

https://plus.google.com/communities/114617052029490561887
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Phobophile on May 26, 2014, 04:24:39 AM
You can not get russian and english in one instance of VC, but you can run two instances of VC in one is the russian recognition active and in the second instance english - I know, this will solve not your wish. It is possible to pronounce for example the russian word "играть" to english. I did not speak russian, so I have no idea how it will work, but I have some tests done in this way with german language which works for easy commands.
Tried it long ago when searching for a decent Russian recognition software. It doesn't work too well. Maybe it's because that Russian is too much phonetically different from English and other European languages.  :-\
Will give it another try though.

As Kalle says, you can run two instances of VC at once, side by side, using two different configurations (and languages).  By default VC won't allow opening a second version of itself when one is running so you need to add the command line parameter -new to tell it to open a second instance.
Yeah, that's probably the best way for now. One instance for controlling XBMC and another for some home automation, for example.

Thanks for you replies!
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: nime5ter on May 26, 2014, 12:07:25 PM
Maybe it will be obvious to you, but if you run two instances of VC at once, you'll want to use prefix mode with 2 different prefixes so that each VC instance knows when to listen.

... Kalle demos this nicely in one of his youtube videos with German ("Komputer" ) and English ("Emily") instances, but I can't find it right now.

I think nime5ter mean this video at time 5m58s which shows the two instances in action.

http://www.youtube.com/watch?v=HhhmWdd02Vc (http://www.youtube.com/watch?v=HhhmWdd02Vc)

Kalle ;)
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Phobophile on May 27, 2014, 01:42:14 PM
Maybe it will be obvious to you, but if you run two instances of VC at once, you'll want to use prefix mode with 2 different prefixes so that each VC instance knows when to listen.
Do I really need prefixes? Won't two VC instances work simultaneously? I mean, "English" VC won't recognize Russian commands and vice versa, right?

P.S.: Kalle, I like your chair! ;D What model is this? Looks very comfortable (also expensive :()
Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: Kalle on May 27, 2014, 01:55:18 PM
You've right, you need no prefix - I will get only save that VC didn't recognize any sound as a command. I use the prefix also to mute the sound which come from music or movie when I ask for a command.

Thanks, the chair is a Le Corbusier LC4

 [url][http://www.ambientedirect.com/cassina/le-corbusier-lc4-liege-cassina_pid_2573_38119.html?lan=de&shop_country=de&art=229009&src=gmc&gclid=CjkKEQjw75CcBRCz2LiEs5OPsZoBEiQADgUma1Crn7nvzctfG5r9GR1qz4wiYRjn0oTwptAsibqvlZXw_wcB&aff=gmc/url]

but there are also many copies arround the net which is even cheaper ;-)

Title: Re: VC2 in Russian -- Тестирование VoxCommando 2 на русском языке
Post by: jitterjames on May 27, 2014, 02:32:37 PM
Do I really need prefixes? Won't two VC instances work simultaneously? I mean, "English" VC won't recognize Russian commands and vice versa, right?

P.S.: Kalle, I like your chair! ;D What model is this? Looks very comfortable (also expensive :()

Try it both ways.  Having the prefix will just make it more certain to correclty differentiate which instance you are addressing.  The point of a prefix is that it is optional anyway, when you are in "on" mode and you only need to say it when you are in "standby" mode.  You could also use the prefix event to control which instance is on and which is in standby.  When VC hears you speaking clearly the engine more or less assumes you are saying something it should understand.  It is possible that it will sometimes stretch the truth a bit to find the most likely match.

Anyway it doesn't hurt to experiment with it a bit both ways.

One of the challenges with using two instances of VC is that they can't both use the same UDP or TCP ports for receiving messages.