Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details
If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.
If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.
Vox Commando - Voice Commands
- jitterjames
- Experienced User
- Posts: 677
- Joined: Thu Aug 13, 2009 4:36 pm
- Location: Quebec, Canada
- Contact:
Vox Commando - Voice Commands
I've started a web site for VoxCommando.
http://voxcommando.com
I'd like to move all the discussion, files, and other resources to the site. VoxCommando is growing to included a lot of non EventGhost related stuff. I'll keep an eye on this forum in case there are any questions directly related to VoxCommando interfacing with EventGhost through the broadcaster plugin.
The site is still very basic, so for now I'll keep using this forum.
The latest version is available on the web site.
Thanks.
---
While VoxCommando is not technically an EventGhost plugin. I designed it to talk to EventGhost by sending UDP commands.
Vox requires Vista or Win7. It uses .net and Windows' built in speech api. It should work with 32 or 64 bit OS. You might be able to get it working in XP, but I haven't tried.
Make sure your microphone is working and set to default. Go to Control Panel, then choose speech recognition. There you can set up the microphone and do some training (recommended). I recommend using a decent microphone. I've tried using a regular bluetooth headset with very poor results. Built in laptop mics work a bit better but not great. Any wired headset mic is probably great, or any decent wired mic if your room is not too loud. If you are not sure about your mic you can use "sound recorder" with your mic. Record your voice and then play it back and see how it sounds.
Installation:
Unzip VoxCommando to any folder you want, but keep all the files together.
Install the attached broadcaster plugin in EventGhost.
In the broadcaster settings, make sure "respond to self broadcast" is checked (if Vox is running on the same machine as EventGhost), and set the payload delimiter so that it is the same in both vox and the broadcaster plugin.
Make sure that Vox is sending on the same port number as the broadcaster plugin is set to listen to.
That should be it, all you have to do is run VoxCommando.exe, edit your commands in vox to whatever you want (go to the "commands" tab in Vox), and you should be able to generate events with as many payloads as you like. Then build your macros in eventGhost however you want.
I will post some macros and explain some other functions in another post.
The interface has it's quirks, but when set up properly it actually works very well for me.
Note that Vox doesn't do an "install" and stores all commands and preferences in xml files in the application folder so you can have as many copies as you want in different folders using different setups. I recommend you zip up the whole folder as a backup once you've got it working how you like. Also, Vox can be run on any machine in the LAN. It sends it's commands through UDP broadcasts so you can control your HTPC in the living room with a laptop (or whatever) anywhere in the house, as long as they are on the same network.
http://voxcommando.com
I'd like to move all the discussion, files, and other resources to the site. VoxCommando is growing to included a lot of non EventGhost related stuff. I'll keep an eye on this forum in case there are any questions directly related to VoxCommando interfacing with EventGhost through the broadcaster plugin.
The site is still very basic, so for now I'll keep using this forum.
The latest version is available on the web site.
Thanks.
---
While VoxCommando is not technically an EventGhost plugin. I designed it to talk to EventGhost by sending UDP commands.
Vox requires Vista or Win7. It uses .net and Windows' built in speech api. It should work with 32 or 64 bit OS. You might be able to get it working in XP, but I haven't tried.
Make sure your microphone is working and set to default. Go to Control Panel, then choose speech recognition. There you can set up the microphone and do some training (recommended). I recommend using a decent microphone. I've tried using a regular bluetooth headset with very poor results. Built in laptop mics work a bit better but not great. Any wired headset mic is probably great, or any decent wired mic if your room is not too loud. If you are not sure about your mic you can use "sound recorder" with your mic. Record your voice and then play it back and see how it sounds.
Installation:
Unzip VoxCommando to any folder you want, but keep all the files together.
Install the attached broadcaster plugin in EventGhost.
In the broadcaster settings, make sure "respond to self broadcast" is checked (if Vox is running on the same machine as EventGhost), and set the payload delimiter so that it is the same in both vox and the broadcaster plugin.
Make sure that Vox is sending on the same port number as the broadcaster plugin is set to listen to.
That should be it, all you have to do is run VoxCommando.exe, edit your commands in vox to whatever you want (go to the "commands" tab in Vox), and you should be able to generate events with as many payloads as you like. Then build your macros in eventGhost however you want.
I will post some macros and explain some other functions in another post.
The interface has it's quirks, but when set up properly it actually works very well for me.
Note that Vox doesn't do an "install" and stores all commands and preferences in xml files in the application folder so you can have as many copies as you want in different folders using different setups. I recommend you zip up the whole folder as a backup once you've got it working how you like. Also, Vox can be run on any machine in the LAN. It sends it's commands through UDP broadcasts so you can control your HTPC in the living room with a laptop (or whatever) anywhere in the house, as long as they are on the same network.
Last edited by jitterjames on Sat Jun 26, 2010 2:37 pm, edited 8 times in total.
Re: Vox Commando - Voice Commands
Hi
This Application seems promising.... but can you tell me how you've managed to pass the "artist xyz" payload generated by vox commando to mediamonkey ?
i've attached the generated event to the "load playlist by filter" macro and even tried {eg.event.payload} as the matching criteria... but still no go.
am i missing something ? i'm running latest eventghost.. and the latest version of the mediamonkey plugin.
thanks for any help
marcel
This Application seems promising.... but can you tell me how you've managed to pass the "artist xyz" payload generated by vox commando to mediamonkey ?
i've attached the generated event to the "load playlist by filter" macro and even tried {eg.event.payload} as the matching criteria... but still no go.
am i missing something ? i'm running latest eventghost.. and the latest version of the mediamonkey plugin.
thanks for any help
marcel
- jitterjames
- Experienced User
- Posts: 677
- Joined: Thu Aug 13, 2009 4:36 pm
- Location: Quebec, Canada
- Contact:
Re: Vox Commando - Voice Commands
I use this python script for artist, album, song and genre. Just add a "python script" action, found under the event ghost group of actions.
Assuming you are getting proper events generated in EG and you have the latest mediamonkey plugin (from the forum) it should work. I'm happy to help if it doesn't.
let me know if the code needs explaining. Looking at it now, I realize, that I added the option to say for example...
- Artist Bob Marley
or
- Artist Bob Marley unrated
the code could be a bit simpler if you don't use the 'unrated' option.
I also have a vb script for mediamonkey that generates the xml file for artist, album, and song. Let me know if you are interested in that and I'll dig it up. It's really just a modification of a script that comes with mediamonkey.
Assuming you are getting proper events generated in EG and you have the latest mediamonkey plugin (from the forum) it should work. I'm happy to help if it doesn't.
Code: Select all
maxresults='30'
data = eg.event.payload
print len(data)
if ( isinstance(data, str)):
searchfor = '"%'+data+'%"'
else:
searchfor = '"'+data[0]+'"'
if (len(data)>1):
if (data[1]=="unrated"):
#print "unrated!"
searchfor = searchfor+ ' and Rating="-1"'
searchterm= eg.event.suffix
searchstring = searchterm+' like '+searchfor+' order by random() limit '+maxresults
print searchstring
eg.plugins.MediaMonkey.LoadPlaylistBySql(u'', searchstring, 0, 0, 0, True)
#eg.plugins.MediaMonkey.LoadPlaylistBySql(u'', u'Artist like "%beat%" order by RANDOM()', 0, 0, 0, True)
- Artist Bob Marley
or
- Artist Bob Marley unrated
the code could be a bit simpler if you don't use the 'unrated' option.
I also have a vb script for mediamonkey that generates the xml file for artist, album, and song. Let me know if you are interested in that and I'll dig it up. It's really just a modification of a script that comes with mediamonkey.
Re: Vox Commando - Voice Commands
Hi
Thank you very much for your fast reply.... your script worked on the first shot! i almost spent 3 hours figuring out how to do it "natively" with the mediamonkey plugin
Do you know why eg.event.payload handling hasn't been included in the mediamonkey plugin by now ?
I would very much appreciate the script in order to generate the xml files (spent another 30 minutes to do the "export to excel" within mediamonkey and saving it as xml file from within excel
)
greets
marcel
Thank you very much for your fast reply.... your script worked on the first shot! i almost spent 3 hours figuring out how to do it "natively" with the mediamonkey plugin
Do you know why eg.event.payload handling hasn't been included in the mediamonkey plugin by now ?
I would very much appreciate the script in order to generate the xml files (spent another 30 minutes to do the "export to excel" within mediamonkey and saving it as xml file from within excel
greets
marcel
- jitterjames
- Experienced User
- Posts: 677
- Joined: Thu Aug 13, 2009 4:36 pm
- Location: Quebec, Canada
- Contact:
Re: Vox Commando - Voice Commands
I'll fire it off in the morning. It's past my bed time 
- jitterjames
- Experienced User
- Posts: 677
- Joined: Thu Aug 13, 2009 4:36 pm
- Location: Quebec, Canada
- Contact:
Re: Vox Commando - Voice Commands
1-navigate to your mediamonkey / scripts folder. Open scripts.ini and add this code:
2-save the vbs file from the attached zip in the same folder as scripts.ini
3-restart MM, select the songs to include in the xml (all if you want) and look under File>Create Reports>VoxGenXml (overwrite the artists.xml file in your vox folder).
If you have a very large library you may want to uncheck "load song grammar" in Vox. It will reduce startup time and save memory used by Vox.
Code: Select all
[VoxGenXML]
FileName=VoxGenXML.vbs
ProcName=VoxGenXML
Order=2
DisplayName=&VoxGenXML
Description=Save in same folder as Vox and name file artists.xml
Language=VBScript
ScriptType=13-restart MM, select the songs to include in the xml (all if you want) and look under File>Create Reports>VoxGenXml (overwrite the artists.xml file in your vox folder).
If you have a very large library you may want to uncheck "load song grammar" in Vox. It will reduce startup time and save memory used by Vox.
- Attachments
-
- VoxGenXML.zip
- (2.14 KiB) Downloaded 282 times
Re: Vox Commando - Voice Commands
Awesome ! Thank you very much!!!
Now i can start testing and configuring eventghost with speech recognition!
Are you maybe planning to add "own recorded voice" training or commands in the future?
Greets
Marcel
Now i can start testing and configuring eventghost with speech recognition!
Are you maybe planning to add "own recorded voice" training or commands in the future?
Greets
Marcel
- jitterjames
- Experienced User
- Posts: 677
- Joined: Thu Aug 13, 2009 4:36 pm
- Location: Quebec, Canada
- Contact:
Re: Vox Commando - Voice Commands
I'm not 100% sure what you mean, but Vox uses the vista engine, so if you train vista using microsoft tools it will improve the function of Vox.
If you have specific words that you want to improve you can do some dictation in word (or whatever) and use the "correct xyz" and "spell it" commands to train specific words. But I've found if you just do the basic training where you read a couple of texts, that is more than enough. If you have a decent microphone and a quiet environment you should get close to 100% accuracy, provided your commands aren't too similar to one another.
There is also intercom mode. If you want to try that here's the macro. Just paste into the EG tree, then you just need to assign an event to trigger it, and it will listen to a single command, while muting your system. This is handy if you are using an open microphone and want to listen to music etc.
If you have specific words that you want to improve you can do some dictation in word (or whatever) and use the "correct xyz" and "spell it" commands to train specific words. But I've found if you just do the basic training where you read a couple of texts, that is more than enough. If you have a decent microphone and a quiet environment you should get close to 100% accuracy, provided your commands aren't too similar to one another.
There is also intercom mode. If you want to try that here's the macro. Just paste into the EG tree, then you just need to assign an event to trigger it, and it will listen to a single command, while muting your system. This is handy if you are using an open microphone and want to listen to music etc.
Code: Select all
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1194">
<Folder Name="intercom2" Expanded="True">
<Macro Name="reducevolume" Expanded="True">
<Action>
Window.FindWindow(u'VoxCommando.exe', None, None, None, None, None, False, 0.0, 2)
</Action>
<Action>
EventGhost.NewJumpIf(XmlIdLink(910), 1, False)
</Action>
<Action>
Window.SendMessage(273, 1, 325, 0)
</Action>
<Action>
EventGhost.PythonScript(u'eg.globals.intercom=True\neg.globals.restoreVol=eg.plugins.System.ChangeMasterVolumeBy(0.0, 0)')
</Action>
<Action>
System.MuteOn(0)
</Action>
</Macro>
<Macro Name="restore volume" Expanded="True">
<Event Name="Main.restoreVolume" />
<Event Name="Broadcast.Restorevolume" />
<Action>
Window.SendMessage(273, 1, 326, 0)
</Action>
<Action>
EventGhost.PythonScript(u'eg.globals.intercom=False\n\n#eg.plugins.SmoothVolPlugin.SetVolSmooth(eg.globals.restoreVol,5,5)')
</Action>
<Action>
System.MuteOff(0)
</Action>
</Macro>
<Macro Name="Start Program: VoxCommando.exe" id="910">
<Action>
System.Execute(u'C:\\VoxCommando\\VoxCommando.exe', u'', 0, False, 2, u'')
</Action>
</Macro>
</Folder>
</EventGhost>- jitterjames
- Experienced User
- Posts: 677
- Joined: Thu Aug 13, 2009 4:36 pm
- Location: Quebec, Canada
- Contact:
Re: Vox Commando - Voice Commands
I won't be making any major changes to Vox for a couple of months because I've got a big contract that will be taking up a lot of my time. The next thing I think I'd like to do is to be able to create "modes" with different vocabularies and be able to switch them on and off from EG. Maybe also send a list of commands from EG to Vox to allow context menus etc.
but not for a while!
but not for a while!
Re: Vox Commando - Voice Commands
yes i know about the training function of the microsoft speech engine..... i only have one "personal problem"
.... i'm swiss german speaking... and it would be ultra tremendous cool to talk to my computer in my native language.
I don't think, that microsoft will ever support "special" languages.... so that's why a "learn/record command, save it and listen for a match" approach would be very cool. it also prevents the speech recognition engine from "hearing" words from the TV for instance... because it'll only react on MY voice.... do you know what i mean ?
Nevertheless... the current functionality is awesome and you did a great job! So please do me a favour and keep up the good work in the future, so that development won't stop "dead ended" in the future!
Greets
Marcel
I don't think, that microsoft will ever support "special" languages.... so that's why a "learn/record command, save it and listen for a match" approach would be very cool. it also prevents the speech recognition engine from "hearing" words from the TV for instance... because it'll only react on MY voice.... do you know what i mean ?
Nevertheless... the current functionality is awesome and you did a great job! So please do me a favour and keep up the good work in the future, so that development won't stop "dead ended" in the future!
Greets
Marcel
- jitterjames
- Experienced User
- Posts: 677
- Joined: Thu Aug 13, 2009 4:36 pm
- Location: Quebec, Canada
- Contact:
Re: Vox Commando - Voice Commands
I see what you mean. Unfortunately that would be way over my head! I would describe myself as an amateur programmer at best.
Try experimenting with the windows "spell it" functionality using words in your language. After you spell a word it lets you record your pronunciation. It might still choke on it but it's worth a shot.
I won't be giving up on Vox. I enjoy working on it when I have the time. If you have any other ideas on ways that I could enhance it, please feel free to share. I can't promise I'll implement them but you never know.
Try experimenting with the windows "spell it" functionality using words in your language. After you spell a word it lets you record your pronunciation. It might still choke on it but it's worth a shot.
I won't be giving up on Vox. I enjoy working on it when I have the time. If you have any other ideas on ways that I could enhance it, please feel free to share. I can't promise I'll implement them but you never know.
Re: Vox Commando - Voice Commands
okay... i've managed to train the windows 7 speech recognition engine with my own spoken language.
i've trained words like "vc_m_alloff" where vc stands for voice and "m" for me (i'll have my wife learn the same words too
)
the reason for using words like vc_m_ps3onbeamer" is, that such kind of words do not exist for sure
this all works pretty well with dictation in wordpad.... meaning.. it recognizes the correct words... however... i can't get vox commando to "hear" my own commands.
I've specified "vc_m_alloff" as a phrase... restarted vox commando.... but no luck.
Could it be, that vox commando does not use the own trained "wordlists" ?
Secondly... would it be possible to make the "confidence level" configurable ?
Thanks for any input and/or help!
marcel
i've trained words like "vc_m_alloff" where vc stands for voice and "m" for me (i'll have my wife learn the same words too
the reason for using words like vc_m_ps3onbeamer" is, that such kind of words do not exist for sure
this all works pretty well with dictation in wordpad.... meaning.. it recognizes the correct words... however... i can't get vox commando to "hear" my own commands.
I've specified "vc_m_alloff" as a phrase... restarted vox commando.... but no luck.
Could it be, that vox commando does not use the own trained "wordlists" ?
Secondly... would it be possible to make the "confidence level" configurable ?
Thanks for any input and/or help!
marcel
- jitterjames
- Experienced User
- Posts: 677
- Joined: Thu Aug 13, 2009 4:36 pm
- Location: Quebec, Canada
- Contact:
Re: Vox Commando - Voice Commands
can you please send me your voicecommands.xml file.
yes I can make the confidence threshold configurable. That's something I have been meaning to do, but had forgotten about.
I'm not sure why you want to use words that don't exist. Are you running vox at the same time as windows speech recognition?
yes I can make the confidence threshold configurable. That's something I have been meaning to do, but had forgotten about.
I'm not sure why you want to use words that don't exist. Are you running vox at the same time as windows speech recognition?
- jitterjames
- Experienced User
- Posts: 677
- Joined: Thu Aug 13, 2009 4:36 pm
- Location: Quebec, Canada
- Contact:
Re: Vox Commando - Voice Commands
I created a phrase: vc_m_alloff
It worked fine right away for me without having to train the word or do anything special.
All the more reason for you to send me your xml file.
I suppose if you are using windows speech recognition at the same time it could cause problems. Vox uses the microsoft engine (api) but you don't need to run windows speech recognition at the same time in case that was what you were thinking. The main reason I created vox in the first place was so that I wouldn't have to deal with all the commands that microsoft had preconfigured.
As I said, I created the phrase just as you wrote it, and it worked fine. However, you might be able to improve recognition by writing the phrase something like this: vee see emm all off
It worked fine right away for me without having to train the word or do anything special.
All the more reason for you to send me your xml file.
I suppose if you are using windows speech recognition at the same time it could cause problems. Vox uses the microsoft engine (api) but you don't need to run windows speech recognition at the same time in case that was what you were thinking. The main reason I created vox in the first place was so that I wouldn't have to deal with all the commands that microsoft had preconfigured.
As I said, I created the phrase just as you wrote it, and it worked fine. However, you might be able to improve recognition by writing the phrase something like this: vee see emm all off
Re: Vox Commando - Voice Commands
the relevant part is:
<commandGroup name="testing">
<command name="xboxonbeamer">
<phrase>vc_m_xboxufembeamer</phrase>
</command>
</commandGroup>
which should trigger xboxonbeamer if my own spoken and trained word "vc_m_xboxufembeamer" is recognized.
vc_m_xboxufembeamer is successfully recognized in wordpad.... but it never shows up in the "info" field on the top in vox commando (in fact it recognized some english words all the time... eventhough the engine is german)
i always stop the microsoft speech recognition when i start vox commando
Thanks for any help
<commandGroup name="testing">
<command name="xboxonbeamer">
<phrase>vc_m_xboxufembeamer</phrase>
</command>
</commandGroup>
which should trigger xboxonbeamer if my own spoken and trained word "vc_m_xboxufembeamer" is recognized.
vc_m_xboxufembeamer is successfully recognized in wordpad.... but it never shows up in the "info" field on the top in vox commando (in fact it recognized some english words all the time... eventhough the engine is german)
i always stop the microsoft speech recognition when i start vox commando
Thanks for any help
- Attachments
-
- voicecommands.xml
- (2.97 KiB) Downloaded 389 times
