Table of Contents
Install VoiceMacro Using Setup file: Start the Setup file and follow the instructions on the screen Using
the ZIP file: Simply extract the ZIP archive anywhere you
want, you can install VoiceMacro "standalone" on any portable
drive
How to Backup your Data and update VoiceMacro Create a backup of your profiles, configuration and saved variables file: Click
on the Hamburger ()
button and select "Show Data Directory...", this will
open a Explorer window where you can see the 3 (most important)
Files: Method 1: If you have installed from the Setup file (.msi) and use a new version of Setup file (.msi):
Method 2: If you have installed from the Setup file (.msi) and want to update to the latest Test Build (ZIP file):
Method 3: If you used the ZIP file and want update to a new Public or latest Test Build (ZIP file):
Run VoiceMacro Doubleclick
on VoiceMacro.exe to run VoiceMacro, you can make VoiceMacro
If you run VoiceMacro for the first time, you are asked if you want
to import the VoiceMacro IMPORTANT: Before you start using Voice Commands, it is highly recommended to train the Speech Recognition Engine with your Voice! Please read this on how to to achieve a Succsessfull Speech Recognition
Configure VoiceMacro Click
on the button
to open the configuration menu: If Show hints is activated, VoiceMacro is randomly displaying available voice commands for the current profile in the Main window's status bar (bottom of window) If Always show Tray Icon is activated, the Tray Icon remains visible if the main window is open, otherwise the Tray Icon is only visible if the main window is hidden Show data directory opens the location of the current data directory used by VoiceMacro in Windows Explorer
Click "Recognizer settings..." to open the Recognizer settings
window: Note: VoiceMacro is using the Microphone that is set as "Default Device" in Window's Audio Recording Settings, if you have attached more than one Microphone you might have to define which one to use as default Microphone.
Using VoiceMacro This is only a short introduction to VoiceMacro's vast functionality If
you run VoiceMacro for the first time, you are asked if you want to
import the VoiceMacro
Note: VoiceMacro is using a lot of Tooltips to explain to
you what is what, Tons
of sample macros, how-to's and countless solutions for various Also, if you have any questions, please use the VoiceMacro Forum
Add Profiles: In VoiceMacro, data is structured like this: Profiles
> Macros > Actions This
means before you can add macros you have to create a profile, to do
this, open the Main window: In
the main window click on "Edit..." to open the Profiles
and macros window: Click
on "Add" to open the Add New Profile window: Target
window: in order for VoiceMacro to know which profile to activate
automatically depending on the Game or Application you currently have
active (Auto has to be checked in Main window), you
have to set a "Target window" name
Add Macros/Actions: Now
you can add a macro by clicking on "Add new" which will
open the Edit macro window: First
you enter the Macro's Name Set
the checkboxes to how you want the macro to be activated (triggered) Activate
by Keyboard / Mouse: Activate
by Controller (Joystick/Gamepad etc.):
Activate by Scheduler:
You can now start adding basic actions by clicking on the buttons "Keyboard", "Mouse" and "Pause" or click on the "Other..." menu to access more of VoiceMacro's 50+ actions Congratulations! When you are finished with your macro and have saved your profile(s) you can start using or testing it! Important: there is a built-in hotkey (SHIFT+ESC) to abort all running macros. Note that this default hotkey might not work in certain apps or games as it does not use the global hook method, but there is an easy workaround: you can create your own hotkey that starts a macro which aborts all macros VoiceMacro has a built-in "recursion" detection, this means if you by mistake created a macro that is started extremely frequent in a very short time VoiceMacro will terminate all macros by itself to prevent overloading your System General
hints: Most of the buttons and menus have Shortcuts! Press the ALT key to reveal the Shortcuts from the menu's and buttons! You can deactivate and reactivate ("comment out") one or more actions, press the "Active" button to toggle or press the space bar key, this will make VoiceMacro to skip those actions Use the Context Menu (right Mouse button) in the Actions gridview to access more functions! Also check out the "Pro tips" section is in the VoiceMacro Forum
All Actions: Note:
Items ending with "..." will open another window to configure
the action. Main actions Note: You can use the "Recorder" feature to record these basic actions in realtime Keyboard... Mouse... Pause... > Other
Other > Statements & Conditions
Other
> Control VoiceMacro...
Other > Advanced...
Group affixes: Group affixes (prefixes and suffixes) are used to set prefixes and suffixes to commands For example if you want to have the prefix "please" to each of the commands in a group: - Right click on group and select "Edit group affixes", in the group's prefix enter please in the suffix
- Set a group name for the macro, right click on group and select "Edit group affixes" - In the group's suffix you enter (200-4000,100) - "CommandSuffix" variable contains only the number that was recognized
Variables: There are 5 types of variables in VoiceMacro: 1.
Internal variables: this are fixed name variables
like "Time", "RepeatCounter" etc. that contain
various useful values, most of them are read-only but some of them
can be changed by using their variable name in SetVariable action
3. Profile variables - end with "_p" - the current profile can set and read those 4. Global variables - end with "_g" - all profiles can set and read those 5. Global saved variables end with "_s" - all profiles can set and read those variables, they are saved to disk and therefore persistent Use the SetVariable action to set, change or delete a variable, you can use calculations, combine text and variables, create random numbers etc. to generate the value of the variable To set a variable with the content of a file or a URL (Website,
etc.), use: Note: use apostrophes if you need to output curly brackets, for example to output Hello {World} with a InsertText Action you put in Hello '{'World'}'
Example: SetVariable test_1 = Chair The Variable Name (or part of it) can be a variable. Example: SetVariable myvariable{myOtherVariable}_p = TestValue
Conditions: VoiceMacro has several statements and actions to check conditions You can make a macro wait for a window (WaitForWindow), or wait until a certain colored pixel on the screen appears/disappears (WaitForPixel), use OnTimeOut and EndOnTimeOut to continue macro at another point when a timeout occurred You can have labels anywhere in your macro and use the Goto action to jump to any label Variables
can be evaluated in many different ways with various Expressions
and Math functions in If / ElseIf / Else
/ EndIf conditional branchings:
Translate a Profile: You
can translate a profile with the included tool "vmTranslator.exe",
this tool can be found in the Datafolder -> "Externals/vmTranslator"
folder. To translate a profile, open any exported VoiceMacro profile. Use menu "File->Import VoiceMacro Profile..." This will load the profile and extract anything text (nothing code etc.) and shows it in a Datagrid with 5 columns. You can then translate each line manually, and if necessary add a comment in the last column. To duplicate the content from the "Original" column to the "Translation" column of any line, RIGHT-CLICK the cell in the "Original" column. There is also a built-in translator (using Google translator) to translate manually line by line or the whole sheet using the menu "Translate all". To Translate a single line, DOUBLE-CLICK the cell in the "Original" column. Note that auto-translating a big sheet using Google may not work ("Error Translation") as the numbers of translations you can make in x amount of time is limited. To
save your translation work, press CTRL+S or use the menu and select
"File->Save Translation File as...". If you set any line to "Ignore" you can hide/show those lines (who should not be translated) in the "View" menu.
To
apply a translation to a profile, load the Translation File you have
created before (or downloaded) and select menu "File->Apply
Translation to VoiceMacro Profile...", you are then asked for
the Profile you want to have translated. After translation is completed,
you are asked again for a filename for the new (translated) profile
to save to. You can import a Translation File (from a previous version of the profile) to update a translation file.
Open the new VoiceMacro profile, then use the menu and select "File->From
Translation File..." to import your old translation file and
all that's left to translate should be what's changed in the profile
from the previous version.
HTML Export: You can export a profile or only selected macros to a HTML file. Use the context menu (right-click) in the "Profiles and macros" window and select "Export to HTML..."
Select a template, choose your settings and click on "Export". If
you want, VoiceMacro will open the file in your default browser after
succesfull export Note: If you choose to export only selected commands,
make sure you also select any group that contains macros you have
selected (except if the template you created does not support groups).
Remote Control: With VoiceMacro's Remote Control feature you can control
VoiceMacro remotely from the same PC or another device that can send
a HTTP Get request (like every Browser for example, or a custom app) In combination with the HTMLExport
feature, you can quickly set up a remote control solution to control
VoiceMacro from your Smartphone or a Tablet etc. To enable the Remote Control feature, use the button then open the "Remote Control" submenu and click "Enabled". To customize IP address(es) and Port(s) to listen, open "Settings...". The default port is 8080 To test the connection from another device, simply open a browser and type for example "192.168.0.10:8080" and you will get the response "Connection established!" VoiceMacro will show incoming requests and connections in the main window's Log Check the "Remote" directory in the data directory! VoiceMacro comes with samples for Powershell, a Command Line tool "VMRemote.exe", and a sample HTML/Javascript webpage which can send commands and get variable values and display them in the browser!
If you want to remote control VoiceMacro on another computer with VoiceMacro, you can use the {http(s)://} variable function, e.g: SetVariable Result = {http://192.168.0.10:8080/GetVariable=MyVariable_g}
Tray Icon & Tray Menu: VoiceMacro's Tray Icon has several status icons:
Idle Left
click on the Tray Icon to hide/open the Main Window Hint: it is intended that you customize the notification area and set VoiceMacro's Icon behavior to "Show icon and notifications". This way you can always see VoiceMacro's activity and have quick access to the Tray Menu
Successful Speech Recognition VoiceMacro
is using Microsoft's (built in Windows) Speech Recognition Engine
SAPI5 (Microsoft Speech Application Interface Version 5.1) or any
other SAPI5-Compatible Speech Recognition Engine that you may have
installed Important
Note: VoiceMacro is using the Microphone that is set as "Default
Device" in Window's Audio Recording Settings, if you have attached
more than one Microphone you might have to define
which one to use as default Microphone - you also have to make sure
the Microphone Input Volume Level is not too low or the Microphone
is muted. There are many factors for a good working Speech Recognition:
- Quality of Microphone Very important: do not use very short "one word" voice commands like "Ok", "Go", "Boost", "Pick" etc. or you will have lots of unwanted macro executions, and furthermore the engine is not as good recognizing short commands as it is when commands are longer or more than one word One
long word or better two and more words works best! Use "Confirm"
instead of "Ok", "Boost the Engine" instead of
"Boost", "Pickup stuff" instead of "Pick" If you misspoke a command (like "Boost the Engine"), don't correct yourself by saing "err, boost the eeeeengine"... unless you have a command "err, boost the eeeeengine" If the recognition engine does not understand a command at first try, don't change your voice, just wait a second and repead and speak clear *From my own experience, Speech Recognition is working way better over time (I play with speakers without a problem, once I was sick and only could whisper commands which worked impressively well)
Command line arguments If VoiceMacro is already running, (new) command line arguments are sent to the already running instance! You can use this feature to communicate from external programs or scripts to VoiceMacro Command line arguments support the following commands: Use /ExecuteMacro=ProfileGUID/MacroGUID to execute a macro from a profile by using GUID's. To get ProfileGUID/MacroGUID right click in the actions list of Edit Macros window and choose "Copy profile/macro GUID's to clipboard" or use /ExecuteMacro=ProfileName/MacroName to execute a macro from a profile by using the profile/macro name. Use quotes if your profile name or macro name has spaces. e.g.: /ExecuteMacro="Profile Name/Macro Name"
Examples: VoiceMacro.exe /ExecuteMacro=414bb82f-12e0-427d-bf7c-712288d03142/28fdfdf2-1502-4bf0-9ace-d6649d921f32 /ShowWindow VoiceMacro.exe /ExecuteMacro="VoiceMacro demo profile/ActivatedBy" VoiceMacro.exe /SetVariable:Feedback1_g="This global variable has been changed externally!" VoiceMacro.exe /SetVariable:"My Profile",Feedback1_p="This profile variable has been changed externally!" VoiceMacro.exe /SetVariable:414bb82f-12e0-427d-bf7c-712288d03142,Feedback1_p="This profile variable has been changed externally!" VoiceMacro.exe /SetVariable:Feedback1_p="This variable has been changed externally!" /executemacro=414bb82f-12e0-427d-bf7c-712288d03142/28fdfdf2-1502-4bf0-9ace-d6649d921f32 /SetVariable:Feedback2_g="This variable has also been changed externally!" /showwindow VoiceMacro.exe /VoiceCommand="whats the time"
Data Directory The Data Directory contains the "Externals", "Sample-Profiles", "HTMLExport" and "Sounds" folders It is recommended to use the "Sounds" and "Externals" folder for any sounds, scripts etc. your macro is using for easy sharing macros without requiring to adjust paths
These are the 3 most important files in the main folder: VoiceMacroData.xml
- this is where all your Profiles and Macros are
stored (backup this file regularly to a save place to avoid losing
your macros ever!) Note that these 3 files are generated when you use VoiceMacro and
never a part of the ZIP or Setup files of VoiceMacro. Then select "Show data directory" to open the current data directory in Windows Explorer Note:
Windows does not allow an application to write data to it's own directory
if it is located under Windows's "Program files" folder
(e.g. C:\Program files (x86)\VoiceMacro) If
VoiceMacro is not installed under "Program Files" folder,
the "Data Folder" is set to the directory that contains
the VoiceMacro executable (VoiceMacro.exe), allowing for VoiceMacro
to be portable.
Plugins SDK (vmAPI.dll) VoiceMacro version 1.3 and above comes with official plugin support and SDK for C#/VB.net. Download the SDK here: VoiceMacroPluginSDK_0.2.zip
How to install: 1. Unzip the files in your Visual Studio (2015 or higher) Projects folder and load the Solution file (VoiceMacroPluginSamples.sln) 2.
Go to both project properties and change the output path
to your VoiceMacro's Plugin folder: 3.
Re-set the Reference of vmAPI.dll to the correct location of vmAPI.dll
(in the Plugins folder of VoiceMacro): 4. Terminate VoiceMacro and compile one of the projects of your preferred language 5. Start VoiceMacro and see the Plugin working! Add a Macro (doing whatever you want) with the name "My sample plugin CS command" for C# or "My sample plugin command" for VB to test starting a macro from the sample plugin. Copy the Profile/Macro GUID (right click in the macros action list) and replace it in the code where starts a macro with vmCommand.ExecuteMacro. Uncomment
the SendKey sample code to test sending a key through VoiceMacro. 6. Share your plugin in the Forum!
Plugin Name, Description and ID: vmAPI.vmInterface.DisplayName
(string) vmAPI.vmInterface.Description
(string) vmAPI.vmInterface.ID
(string)
Initializing and Disposing: vmAPI.vmInterface.Init vmAPI.vmInterface.Dispose
Events:
vmAPI.vmInterface.ReceiveParams(string Param1,
string Param2, string Param3, bool Synchron)
vmAPI.vmInterface.ProfileSwitched(string ProfileGUID,
string ProfileName)
API calls: vmAPI.vmProfile.ProfileName vmAPI.vmProfile.GUID vmAPI.vmProfile.Commands vmAPI.Commands.RecocnitionText vmAPI.Commands.GUID vmAPI.vmCommand.GetVariable(string
name) vmAPI.vmCommand.SetVariable(string
name, string value) vmAPI.vmCommand.AddLogEntry(string
text, Color color, string ID, [string sign = "P"], [string
statusText = ""]) vmAPI.vmCommand.GetProfiles vmAPI.vmCommand.ExecuteMacro(string
ProfileMacroGUID) vmAPI.vmCommand.GetActiveProfileGUID vmAPI.vmCommand.CommandExists(string
CommandName) vmAPI.vmCommand.GetDataDirectory vmAPI.vmCommand.SendKey(vmAPI.KeyboardAction)
Structures: vmAPI.vmProfile
vmAPI.Commands
|