Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - nime5ter

Pages: [1] 2 3 ... 136
1
VoxCommando Basics and Core Features / Re: Help with my To Do list
« on: January 04, 2021, 07:06:37 PM »
Software Challenges
I have been asked by the family to make sure VC can handle all the common functions they presently use the echo dots for.  These include:

  • Asking for Time
  • Managing a shopping list that can be accessed from their phones
  • Managing timers and alarms
  • Basic Math

Happy 2021. As James mentions, for some things the Amazon speech recognition and response is going to be a more flexible/natural solution -- but Internet/cloud reliant, of course.

I'm responding to just a few things on your list. If you haven't yet done so, browsing through "Haddood's Gems" on the forum is a useful way to explore various creative projects that might help as well. He's basically done the heavy lifting of curating previous forum posts on common topics of interest such as setting timers and telling the time etc.

Time:  Creating a command to ask the time is pretty easy, but you may not yet have discovered all the built-in variables (including time variables):
https://voxcommando.com/mediawiki/index.php?title=Variables
So you ask the time, and then you can customize the time variable in your command's TTS action (and/or OSD action) so that it provides the time in your preferred format.

Managing timers and alarms: Once again, the reason this is typically easier with a cloud-based system is because human beings have many ways of expressing time and it can be hard to account for that when constructing a voice command. Also, your family probably wants to be able to set reminders using any phrase that comes to mind, which once again leaves you with only the dictation payload option that James already discussed.

However, it's not a problem to set timers or alarms for a specific list of common tasks, for example, using VC's VC.SetEventTimer action and have this trigger a command with a TTS announcement.  If you can solve the command phrasing problem in this way, you'll be able to do this. For alarms set for the future-future, VC's Google Calendar plugin might be a better approach, if you don't mind using Google Calendar.

There are many examples of such commands on the forum. Here's one thread that's relevant to both 1 and 3: https://voxcommando.com/forum/index.php?topic=1370.0

Grocery lists. There are other options, but typically Our Groceries is used (free version). There are mobile app versions for Apple and Android.


In terms of math, this is probably not what you're looking for, but you might find it a helpful example nonetheless:
https://voxcommando.com/forum/index.php?topic=2165.0

2
VoxCommando Basics and Core Features / Re: Logic in Commands
« on: December 26, 2020, 04:01:40 PM »
Glad that worked out for you. Enjoy!

3
VoxCommando Basics and Core Features / Re: Logic in Commands
« on: December 25, 2020, 02:06:51 PM »
As a wife myself, I approve of your priorities.

In case it hasn't come up for you yet, to use command xml from the forum, just select the command text in the post, copy, and paste it into the command tree editor window.
https://voxcommando.com/mediawiki/index.php?title=XML_on_the_forum




4
VoxCommando Basics and Core Features / Re: Logic in Commands
« on: December 25, 2020, 09:22:27 AM »
Example voice command using payload XML value-phrase file:

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.3.0.4-->
<command id="281" name="Turn the lights {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Replace actions with the ones you need.">
  <action>
    <cmdType>OSD.ShowText</cmdType>
    <params>
      <param>Turn the lights {PF.1}:</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>OSD.AddText</cmdType>
    <params>
      <param>Sending value {1}</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>Turn the lights</phrase>
  <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\rgb_lights.xml</payloadFromXML>
</command>

The payloadXML file is attached separately to this post (see paperclip icon below). You'll note in the command tree that the payloadxml rgb_lights.xml is stored in VC's payloads folder.

5
VoxCommando Basics and Core Features / Re: Logic in Commands
« on: December 25, 2020, 09:07:54 AM »
Rather than an else-if, you could do consecutive logic blocks with the stop.macro action:
https://voxcommando.com/forum/index.php?topic=2910.msg24634#msg24634

That said, it's possible that using a value-phrase payloadXML table may be a better approach but I'm not quite clear on how the command is being executed.

For example, if you're issuing a voice command to say "Turn the lights {red,green,blue,white,purple}", then in the payload XML file you'd have payload phrase {colour} --> payload value {x}.

In this case there would be no need for a logic block at all, but each colour would need to be defined, along the lines of:
red --> 100
green --> 50
blue --> 25
white --> 10
purple --> 10

6
One on one support / Re: Hungarian recognition and TTS using Google
« on: May 23, 2020, 08:23:42 AM »
Quote from: krysn95
And please let me ask another important question...
Is it possible to use the Amazon Echo or Google Home devices, as a microphone with Google speech/TCP plugin?

No. Both those devices work with VC, but only via their own integrated cloud-supported speech recognition platforms. Those platforms then send the recognized speech as text to VC. Neither of these devices support Hungarian yet, to my knowledge. If they do, then that would be an option for you.

7
Is it possible that you do not have the 'Show All Events' option selected under VC Options?
https://voxcommando.com/mediawiki/index.php?title=Main_Menu#Options

If it is unchecked, and you have not yet created a VC command that uses the event you are sending from Arduino, the event will not show in the VC history window.

8
Welcome to the forum.

We welcome efforts to translate VoxCommando documentation into other languages.

We can investigate whether the Translation extension for Mediawiki is an option for our wiki.

We do not have the resources to translate all of our documentation into other languages. However, time permitting, we can work with users who are interested in undertaking such projects.

As you may know, for translations to actually be helpful to users, the translation process requires committed, fully bilingual people who also have a good understanding of VoxCommando.

9
1. GetColorPixel Action: The ability to get the color information from a designated pixel on the screen. This combined with the use of logic blocks would allow commands to only work in very specific scenarios. (e.g. I can have it where commands would only work on the Title Screen of a given app)

Have you already investigated the Win plugin? Might be an alternative to get color pixel for your needs, not sure.
https://voxcommando.com/mediawiki/index.php?title=Plugin_Win

10
VoxCommando Basics and Core Features / Re: Stacking Logic Blocks?
« on: October 25, 2019, 05:47:01 PM »
1. It just doesn't work. It acknowledges my command. I even put a confirmation to make sure but it doesn't restart. I imagine it is because I just got this and am still testing it with the trial version so maybe they don't allow it to restart so conveniently to prevent people from just using the trial forever.

Oh! Of course. Stupid of me. Yes, absolutely that's true. Auto-restart is blocked if you're on a trial. I even say so myself in an earlier thread.
https://voxcommando.com/forum/index.php?topic=2460.msg21161


Quote
3. Bummer on this one. I like using these. I guess i could always revert to AHK if it don't exist in Vox.

Yes, and I believe some users actually do some communication back and forth between ahk and Vox, so maybe someone will pipe up with more information.

There is also a Feature Request board on the forum. In theory, it doesn't hurt to ask.

11
VoxCommando Basics and Core Features / Re: Stacking Logic Blocks?
« on: October 24, 2019, 01:55:29 PM »
1. Your command looks great and it's working for me.

Can you be more specific about what's happening on your end?
What does the history window indicate when you issue the voice command?

2. You'll need to download and enable the Hook plugin. Go to your Plugins menu option to initiate the download. Because key loggers upset anti-virus software, it is not part of the main application download.
https://voxcommando.com/mediawiki/index.php?title=Plugin_Hook

3. I don't think so, but I'll get back to you on this one. You want to specify coordinates in the active window, and get the color info back?

12
VoxCommando Basics and Core Features / Re: Stacking Logic Blocks?
« on: October 24, 2019, 08:55:32 AM »
I've re-copied the command group and replaced it above. See if that helps. (I tested copy and pasting it from the forum back in to my command tree and it is working for me.)

My commands are using the "Daniel_programs" payload xml file that I posted in my first example above.

13
VoxCommando Basics and Core Features / Re: Stacking Logic Blocks?
« on: October 24, 2019, 05:52:44 AM »
So, something like this?
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.4.5-->
<commandGroup open="True" name="Loop through payloads and launch" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="412" name="Check game status" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>File.Read</cmdType>
      <params>
        <param>{Path.VC}\payloads\Daniel_programs.xml</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegEx</cmdType>
      <params>
        <param>&lt;phrase&gt;(.*?)&lt;/phrase&gt;</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.MatchToEvent</cmdType>
      <params>
        <param>processChecker</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Check game status</phrase>
  </command>
  <command id="288" name="Do something with game" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="The custom event we generated carries a payload value from our regular expression matches -- i.e., a payload phrase. Here we look up its value and do something with it -- launch it. This will launch all the games listed in the payload xml  if they're not yet running ... ?">
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>ProcessRunning</ifType>
      <ifParams>{1}&amp;&amp;</ifParams>
      <then>
        <action>
          <cmdType>OSD.ShowText</cmdType>
          <params>
            <param>{1} is already running.</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else>
        <action>
          <cmdType>PayloadXML.GetValue</cmdType>
          <params>
            <param>payloads\Daniel_programs.xml</param>
            <param>{1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Launch.OpenFile</cmdType>
          <params>
            <param>{LastResult}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </else>
    </if>
    <event>processChecker</event>
  </command>
</commandGroup>

"Check game status" command: reads payload xml file. Captures each phrase in the list as a {match.#}. Passes that as a payload attached to custom event called processChecker. This is using the action Results.MatchToEvent

"Do something with game" checks whether that payload process is running, and does something with it.

14
VoxCommando Basics and Core Features / Re: Stacking Logic Blocks?
« on: October 23, 2019, 06:28:05 PM »
Sorry for the mislabeled event in my example. I've fixed it now for future forum visitors. Glad you know what you're doing and could diagnose the error yourself. :)

I am not fully envisioning what you have in mind with the payload XML and events, to be honest.

There are some payloadXML actions, which you can explore via the action selection helper tool in the interface or via the wiki. They permit you to add data to a payload XML file or get results from a payload XML file that can then be used in subsequent actions.



15
VoxCommando Basics and Core Features / Re: Stacking Logic Blocks?
« on: October 21, 2019, 07:34:03 PM »
Welcome to VC and the forum.

You can't nest logic blocks within logic blocks, but you can have consecutive logic blocks and you can use the action VC.StopMacro to avoid moving on to the next IF statement as needed.

It sounds as though you will want to use events (https://voxcommando.com/mediawiki/index.php?title=Events), not a voice command, in order to evaluate whether your video game is active.

VC automatically generates events every time a window is focused or unfocused.

It depends what you mean by "disable". If you want VC to stop listening for voice commands while you're playing a videogame, then the action to use is VC.Off.

VC is very customizable and there are different ways to solve the same problem. Here is one possible approach to your situation (if I'm understanding the objectives properly). I used Chrome focus events just as an example.

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.4.5-->
<commandGroup open="True" name="Daniel's commands" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="310" name="Playing video game (stop listening)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Here i'm using the Chrome.focused/unfocused events. You would look in the History window for the events associated with your videogame. They will appear there after you have focused and unfocused that program. Drag those events onto this command in your command tree. You can then delete my placeholder events, and you'll have to update the if statements in the command macro accordingly.">
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)==(B)</ifType>
      <ifParams>{LastEvent}&amp;&amp;Focused.Chrome</ifParams>
      <then>
        <action>
          <cmdType>VC.Off</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>VC.StopMacro</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)==(B)</ifType>
      <ifParams>{LastEvent}&amp;&amp;Unfocused.Chrome</ifParams>
      <then>
        <action>
          <cmdType>VC.On</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <event>Focused.Chrome</event>
    <event>Unfocused.Chrome</event>
  </command>
  <command id="288" name="test launch {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="The first IF statement is just ot make sure that you're not playing the video game. If you are, we immediately exit this macro without doing anything. Otherwise, it goes on to evaluate the second IF statement.&#xD;&#xA;&#xD;&#xA;I've attached a sample payload XML file to the forum post. You'll need to copy it into your VC/Payloads folder. You can delete the OSD action; it's just here to demonstrate the difference between {1} and {PF.1} notation.">
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>ProgramFocused</ifType>
      <ifParams>chrome&amp;&amp;</ifParams>
      <then>
        <action>
          <cmdType>VC.StopMacro</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>ProcessRunning</ifType>
      <ifParams>{PF.1}&amp;&amp;</ifParams>
      <then>
        <action>
          <cmdType>OSD.ShowText</cmdType>
          <params>
            <param>{PF.1} is already running.</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else>
        <action>
          <cmdType>Launch</cmdType>
          <params>
            <param>{1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </else>
    </if>
    <phrase>test launch</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\Daniel_programs.xml</payloadFromXML>
  </command>
</commandGroup>

See the link in my signature tips if you're not sure how to import the above (but basically you can just copy and paste it into your command tree in the editor).

You'll also need the attached payload XML file, which you should place in your VC\payloads folder. It's just an example. You may have to revise it to work properly on your system.




Pages: [1] 2 3 ... 136