Oblivion

File information

Last updated

Original upload

Created by

Uploaded by

Tevenan

Virus scan

Safe to use

Tags for this mod

About this mod

The Elder Scrolls IV: Oblivion Magic Words v1.1 Mod Description Brief This mod employs voice recognition technology to change a player’s active spell. Detailed A project forged from the frustration and immersion-breaking experience of pausing to select a new spell, this mod allows players to exploit the biggest strength a mage has –

Permissions and credits
The Elder Scrolls IV: Oblivion
Magic Words v1.1

Mod Description
Brief
This mod employs voice recognition technology to change a player’s active spell.

Detailed
A project forged from the frustration and immersion-breaking experience of pausing to select a new spell, this mod allows players to exploit the biggest strength a mage has – variety. By quickly switching between spells by way of voice recognition, you’ll find yourself trying different spell combinations that, while possible without this mod, wasn’t nearly as fun!

How it works
Brief
A third party program recognizes the player’s voice command and sends keystrokes to Oblivion to change the player’s active spell.

Detailed
Shoot, based on the Microsoft Speech SDK, is a versatile program that primarily recognizes speech input and sends keystrokes to any program as based on pre-defined profiles. All I did was export the spell list from the Construction Set and created a profile for Shoot. The profile recognizes the spell name (based on the names from the Construction Set) and sends keystrokes to execute the console command:
SetPlayerSpell [SPELLID]

Required Hardware
-Full duplex soundcard (ie: one with the ability to receive input and play sounds simultaneously)
-Microphone (plugged into soundcard)
-RECOMMENDED: Headphones *to prevent feedback from speakers*

Required Programs/Files
-Microsoft .NET v1.1
oNOTE: .NET v2.0 can work if you follow these instructions
-Microsoft Speech SDK 5.1

Files Included in this Package
-Shoot 1.6.4
oShoot program folder
-Oblivion-MagicWords.xml
oShoot 1.6.4 profile for mapping voice commands to keystrokes
oContains ONLY standard spells and player abilities
o***Does not contain quest spells in this release***
-Magic Words.xls
oExcel file used to create Oblivion-MagicWords1.1.xml
oRead below for details on how to use this file if you want to create your own keymappings


Installation
1.Install Microsoft .NET v1.1 (OPTIONAL: then follow these instructions to install .NET 2.0)

2.Install Microsoft Speech SDK 5.1

3.Copy MagicWords1.1.esp to your <oblivionroot>\data directory<br><br>4.<span class="wbbtab"></span>Copy Shoot 1.6.4 program folder to a location such as:<br>C:\Program Files\Shoot\<br><br>5.<span class="wbbtab"></span>Create a shortcut to Shoot.exe and place it on your desktop.<br><br>6.<span class="wbbtab"></span>Right-click on the shortcut and click properties.<br><br>7.<span class="wbbtab"></span>In the text box labelled target (should be highlighted), scroll to the end and add:<br>[SPACE] profiles\Oblivion-MagicWords1.1.xml<br>-<span class="wbbtab"></span>Where [Space] represents a space<br>-<span class="wbbtab"></span>Note: You may also choose to use profiles\Oblivion-MagicWordsAutocast1.1.xml if you would like the spell to be automatically cast for you.<br><br><span class="wbbtab"></span>For example, mine looks like:<br><span class="wbbtab"></span>"C:\Program Files\Shoot 1.6.4\shoot.exe" profiles\Oblivion-MagicWords1.1.xml<br><br>8.<span class="wbbtab"></span>When you next run Oblivion, click Data Files and activate MagicWords1.1.esp<br><br>Instructions for Use<br>Brief<br><span class="wbbtab"></span>Run the shortcut you placed on the desktop before running Oblivion. Say the spell name as it appears in your spellbook to have it activate.<br><br>Detailed<br><span class="wbbtab"></span>Run the shortcut you placed on the desktop (herein referred to as ‘running Shoot’). If there are no problems, you should see all of the Construction Set’s EditorIDs in a text box on the left. If you do have problems, you will know about it by a text box telling you so. Please post in this thread for help. If everything is working ok, simply say a spell name (like ‘Dragon Skin’ or ‘Blizzard’) and it should highlight in the left text box and show details in the right.<br><span class="wbbtab"></span>HIGHLY RECOMMENDED: If you have never used the Microsoft Speech SDK I highly recommend taking some time for training. No, the training is not for you, it is for the recognition engine ;). To do this, run Shoot and from the Speech menu, select Recognizer&gt;Training. Follow the prompts to select a passage you wish to read and read every word on the screen. I recommend doing this at least three times – the more you do it, the better the engine will recognize your voice.<br><span class="wbbtab"></span>When you are finished training, close all training windows until you are back at the main form. Minimize it and then start Oblivion. Load a saved game (or start a new one) and test out your new ability to cast spells by saying the spell name as it appears in your in-game spellbook.<br><br><br><br><br><br><br><br><br><br>Exceptions<br><span class="wbbtab"></span>In the Construction Set, some of the spell names were either duplicated or otherwise did not lend themselves to speech recognition. Table 1 a list of the ones I identified and the steps I took to rectify them:<br><br>Table 1: List of naming exceptions<br>Spell/Ability<span class="wbbtab"></span>Problem<span class="wbbtab"></span>Solution<br>ability: Spriggan's Heal<span class="wbbtab"></span>Duplicated twice<span class="wbbtab"></span>Removed – Not necessary<br>ability: Summon Skeleton<span class="wbbtab"></span>Shared name with standard spell<span class="wbbtab"></span>Renamed to 'Summon Ancestor'<br>Absorb/Draim/Damage Attribute/Skill<span class="wbbtab"></span>Specifying attribute or skill in the name was redundant<span class="wbbtab"></span>Removed attribute/skill identifier from spell name<br>Summon Bear<span class="wbbtab"></span>Excel treated spellID differently since it had six digits<span class="wbbtab"></span>Changed the formula<br>Bound Cuirass<span class="wbbtab"></span>If said wrong, won't work<span class="wbbtab"></span>Pronounce as "Kwerass"<br>Summon Xivilai<span class="wbbtab"></span>I have no idea how to say this<span class="wbbtab"></span>Pronounce as “Sivilaj”<br>Levelled Spells:<br>Finger of the Mountain/<br>Wizard’s Fury/<br>Essence Drain/<br>Breath of the Underking<span class="wbbtab"></span>Repeated Multiple times<span class="wbbtab"></span>Changed spell names to be graded as follows: Lame, Weak, Lesser, Standard, Greater, Grand, Uber<br>(If you don’t like my choices, fix it yourself)<br>Note: In this release, I have included an .esp plugin that changes the names of the relevant spells in your spellbook. It may conflict with other similar plugins.<br><br>Conflicts<br><span class="wbbtab"></span>The only ‘conflict’ I foresee is with any mod that changes the spell list .xml (the file that controls how the spellbook is displayed). If this is changed, then the voice commands will no longer match up with what is in your spellbook (but the commands as they appear in Shoot will still work). One mod that does this is: Moho’s Spell Ranks <br><br>FAQ<br><br>“I can see the console!”<br><span class="wbbtab"></span>Yep, you probably did. Unfortunately there is no way to programmatically change the player’s spell at present. So this is the next best alternative. It’s annoying, I know, but it’s a damn-sight better than the interruption from pausing the game.<span class="wbbtab"></span><br><br>Interference<br>In my testing, I noticed that if you are pressing a key while the keystrokes are being inserted, there is about a 60% chance that it will interfere with the command. For this reason, I recommend momentarily releasing any keys until the command has been completed. It sounds like a pain, but I’ve gotten used to it.<br><br>“I have all the spells”<br><span class="wbbtab"></span>Yep, with this mod, you have access to all of the spells in the game. This is because the method I employed does not check your spellbook for known spells (I do not know of any way to do that). Is this a bug? In some ways it is. In another way, you may have access to all spells, but that doesn’t mean you have the ability to cast them. Further, you really only have quick access to the spells you know about (ie: those you have either purchased, looked up in Shoot, or otherwise seen). Granted, it is possible for players to visit a vendor, read their spell list (perhaps even write them down) and have access to all spells. But seriously, exercise some self-control! It’s a single-player game and you’re only cheating yourself.<br><br><br>“X spell doesn’t work!”<br><span class="wbbtab"></span>Custom-made spells and those otherwise added through the console or through another mod are not supported by this mod. You can create support for them yourself by editing the appropriate profile to do so.<br>Table 2 shows the spell names of the spells I deliberately left out because I didn’t think the player could access them during the game. If your spell is listed here, but you acquired it through legitimate means (via quest or shop in the game) then let me know in this thread.<br><span class="wbbtab"></span>If your spell is not listed in Table 2 and was acquired legitimately through the game, but still won’t work, check if it is in the list generated in shoot and let me know in your problem and your findings in this thread.<br><br>Table 2: Spells not included in this release<br>Spell<span class="wbbtab"></span>#<span class="wbbtab"></span>Spell<span class="wbbtab"></span>#<span class="wbbtab"></span>Spell<span class="wbbtab"></span>#<span class="wbbtab"></span>Spell<span class="wbbtab"></span>#<br>Anchorite Spell<span class="wbbtab"></span><span class="wbbtab"></span>Maximum Area Fireball<span class="wbbtab"></span><span class="wbbtab"></span>Detect Pulse<span class="wbbtab"></span><span class="wbbtab"></span>Shroudwalk<span class="wbbtab"></span><br>Arena Basin Renewal<span class="wbbtab"></span><span class="wbbtab"></span>Minor Invisibility<span class="wbbtab"></span><span class="wbbtab"></span>Dispel<span class="wbbtab"></span><span class="wbbtab"></span>Siege Blast<span class="wbbtab"></span><br>Average Lock<span class="wbbtab"></span><span class="wbbtab"></span>Namira's Shroud<span class="wbbtab"></span><span class="wbbtab"></span>Easy Lock<span class="wbbtab"></span><span class="wbbtab"></span>Silence<span class="wbbtab"></span><br>Ayleid Well<span class="wbbtab"></span><span class="wbbtab"></span>No Area Fireball<span class="wbbtab"></span><span class="wbbtab"></span>Enemies Explode<span class="wbbtab"></span><span class="wbbtab"></span>Silence of the Grave<span class="wbbtab"></span><br>Baronoff's Bloody Icicle<span class="wbbtab"></span><span class="wbbtab"></span>Old Lady's Luck<span class="wbbtab"></span><span class="wbbtab"></span>Favor of Akatosh<span class="wbbtab"></span><span class="wbbtab"></span>Stark Reality<span class="wbbtab"></span>2<br>Black Winter<span class="wbbtab"></span><span class="wbbtab"></span>Pants on Fire<span class="wbbtab"></span><span class="wbbtab"></span>Fire Shield<span class="wbbtab"></span><span class="wbbtab"></span>Summon Scamp<span class="wbbtab"></span><br>Bloodhunt<span class="wbbtab"></span><span class="wbbtab"></span>Paralyze<span class="wbbtab"></span><span class="wbbtab"></span>Fireball<span class="wbbtab"></span>2<span class="wbbtab"></span>Super Detect Life<span class="wbbtab"></span><br>Blessings (of any kind)<span class="wbbtab"></span><span class="wbbtab"></span>Reanimate<span class="wbbtab"></span>2<span class="wbbtab"></span>Fist of Talos<span class="wbbtab"></span><span class="wbbtab"></span>test' Spells<span class="wbbtab"></span><br>Breath of Arkay<span class="wbbtab"></span><span class="wbbtab"></span>Reflection of Nab<span class="wbbtab"></span><span class="wbbtab"></span>Frost Bolt<span class="wbbtab"></span><span class="wbbtab"></span>The Unwelcome Guest<span class="wbbtab"></span><br>Chameleon<span class="wbbtab"></span>2<span class="wbbtab"></span>Respite<span class="wbbtab"></span><span class="wbbtab"></span>Heat of Stendarr<span class="wbbtab"></span><span class="wbbtab"></span>Trappable Spell<span class="wbbtab"></span><br>Corrode Armor<span class="wbbtab"></span><span class="wbbtab"></span>Ritual of Deactivation<span class="wbbtab"></span><span class="wbbtab"></span>Hush<span class="wbbtab"></span><span class="wbbtab"></span>Vampire Reward Spell<span class="wbbtab"></span><br>Corrode Weapon<span class="wbbtab"></span><span class="wbbtab"></span>Rune' Spells<span class="wbbtab"></span><span class="wbbtab"></span>Ice Bolt<span class="wbbtab"></span><span class="wbbtab"></span>Void Gazer<span class="wbbtab"></span><br>Counterspell<span class="wbbtab"></span><span class="wbbtab"></span>Scales of Julianos<span class="wbbtab"></span><span class="wbbtab"></span>Lightning Shield<span class="wbbtab"></span><span class="wbbtab"></span>Wabbajack Spell<span class="wbbtab"></span><br>Damage Attribute: Luck<span class="wbbtab"></span><span class="wbbtab"></span>Shadow<span class="wbbtab"></span><span class="wbbtab"></span>Lightning Surge<span class="wbbtab"></span><span class="wbbtab"></span>Wisdom of Mara<span class="wbbtab"></span><br>Deathly Visage<span class="wbbtab"></span> <span class="wbbtab"></span>Shock Bolt<span class="wbbtab"></span> <span class="wbbtab"></span>Magicka Drain<span class="wbbtab"></span> <span class="wbbtab"></span>Zenithar's Ear<span class="wbbtab"></span> <br><br><br>The console comes up but no spell is selected<br>Also<br>The console comes up and only part of the command is give (‘electplayerspell’ or ‘ayerspell’ or similar)<br><span class="wbbtab"></span>This is caused by the keypresses being sent too quickly for the game to process them. You can fix this easily by opening up the Oblivion-MagicWords.xml and editing:<br><command-list key-delay="0" key-pause="0"><br><br>key-delay determines how long each key is held down (in milliseconds)<br>key-pause determines how long to pause after each keypress (in milliseconds)<br>Try setting key-delay to 50 and key-pause to 10 and see if that helps. Keep trying different values until you get a reliable spell change with minimal console interruption time.<br>UPDATE FOR 1.1:<br><span class="wbbtab"></span>Often this problem is caused by the ` (tilde) key not registering to bring up the console before the other keys are sent. That means that changing the default timings as suggested above is a bit of an overkill and is probably not necessary (it will make everything much slower). Instead, you may just want to change the timings for the ` (tilde) key only.<br><span class="wbbtab"></span>I have included a new feature in the Magic Words.xls and Magic Words Autocast.xls (whichever version you prefer) that will do just that. The following is a small tutorial for how to change the timings:<br><br>1.<span class="wbbtab"></span>Open Magic Words.xls or Magic Words Autocast.xls with Microsoft Excel<br>2.<span class="wbbtab"></span>Click the worksheet titled Variables<br>3.<span class="wbbtab"></span>As shown in Figure 1, you may change three variables: individual delay, individual pause, and cast key.<br>Individual delay will change the length of time (in ms) the ` and c keys are pressed.<br>Individual pause will increase/add a pause (in ms) before the next keystroke.<br> <br>Figure 1: Screenshot showing the Variables worksheet<br><br>4.<span class="wbbtab"></span>Change either the delay or the pause values (or both; try increasing by 10 and then testing).<br>5.<span class="wbbtab"></span>When you are happy with the values, click the XML workseet.<br>6.<span class="wbbtab"></span>Press Ctrl+A to select everything on this sheet and then press Ctrl+C to copy to the clipboard<br>7.<span class="wbbtab"></span>Minimize Excel and browse to where you installed Shoot and open /profiles/Oblivion-MagicWords[Autocast]1.1.xml with notepad.<br>8.<span class="wbbtab"></span>Press Ctrl+A to select all of the text, then press Ctrl+V to paste in the new values.<br>9.<span class="wbbtab"></span>Go to File and Save As and type a new unique filename for your profile (eg: Oblivion-MagicWordsTest.xml) Note: make sure you select “Save as Type: All Files”<br>10.<span class="wbbtab"></span>Now you can edit the shortcut to Shoot to point to your new filename (eg: Oblivion-MagicWordsTest.xml) and then run it and test your new settings.<br>11.<span class="wbbtab"></span>If you have any problems, come let us know in this thread.<br><br><br><br><br>ALTERNATIVE<br>If you want to quickly change your timings, open /profiles/Oblivion-MagicWords[Autocast]1.1.xml with notepad and press Ctrl+H to bring up the search and replace dialog. If you’re using the original file, search for:<br>“50”<br>Including the quote marks to change the ` key delays. Search for:<br>“10”<br>Including the quote marks to change the ` and c key pauses.<br>WARNING: the above alternative can lead to inadvertent changes to SpellIDs if not used correctly.<br><br><br>I’m worried about performance<br><span class="wbbtab"></span>If you're worried about performance, then I recommend opening Oblivion-MagicWords.xml with notepad, scrolling to the bottom and change the "push-to-talk" initial state to 'off'. This will mean you need to press 'z' each time you speak, but it should also disable the recognition engine while you don't need it.<br><br>Version History<br>1.1<span class="wbbtab"></span>– Included Quest and Levelled spells<br>-<span class="wbbtab"></span>Created Magic Words 1.1.esp to rename quest spells<br>-<span class="wbbtab"></span>Included ability to change keypress durations easier<br>-<span class="wbbtab"></span>Updated FAQ<br>1.01<span class="wbbtab"></span>– Included Autocast profile<br>-<span class="wbbtab"></span>Updated FAQ<br>-<span class="wbbtab"></span>Updated exceptions table<br>-<span class="wbbtab"></span>Changed ‘speak’ key to ‘x’ rather than ‘z’ due to in-game default keymap conflict.<br><br><span class="wbbtab"></span><br><br>Troubleshooting<br><span class="wbbtab"></span>For problems related to installing/running Shoot 1.6.4, please refer to the Shoot Website and Shoot Forum.<br><span class="wbbtab"></span>For problems related to the profile I created for Oblivion (key maps, spell names, etc.) please let me know in this thread.<br><br><br><br>Credit<br><span class="wbbtab"></span>I assume no credit for the brilliant work done by Martin Traverso, the creator of Shoot (and am, in fact, indebted to him since his program saved me hours of coding!).<br><span class="wbbtab"></span>Thanks also to addiktive and everyone who helped with ideas in the Elder Scrolls Forum.<br><span class="wbbtab"></span>Also, all third-party programs referred to in this document belong to their associated authors and may be protected under copyright.</command-list></oblivionroot>