这是 CapsWriter-Offline ,一个 PC 端的语音输入、字幕转录工具。可用实现简单一键将音频文件转换成文字的懒人工具。
两个功能:
1、实时转换,按下键盘上的 大写锁定键,录音开始,当松开 大写锁定键 时,就会识别你的录音,并将识别结果立刻输入
2,离线转换,将音视频文件拖动到客户端打开,即可转录生成 srt 字幕
特性
完全离线、无限时长、低延迟、高准确率、中英混输、自动阿拉伯数字、自动调整中英间隔
热词功能:可以在 hot-en.txt hot-zh.txt hot-rule.txt 中添加三种热词,客户端动态载入
日记功能:默认每次录音识别后,识别结果记录在 年份/月份/日期.md ,录音文件保存在 年份/月份/assets
关键词日记:识别结果若以关键词开头,会被记录在 年份/月份/关键词-日期.md,关键词在 keywords.txt 中定义
转录功能:将音视频文件拖动到客户端打开,即可转录生成 srt 字幕
服务端、客户端分离,可以服务多台客户端
编辑 config.py ,可以配置服务端地址、快捷键、录音开关......
本地离线整合包
请确保电脑上安装了 Microsoft Visual C++ Redistributable 运行库
服务端载入模型所用的 onnxruntime 只能在 Windows 10 及以上版本的系统使用
服务端载入模型需要系统内存 4G,只能在 64 位系统上使用
额外打包了 32 位系统可用的客户端,在 Windows 7 及以上版本的系统可用
官方程序和模型分离开,需要单独下载模型
我已经把模型和软件打包好,无需单独下载模型,下载整合包,解压即用。
完整整合包下载 :AI一键音频转文字工具 速度超快,支持实时转换,无需联网,本地整合包下载
功能:热词
如果你有专用名词需要替换,可以加入热词文件。规则文件中以 # 开头的行以及空行会被忽略,可以用作注释。
中文热词请写到 hot-zh.txt 文件,每行一个,替换依据为拼音,实测每 1 万条热词约引入 3ms 延迟
英文热词请写到 hot-en.txt 文件,每行一个,替换依据为字母拼写
自定义规则热词请写到 hot-rule.txt 文件,每行一个,将搜索和替换词以等号隔开,如 毫安时 = mAh
你可以在 core_client.py 文件中配置是否匹配中文多音字,是否严格匹配拼音声调。
检测到修改后,客户端会动态载入热词,效果示例:
例如 hot-zh.txt 有热词「我家鸽鸽」,则所有识别结果中的「我家哥哥」都会被替换成「我家鸽鸽」
例如 hot-en.txt 有热词「ChatGPT」,则所有识别结果中的「chat gpt」都会被替换成「ChatGPT」
例如 hot-rule.txt 有热词「毫安时 = mAh」,则所有识别结果中的「毫安时」都会被替换成「mAh」
功能:日记、关键词
默认每次语音识别结束后,会以年、月为分类,保存录音文件和识别结果:
录音文件存放在「年/月/assets」文件夹下
识别结果存放在「年/月/日.md」Markdown 文件中
例如今天是2023年6月5号,示例:
语音输入任一句话后,录音就会被保存到 2023/06/assets 路径下,以时间和识别结果命名,并将识别结果保存到 2023/06/05.md 文件中,方便我日后查阅
例如我在 keywords.txt 中定义了关键词「健康」,用于随时记录自己的身体状况,吃完饭后我可以按住 CapsLock 说「健康今天中午吃了大米炒饭」,由于识别结果以「健康」关键词开头,这条识别记录就会被保存到 2023/06/05-健康.md 中
例如我在 keywords.txt 中定义了关键词「重要」,用于随时记录突然的灵感,有想法时我就可以按住 CapsLock 说「重要,xx问题可以用xxxx方法解决」,由于识别结果以「重要」关键词开头,这条识别记录就会被保存到 2023/06/05-重要.md 中
功能:转录文件
在服务端运行后,将音视频文件拖动到客户端打开,即可转录生成四个同名文件:
json 文件,包含了字级时间戳
txt 文件,包含了分行结果
merge.txt 文件,包含了带标点的整段结果
srt 文件,字幕文件
如果生成的字幕有微小错误,可以在分行的 txt 文件中修改,然后将 txt 文件拖动到客户端打开,客户端检测到输入的是 txt 文件,就会查到同名的 json 文件,结合 json 文件中的字级时间戳和 txt 文件中修正结果,更新 srt 字幕文件。
修改配置
你可以编辑 config.py ,在开头部分有注释,指导你修改服务端、客户端的:
连接的地址和端口,默认是 127.0.0.1 和 6006
键盘快捷键
是否要保存录音文件
要移除识别结果末尾的哪些标点,(如果你想把句尾的问号也删除掉,可以在这边加上)