Project Icon

CapsWriter-Offline

多功能离线语音识别和字幕转录软件

CapsWriter-Offline是一款功能丰富的PC端语音识别和字幕转录软件。它支持完全离线运行,提供无限时长录音、低延迟识别和高准确率转录。用户可使用大写锁定键进行语音输入,或直接拖拽音视频文件进行字幕生成。此外,该工具还具备热词定制、日记记录和关键词分类等实用功能,兼容Windows、Mac和Linux操作系统。

CapsWriter-Offline

image-20240108115946521

这是 CapsWriter-Offline,一款PC端的语音输入和字幕转录工具。

主要功能:

  1. 按下键盘上的大写锁定键开始录音,松开时,系统会立即识别并输入结果。
  2. 将音视频文件拖拽到客户端即可转录生成srt字幕。

视频教程:CapsWriter-Offline 电脑端离线语音输入工具

特点

  1. 完全离线、无时长限制、低延迟、高准确率、中英混合输入、自动转换阿拉伯数字、自动调整中英间距
  2. 热词功能:可在hot-en.txthot-zh.txthot-rule.txt中添加三种热词,客户端动态加载
  3. 日记功能:默认每次录音识别后,结果保存在年份/月份/日期.md,录音文件保存在年份/月份/assets
  4. 关键词日记:识别结果若以关键词开头,会被记录在年份/月份/关键词-日期.md,关键词在keywords.txt中定义
  5. 转录功能:将音视频文件拖拽到客户端即可转录生成srt字幕
  6. 服务端与客户端分离,可支持多台客户端
  7. 编辑config.py可配置服务端地址、快捷键、录音开关等

懒人包

Windows系统:

  1. 请确保安装了Microsoft Visual C++ Redistributable 运行库
  2. 服务端使用的onnxruntime仅支持Windows 10及以上版本
  3. 服务端加载模型需要4G系统内存,仅支持64位系统
  4. 额外打包了32位系统可用的客户端,支持Windows 7及以上版本
  5. 模型文件较大,单独打包,解压后请放入软件目录的models文件夹

其他系统:

  1. 其他系统可下载模型、安装依赖后从Python源码运行
  2. 由于缺乏Mac设备,无法打包Mac版本,只能从源码运行,可能需要解决一些问题(系统限制下,客户端需要sudo启动,默认快捷键为right shift

模型说明:

  1. 模型文件较大,为方便更新单独打包
  2. 解压后请放入软件目录的models文件夹

下载地址:

(百度网盘链接可能失效,不一定会更新。GitHub Releases是最可靠的下载方式。)

image-20240108114351535

功能:热词

如需替换专用名词,可添加热词文件。规则文件中以#开头的行和空行会被忽略,可用作注释。

  • 中文热词请添加到hot-zh.txt文件,每行一个,根据拼音替换,每1万条热词约增加3ms延迟
  • 英文热词请添加到hot-en.txt文件,每行一个,根据字母拼写替换
  • 自定义规则热词请添加到hot-rule.txt文件,每行一个,用等号分隔搜索词和替换词,如毫安时 = mAh

可在core_client.py文件中配置是否匹配中文多音字,是否严格匹配拼音声调。

检测到修改后,客户端会动态加载热词,效果示例:

  1. hot-zh.txt中有热词"我家鸽鸽",所有识别结果中的"我家哥哥"都会被替换为"我家鸽鸽"
  2. hot-en.txt中有热词"ChatGPT",所有识别结果中的"chat gpt"都会被替换为"ChatGPT"
  3. hot-rule.txt中有热词"毫安时 = mAh",所有识别结果中的"毫安时"都会被替换为"mAh"

image-20230531221314983

功能:日记、关键词

默认每次语音识别结束后,会按年、月分类保存录音文件和识别结果:

  • 录音文件存放在"年/月/assets"文件夹下
  • 识别结果存放在"年/月/日.md" Markdown文件中

例如今天是2023年6月5日:

  1. 语音输入任意内容后,录音会被保存到2023/06/assets路径下,以时间和识别结果命名,并将识别结果保存到2023/06/05.md文件中,便于日后查阅
  2. 如果在keywords.txt中定义了关键词"健康"用于记录身体状况,吃完饭后可以按住CapsLock说"健康今天中午吃了大米炒饭",由于识别结果以"健康"关键词开头,这条记录会被保存到2023/06/05-健康.md
  3. 如果在keywords.txt中定义了关键词"重要"用于记录突发灵感,有想法时可以按住CapsLock说"重要,xx问题可以用xxxx方法解决",由于识别结果以"重要"关键词开头,这条记录会被保存到2023/06/05-重要.md

image-20230604144824341

功能:转录文件

启动服务端后,将音视频文件拖拽到客户端即可转录生成四个同名文件:

  • json文件,包含字级时间戳
  • txt文件,包含分行结果
  • merge.txt文件,包含带标点的整段结果
  • srt文件,字幕文件

如果生成的字幕有小错误,可以在分行的txt文件中修改,然后将txt文件拖拽到客户端。客户端检测到输入的是txt文件,就会查找同名的json文件,结合json文件中的字级时间戳和txt文件中的修正结果,更新srt字幕文件。

注意事项

  1. 安装FFmpeg后,录音将以mp3格式保存;未安装时,将以wav格式保存
  2. 音视频文件转录功能依赖FFmpeg,打包版本已内置FFmpeg
  3. 默认快捷键为caps lock,可在core_client.py中修改
  4. MacOS无法检测caps lock按键,可改用right shift按键

修改配置

编辑config.py,开头部分有注释指导修改服务端、客户端的:

  • 连接地址和端口,默认为127.0.0.16006
  • 键盘快捷键
  • 是否保存录音文件
  • 需要移除识别结果末尾的标点(如果想删除句尾问号,可在此处添加)

image-20240108114558762

下载模型

服务器端使用了 sherpa-onnx,加载了阿里巴巴开源的 Paraformer 模型(转换为量化的onnx格式)进行语音识别,整个模型大小约为230MB。可以下载已转换好的模型文件:

此外,还使用了阿里巴巴的标点符号模型,大小约为1GB:

由于模型文件过大,并未包含在GitHub仓库中。你可以从百度网盘或GitHub Releases页面下载已转换好的模型文件,解压后将"models"文件夹放置在软件根目录

自启动、隐藏窗口、托盘图标、Docker

Windows下隐藏黑窗口启动,参见 #49,将以下内容保存为vbs文件并运行:

CreateObject("Wscript.Shell").Run "start_server.exe",0,True
CreateObject("Wscript.Shell").Run "start_client.exe",0,True

Windows自启动:创建快捷方式并放入"shell:startup"目录即可。

带托盘图标的GUI版本,参见 H1DDENADM1N/CapsWriter-Offline

Docker版本,参见 Garonix/CapsWriter-Offline at docker-support

源码安装依赖

[新增] Linux端

# 针对core_server.py
pip install -r requirements-server.txt  -i https://mirror.sjtu.edu.cn/pypi/web/simple
# [注意]: kaldi-native-fbank==1.17(使用1.18及以上版本会报错`lib/python3.10/site-packages/_kaldi_native_fbank.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN3knf24OnlineGenericBaseFeatureINS_22WhisperFeatureComputerEE13InputFinishedEv`)

# 针对core_client.py
pip install -r requirements-client.txt  -i https://mirror.sjtu.edu.cn/pypi/web/simple
sudo apt-get install xclip   # 确保core_client.py正常运行

运行方式 core_server.py # 无需root权限运行 core_client.py # 注意:必须以root权限运行!

Windows端

pip install -r requirements-server.txt
pip install -r requirements-client.txt

某些依赖在Python 3.11中暂时无法安装,建议使用Python 3.8至Python 3.10版本。

Mac端

在搭载Arm芯片的MacOS设备(如MacBook M1)上无法通过pip安装sherpa_onnx,需要手动从源代码安装:

git clone https://github.com/k2-fsa/sherpa-onnx
cd sherpa-onnx
python3 setup.py install

在MacOS上安装funasr_onnx依赖时可能会报错,缺少protobuf compiler,可通过brew install protobuf解决。

源码运行

  1. 运行core_server.py脚本,将加载Paraformer识别模型和标点模型(会占用2GB内存,加载时间约50秒)
  2. 运行core_client.py脚本,它将打开系统默认麦克风并开始监听按键(MacOS端需要sudo权限)
  3. 按住CapsLock键开始录音,松开CapsLock键结束录音,识别结果将立即输入(录音时长短于0.3秒不计)

MacOS端注意事项:

  • MacOS上监听CapsLock键可能出错,需要将快捷键更改为其他按键,如right shift

打包方法

Windows/MacOS/Linux均使用以下命令完成打包: pyinstaller build.spec

运行方式

Linux

双击run.sh自动输入sudo密码并实现左右分屏显示

打赏

如果你愿意,可以通过打赏的方式支持我:

sponsor

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号