Releases: HaujetZhao/CapsWriter-Offline
v2.3 - 引入 Fun-ASR-Nano-GGUF 模型
新增:
- 引入 Fun-ASR-Nano-GGUF 模型,更快,支持 Vulkan GPU 加速,支持 LLM Decoder 原生注入热词
- 重构了大文件转录逻辑,采用异步流式处理
- 优化中英混排空格
- 增强了服务端对异常断连的清理逻辑
此处发布的 zip 打包,仅适用于 Windows:
- CapsWriter-Offline 包含客户端、服务端,适用于 Windows10 64位及以上
- CapsWriter-Offline-Client 仅包含客户端,适用于 Windows7 64位及以上
模型文件请到 Models 或百试网盘链接下载。
百度网盘(程序打包和模型都有):
- 链接: https://pan.baidu.com/s/1GsrHynsRg3bAvNFoj8GuJQ
- 提取码: ngjo
v2.2 - 添加小功能
新增:
- 改进热词检索:将每个热词的前两个音素作为索引进行匹配,而非只用首音素索引。
- UDP广播和控制:支持将结果 UDP 广播,也可以通过 UDP 控制客户端,便于做扩展。
- Toast窗口编辑:支持对角色输出的 Toast 窗口内容进行编辑。
- 多快捷键:支持设置多个听写键,以及鼠标快捷键,支持阻塞时单击补发,通过 pynput 实现
- 繁体转换:支持输出繁体中文,通过 zhconv 实现。
此处发布的 zip 打包,仅适用于 Windows:
- CapsWriter-Offline 包含客户端、服务端,适用于 Windows10 64位及以上
- CapsWriter-Offline-Client 仅包含客户端,适用于 Windows7 64位及以上
模型文件请到 Models 下载。
另附百度网盘(程序打包和模型都有):
- 链接: https://pan.baidu.com/s/1GsrHynsRg3bAvNFoj8GuJQ
- 提取码: ngjo
v2.1 - 如臂使指
阔别两年,CapsWriter-Offline 迎来大升级:
- 更强的模型:内置多种模型可选(FunASR-Nano,SenseVoice,Paraformer),准确率大幅提升。
- 更准的 ITN:重新编写了数字 ITN 逻辑,日期、时间、数值、分数、范围转换更智能。
- RAG 检索增强:热词识别不再死板,支持音素级的 Fuzzy 匹配,可调阈值,就算发音稍有偏差也能认出。
- LLM 角色系统:支持接入 Ollama 或在线 API,提供润色、翻译、代码助手等多种角色,能获取鼠标所选。
- 纠错检索:可记录纠错历史,辅助 LLM 润色。
- 托盘化运行:新增托盘图标,可以完全隐藏前台窗口。
- 完善的日志:全链路日志记录(logs/ 文件夹),方便排查问题。
这个项目鸽了整整两年,真不是因为我懒。在这段时间里,我一直在等一个足够惊艳的离线语音模型。Whisper 虽然名气大,但它实际的延迟和准确率始终没法让我完全满意。直到 FunASR-Nano 开源发布,实测其优异的识别表现让我特别心动,它的 LLM Decoder 能识别我讲话的意图进而调整输出,甚至通过我的语速决定在何时添加顿号,就是它了!必须快马加鞭,做出这个全新版本。
此处发布的 zip 打包,仅适用于 Windows:
- CapsWriter-Offline 包含客户端、服务端,适用于 Windows10 64位及以上
- CapsWriter-Offline-Client 仅包含客户端,适用于 Windows7 64位及以上
模型文件请到 Models 下载。
另附百度网盘(程序打包和模型都有):
- 链接: https://pan.baidu.com/s/1GsrHynsRg3bAvNFoj8GuJQ
- 提取码: ngjo
有朋友反馈,FunASR-nano 在他的电脑上识别结果较差,我暂时无力解决,只能等待模型更新,如果遇到这个问题的朋友,请在配置中把模型改为 SenseVoice 或者 Paraformer,这两个模型虽然准确率差了一些,但是速度非常快,再结合热词替换和本地 Ollama 的润色,也是能给出非常不错的输入效果的。
Models
模型文件压缩包
包含模型
- FunASR-Nano(默认推荐):目前的旗舰模型,速度较快,准确率最高,自带标点和时间戳,自带热词功能。
- SenseVoice-Small:阿里新一代大模型,速度超快,准确率稍逊,自带标点和时间戳。
- Paraformer:v1 版本的主导模型,现主要作为兼容备份,自带时间戳,不带标点。
- Punct-CT-Transformer:标点模型(Paraformer 专用)。
文件对应:
- Fun-ASR-Nano:
Fun-ASR-Nano-GGUF.zip - SenseVoice-Small:
sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.zip - Paraformer:
speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx.zip - Punct-CT-Transformer:
sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.zip
使用方法
下载后解压到项目根目录的 models/ 文件夹中对应的模型文件夹里。
模型 zip 包解压后是一个文件夹,例如:Sensevoice 解压后是一个名为 sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17 的文件夹,把这个文件夹放到 models/SenseVoice-Small 文件夹里面。
支持无限时长语音、支持文件转录字幕
功能更新:
- 通过分段识别和去重,实现了支持无限时长语音的转写
- 现在客户端可以转写音视频文件为 srt 字幕了,只需将音视频文件拖动到客户端 exe 上打开即可
Windows 端打包说明:
- 服务端载入模型所用的 onnxruntime 只能在 Windows 10 及以上版本的系统使用
- 服务端载入模型需要系统内存 4G,只能在 64 位系统上使用
- 额外打包了 32 位系统可用的客户端,在 Windows 7 及以上版本的系统可用
- 模型文件较大,单独打包,解压模型后请放入软件目录的
models文件夹中
因此:
- Win10 64 位以上系统,可以使用服务端、客户端,请下载
CapsWriter-Offline-Windows-64bit.zip和models.zip - Win7 及以上的 32 位系统,只能使用客户端,只需要下载
CapsWriter-Offline-Windows-32bit-Client.zip,可以通过连接到局域网内其它机器上正在运行的服务端使用。
新增日记功能,将每日的录音结果保存在一个 Markdown 文件中
模型下载:models-Paraformer-and-Punctuation.zip
为 Win10 64 位和 MacOS ARM 都做了打包,其中,由于系统限制,MacOS 需要 sudo 运行客户端,且默认快捷键为 right shift
新功能:
- 新增日记功能,将每日的录音结果保存在一个 Markdown 文件中
- 新增关键词日记功能,每日的以关键词开头的录音结果会保存在特别的 Markdown 文件中
- 新建录音文件夹的时候,会复制一个 Python 辅助脚本,用于清理没有被 Markdown 文件引用的附件,这样一来,通过编辑 Markdown 日记就可以清理不需要保存的录音
- 新增定义录音文件保存目录
- 默认保存48000采样率高品质录音录音,如果用户安装了 FFmpeg 则保存为 mp3 格式,否则保存为 wav 格式
- 输入方式改为模拟 Ctrl + V 粘贴,粘贴完后恢复剪贴板内容
- 使用 rich 库输出彩色文字,尽量在各种终端达到一致的显示效果
- 优化打包体积
- 适配 MacOS
新增功能:动态更新热词
修改热词文件后,不用重启客户端,就可以动态更新热词了。
新增功能:自定义热词
为客户端加入了三种热词功能:中文、英文、自定义
改进了对中文数字的搜索,当数字的左侧或者右侧有英文时,就一定会被选中。
改进了中英空格排版,能够正常输出 iPhone 4s 这样的词语。
提升中英混输的排版,增加可方便修改的配置项
已打包 Win10 64 位版,为了便于打包和上传,模型和打包软件是分开的,请分别下载上,把模型解压后放入软件的 models 文件夹中,方可使用。
以后的 release 就只更软件包,不更新模型了,模型来这里个 release 下载就可以了。
更新内容:
- 客户端当音频设备名不可 utf-8 解码时,不再闪退
- 客户端添加配置可以编辑修改,要消除识别结果末尾哪些标点
- 客户端添加配置可以修改快捷键
- 客户端添加配置可以修改快捷键触发的时间阈值
- 客户端连接中断会自动进行重试
- 客户端提示当前所用的快捷键
- 服务端对识别结果,中英文混排进行空格校正
- 当地址无法被绑定时提示问题,而不是直接闪退
