- 本项目可调用
Textractor
来抓取Galgame
的游戏文本 - 本项目可调用
Tesseract-OCR
来抓取文字,支持日文
、简体中文
、繁体中文
、英文
- 本项目可调用
有道词典(本地)
、百度翻译
来实现翻译功能 - 本项目可调用
Yukari
、Tamiyasu
、VOICEROID2
、VOICEVOX
等来实现文本阅读功能 - 本项目可满足离线使用的需求
- 填好
游戏名称
(可不填)、程序目录
、启动方式
、特殊码
(没有可不填)后添加/修改
程序目录
、启动方式
必须填游戏名称
若为空,添加时将程序名
作为游戏名称
- 转区运行需在
设置
中设置Locale Emulator路径
- 选择一项游戏后点击
启动游戏
即可启动游戏,并自动启动Textractor
并注入dll
- 修改游戏信息后点击
添加/修改
即可修改信息 - 选择一项游戏后点击
删除
即可删除
- 设置
Textractor路径
,确保路径下有TextractorCLI.exe
和texthook.dll
- 点击
启动TR
,选择游戏进程
,再点击Attach
注入dll
- 若从
游戏列表
中启动游戏,则无需进行步骤2 dll
注入后,游戏进程不关,则再次打开程序无需上述步骤特殊码
使用之前必须确保dll
已注入,且特殊码
格式必须正确
- 若从
- 选择包含游戏文本的
钩子
- 从 Tesseract at UB Mannheim 下载安装包
- 可安装或用
7-zip
提取到指定文件夹
- 可安装或用
- 从 tessdata 下载
tessdata
- 将需要的语言的
traineddata
复制到程序目录的tessdata
目录下
- 将需要的语言的
- 确保
tessdata
目录下包含:展开查看
├── tessdata │ ├── chi_sim.traineddata │ ├── chi_sim_vert.traineddata │ ├── chi_tra.traineddata │ ├── chi_tra_vert.traineddata │ ├── eng.traineddata │ ├── jpn.traineddata │ └── jpn_vert.traineddata ├── *
截取
屏幕上的某一区域,用鼠标划定区域,划定完按Enter
- 截取完会直接显示截图图片和文本
- 点击
ESC
键退出截取界面
截取
后点击连续
,则开始以某一间隔在同一位置进行连续识别- 点击
终止
则结束连续识别
- 点击
- 根据程序显示的图片效果,可以调整
阈值化方式
和阈值
,来减小背景的影响
- 注意:
有道
调用的不是API,而是本地的有道词典程序(不可最小化
)
- 设置
有道词典路径
,点击启动
,并切换到词典翻译
页面- 若本程序获取的翻译文本
错位
,可尝试增加翻译间隔
- 可以取消
抓取翻译
,并将词典的翻译栏拖在游戏窗口下方
- 若本程序获取的翻译文本
- 注意:
百度翻译
是在线翻译,需要使用百度账号免费申请api,流程如下:
- https://api.fanyi.baidu.com/进入百度翻译开放平台
- 按照指引完成api开通,只需要申请
通用翻译API
- 完成申请后点击顶部
管理控制台
,在申请信息一栏可获取APP ID
与密钥
- 启用百度翻译前需要填写
APP ID
与密钥
并且保存
连续阅读
:连续阅读符合条件的抓取文本连续阅读特征
:若句子中包含列表中的字符,则自动阅读,以空格
分隔- 若句子包含
连续阅读特征
,则不再进行角色对话
、旁白
的判断
- 若句子包含
角色对话特征
:用于判断句子为角色对话
还是旁白
连续阅读内容
:勾上的内容会阅读,反之忽略
- 设置
Yukari路径
,点击启动
(可最小化
)
- 同上
- 从 https://www.python.org/downloads/windows/下载32位的便携
Python
,并解压到程序目录的python-win32
文件夹中 - 设置
VOICEROID2路径
并启用
(不需要打开)
- 可选择
VOICEROID2
已拥有的的角色阅读- 角色名字为
VOICEROID2
路径下的Voice
文件夹内的各个子文件夹名称
- 角色名字为
- 可调整各项参数,同
VOICEROID2
软件界面
- 从 VOICEVOX 下载
- 设置
VOICEVOX路径
,点击启动
- 可选择自带的
Speaker
阅读 - 可调整各项参数,同
VOICEVOX
软件界面
文本去重数
:文本重复的次数- 类型(重复2次为例)
aabbcc -> abc
abcabc -> abc
智能去重
:根据句子自动判断重复次数并去重,勾上后文本去重数
失效
- 类型(重复2次为例)
垃圾字符表
:去除文本中含的垃圾字符
,以空格
分隔正则表达式
:将正则表达式
中的所有()
部分连接,其余的去除
- 打开小窗口,会隐藏主窗口,并显示设置中启用的条目,包括原文、各种翻译
- 可在
抓取
和光学
界面中打开小窗口
- 可在
暂停
:;
,暂停Textractor
或OCR
的文本抓取阅读
:'
,阅读当前抓取的文本
- 开发环境:
Python 3.9.12 64bit
- 本项目可用
Pyinstaller
打包,命令:pyinstaller -Fw main.spec
spec
文件中需要追加:binaries=[('pythoncom39.dll路径', '.')],
hiddenimports=['pynput.keyboard._win32', 'pynput.mouse._win32'],
- 调用
Yukari
、Tamiyasu
的代码参考了VNR
的源码 - 调用
VOICEROID2
的代码参考了Nkyoku/pyvcroid2
项目