0 of 0

File information

Last updated

Original upload

Created by


Uploaded by


Virus scan

Safe to use

About this mod

Skyrim Voice Control Module for SkyrimVR/SSE. This module enables voice control for spell/power/shout selection as well as 5 right and left hand equip sets. Follower commands for upto 5 followers has also been added.

This module relies on Windows Speech Recognition and Windows Speech Recognition Macros.

Permissions and credits
Skyrim Voice Control Module (SVCM) for SkyrimVR

SVCM is a voice control module that allows users to map ALL their spells, shouts and powers to a voice control file (Windows Speech Recognition**). It also has the ability to save and equip gear combos and manage a single follower. The process is as automated as possible with Skyrim's scripting language "Papyrus" and the SKSE add-on. This module will handle the loading portion, but does not fire the loaded ability so the user retains finer control over the abilities use.

A follower can also be mapped and issued voice commands, see below.

Primary Features:
    Can easily map up to 800 spells/Powers
    Can easily map up to 100 Shouts
    Efficient response times
    Ability to toggle equip state (right/left/dual/cycle)
    Can issue commands for upto 5 followers
    5 right and left hand combo slots for weapons/spells/shield
    Rapid shout toggle
    Auto shout toggle

Misc. Features:
    Ability to toggle debug logging as needed
    Command to toggle Exp gains for levelling

**Other voice control programs are possible if there is enough community interest.

How It Works
SVCM will cycle through all your spells and powers to build its required lists. Shouts can be recorded by equipping them and activating a hotkey that tells SVCM to record your current shout. This allows SVCM to create complete lists of spells, powers and shouts no matter what mods you have installed.

In order to map so many potential abilities a multiple sequential keystroke input was implemented, so instead of being limited to a smaller number of possible combinations (cntl+1,alt+1,Shift+1,1) the possibilities are now unlimited (within reason).

To ease the mapping process I have implemented key commands to build the lists then print a complete WSR macro file to the debug log for a simple cut & paste.

SKSE: http://skse.silverlock.org/download/
Windows Speech Recognition Macros (win7/8/10):  http://www.microsoft.com/en-us/download/details.aspx?id=13045

SVCM will conflict with any mod that remaps keys on the numpad or requires the use of a control map that doesn't clear the numpad bindings. MHP should not conflict by default, but you may have already mapped some numpad keys so they would need to be unmapped. MHP also uses custom control maps, many of which already unbind the numpad keys and handle the requirement.

Problems initializing have been seen when an excess of 110 modules are loaded.

First install Microsoft Speech Recognition Macros and confirm it is working.

Second, Install SVCM using the Nexus Mod Manager or Vortex preferably (there is a work around on forums since skyrimvr is not natively supported).

Third install SKSEVR

Fourth, start skyrimVR using SKSEVR and start using it =)

Using SVCM
First thing to do after mod installation is to create a starter SVCM.WSRmac, sign it and place it in "Documents\Speech Macros\". At the bottom of this readme file you will find the macro contents. Simply highlight and use cntrl+c to copy to clipboard. Open file explorer and go to "Documents\Speech Macros\" and create a new text file and rename it SCVM.WSRmac then right click and edit, paste the contents in the file using cntrl+v. Save the file then right click it and choose "Sign Speech Macro...". If you recieve the error that it cannot sign the file then you need to create a new certificate by going to the icon for the running "Windows Speech Recognition Macros" which is usualy in the hidden icons for running tasks on the task bar and right click it to find the signing options.

Start SkyrimVR using SKSEVR.exe, the first thing to do in game is build the spell/power lists. This is done by simply saying "build spell lists". This will cause a notification in the left top corner letting you know its working. Don't do anything until you get another notification saying it is done.

Next, open your magic window and go to your shouts section. Equip your first shout then say "Add shout to list". If you haven't previously stored this shout you will get another notification letting you know it was added. Equip the next shout and repeat to add the newly selected shout. Rinse and repeat until all your shouts are entered.

Now all your shout, powers and spells are saved to the modules internal lists. Do a quick save to make sure the data stays persistent.

Now we need to enable debug logging so we have a place to write the xml data for the WSR macro file. Say "Enable Logging" and you should get a notification that logging is enabled.

Then say "Dump Lists" to begin the data dump to the log file. A notification will appear when it starts and another when it stops.

After it stops say "Disable Logging" to close the debug file

Now we need to open the debug file, open start menu and click Documents. Go to "my games\Skyrim\Logs\Script" and open the file Papyrus0.log

The data you need will look like this:

    <?xml version="1.0" encoding="UTF-8"?>
    <command priority="127">


Simply select and copy all of it then right click and edit "Documents\Speech Macros\SVCM.wsr"  (you can play with pronunciations and/or remove spells you wont use if you want, some wsr knowledge is wise)

Now save. exit and then right click the file and select "Sign Speech Macros..."

Start up Skyrim and start playing.....

When you learn new spells and shout, this process will need to be repeated. I typically use a normal hotkey for a new spell/shout until I get enough to remake a new wsr file.

Commands and Usage
There are a few built in commands you can use, just speak the phrase as written (not usable until first wsr has been completed and signed).*

    build spell lists
    add shout to list
    dump lists
    enable logging
    disable logging
    stop levelling or pause leveling
    start leveling or resume levelling
    equip left
    equip right
    dual wield
    equip cycle
    unequip spells
    save weapon set <1/2/3/4/5> or save <melee/two handed/archery/staffs/spells>
    equip weapon set <1/2/3/4/5> or equip <melee/two handed/archery/staffs/spells>
    open Magic
    open Inventory
    open Map
    open Skills
    follow me
    wait here
    trade with me
    do me a favor    
    stop combat   (will re-agro rapidly if opponent not pacified)
    stand your ground
    Register follower <1/2/3/4/5>
    Follower <1/2/3/4/5>
    <followers name>
    Everyone follow me
    Everyone wait here
    Enable rapid shout
    Disable rapid shout
    Enable auto shout
    Disable auto shout
To use shouts, spells, follower commands, equip sets and powers you simply say them by name. If recognition doesn't work well for some spells then you can edit the wsr file, train windows speech recognition or try saying it differently.

*More commands are possible if community interest justifies it.

Follower commands
To use a follower you must first do the build process so your wsr file is complete and working. Then after registering your followers you need to remake the wsr file so it contains the updated names. Remaking the wsr file is only needed to use the actual followers names, the generic command of "follower <1/2/3/4/5>" will work without the remake if you want to delay a bit.

When in game and next to your follow you wish to use voice commands with, simply say "register follower <1/2/3/4/5>" and wait for the notification in the top left. Then move your cursor over your follower so the cursor changes to show the name of the follower. When done properly there will be a notification in the top left with the followers name. Once this is done, your follower is registered and you should do a game save to make it persistent.

From now on, you can simply use voice commands to direct your follower. To control which follower is accepting commands, simply say the followers name and wait for the notification in the top left showing the command was successful. Once control is initiated any successive commands will go to that follower. Instead of using the followers name you can also use "follower <1/2/3/4/5>". There are 5 commands that can be used "do me a favor", "wait here", "Stop Combat", "follow me" and "trade with me". "Stand your ground" has been added but is not very pretty and is turned off by using "follow me".

There are two commands that affect all followers at once, "Everyone follow me" and "Everyone wait here".

Rapid shout functionality
This allows the player to automatically use the highest powered version of the word with a single key tap instead of holding the key down to ramp up the number of words used. You can toggle the ability on and off so you can still access the first and second word versions if needed.

Auto shout functionality
This allows the player the ability to toggle whether a shout will be automatically fired when it is loaded by voice commands. The effective key tap will only be long enough to fire the first word of the shout, unless rapid shout is enabled which will result in the strongest version the player has available.

Custom WSR modifications
Users can get some very nice functionality by modifying the wsr file manually. A good example is a post in the "posts" section of the SVCM page on Nexus Mods by " luister777".

Thanks to SKSE for many useful papyrus functions.

Change Log
v1.0.0 May-10-2018:
    - Ported to SkyrimVR/SKSEVR


----- SVCM.WSRmac basic file contents ----------------------------- do not include this line

<?xml version="1.0" encoding="UTF-8"?>
<command priority="127">
<command priority="120">
    <setTextFeedback>Invalid entry "{[...]}"</setTextFeedback>
<rule name="Word">
<list propname="value">
<p valstr="{NUM+}{100 WAIT}{NUM9}{100 WAIT}{NUM-}{100 WAIT}{NUM9}{100 WAIT}{NUM*}{100 WAIT}{NUM9}{100 WAIT}{NUM/}">               Build spell lists     </p>
<p valstr="{NUM+}{100 WAIT}{NUM9}{100 WAIT}{NUM-}{100 WAIT}{NUM9}{100 WAIT}{NUM*}{100 WAIT}{NUM8}{100 WAIT}{NUM/}">               Dump lists     </p>
<p valstr="{NUM+}{100 WAIT}{NUM9}{100 WAIT}{NUM-}{100 WAIT}{NUM9}{100 WAIT}{NUM*}{100 WAIT}{NUM2}{100 WAIT}{NUM/}">               Add shout to list     </p>
<p valstr="{NUM+}{100 WAIT}{NUM9}{100 WAIT}{NUM-}{100 WAIT}{NUM9}{100 WAIT}{NUM*}{100 WAIT}{NUM1}{100 WAIT}{NUM/}">               enable logging     </p>
<p valstr="{NUM+}{100 WAIT}{NUM9}{100 WAIT}{NUM-}{100 WAIT}{NUM9}{100 WAIT}{NUM*}{100 WAIT}{NUM0}{100 WAIT}{NUM/}">               disable logging     </p>
<p valstr="{NUM+}{100 WAIT}{NUM9}{100 WAIT}{NUM-}{100 WAIT}{NUM8}{100 WAIT}{NUM*}{100 WAIT}{NUM4}{100 WAIT}{NUM/}">               Open magic     </p>