FAQ
From LINKS - Documentation
Contents
- 1 What voices do I have installed?
- 2 Why do I receive firewall access warning every time LINKS is updated?
- 3 I am receiving "Activation of http://.../jarvisWPF.application resulted in exception..." error. How do I fix it?
- 4 How do move the Main Control Center window to a different location?
- 5 How do I play a specific song?
- 6 What's the difference between Mark II and Mark III?
- 7 Where do I get the voice for Jarvis?
- 8 Is there an offline installer for LINKS?
- 9 How do I check what speech recognizer language is installed on my computer?
- 10 How do I add a command?
- 11 Where can I find the error report/log?
- 12 Is there a log of what LINKS heard?
- 13 How can I edit the introductory speech on start-up?
- 14 What parameters does action columns takes?
- 15 Can I add a custom word or pronunciation so it can be recognized in dictation?
- 16 How do I train windows speech recognizer?
- 17 How do I start microphone training wizzard?
- 18 How do I solve the issue of loading data grid?
- 19 How do I check what mode/state LINKS is in?
- 20 What is a Function?
- 21 Can I make my own function?
- 22 What is the Web Service?
- 23 How do I reset LINKS files for reinstall?
- 24 How do I delete all LINKS data?
- 25 What is the difference between hard and soft listening mode?
- 26 How do I make LINKS to listen variable speech?
- 27 Can I use Cortana on windows 7 or 8.1?
- 28 Is Cortana always listening?
- 29 How do I wake-up windows default Cortana?
- 30 How do I issue a shutdown command to safely close LINKS and save my Databases?
- 31 How do I make LINKS say random responses?
- 32 Mic problem or LINKS listening to unspoken commands?
- 33 How do I add comments in my commands
- 34 How do I un-train LINKS's speech recognition
- 35 How do I play a custom sound using voice command?
- 36 How do I add a command that will ask for confirmation before executing?
- 37 How do make a pause between keyboard command?
- 38 Why is the Fly-out menu not working?
- 39 Why is LINKS not listening to me after x amount of time
- 40 How do I reset the database\commands to its default?
- 41 How do I revert to an older backup?
- 42 What is Auto Sleep in speech recognition setting?
- 43 What is Auto Reset?
- 44 What is Push To Talk?
- 45 Can I edit the function column in default commands under customize window?
- 46 How do I create variable\dynamic commands (WordList)?
- 47 Can I set/get variables in commands?
- 48 Can I set a delayed command ?
- 49 How to manage the exported database/list of commands?
- 50 How should I use command line apps?
- 51 Why am I getting Global Assembly Cache (GAC) error while running the setup?
- 52 How to start an external apps when LINKS starts or exits?
- 53 Pressing Keys with LINKS
What voices do I have installed?
- Press
Windows Key + R
- For 64-bit voices
- Copy/Paste
"%WinDir%\SysWow64\speech\speechux\sapi.cpl"
- Copy/Paste
- For 32-bit voices
- Copy/Paste
"%WinDir%\System32\speech\speechux\sapi.cpl"
- Copy/Paste
- Press
Enter
- Under "Text To Speech" tab you will see all available voices that can be used by LINKS.
Why do I receive firewall access warning every time LINKS is updated?
- LINKS uses ClickOnce technology and creates its own webserver on your machine.
- Every time you update LINKS, it installs a new executable file that causes Windows to show firewall access window.
I am receiving "Activation of http://.../jarvisWPF.application resulted in exception..." error. How do I fix it?
- Follow "How do I reset LINKS files for reinstall?"
- Then install again.
- If that does not work, then try the second server from download page.
- Keywords
- An error occurred attempting to install jarvisWPF
How do move the Main Control Center window to a different location?
- Bring the window in focus, then hold shift and drag. Scroll to change the size of UI.
- Note: The location is not saved in v2.6.2.3
How do I play a specific song?
- Say AIName + "play me a song" or AIName + "play a song"
- Then say the full song and artist artist name.
- Example: Song by Artist.
What's the difference between Mark II and Mark III?
- Eventually, Mark II will become Mark III. It is being updated with new functionalities every day.
- We have been through over a thousand revisions of Mark II since the beginning of the project. We did not want to change the application name with each if its revision.
- Notice the Mark II version number. When it becomes version number 3.0.0.0, this will be the start of Mark III. Mark III will have ALL of the functions of Mark II with an additional enhanced User Interface.
Where do I get the voice for Jarvis?
- Most users usually use the voice called "Brian" by Ivona.
- You can install more voices from multiple websites such as:
- Note: Most voices work in LINKS but only supported voices are Microsoft voices.
- Make sure you test the voice before buying it.
- The Vendor called "nextup" for IVONA Voices is not fully compatible, voice may work but all functionality will not be available.
Is there an offline installer for LINKS?
- No, we do not provide an offline installer/exe for LINKS.
How do I check what speech recognizer language is installed on my computer?
- Press Windows + R
- Type "%WinDir%\System32\Speech\SpeechUX\SAPI.cpl"
- Press Enter
- Select "Speech Recognition" from top left tab.
- In the language top box shown, you will see the speech recognizer.
- Within the same box you will see a dropdown menu that looks a 'v', clicking on this will allow you to see if other speech recognizers
- are installed on your system, and give you the option of choosing whether to pick another recognizer.
How do I add a command?
- Open customize window
- Double click an empty row, and type the command as you wish.
- You can press tab to get to 'response' column and so forth.
- Make sure profile name is filled in before pressing update button.
- After you are done writing the command, press enter then click update to complete the process.
Where can I find the error report/log?
- Under LINKS folder in AppData
- Press Windows Key + R
- Type %AppData%\LINKS\Logs\
- Press Enter
- If you get an error a file named "Error Report.txt" will appear in this folder.
Is there a log of what LINKS heard?
- Yes, to access that log:
- Press
Windows Key + R
- Type %AppData%\LINKS\Customization\Plugins\LINKS\LINKS_Heard.txt
- Enter
- Press
How can I edit the introductory speech on start-up?
- Look up any phrase you like to edit in %AppData%\LINKS\Customization\XML and change as you like.
What parameters does action columns takes?
- Following parameters can be used in action by prepending the parameter to the action.
-
-ret
Retrieves string from console app -
-hi1
Hides the app (way 1) -
-hi2
Hides the app (way 2) -
-max
Maximizes the app -
-min
Minimizes the app -
-con
Asks for confirmation before executing the app. See “How do I add confirmation to a command?” -
-fun
Allows to write functions that won’t return any executable paths. See example.
-
- Example:
- Grammar:
Open notepad
- Response:
- Action:
-maxNotepad
- Grammar:
Can I add a custom word or pronunciation so it can be recognized in dictation?
- Yes, by using windows speech add/remove word feature.
- Press
Windows Key + R
- Copy and Paste
%WinDir%\System32\Speech\SpeechUX\SpeechUXWiz.exe AddRemoveWord
- Press
Enter
- And follow the directions on screen.
How do I train windows speech recognizer?
- Press
Windows Key + R
- Copy and Paste
%WinDir%\System32\Speech\SpeechUX\SpeechUXWiz.exe UserTraining
- Press
Enter
- Follow the directions on screen.
How do I start microphone training wizzard?
- Press
Windows Key + R
- Copy and Paste
%WinDir%\System32\Speech\SpeechUX\SpeechUXWiz.exe MicTraining
- Press
Enter
- Follow the directions on screen.
How do I solve the issue of loading data grid?
Follow these steps then reinstall:
- Reset Installation
- Remove all LINKS data
- Verify sqlservr.exe exist in one of the following locations:
- "C:\Program Files\Microsoft SQL Server\120\LocalDB\Binn\sqlservr.exe"
- "C:\Program Files\Microsoft SQL Server (x86)\120\LocalDB\Binn\sqlservr.exe"
How do I check what mode/state LINKS is in?
LINKS has 3 modes/states. We can look at the system tray icon to see the current status.
- Normal Mode: Listening for all commands; Cyan icon.
- Soft Stop Listening Mode: Only listening for "Start Listening" and "Stop Talking" command; Gray/Cyan icon.
- Hard Stop Listening Mode: Listening to nothing; Gray/Red icon.
What is a Function?
- Functions allows users to use special features that do not require the user to be a programmer.
- Functions can be used inside the commands or externally from LINKS web service.
- All functions are enclosed inside square brackets
[FunctionName]
. - Functions can contain placeholders for arguments
[FunctionName("Argument1","Argument2","Argument...")]
- Function can only be used in Response and Action columns.
- Most functions return a string on successful execution.
- In another words if we have a function to add numbers i.e.
[Add("1","2")]
, the result will be 3.
- In another words if we have a function to add numbers i.e.
Can I make my own function?
- Yes, it's possible to make your own functions.
- To do that, we have to create a dll and place it in the %APPDATA%\LINKS\Customization\Plugins folder.
- Can only access static string function from a dll.
- Can only pass arguments as string to the functions.
- To access a function from a dll, we have to specify the namespace, class, and function name.
- For Example:
-
[Namespace.Class.FuntionName("Argument1","Argument2","Argument...")]
-
- For more information, see the sample *.cs files provided in the Plugins folder.
- Or see some samples at https://github.com/Zunair/C-Sharp
What is the Web Service?
- Web service allows you to talk back and forth with LINKS remotely or locally.
- For Example:
- Making custom scripts and talk through LINKS that allows you to use stop talking.
- Get/Set status or data via web. Request to execute a command remotely via web.
- Extremely helpful in Home Automation.
- etc...
- Example URL:
http://localhost:54657/?action=action=[Speak("Hello World")]&key=1234ABC
- Speaks "Hello World" from LINKS using a web request.
How do I reset LINKS files for reinstall?
- Uninstall LINKS using Add/Remove programs from Control Pannel.
- Press Windows Key + R
- type %APPDATA%\..\Local\Apps
- Rename or delete 2.0 folder
- Follow "How do I delete all LINKS data?"
- This step is not absolutely nessesary, note this will remove all your custom commands.
- Install LINKS
How do I delete all LINKS data?
- Press Windows Key + r
- Type %APPDATA%
- Enter
- Look for LINKS folder and delete it (or rename it if you like to keep a backup.)
- Then follow "How do I reset LINKS files for reinstall?"
What is the difference between hard and soft listening mode?
- Hard Listening Mode
- Hard listening mode is enabled or disabled by using the orange button.
- It allows you, the user, to make LINKS stop listening to all commands.
- Stop Listening Mode
- Stop listening mode can be enabled by voice, by saying the "Stop listening" command.
- It makes LINKS to stop listening to all command except the "Start listening" default commands.
Note: "Start listening" command can be modified or added in default commands tab under customize window.
How do I make LINKS to listen variable speech?
- You can use Cortana plugin or Windows Speech Recognition to interact with your scripts or other plugins.
- For example, if you have a script that takes 1 argument called “Search.vbs”, add command in shell as follows:
- Command:
Links, answer this.
- Response:
(leave this blank)
- Action:
Search "[Cortana.LDictation.GetDictation("Ask away sir?","show_ui")]"
- Command:
- Another action example would be like this:
- Action:
[LINKS.WebSearch.bingQuery("[Cortana.LDictation.GetDictation("What For Sir?","show_ui")]","sorry, I can not locate that")]
- This sends text received from Cortana to another plugin.
- Action:
Be sure to use exact syntax to make it work. Do not forget the quotes.
Can I use Cortana on windows 7 or 8.1?
- No, it’s only compatible with windows 10.
Is Cortana always listening?
- No, it only listens when you call a Cortana command.
How do I wake-up windows default Cortana?
- In keyboard section, add a command as follows:
- Command:
wake up Cortana
- Response:
sure
- Macro:
{WIN_DOWN}{LShiftKey_DOWN}{C}{LShiftKey_UP}{WIN_UP}
- Command:
How do I issue a shutdown command to safely close LINKS and save my Databases?
- Call shutdown command, as you specify in default commands.
- Default command is “Goodbye”
- To confirm the shutdown command say "Affirmative" or "Yes {AIName}"
Note: Where AIName is what's specified under settings i.e. "JARVIS"
How do I make LINKS say random responses?
- Just separate the phrases with semicolon.
- For example:
- Response:
goodbye sir;initiating shutdown protocols sir;farewell sir;until next time sir
- Response:
Mic problem or LINKS listening to unspoken commands?
- Close LINKS
- Monitor your mic level by opening your microphone level settings from sounds under control panel or the sound tray icon.
- Open microphone setup wizard:
- Press Windows Key + r, type the following:
- %WINDIR%\System32\speech\speechux\SpeechUXWiz.exe MicTraining
- Press Enter
- Go next in wizard.
- Watch the mic level, while yelling or tapping into microphone. Note: You don’t have to read the displayed text.
- Make the level go about 50% or as low as desired.
- Test LINKS with couple different volume levels with trial and error. You can go as low as 1% mic level under certain conditions.
- Press Windows Key + r, type the following:
Should you wish to see additional data relative to the mic problem, please visit this link: [1]
How do I add comments in my commands
- In the beginning of the command add <!--Comment-->.
- Example:
- Command:
<!--This is a word list command-->Say hello to {f=friendList}
- Response:
hello {f}
- Command:
Note: This is only available for dynamic commands in v2.6.1.10
How do I un-train LINKS's speech recognition
- You can use windows "Advanced Speech Options" to create a new speech profile.
- Open the Control Panel, All Control Panel Items, where it shows the list for you to adjust your computer’s settings.
- Click on Speech Recognition
- Under Control Panel Home/Pane (left side of screen), click on Advanced Speech Options
- In the second tab, Recognition Profiles, click on New.
- It will bring you to” Add a profile” window.
- Following the example, assign a new profile name, and press enter.
- This will bring you to the microphone setup wizard.
- Choose the mic for your system, then follow all instructions accordingly.
How do I play a custom sound using voice command?
- Copy your sound file in "%appdata%\LINKS\Customization\Sound Effects\" and by calling [PlaySound("FileName")] function.
- Example:
- For this example, the wav file name is “Glados_Hello.wav”
- Note: It only supports .wav files
- In social tab, add this command:
- Command:
hey glados
- Response:
[PlaySound("Glados_Hello")]
- Command:
How do I add a command that will ask for confirmation before executing?
- In shell tab, add a command as follows:
- Command:
Shutdown my computer
- Response:
Are you sure you want to shutdown the computer?|Shutting system down
- Action:
-conShutdown -s -t 10
- Command:
How do make a pause between keyboard command?
- We can use
{WAIT:millisecond}
to wait between typing a letter. - For Example, in keyboard section, add command as follows:
- Command:
Type h then wait 1 second and then type ello
- Response:
sure
- Macro:
H{WAIT:1000}ello
- Note: This type h then wait 1 second then type ello.
- Command:
- Some more commands:
-
{WIN_UP}
-
{WIN_DOWN}
-
- It's not ready yet, we have to wait till LINKS says "Online and ready"
Why is LINKS not listening to me after x amount of time
- Enable Auto Reset from settings window. And change auto reset settings to x amount of minutes.
- You can also press the orange button off and on to bring it back online.
- Another reason could be that you turned on Auto Sleep on, you have to call "start listening" command to wake it up.
How do I reset the database\commands to its default?
- Close LINKS
- Press Windows + r key
- Type %APPDATA%\LINKS\Data\
- Enter
- Delete these files if they exist:
- _Grammar_v1.mdf
- _Grammar_v1_log.ldf
- Restart LINKS
How do I revert to an older backup?
- Follow database reset process, minus restarting LINKS.
- Then go to %APPDATA%\LINKS\Data\Backups\ folder
- Copy any of the backup database from there.
- Paste it in %APPDATA%\LINKS\Data\' folder and rename it to _Grammar_v1.mdf
- Start LINKS
What is Auto Sleep in speech recognition setting?
- Enabling Auto Sleep makes LINKS go to soft stop listening mode.
- You can then bring him back by calling any of the "start listening" default commands.
Note: After LINKS accepts each command the time resets back to x seconds so you can call more commands.
What is Auto Reset?
- Enabling Auto Reset makes LINKS reset the recognition after x amount of time. Some users require this automatic action when they use LINKS for an extended period of time because LINKS tends to stop listening.
What is Push To Talk?
- Allows user to use right control key to enable recognition.
- User can hold the key as long as they want to speak the command.
- When user releases the key LINKS will go into hard stop listening mode.
Can I edit the function column in default commands under customize window?
- It is a best practice not to alter the functions column of the default commands tab.
- However, it is acceptable to remove full command rows or add additional command rows with alternate key phrases that call the same default action.
- For example:
- Command: <command>stop Listening</command>
- Function: <command>stop listening</command>
- Can be duplicated as:
- Command: <command>I'm on the phone LINKS.</command>
- function: <command>stop listening</command>
- Can be duplicated as:
How do I create variable\dynamic commands (WordList)?
- WordList text file example:
- Create a text file, with 2 or more tab delimited columns with any headers as follows:
thing to buy.txt Grammar Value Size milk Milk 1 Gallon bread Some brand bread Family detergent Some brand pods detergent 40+
- Save the text file as %AppData%\LINKS\Data\WordList\thing to buy.txt
- Remember: Header should always be defined. The first line is not used to build the grammar.
- Make a command in shell as follows:
- Command:
add {thing=thing to buy} to the shopping list
- Response:
are you sure you want to add {{thing}} to the shopping list?|{{thing}} added to the shopping list
- Action:
-conCMD /m /c "echo {{thing}} >> %temp%\ShoppingList.txt"
- Command:
- So, how can I get the Size column?
- By using
[GetWord("WordList","Grammar","ColumnName")]
function.
- By using
- We are going to use it with
[Get("Variable")]
and[Set("Variable","Value")]
functions in this example. - Example:
- Make a command in social as follows:
- Command:
What size of {thing=thing to buy} should I get?[Set("LastRequestedThing","{thing}")]
- Response:
[GetWord("thing to buy","[Get("LastRequestedThing")]","Size")]
- We are going to use it with
Can I set/get variables in commands?
- Yes, by using
[Get("Variable"]
and[Set("Variable","Value")]
functions. - Make 2 commands:
- Command[1]:
hey {ai=ainame}
- Response[1]:
[SetSpeechVoice("{{ai}}")]Hello [get_SirOrMadam] - [Set("AIName","{ai}")][Set("AIValue","{{ai}}")]
- Note: this command will change the voice to specified voice from WordList
- Command[1]:
- Command[2]:
what is your voice set to?
- Response[2]:
My name is [Get("AIName")], and my voice is set to [Get("AIValue")]
- Note: this command will repeat the AIName and AIValue you set in previous command.
- Command[2]:
ainame.txt Name Voice Name Jarvis IVONA Brian LINKS Microsoft David Desktop Elizabeth Elizabeth
Can I set a delayed command ?
- Yes, by using [SetTask("Date time to delay till","Phrase to speak before execution","Speech Volume","Emulate-able Command")] function that would call the delay command.
- Make 2 shell commands:
- Command[1]:
00000001_DelayedCommand
(Can be anything that should not get recognized) - Response[1]:
opening notepad
- Action[1]:
notepad
- Command[2]:
test delayed command
- Response[2]:
Sure, will open notepad in 10 seconds
- Action[2]:
-fun[SetTask("[DateAdd("","sec", "10")]","about to execute notepad","100","00000001_DelayedCommand")]
- Note: In this example, Command[2] will call Command[1] after 10 seconds.
- To figure out what date format has to be used, use [DateAdd("","sec", "10")] to output to a batch file or run from web service.
- Command[1]:
How to manage the exported database/list of commands?
- When trying to import a list of commands be sure to remove any id column that might be in the file.
- Make sure the file is a tab delimited .txt format.
How should I use command line apps?
- You can now run console apps in LINKS of any format from shell commands.
- Python, Java, VBS, batch and any other console based app are compatible.
- LINKS will execute the command line app and read the output of the app.
- Example:
- Python:
- Command:
run my python command
- Response:
{{!Action!}}
- Action:
-ret"python" "%AppData%\LINKS\Customization\Scripts\test_python.py"
- Note: Make sure python is installed and PATH is set in System Environment Variable.
- Command:
- Java:
- Command:
run my java command
- Response:
{{!Action!}}
- Action:
-ret"java" -cp "%AppData%\LINKS\Customization\Scripts\;" test_java
- Note: Make sure to compile the class first before execution the java command. i.e, javac test_java.java
- Command:
- VBS:
- Command:
run my vbs command
- Response:
{{!Action!}}
- Action:
-retCScript VBS_Test.vbs
- Command:
- Batch:
- Command:
run my batch command
- Response:
{{!Action!}}
- Action:
-retBatch_Test.bat
- Command:
- Note: -ret only gets the output from the console application. If the console application does not end then LINKS will wait for it till it ends.
Why am I getting Global Assembly Cache (GAC) error while running the setup?
- That error usually occurs on windows 7.
- Make sure you have SP1 installed prior to running the setup.
How to start an external apps when LINKS starts or exits?
- Edit
XML
config file to update the below code. - Search for
<setting name="OnlineAndReady" serializeAs="String">
. (This is for Starting an app) - For exiting an app you can search for
<setting name="ShutdownSequence" serializeAs="String">
add the function here. - Update the
<value></value>
as shown below:-
<value>[RunAsShell("notepad","note pad initialized","running note pad","failed to open note pad")]</value>
-
- You can edit and customize your own speeches.