Skyrim Special Edition

File information

Last updated

Original upload

Created by

Cuebit and SwimmingTiger and Odie

Uploaded by


Virus scan

Some manually verified files

About this mod

Adds speech recognition to Skyrim VR or Skyrim SE so you can recite your dialogue lines to select them.

Permissions and credits
Dragonborn Speaks Naturally

Requires xSHADOWMANx's Dll Loader (The loader needs to be installed manually)
Requires .Net Framework v4.0 or later (Already included in Windows 10. Windows 7 may require a manual installation.)
Requires Windows Speech Recognition Engine for your system locale or the locale specified in a ini file (You do not need to enable Windows speech recognition, only install the speech recognition feature).

If the configuration file DragonbornSpeaksNaturally.ini contains non-ASCII characters, it must be saved as UTF-8 with BOM encoding. Check the last question of the FAQ for more details.

[zhCN] 如果配置文件 DragonbornSpeaksNaturally.ini 包含非ASCII字符(比如中文),必须另存为 UTF-8 with BOM (带有BOM的UTF-8) 编码。FAQ的最后一个问题里有更多细节。

This mod adds speech recognition to SkyrimVR or SkyrimSE so that you can speak the dialogue lines aloud to select them.
Compatible with SkyrimVR and SkyrimSE

1. Install xSHADOWMANx's Dll Loader
2. Download the latest archive and extract it to your SkyrimVR/Data or SkyrimSE/Data directory.
3. (Optional) If you need to set the language locale (the default is your system-installed language), you can create a configuration file DragonbornSpeaksNaturally.ini (note that the extension ".ini" will be hidden if "Hide extensions for known file types" is enabled). No need to restart the game after editing it, the setting will be automatically reloaded after saving since v0.18. The game needs to be restarted only when the file is first created. See How to Use and FAQ 1, 2 for details.

Game may Crash
If your Skyrim version is newer than the DSN supported, Skyrim may crash on startup. If you encounter such a problem, please upgrade DSN, downgrade Skyrim or uninstall DSN.

Beta Test
We have released v0.20.2-beta. Looking forward to your testing and feedback. If you don't want to join the beta test, you can continue to use v0.18.1.
(Only v0.20.2-beta is compatible with SkyrimSE 1.5.97. So currently SkyrimSE players can only choose the Beta version.)

It compatible with both SkyrimVR 1.4.15 and SkyrimSE 1.5.97. Other versions are not supported. If you try to use it with other Skyrim versions, you may get a game crash. This is not a bug.

We have changed the packaging method. Now the files for SkyrimVR and SkyrimSE are in the same archive. A mod manager can correctly identify which files need to be installed in your game data.
It is recommended to install with a mod manager (likes Vortex or MO2). For manual installation, please select the correct subdirectory:
* For SkyrimSE, copy SkyrimSE\Data\* to you game Data\ directory.
* For SkyrimVR, copy SkyrimVR\Data\* to you game Data\ directory.

After the installation, your game dir will look like this:
|- SkyrimSE.exe or SkyrimVR.exe
|- DINPUT8.dll (from xSHADOWMANx's Dll Loader, DSN will not work without this dll)
|- Data
  |- Plugins
    |- Sumwunn
      |- DllLoader.ini (from xSHADOWMANx's Dll Loader, DSN will not work without this ini)
      |- dragonborn_speaks_naturally.dll
      |- DragonbornSpeaksNaturally.exe
                       |- DragonbornSpeaksNaturally.SAMPLE.ini (note that the extension ".ini" will be hidden if "Hide extensions for known file types" is enabled)
      |- item-name-map.SAMPLE.json

And The following is the path tree of logs and configuration files:
|- <Documents (aka. My Documents)>
      |- DragonbornSpeaksNaturally
          |- dragonborn_speaks.log                    (Generated by dragonborn_speaks_naturally.dll.
          |                                                                Only for v0.19.4-beta. In earlier versions it was located in the game root directory.)
          |- DragonbornSpeaksNaturally.log      (Generated by DragonbornSpeaksNaturally.exe)
          |- DragonbornSpeaksNaturally.ini       (Optional, you can copy DragonbornSpeaksNaturally.SAMPLE.ini to here and rename it.
          |                                                                Note that the extension ".ini" will be hidden if "Hide extensions for known file types" is enabled.
          |                                                                Only for v0.19.2-beta and later. In earlier versions you should place the file in the Sumwunn directory.)
          |- item-name-map.json                         (Optional, you can copy item-name-map.SAMPLE.json to here and rename it)
          |                                                                Only for v0.19.2-beta and later. In earlier versions you should place the file in the Sumwunn directory.)

New features for this beta version:
* Speech recognition can be paused and resumed with voice commands.
* Favorites menu voice-equip supports multiple prefixes and suffixes, and equipPhrasePrefix can be omitted. (SkyrimSE doesn't support favorites menu voice-equip.)
* Favorites menu voice-equip works in SkyrimSE (In v0.18 it only works in SkyrimVR).
* The subset matching mode of dialogues can be changed or disabled.
* The contents in parentheses in a dialogue will no longer be deleted. Since subset matching is enabled by default, you don't need to say anything in parentheses. But if the conversation has only the content in parentheses, now you can select it with your voice.
* The switching of default recording device will take effect immediately, no need to disable the original device.
* You can put the configure file DragonbornSpeaksNaturally.ini (note that the extension ".ini" will be hidden if "Hide extensions for known file types" is enabled) or item-name-map.json into
   <Documents (aka. My Documents)>\DragonbornSpeaksNaturally\ folder.
* Move the log file "dragonborn_speaks.log" (generated by dragonborn_speaks_naturally.dll) to "<MyDocument>/DragonbornSpeaksNaturally" directory.
* Even if the Skyrim version is newer than the DSN, the DSN will try to load (may cause the game to crash).

Read DragonbornSpeaksNaturally.SAMPLE.ini for new features.
[zhCN] 阅读 DragonbornSpeaksNaturally.SAMPLE-zhCN.ini 了解新功能

Looking forward to your feedback:
* If you use a mod manager, does it install the file correctly? (Refer to the manual installation instructions above. The mod manager should do the same for you automatically. We have fixed the "No valid game data" issue of MO2 in v0.19.1-beta.)
* Are all new features working properly? Are there any features that don't work as expected?
* Do you like the newly added features? Any suggestions for them?
* Did you notice an unexpected change to an existing feature (for example, a setting worked before, but it is not working properly now)?
* Have you experienced a game crash (CTD)?

If you encounter any problems, please post an issue on the Bugs page. Thank you for participating in the beta.

Known incompatible changes:
1. The configuration item SubsetMatchingMode has been moved from the SpeechRecognition section to the Dialogue section. If you used it before (before it was a hidden option), you need to move the location of the configuration item.
2. The left and right in mainHand will change depending on your settings. If you set equipLeftSuffix=right, mainHand=right will be equiped to the left hand (friendly to left hand mode). This change does not affect console commands.

How to Use
When the dialogue menu appears, try reciting the line out loud and it will be selected.

Additionally, you can specify "goodbye phrases" to use to exit dialogue, and bind custom phrases to arbitrary console commands to have them executed when said outside of dialogue.

To use these additional features, create a new DragonbornSpeaksNaturally.ini (note that the extension ".ini" will be hidden if "Hide extensions for known file types" is enabled) file and tweak as desired. Here's an example:

goodbyePhrases=I'll talk to you later;That's enough chit chat for now

Give me all of the arrows=player.additem 00038341 999999;player.additem 00034182 999999
Give me some gold=player.additem f 100
Die die die=killall
Ready to battle=player.equipitem 139af; player.equipshout 48ac9
I need treatment=player.equipspell 12fcc left; player.equipspell 12fcc right; player.cast 12fcc player left; player.cast 12fcc player right
Fus Loda=player.cast 00013f3a player voice
Open Map=press m
Hello, man=press e
Sneak and cancel=press ctrl; sleep 5000; press ctrl

You can also copy DragonbornSpeaksNaturally.SAMPLE.ini in Data\Plugins\Sumwunn directory and rename it to DragonbornSpeaksNaturally.ini (or only DragonbornSpeaksNaturally without ".ini" if "Hide extensions for known file types" enabled). It contains examples of all DSN settings and various console commands and may be helpful. There are also examples for casting specific dragon shouts via your voice.
See DragonbornSpeaksNaturally.SAMPLE.ini for beta on GitHub
See DragonbornSpeaksNaturally.SAMPLE.ini for old stable on GitHub
[zhCN] 在 Github 上查看简体中文版示例配置文件

DSN also provides some additional commands (key simulation, window switching, delayed execution) besides Skyrim's console commands.
Please see our guide on GitHub

How about item-name-map.SAMPLE.json? It was used to simplify the equipment names if you installed a item sorting mod likes VIS. See this github page for the original idea and describe of the feature.

And you can copy item-name-map.SAMPLE.json to item-name-map.json to enable this feature. Edit item-name-map.json for your need.

The difference between SkyrimSE and SkyrimVR

Feature          | SkyrimSE             | SkyrimVR
Dialogue selecting      | √                  | √
Favorites menu voice-equip  | √ (since v0.19.3-beta)   | √
Custom console commands    | √(since v0.18)          | √
Key simulation commands    | √(since v0.18)          | √(since v0.17)

If DSN is not working, please try these troubleshooting steps:

1. Check the version of SkyrimSE.exe or SkyrimVR.exe (Right click on the exe, select Property > Details > Product Version).

The version of SkyrimSE.exe should be and the version of SkyrimVR.exe should be If the version doesn't match, it means that Skyrim has released an incompatible update and you need a new version of DSN.

If you want the current DSN to work now, consider downgrade your Skyrim to above versions.

You can also implement the downgrading by downloading or to extract and overwrite your exe.

2. Check for the dragonborn_speaks.log file in your Skyrim installation directory (next to SkyrimVR.exe or SkyrimSE.exe) or in My Documents/DragonbornSpeaksNaturally (log moved to here since 0.19.4-beta). If it does not exist, that means the mod is not being loaded. In this case, make sure you have installed xSHADOWMANx's Dll Loader and make sure that DSN is installed to the correct location: SkyrimVR\Data\Plugins\Sumwunn/ or Skyrim Special Edition\Data\Plugins\Sumwunn/.

3. If the dragonborn_speaks.log file exists, that means the mod has initialized. Check your My Documents/DragonbornSpeaksNaturally/DragonbornSpeaksNaturally.log file for any errors that indicate DSN failed to startup correctly. Please post an issue on the Bugs page with the contents of this log.

4. If the log files look good, double check your preferred microphone is set as the default after SteamVR has started (the default microphone may changed after SteamVR started). Also, double check the mic is not muted and the volume is reasonably high (sometimes too high of volume can cause recognition issues).

5. Read the FAQ below to see if you can find a solution. If it doesn't help, go to the Bugs page to see if there is an answer. If you still don't find a solution, please submit a new bug.

It is not recommended to submit a issue to the Posts page. The Posts page may have too much informations so that the issue is not seen in time.

Q: My microphone is so sensitive that I have a serious false matching problem! Environmental noise causes DSN to execute commands randomly!

Q: My configure file doesn't work, I have named it "DragonbornSpeaksNaturally.ini"

Q: Where should the configuration file "DragonbornSpeaksNaturally.ini" be placed?

Q: How to switch microphones without restarting the game?

Q: Modify custom commands without restarting the game?

Q: I use HTC Vive and/or have a lower recognition rate.

Q: An update of SkyrimVR or SkyrimSE broke the mod's running.

Q: Where is the log file of the mod?

Q: DSN can't work under my locale, "DragonbornSpeaksNaturally.log" ends with an exception.

Q: Everything looks good, but DSN doesn't recognize anything.

Q: I have a lot of custom commands (more than 1024) and the DSN doesn't work.

Q: How to start a conversation naturally in SkyrimVR with the mod?

Q: Is there a way to use this mod for ONLY dialogue purposes? I don't want to trigger a custom command while talking.

Q: Why does the key simulation commands not work in SkyrimVR?

Q: GamePad simulation doesn't works.

Q: I play SkyrimVR with left-hand mode, and the actual hand of item equipped is reverse of the voice command.

Q: Sometimes I hear beeping sounds, how do I turn them off? | DSN no longer recognizes anything after playing a beep sound.


Q: Non-ASCII characters in the configuration file cannot be recognized. | [zhCN] 配置文件中无法使用非ASCII字符(比如中文)。

How it Works
DSN works by hooking directly into the Skyrim code where the dialogue menu is updated. It also starts a background service to handle the speech recognition. When the background service identifies the dialogue line, the Skyrim hooks execute to select the spoken line.

Contributors & Source Codes

DSN is currently being released as an open source project, and developers are encouraged to modify it, enhance its functionality, or port it to other games. If you are interested in the development of DSN, you can find the project source code at the bottom of the description page.

Please note that the source code for SKSE64 and SKSEVR is referenced in the DSN project. However, according to the requirements of SKSE developers, you cannot separate the SKSE source code from this project and publish it as a separate project.

You can access the source code maintained by each of the DSN's contributors from the links below. DougHamil (Cuebit) is the founder of the project and YihaoPeng (SwimmingTiger) is the current main maintainer. Currently, YihaoPeng holds the main branch of the project. If you are ready to contribute code, consider fork YihaoPeng's repo and send a Pull Request to the repo.

What license does the DSN source code use?

Sorry, there is currently no license. Because Cuebit did not select a license for the project, and the SKSE source code referenced by the project does not allow redistribution. Because the project has fewer contributors, we can consider choosing a license in the future.

It looks like the modification and redistribution of the mod will not cause objections from existing contributors. If you plan to use the source code commercially, please contact all contributors.