forked from DougHamil/DragonbornSpeaksNaturally
-
Notifications
You must be signed in to change notification settings - Fork 7
/
DragonbornSpeaksNaturally.SAMPLE-zhCN.ini
330 lines (282 loc) · 16.2 KB
/
DragonbornSpeaksNaturally.SAMPLE-zhCN.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
;;; DragonbornSpeaksNaturally (DSN) 龙裔自然对话
;;; 为《上古卷轴5:天际》的64位PC版(Skyrim Special Edition, SSE, 特别版)和VR版(SkyrimVR)提供语音识别功能。
;;; 使用说明:
;;;
;;; 1. 请将该配置文件重命名或复制为 "DragonbornSpeaksNaturally.ini"。
;;; 示例配置文件 "DragonbornSpeaksNaturally.SAMPLE-zhCN.ini" 不会被 DSN加载,
;;; 所以对示例配置文件 "DragonbornSpeaksNaturally.SAMPLE-zhCN.ini" 的任何修改都不会生效。
;;;
;;; 2. 通常来说,你可以把配置文件 "DragonbornSpeaksNaturally.ini" 放在 "DragonbornSpeaksNaturally.exe" 所在的文件夹里。
;;; 但是如果你使用MOD管理器(比如MO2),搞不清楚游戏启动时 "DragonbornSpeaksNaturally.exe" 在哪里,
;;; 你还可以把 "DragonbornSpeaksNaturally.ini" 放在 "<文档 (又名我的文档)>\DragonbornSpeaksNaturally\" 文件夹里
;;; (如果你安装DSN后启动过一次游戏,这个文件夹里会生成一个 "DragonbornSpeaksNaturally.log" 日志文件)。
;;;
;;; 3. 以半角分号(;)开头的行是注释、例子,或者通常不需要配置的选项。
;;; 但是如果你想配置,你也可以删除开头的分号,然后自行设置选项值。
;;;
;;; 4. 如果配置文件 "DragonbornSpeaksNaturally.ini" 包含非ASCII字符(比如中文),
;;; 必须另存为 UTF-8 with BOM (带有BOM的UTF-8) 编码,否则DSN无法正常读取这些字符。
;;; [语音识别设置]
;;; 请不要修改、删除或者移动下面那行,它是ini配置节名称,删除后下面的选项就不起作用了!
[SpeechRecognition]
;;; 通过取消注释(删除开头的分号)来选择语音引擎 (默认为微软 Microsoft)
;;;
;;; 汉语推荐使用 Microsoft,因为 Voice2Json 的汉语识别准确率低。
;;; 以下语言的 Voice2Json 识别效果较好:
;;; cs-cz, de, en, en-us, es, fr, it, ko-kr, nl, ru, sv, vi
;;; 其他语言推荐使用 Microsoft。
;;;
;;; 如要使用 Voice2Json 引擎,请先安装 Docker Desktop:
;;; 下载地址:https://www.docker.com/products/docker-desktop/
;;;
Engine=Microsoft
;Engine=Voice2Json
;;; 通过取消注释(删除开头的分号)来使用bash(WSL)而非docker(默认)中的Voice2Json。
;;; 要使用该功能,你必须自行在WSL默认发行版中安装Voice2Json。
;;; 安装方法参考:http://voice2json.org/install.html#debian-package
;bVoice2JsonUseDocker=0
;;; 语音识别使用的语言,通常不需要设置,使用系统默认语言
;;; 如果要手动设置语言,请移除“Locale”前面的分号(;)。
;;;
;;; Engine=Microsoft 可用的语言:
;;; en-us, en-uk, en-ca, en-in, en-au, fr, de, ja,
;;; zh-cn, zh-tw, zh-hk, zh-sg
;;;
;;; 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
;;; 参考文档:http://voice2json.org/#supported-languages
;;;
Locale=zh-cn
;;; 通过取消注释(删除开头的分号)来把所有传递给Voice2Json的大写字母转换为小写字母。
;;; 如果在日志中看到大写字母引发异常,可以启用该选项。
;;; 已默认为某些语言启用该选项,比如俄语。
;bLowercasePhrases=1
;;; 设为 1 在日志中记录录音问题,日志中会出现 "too loud" (声音太大) 和 "too noisy" (声音太小) 的记录。
bLogAudioSignalIssues=1
;;; 设置对话和自定义命令的语音识别置信度,范围是大于 0 小于 1 ,
;;; 值越大越不容易误匹配,但是你可能需要字正腔圆的说话才能被识别。
dialogueMinConfidence=0.5
commandMinConfidence=0.7
;;; 语音识别暂停短语
;;; 说出下面的句子可以暂停语音识别。
;;; 对话、收藏夹和自定义命令识别都会暂停识别,直到你说出恢复短语为止。
;;; 用半角分号分隔多个句子。
;;; 删除开头的分号启用该功能。
;pausePhrases=停止语音识别;暂停语音识别
;;; 语音识别恢复短语
;;; 说出下面的句子可以恢复被暂停的语音识别。
;;; 用半角分号分隔多个句子。
;;; 删除开头的分号启用该功能。
;resumePhrases=恢复语音识别;继续语音识别
;;; 暂停和恢复语音识别时播放的提示音
;;; 删除开头的分号,然后删空等号后的内容,可以禁用提示音播放。
;pauseAudioFile=C:\Windows\media\Speech Off.wav
;resumeAudioFile=C:\Windows\media\Speech On.wav
;;; 一个 C#正则表达式,用于从语音识别短语中删除语音引擎不支持的字符。
;;;
;;; 注意:建议将内容替换为空格以防止多个单词意外合并。
;;; 替换结果里可以使用双引号把空格引起来,双引号不是替换结果的一部分。
;;;
;;; 语音识别引擎不允许在识别短语中使用双引号,所以得去除。
;;; 至于 "(?<![a-zA-Z])'" 有什么用:
;;; 我们发现在中文短语里使用英文单引号会导致程序抛出异常,
;;; 比如这个 "吉'扎格的火焰风暴卷轴"
;;; 所以如果单引号前面不是字母,就得去掉
;;;
;normalizeExpression=(?:[",!?]|\s+|(?<![a-zA-Z])')
;normalizeReplacement=" "
;;; 一个 C#正则表达式,用于把带括号的内容标为可选,这样你就不必说出括号中的内容。
;;;
;;; 注意:替换内容中不要包括括号,否则如果你不想省略,你必须念出“括号”和“反括号”才能匹配一个条目。
;;;
;optionalExpression=(?:\(([^)]*)\)|\[([^\]]*)\]|{([^}]*)}|<([^>]*)>|(([^)]*))|【([^】]*)】|〈([^〉]*)〉|﹝([^﹞]*)﹞|〔([^〕]*)〕)
;optionalReplacement=$1$2$3$4$5$6$7$8$9
;;; [收藏夹设置]
;;; 请不要修改、删除或者移动下面那行,它是ini配置节名称,删除后下面的选项就不起作用了!
[Favorites]
;;; 设为 1 启用收藏夹物品语音装备,设为 0 禁用。
;;; 提示: 如果遇到随机装备物品的问题,可以考虑把触发前缀 (equipPhrasePrefix)设置的更复杂一些,
;;; 删空已知装备类别 (knownEquipmentTypes) 或者彻底禁用收藏夹物品语音装备功能
;;; (把该选项设为 0 )。
enabled=0
;;; 收藏夹物品语音装备的触发前缀
;;; 用半角分号分隔多个前缀。
;;; 提示: 如果遇到随机装备物品的问题,可以考虑把触发前缀设置的更复杂一些。
equipPhrasePrefix=装备;使用
;;; 设为 1 允许省略触发前缀,这样你就可以直接说出物品名称来装备收藏夹内物品。
;;; 注意: 启用该功能后误匹配概率会大大增加,有时候只要有一点噪音,DSN 就会随机装备物品。请慎用。
omitHandSuffix=0
;;; 该选项允许你按类别装备收藏夹内物品。
;;; 类别是物品名称的一部分 (比如 "铁匕首" 和 "钢匕首" 都属于 "匕首")。
;;; 如果有多个物品属于同一类别,第一个物品会被装备。
;;;
;;; 提示:
;;; 1. 把等号后面的内容删空就可以禁用该功能。
;;; 2. 如果遇到随机装备物品的问题,可以考虑禁用该功能。
;;; 3. 把两个字的类别放在一个字的前面,这样才不会误匹配。如果一个字的类别在两个字的前面,“某某巨剑”会被归类为“剑”。
;;; 4. 如果一个物品被错误归类,你可以把它的完整名称填在最开头,这样它就自成一类,不会影响其他物品。
;;;
knownEquipmentTypes=匕首;巨斧;巨剑;巨锤;斧;剑;锤;弓;弩;盾
;;; 设置左右手的称呼
;;; 用半角分号分隔多个称呼。
;;; 提示: 你可以省略左右手称呼,所以你可以说“左手装备xxx”,或者只说“装备xxx”。
equipLeftSuffix=左手;副手
equipRightSuffix=右手;主手
equipBothSuffix=双手;两手;两只手
;;; 如果省略左右手称呼,默认装备在这只手上
mainHand=右手
;;; 你也可以根据类型选择左右手 (删除选项开头的引号即可使用)
;;; 法术装备在哪只手
;spellMainHand=左手
;;; 武器装备在哪只手
;weaponMainHand=右手
;;; 如果在VR版启用了左手模式,把该选项设为 1
leftHandMode=0
;;; 选择左右手称呼在句子中的位置,设为 1 启用, 0 禁用。
;;; 左右手称呼在前,允许你说“左手装备xxx”,“右手装备xxx”,“双手装备xxx”
useEquipHandPrefix=1
;;; 左右手称呼在中间,允许你说“装备左手xxx”,“装备右手xxx”,“装备双手xxx”
useEquipHandInfix=0
;;; 左右手称呼在后,允许你说“装备xxx左手”,“装备xxx右手”,“装备xxx双手”
useEquipHandSuffix=0
;;; [对话设置]
;;; 请不要修改、删除或者移动下面那行,它是ini配置节名称,删除后下面的选项就不起作用了!
[Dialogue]
;;; 设为 0 禁用对话语音选择功能,设为 1 启用。
enabled=1
;;; 告别短语
;;; 说出下面的句子可以退出对话。
;;; 用半角分号分隔多个句子。
goodbyePhrases=以后再说吧;再见了,亲
;;; 设置对话的子集匹配模式。
;;; 有 5 个不同的模式,严格程度依次递减,默认为 None (禁用):
;;; None (禁用子集匹配,必须说出整个句子,但括号里的内容可以省略)
;;; SubsequenceContentRequired (说出句子的一部分就能匹配,这部分不能仅为介词和冠词)
;;; OrderedSubsetContentRequired (说出句子中的几个词就能匹配,这些词出现的顺序得和原句一样,不能仅为介词和冠词)
;;; Subsequence (说出句子的一部分就能匹配,可以仅为介词和冠词)
;;; OrderedSubset (说出句子中的几个词就能匹配,这些词出现的顺序得和原句一样,可以仅为介词和冠词)
;;;
;;; 你也可以查看微软的 MSDN 文档以了解详情(文档里的例子是机翻的,很难看懂,可以切到英文版看):
;;; https://docs.microsoft.com/zh-cn/dotnet/api/system.speech.recognition.subsetmatchingmode?redirectedfrom=MSDN&view=netframework-4.8#remarks
;;;
;;; 提示: 1. 自定义命令不会启用子集匹配,只有对话会启用。
;;; 2. 启用该功能后误匹配概率会大大增加,有时候只要有一点噪音,DSN 就会随机选择对话。请慎用。
;;;
SubsetMatchingMode=None
;;; [自定义命令]
;;; 请不要修改、删除或者移动下面那行,它是ini配置节名称,删除后下面的选项就不起作用了!
[ConsoleCommands]
;;;
;;; 可以添加老滚5支持的控制台命令,格式如下:
;;;
;;; 语音识别短语=控制台命令1;控制台命令2;控制台命令3
;;;
;;; 这里有控制台命令参考手册(英文):
;;; https://en.uesp.net/wiki/Skyrim:Console
;;;
;;; 下面有一些控制台命令的例子:
;;; (移除开头的分号来启用这些例子)
;;;
;给我一些金币=player.additem f 100
;切换上帝模式=tgm
;死吧,死吧=killall
;;;
;;; 可以使用命令装备物品、施放法术、施放龙吼,只需要找到对应的物品id、法术id。
;;; 用控制台命令装备物品不需要你有这件物品,施法可以无视冷却时间,施放龙吼不会播放角色声音。
;;;
;;; 可以在以下网页找到所需id:
;;; https://en.uesp.net/wiki/Skyrim:Items (物品)
;;; https://en.uesp.net/wiki/Skyrim:Spells (法术)
;;; https://en.uesp.net/wiki/Skyrim:Dragon_Shouts (龙吼)
;;;
;准备战斗=player.equipitem 139af; player.equipshout 48ac9
;把那龙打下来=player.equipshout 44250; player.equipitem 139ad
;我需要治疗=player.equipspell 12fcc left; player.equipspell 12fcc right; player.cast 12fcc player left; player.cast 12fcc player right
;我需要快速治疗=player.equipspell 0002f3b8 left; player.equipspell 0002f3b8 right; player.cast 0002f3b8 player left; player.cast 0002f3b8 player right
;;;
;;; 以下命令用于直接施放龙吼
;;;
;;; 你可以从以下页面的子页面找到命令所需的龙吼法术ID:
;;; https://en.uesp.net/wiki/Skyrim:Dragon_Shouts
;;;
;;; 注意,龙吼名称下方的ID不是其法术ID,而是龙吼本身的id,只能与 equipitem 命令一起使用,不能用于 cast 命令。
;;; 必须单击龙吼名称进入子页面,然后复制右侧表格里 Spell ID 下面的值。一个龙吼通常对应三个法术ID,对应1到3个力量之语。
;;;
;;; 此外还要注意:不要在语音识别短语中使用龙语拼写。微软语音识别引擎不是巨龙,不懂龙语。
;;; 建议使用发音相近的英语拼写。用汉字似乎不太行,除非你想一个字一个字念汉字发音。
;;;
;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
;;;
;;; 下面是按键模拟命令的示例
;;;
;;; 注意:以下命令只能在DSN里使用,DSN自身负责执行这些操作,无法在老滚5自带的控制台里使用:
;;; press, tapkey, holdkey, releasekey, sleep 和 switchwindow
;;;
;;; 这里有这些命令的文档(英语):
;;; https://github.com/DougHamil/DragonbornSpeaksNaturally/wiki/Key-Commands-Guide
;;;
;;; 注意:在VR版用 "press e" 命令可能会导致游戏崩溃。
;;;
;;; 此外,插入xbox手柄会导致按键模拟功能失效,因为游戏在使用手柄时默认禁用键盘输入。
;;; 如果直接按键盘没有反应,按键模拟自然也不会有反应。
;;; 这里有一个解决方法(英语): https://www.nexusmods.com/skyrim/mods/30913
;;;
;;; 一些例子:
;;;
;打开地图=press m
;关闭地图=press m
;做点什么好呢=press j
;我不要了=press esc
;你好,兄弟=press e
;你好啊,亲=press e
;这个我想要=press e
;释放龙吼=press z 3000
;;;
;;; 你也可以写一些更复杂的脚本
;;; 注意:在VR版用 "press e" 命令可能会导致游戏崩溃。
;;;
;潜行然后取消=press ctrl; sleep 5000; press ctrl
;炸弹来了=player.cast 0003f9ed player voice; sleep 3000; player.cast 00013f3a player voice
;双手施法=holdkey leftmousebutton; sleep 1000; holdkey rightmousebutton; sleep 5000; releasekey leftmousebutton; sleep 3000; releasekey rightmousebutton
;在控制台里打字=switchwindow; sleep 50; tapkey ~; sleep 50; tapkey s a v e; tapkey blank 1; sleep 300; tapkey enter; sleep 3000; tapkey ~
;;;
;;; 在VR版里进行按键模拟
;;; 注意:在VR版用 "press e" 命令可能会导致游戏崩溃。
;;;
;;; 大部分PC版键盘快捷键在VR版都能用,所以可以像在SSE中一样使用“press”命令在VR版完成很多操作,包括施放左手和右手技能。
;;; 但是您必须确保在运行“press”命令时游戏是活动窗口。如果其他窗口是活动窗口,模拟按键就发送到其他程序去了,游戏收不到自然不会有反应。
;;; 可以在每个“press”命令之前添加“switchwindow”命令,它可以把游戏窗口切换为活动窗口。
;;;
;虚拟现实潜行并取消=switchwindow; press ctrl; sleep 5000; press ctrl
;释放左手技能=switchwindow; press leftmousebutton 5000
;释放右手技能=switchwindow; press rightmousebutton 5000
;使用物品=switchwindow; press e
;虚拟现实释放龙吼=switchwindow; press z 3000
;;;
;;; 载入 SRGS XML 文件 ("@" + 文件名或完整路径)
;;; SRGS 是 Speech Recognition Grammar Specification (语音识别语法规范) 的简称
;;;
;;; 如果使用文件名,XML文件和 DragonbornSpeaksNaturally.ini 文件放在同一个文件夹里就可以。
;;;
;;; 用SRGS可以编写复杂的匹配规则,并且没有短语数量限制,但是需要具有足够的XML和编程知识才能熟练使用它。
;;; 所以该功能通常提供给MOD开发者使用,我们只需要引用MOD开发者写好的XML文件即可。
;;;
;;; 以下是 SRGS 的标准文档:
;;; https://www.w3.org/TR/speech-grammar/
;;;
;;; 微软的 SRGS 参考手册:
;;; https://docs.microsoft.com/zh-cn/previous-versions/office/developer/speech-technologies/hh361653(v=office.14)?redirectedfrom=MSDN
;;;
;;; DSN 在 SRGS 文件内支持 `tag-format="semantics/1.0"` 语义功能,你需要使用 out 输出最终要执行的自定义命令。
;;; 这里是和 semantics 语义功能有关的文档:
;;; https://www.w3.org/TR/semantic-interpretation/
;;;
;;; 在 Engine=Voice2Json 时不可用。
;;;
;Dragonborn [email protected]