CapsWriter-Offline

CapsWriter-Offline

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

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

CapsWriter-Offline语音输入字幕转录离线识别热词功能Github开源项目

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

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多