forked from DougHamil/DragonbornSpeaksNaturally
-
Notifications
You must be signed in to change notification settings - Fork 7
/
DragonbornSpeaksNaturally.SAMPLE.ini
331 lines (283 loc) · 14.4 KB
/
DragonbornSpeaksNaturally.SAMPLE.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
;;; DragonbornSpeaksNaturally (DSN)
;;; Provides speech recognition for the 64-bit PC version (Skyrim Special Edition) and VR version (SkyrimVR) of "The Elder Scrolls V: Skyrim".
;;; Tips:
;;;
;;; 1. Please rename or copy this file to "DragonbornSpeaksNaturally.ini".
;;; The file "DragonbornSpeaksNaturally.SAMPLE.ini" will not be read by DSN.
;;; So any changes on "DragonbornSpeaksNaturally.SAMPLE.ini" will not take effect.
;;;
;;; 2. Normally, "DragonbornSpeaksNaturally.ini" should be in the same folder as "DragonbornSpeaksNaturally.exe".
;;; However, if you install the MOD via a MOD Manager and not sure the location of "DragonbornSpeaksNaturally.exe",
;;; you can also put the "DragonbornSpeaksNaturally.ini" file in "<Documents (aka. My Documents)>\DragonbornSpeaksNaturally\"
;;; (a log file "DragonbornSpeaksNaturally.log" will be here after you running Skyrim with DSN).
;;;
;;; 3. A configuration item begins with a ";" indicates that it exists for example only,
;;; or you usually don't need to configure it. But you can also remove the ';' before it
;;; and change its value for your preference.
;;;
;;; 4. If the configuration file "DragonbornSpeaksNaturally.ini" contains non-ASCII characters,
;;; it must be saved as UTF-8 with BOM encoding. Otherwise, DSN cannot read non-ASCII characters normally.
;;; Please do not edit, delete or move the next line (the ini section title), otherwise the options below will not take effect
[SpeechRecognition]
;;; Uncomment (remove leading semicolon) to choose speech engine (default is Microsoft)
;;;
;;; Voice2Json recognizes the following languages better:
;;; cs-cz, de, en, en-us, es, fr, it, ko-kr, nl, ru, sv, vi
;;; Microsoft is recommended for other languages.
;;;
;;; To use the Voice2Json engine, you need to install Docker Desktop:
;;; Download from https://www.docker.com/products/docker-desktop/
;;;
;Engine=Microsoft
Engine=Voice2Json
;;; Uncomment (remove leading semicolon) to use bash (WSL) setup for Voice2Json instead of docker (default).
;;; You must install Voice2Json in the WSL default distribution yourself before uncomment.
;;; Installation: http://voice2json.org/install.html#debian-package
;bVoice2JsonUseDocker=0
;;; Set this to override your system's default locale
;;;
;;; Available Locales for Engine=Microsoft:
;;; en-us, en-uk, en-ca, en-in, en-au, fr, de, ja,
;;; zh-cn, zh-tw, zh-hk, zh-sg
;;;
;;; Available Locales for Engine=Voice2Json:
;;; ca-es, cs-cz, de, el-gr, en, en-in, en-us, es, es-mexican,
;;; fr, hi, it, ko-kr, kz, nl, pl, pt-br, ru, sv, vi, zh, zh-cn
;;; References: http://voice2json.org/#supported-languages
;;;
Locale=en-us
;;; Uncomment (remove leading semicolon) to convert all uppercase letters passed to the Voice2Json speech engine to lowercase.
;;; If you see capital letters causing exception in the log, you can enable this option.
;;; This option is already enabled by default for some languages that have this problem (such as ru).
;bLowercasePhrases=1
;;; When set to 1, the speech recognition service will log any audio signal issues like "too loud" or "too noisy"
bLogAudioSignalIssues=1
;;; Set these to override the minimum confidence required for matching dialogue and commands (default values are shown here)
dialogueMinConfidence=0.5
commandMinConfidence=0.7
;;; The speech engine will pause recognition after you say the following phrase.
;;; Both dialogue and console commands recognition are paused until you say one of the resume phrase.
;;; Remove the semicolon at the beginning to enable this feature.
;pausePhrases=Please don't listen to me;Stop speech recognition
;;; Say the following phrase to resume recognition from the pause.
;;; Remove the semicolon at the beginning to enable this feature.
;resumePhrases=Please listen to me again;Start speech recognition
;;; Audio played when pausing and resuming the speech recognition.
;;; Leave blank to disable audio playback.
;pauseAudioFile=C:\Windows\media\Speech Off.wav
;resumeAudioFile=C:\Windows\media\Speech On.wav
;;; A C # regular expression to remove content from the phrase that cannot be processed
;;; by the speech recognition engine.
;;;
;;; Note: It is recommended to replace these with a space to prevent accidental word merges.
;;; Double quotes can be used to enclose spaces, it is not part of the replacement result.
;;;
;;; Double quotes are not allowed in the speech recognition engine.
;;; About "(?<![a-zA-Z])'":
;;; Using single quotes with Chinese may cause exceptions.
;;; Like this: "吉'扎格的火焰风暴卷轴".
;;; So we need to remove the quote if it is not preceded by a letter.
;;;
;normalizeExpression=(?:[",!?]|\s+|(?<![a-zA-Z])')
;normalizeReplacement=" "
;;; A C# regular expression, matching content will be treated as optional,
;;; so you can omit them when you speak.
;;;
;;; Note: Try not to make the brackets appear in the replacement result,
;;; otherwise you need to read the bracket-self to match the optional part.
;;;
;optionalExpression=(?:\(([^)]*)\)|\[([^\]]*)\]|{([^}]*)}|<([^>]*)>|(([^)]*))|【([^】]*)】|〈([^〉]*)〉|﹝([^﹞]*)﹞|〔([^〕]*)〕)
;optionalReplacement=$1$2$3$4$5$6$7$8$9
;;; Please do not edit, delete or move the next line (the ini section title), otherwise the options below will not take effect
[Favorites]
;;; Set it to 1 to enable the favorites menu voice-equip and 0 to disable it.
;;;
;;; Tips: If you are struggling with uncontrolled random items equipping in your game,
;;; try set a more complicated equipPhrasePrefix or remove all items
;;; in knownEquipmentTypes or disable favorites menu voice-equip with this setting.
enabled=0
;;; Set this to your preferred prefix for equipping items.
;;; Separate multiple words with semicolons.
;;;
;;; Tips:
;;; If you are struggling with uncontrolled random items equipping in your game,
;;; try set a more complicated prefix.
equipPhrasePrefix=equip;wear;use
;;; Set to 1 to allow omission of equipPhrasePrefix,
;;; which allows you to directly name the equipment to equip the item.
;;;
;;; Note: Enabling this option can greatly increase the probability of false matches.
;;; DSN may equip items randomly due to noise.
omitHandSuffix=0
;;; This setting allows you to equip an item with it's type.
;;; Type is a part of the item name (such as "Dagger" for "Iron Dagger" and "Steel Dagger").
;;; If multiple items have the same type, the first will be equipped.
;;;
;;; Tips:
;;; 1. Remove all items below to disable this feature.
;;; 2. If you are struggling with uncontrolled random items equipping in your game, try to disable it.
;;; 3. Add a space before the word to prevent false matches (so "Iron Battleaxe" will not matches " Axe").
;;; If you don't like this, or if your language doesn't add spaces between words, remove them.
;;; 4. If an item is misclassified, you can fill in its full name at the beginning,
;;; so that it is in its own category and will not affect other items.
;;;
knownEquipmentTypes= Dagger; Mace; Sword; Axe; Battleaxe; Greatsword; Warhammer; Bow; Crossbow; Shield
;;; Set this for your language
;;; Tips: You can always omit hand suffix. You can say "equip xxx main" or just "equip xxx".
equipLeftSuffix=off;left
equipRightSuffix=main;right
equipBothSuffix=both
;;; Which hand is placed with one-handed items when the hand prefix is omitted.
;;; Valid values are "right", "left", "both" or the value of equipLeft/Right/BothSuffix your specified.
mainHand=right
;;; Or you can choose the main hand by type (Remove leading semicolon to enable)
;spellMainHand=left
;weaponMainHand=right
;;; If you enabled left-hand mode in SkyrimVR, set it to 1.
leftHandMode=0
;;; Allow you to say "left equip xxx", "right equip xxx", "both equip xxx"
useEquipHandPrefix=1
;;; Allow you to say "equip left xxx", "equip right xxx", "equip both xxx"
useEquipHandInfix=1
;;; Allow you to say "equip xxx left", "equip xxx right", "equip xxx both"
useEquipHandSuffix=1
;;; Please do not edit, delete or move the next line (the ini section title), otherwise the options below will not take effect
[Dialogue]
;;; Set it to 0 to disable the dialogue voice selection and 1 to enable.
enabled=1
;;; These phrases can be said to exit from dialogue
goodbyePhrases=I'll talk to you later;That's enough chit chat for now
;;; Set the subset matching mode in a dialogue. It allows you to match the whole sentence by saying only part of the sentence.
;;; There are 5 different modes and None (disabled) is the default.
;;; Try the following values only if there is a problem with the dialogue recognition:
;;; None
;;; SubsequenceContentRequired
;;; OrderedSubsetContentRequired
;;; Subsequence
;;; OrderedSubset
;;; Use None to disable the subset matching.
;;;
;;; See this MSDN page for more details:
;;; https://docs.microsoft.com/en-us/dotnet/api/system.speech.recognition.subsetmatchingmode?redirectedfrom=MSDN&view=netframework-4.8#remarks
;;;
;;; Note: 1. Subset matching always be disabled for ConsoleCommands.
;;; 2. Enabling this option can greatly increase the probability of false matches.
;;; DSN may randomly select conversations due to noise.
;;;
SubsetMatchingMode=None
;;; Please do not edit, delete or move the next line (the ini section title), otherwise the options below will not take effect
[ConsoleCommands]
;;;
;;; Add any custom console commands here, format is:
;;;
;;; phrase=console command 1;console command 2;console command 3
;;;
;;; Here is a reference manual on the commands available in Skyrim:
;;; https://en.uesp.net/wiki/Skyrim:Console
;;;
;;; Here are some examples:
;;; (Remove the ';' to enable these commands)
;;;
;Give me some gold=player.additem f 100
;Toggle god mode=tgm
;Die Die Die=killall
;;;
;;; You can also equip/cast specified item/spell/shout directly by command.
;;;
;;; You can find more items/spells/shouts' ID here:
;;; https://en.uesp.net/wiki/Skyrim:Items
;;; https://en.uesp.net/wiki/Skyrim:Spells
;;; https://en.uesp.net/wiki/Skyrim:Dragon_Shouts
;;;
;Ready to battle=player.equipitem 139af; player.equipshout 48ac9
;Shoot the dragon down=player.equipshout 44250; player.equipitem 139ad
;I need treatment=player.equipspell 12fcc left; player.equipspell 12fcc right; player.cast 12fcc player left; player.cast 12fcc player right
;I need quick treatment!=player.equipspell 0002f3b8 left; player.equipspell 0002f3b8 right; player.cast 0002f3b8 player left; player.cast 0002f3b8 player right
;;;
;;; For a shout's command phrase, use a similar English spelling to improve the recognition rate.
;;;
;;; You can find more shouts' spell ID from the subpage of the page:
;;; https://en.uesp.net/wiki/Skyrim:Dragon_Shouts
;;;
;;; Note that the ID below the shout name is not its spell ID and
;;; can only be used with the equipitem command and not for the cast command.
;;; You must click the shout name to go to the subpage and copy the value under the "Spell ID" title.
;;; A shout corresponds to three spell IDs (with 1 to 3 power words).
;;;
;Fus Loda=player.cast 00013f3a player voice
;Force Loda=player.cast 00013f3a player voice
;Fuse Loda=player.cast 00013f3a player voice
;Your Tooso=player.cast 0003f9ed player voice
;Lok Vakoor=player.cast 0003f50d player voice
;Gol Hadov=player.cast 040179e1 player voice
;;;
;;; Here are some examples of using keypresses as commands
;;;
;;; The following commands can only be used in DSN and are executed by DSN itself.
;;; You can't use them in the Skyrim console. There are:
;;;
;;; press, tapkey, holdkey, releasekey, sleep and switchwindow.
;;;
;;; Here is a document for these commands:
;;; https://github.com/DougHamil/DragonbornSpeaksNaturally/wiki/Key-Commands-Guide
;;;
;;; Note: Using the "press e" command in SkyrimVR may cause the game to crash.
;;;
;;; In addition, inserting a xbox controller will cause the keyboard simulation to fail.
;;; The experience is: If you press the keyboard directly, there will be no response,
;;; and the key simulation will not respond.
;;; Here is a solution: https://www.nexusmods.com/skyrim/mods/30913
;;;
;;; Some examples:
;;;
;Open Map=press m
;Close Map=press m
;What should I do=press j
;I don't want any more=press esc
;Hello, man=press e
;Hello, brother=press e
;I want this=press e
;Casting a shout=press z 3000
;;;
;;; Some more complicated examples of combined keypress scripts
;;; Note: Using the "press e" command in SkyrimVR may cause the game to crash.
;;;
;Sneak and cancel=press ctrl; sleep 5000; press ctrl
;Fire in the hole=player.cast 0003f9ed player voice; sleep 3000; player.cast 00013f3a player voice
;Casting with two hands=holdkey leftmousebutton; sleep 1000; holdkey rightmousebutton; sleep 5000; releasekey leftmousebutton; sleep 3000; releasekey rightmousebutton
;Typing in console=switchwindow; sleep 50; tapkey ~; sleep 50; tapkey s a v e; tapkey blank 1; sleep 300; tapkey enter; sleep 3000; tapkey ~
;;;
;;; Keypress commands in SkyrimVR
;;; Note: Using the "press e" command in SkyrimVR may cause the game to crash.
;;;
;;; All SSE keyboard shortcuts are available in SkyrimVR, so you can use the "press" command
;;; to do everything in SkyrimVR just likes in SSE, including to cast a left or right hand skill.
;;; But you have to make sure the game is the active window when a "press" command running.
;;; If it is not always, you can add the "switchwindow" command before each command.
;;;
;Sneak and cancel in VR=switchwindow; press ctrl; sleep 5000; press ctrl
;Left Hand Magic=switchwindow; press leftmousebutton 5000
;Right Hand Magic=switchwindow; press rightmousebutton 5000
;Use something=switchwindow; press e
;Casting a shout in VR=switchwindow; press z 3000
;;;
;;; Load a SRGS (Speech Recognition Grammar Specification) XML file ("@" + file name or full path)
;;;
;;; The XML file can be placed in the same directory as `DragonbornSpeaksNaturally.ini`.
;;;
;;; SRGS can implement complex matching rules without a limit on the number of phrases.
;;; However, you may need basic XML knowledge to be proficient in using it.
;;;
;;; The following is the standard document for SRGS:
;;; https://www.w3.org/TR/speech-grammar/
;;;
;;; Microsoft's SRGS Grammar XML Reference:
;;; https://docs.microsoft.com/en-us/previous-versions/office/developer/speech-technologies/hh361653(v=office.14)?redirectedfrom=MSDN
;;;
;;; DSN support `tag-format="semantics/1.0"`, you need to set the variable `out` to the final command to execute.
;;; Check out the documentation below to learn how to add semantics to your SRGS grammar:
;;; https://www.w3.org/TR/semantic-interpretation/
;;;
;;; Not available when Engine=Voice2Json.
;;;
;Dragonborn [email protected]