Open H1DDENADM1N opened 8 months ago
你这个应该可用,但是我不能通过 pr,主因是:
总之,加入 GUI,不是一个问题的结束,而是无数新问题的开始。
现在的 CapsWriter 还只是中间体,Whisper 模型、多语言支持、显卡加速,都还没实现,很多设计可能大改。只是我目前没有独显电脑,代码能力也还不足,还无法做进一步添加这些功能。
目前来看,保持命令行运行是最合适的。占用任务栏的问题,在 Win10 下可以通过拖动到一个虚拟桌面来解决,自启动的问题,可以通过向 shell:startup
路径添加快捷方式解决,键盘上的 Caps Lock 指示灯也能显示录音状态。
然后,你的 git 没有写 .gitignore,把 .history
目录也 commit 了。另外不需要弄一个 runtime 目录,依赖包 pip 安装就行,打包用 pyinstaller 会把依赖包放到 internal 文件夹。
你可以新开一个库,我把这个库链接放到 readme 和 release note 里
这个GUI启动流程是
start.exe
->runtime\pythonw.exe start.py
PyStand规定的目录名runtime和site-packages,它较Pyinstaller的好处是不会每次运行在%Temp%目录自解压引起杀毒软件扫描造成卡顿
->core_server.py和core_client.py
子进程启动,与手动点击start_server.exe和start_client.exe没区别,我运行的五六十边没遇到权限或文件读写问题,不过确实目前只能同时启动同时停止
然后,那个,怎样是新开一个库?我fork的这个 https://github.com/H1DDENADM1N/CapsWriter-Offline 有什么问题?抱歉,不太懂😵💫
懂了,你是用的 pystand 打包,而不是 pyinstaller ,等我有空把你的 repo 放到 readme
服务端加载要 50 秒,客户端加载只需 2 秒,客户端最容易因为麦克风插拔、麦克风权限、文件读写等未能覆盖到的 bug 闪退,这时,重启整个程序又要载入模型。正因如此,我才做了服务端、客户端分离的。
我赞同这个,gui 封装 client 端就行,Windows 上为了使用方便,可以将 server 注册成服务,或者干脆 client server 分别封装 GUI
我赞同这个,gui 封装 client 端就行,Windows 上为了使用方便,可以将 server 注册成服务,或者干脆 client server 分别封装 GUI
做好了,如下图,配合Groupy更好用了,我一会更新
Hi @H1DDENADM1N 从项目Readme中看到了fork的项目地址,觉得新加入的翻译功能非常的好,在使用过程中我也萌生了一些想法, 我在实际使用过程中发现自己在语音输入的过程中,出现了同时需要输入中文和英文翻译的场景, 但是在目前的版本中,翻译功能的开关似乎不能够“热生效”(我不知道这个词用的对不对( •̀ ω •́ )✧) 在config.py中设置了translate开关之后,程序需要重新启动才能生效,然而你知道的,加载模型要几十秒钟~
所以我有了一些想法,不知道合不合适:
总之,加入 GUI,不是一个问题的结束,而是无数新问题的开始。
比如说: a) 按下CAPSLOCK默认是识别中文不翻译 b) 按下右Shift是识别中文并且翻译成英文
这样似乎能同时达到输入中文和英文翻译的可能
因为我是在使用过程中产生的这个想法,我觉得可能从用户角度来讲如果能同时用上这个项目的识别和翻译功能应该是很棒的, 如果中文和翻译需要来回设置并且重启软件+1分钟等待的话,用户体验并不是很好。
@SingleCoreSun 感谢你的建议,我发布了新的提交:默认加载翻译模型,组合键按住Left Shift再按 CapsLock进行翻译
,以适应同时需要输入中文和英文翻译的场景。
注意输入结束时,先松开CapsLock 键,待输入完成,再松开 Shift 键。
https://github.com/H1DDENADM1N/CapsWriter-Offline/commit/ed1eab3d1f3c88bac464ff98df7c58b136f5cee7
预览图:
@SingleCoreSun 感谢你的建议,我发布了新的提交:https://github.com/H1DDENADM1N/CapsWriter-Offline/releases/tag/gui-v1.1.0
新增功能 支持基于 DeepLX 的在线多译多,默认译日
按下键盘上的 Right Shift
再按 CapsLock
可以将识别结果在线翻译为多国语言,默认设置翻译为日文。
在线翻译基于 DeepLX ,过于频繁的请求可能导致 IP 被封,如果出现 429 错误,则表示你的 IP 被 DeepL 暂时屏蔽了,请不要在短时间内频繁请求。
通过 config.py
中 trans_online_shortcut
和 trans_online_target_languages
配置。常用的 EN
JA
RU
,更多选择参考 docs-api
预览图:
start.exe
、start_server_gui.exe
start_client_gui.exe
。123盘 https://www.123pan.com/s/qBxUVv-H4Zq3.html 提取码:h8vb 动图预览:
start.exe
start_server_gui.exe
start_client_gui.exe
文件说明: