Skip to content

MasouShizuka/LightWeight_VNR

Repository files navigation

LightWeight_VNR


截图

screenshot_01 screenshot_02 screenshot_03 screenshot_03


说明

  • 本项目可调用Textractor来抓取Galgame的游戏文本
  • 本项目可调用Tesseract-OCR来抓取文字,支持日文简体中文繁体中文英文
  • 本项目可调用有道词典(本地)百度翻译来实现翻译功能
  • 本项目可调用YukariTamiyasuVOICEROID2VOICEVOX等来实现文本阅读功能
  • 本项目可满足离线使用的需求

使用方法

Game

  1. 填好游戏名称(可不填)、程序目录启动方式特殊码(没有可不填)后添加/修改
    • 程序目录启动方式必须填
    • 游戏名称若为空,添加时将程序名作为游戏名称
    • 转区运行需在设置中设置Locale Emulator路径
  2. 选择一项游戏后点击启动游戏即可启动游戏,并自动启动Textractor并注入dll
  • 修改游戏信息后点击添加/修改即可修改信息
  • 选择一项游戏后点击删除即可删除

Textractor

  1. 设置Textractor路径,确保路径下有TextractorCLI.exetexthook.dll
  2. 点击启动TR,选择游戏进程,再点击Attach注入dll
    • 若从游戏列表中启动游戏,则无需进行步骤2
    • dll注入后,游戏进程不关,则再次打开程序无需上述步骤
    • 特殊码使用之前必须确保dll已注入,且特殊码格式必须正确
  3. 选择包含游戏文本的钩子

OCR

  1. Tesseract at UB Mannheim 下载安装包
    • 可安装或用 7-zip 提取到指定文件夹
  2. tessdata 下载 tessdata
    • 将需要的语言的 traineddata 复制到程序目录的 tessdata 目录下
  3. 确保 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键退出截取界面
  • 截取后点击连续,则开始以某一间隔在同一位置进行连续识别
    • 点击终止则结束连续识别
  • 根据程序显示的图片效果,可以调整阈值化方式阈值,来减小背景的影响

Translator

有道

  • 注意:有道调用的不是API,而是本地的有道词典程序(不可最小化
  1. 设置有道词典路径,点击启动,并切换到词典翻译页面
    • 若本程序获取的翻译文本错位,可尝试增加翻译间隔
    • 可以取消抓取翻译,并将词典的翻译栏拖在游戏窗口下方

百度

  • 注意:百度翻译是在线翻译,需要使用百度账号免费申请api,流程如下:
  1. https://api.fanyi.baidu.com/进入百度翻译开放平台
  2. 按照指引完成api开通,只需要申请通用翻译API
  3. 完成申请后点击顶部管理控制台,在申请信息一栏可获取APP ID密钥
  • 启用百度翻译前需要填写APP ID密钥并且保存

TTS

通用

  • 连续阅读:连续阅读符合条件的抓取文本
  • 连续阅读特征:若句子中包含列表中的字符,则自动阅读,以空格分隔
    • 若句子包含连续阅读特征,则不再进行角色对话旁白的判断
  • 角色对话特征:用于判断句子为角色对话还是旁白
  • 连续阅读内容:勾上的内容会阅读,反之忽略

Yukari(VOICEROID+ 结月缘)

  1. 设置Yukari路径,点击启动(可最小化

Tamiyasu(VOICEROID+ 民安ともえ)

  • 同上

VOICEROID2

  1. https://www.python.org/downloads/windows/下载32位的便携Python,并解压到程序目录的python-win32文件夹中
  2. 设置VOICEROID2路径启用(不需要打开)
  • 可选择VOICEROID2已拥有的的角色阅读
    • 角色名字为VOICEROID2路径下的Voice文件夹内的各个子文件夹名称
  • 可调整各项参数,同VOICEROID2软件界面

VOICEVOX

  1. VOICEVOX 下载
  2. 设置VOICEVOX路径,点击启动
  • 可选择自带的Speaker阅读
  • 可调整各项参数,同VOICEVOX软件界面

文本

  • 文本去重数:文本重复的次数
    • 类型(重复2次为例)
      • aabbcc -> abc
      • abcabc -> abc
    • 智能去重:根据句子自动判断重复次数并去重,勾上后文本去重数失效
  • 垃圾字符表:去除文本中含的垃圾字符,以空格分隔
  • 正则表达式:将正则表达式中的所有()部分连接,其余的去除

小窗口

  • 打开小窗口,会隐藏主窗口,并显示设置中启用的条目,包括原文、各种翻译
    • 可在抓取光学界面中打开小窗口

快捷键

  • 暂停;,暂停TextractorOCR的文本抓取
  • 阅读',阅读当前抓取的文本

打包

  • 开发环境:Python 3.9.12 64bit
  • 本项目可用Pyinstaller打包,命令:pyinstaller -Fw main.spec
    • spec文件中需要追加:
      • binaries=[('pythoncom39.dll路径', '.')],
      • hiddenimports=['pynput.keyboard._win32', 'pynput.mouse._win32'],

额外说明

  • 调用YukariTamiyasu的代码参考了VNR的源码
  • 调用VOICEROID2的代码参考了Nkyoku/pyvcroid2项目

About

实现对Galgame文本的抓取与翻译功能

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages