别再 program 为听写软件付费了!这款 App 更好用, 而且免费。(handy)

BBetter Stack
컴퓨터/소프트웨어AI/미래기술

Transcript

00:00:00这是 Handy。它款开源的语音识别与听写应用,运行
00:00:06完全离线,无需云端、订阅或账号,还允许你选择自己
00:00:12最喜欢的听写模型。老实说,我觉得它现在已经成为我最喜欢的语音转文字
00:00:18听写工具了。所以在本视频中,我们将了解 Handy,看看它是如何工作的,并进行
00:00:24一些测试,看看它的表现如何,以及它与商业重量级产品(如
00:00:29Whisper Flow)相比如何。这会非常有趣,让我们开始吧。在这之前,我一直对
00:00:39语音听写应用持怀疑态度,一直找不到心仪的应用。我不想使用任何
00:00:45商业产品并为听写付费,我也担心使用带有本地听写模型的
00:00:51开源工具会占用大量的 CPU。但 Handy 实际上在这两个问题上改变了我的看法。
00:00:58首先,让我们聊聊 Handy 是如何构建的以及它是如何工作的。Handy 是由
00:01:04开发者 CJ Pace 使用 Tauri 构建的,所以它后端使用了 Rust,前端则使用 React 和 TypeScript 来处理
00:01:12设置界面。Transcribe CPP 负责运行 GGM 和 GGUF 格式的 Whisper 系列模型。Transcribe RS
00:01:20负责运行 Parakeet。CPAL 库用于处理跨平台音频输入。RDEV 掌控全局键盘
00:01:28快捷键,此外它还使用了一个名为 Rubato 的库,提供实时音频流并负责
00:01:33重采样。这种组合使得它即使在我的 Macbook 上使用也超级简单、超级轻量。
00:01:40对于用户来说,整个流程极其简单。你只需设置一个自定义键盘快捷键,然后
00:01:46切换开关,或者按住它进行按住说话。当你按住时,有一个
00:01:52名为 Silero VAD 的实用程序会在后台静默过滤静音,因此你不会因为
00:01:58转录完全静音的内容而浪费计算资源。当你松开时,Handy 会将音频发送给你选择的
00:02:04任何模型,然后直接将转录的文本粘贴到当时处于焦点状态的输入框中。公平地说,
00:02:11Handy 在这方面并不是唯一的。市面上许多其他听写应用也以类似的方式工作。
00:02:17但我最喜欢的一点是,你可以选择自己偏好的模型,并且模型列表中
00:02:22列出的每个模型都有速度和准确度仪表盘。所以这有点像在《马力欧赛车》中选择你最喜欢的
00:02:28角色。你可以决定哪个指标是你的首选。在我看来,我发现
00:02:34使用拥有 6 亿参数的 Parakeet Unified 模型非常适合我,因为 Parakeet 是一个纯 CPU
00:02:42模型。根据他们自己的数据,在中端 i5 芯片上,它的运行速度大约是实时速度的
00:02:485 倍。而我的 M2 Max 远超这个配置。所以当我在后台运行它时,
00:02:54我甚至感觉不到它的存在。此外还有很多其他选项可供选择。他们甚至有专门针对
00:02:59单一语言的模型。例如,我们有一些俄语模型、一些乌克兰语模型。我很喜欢来自
00:03:05Handy 使命宣言的那份坦诚。Handy 并不试图成为最好的语音转文字应用。
00:03:11它试图成为最容易被 Fork(二次开发)的应用。你甚至可以把你微调过的 Whisper
00:03:17GGML 模型放入应用的 models 文件夹中,重启之后,它就会作为一个自定义选项显示出来。
00:03:23我认为无论什么时候我都宁愿选择 Handy 而不是 Whisperflow 这类工具的最大原因,
00:03:28就是因为 Handy 完全可以离线工作,我不需要注册账号,也没有订阅费。
00:03:34我很确定我所有的听写音频样本都保留在我的机器上,不会被
00:03:40秘密地用来训练其他语音模型。所以我超级高兴我们现在拥有了一个像这样基于 MIT
00:03:46协议许可的听写工具。听起来都很棒,但让我们实际测试一下 Handy,
00:03:52看看它的性能如何。我将把 Handy 的表现与 Whisperflow 以及
00:03:58Google 自己的转录服务进行对比,后者可在 Google 文档中使用。在 Google 文档页面上,
00:04:05我要开启 Google 自带的语音听写模式。同时,我会按住
00:04:11Handy 的转录快捷键。然后我会随便说一段话。到最后,
00:04:18我们将看看每种服务给出的结果,并进行对比。
00:04:26昨天我去买了一些杂货,在回家的路上,我突然想起我得
00:04:34回去把我的 SQLite 数据库连接到运行在自定义 GPU 集群上的 COBOL 服务上。
00:04:43我其实不知道怎么做。所以我不得不寻求帮助。我能想到的唯一能帮到我的工具
00:04:55是一个叫做 Grok 的大语言模型。然后我也从 ChatGPT 那里获得了一点帮助。最后,
00:05:04我们让应用成功运行起来了,但这真的很麻烦。我们把这两者分开看看。
00:05:12正如你在这里看到的,Google 的语音听写服务要差得多。它不添加任何标点符号。
00:05:20它不知道如何断句。它没能正确识别 COBOL。它也没能正确识别 SQLite
00:05:27数据库。它甚至连 LLM 这个词都没识别对。它把 Grok 认成了 rock。而这个
00:05:35是我最喜欢的。它把 ChatGPT 认成了 Chad GPT。Chad GPT,真行。所以是的。你可以很明显地
00:05:45看出 Handy 要好得多,因为它的确给出了标点。它的确识别出了某些术语,
00:05:52并且正确识别了大部分技术术语。现在让我们也把这个结果与
00:05:58Whisperflow 进行对比。所以我将尽量重复相同的文本,以保证测试的公平性。
00:06:08昨天我去买了一些杂货,在回家的路上,我突然想起我得
00:06:16回家把我的 SQLite 数据库连接到运行在自定义 GPU 集群上的 COBOL 服务上。
00:06:26其实我不知道怎么做。所以我不得不寻求帮助。我能想到的唯一
00:06:33能帮到我的工具是一个叫做 Grok 的大语言模型。然后我也从 Chad GPT 那里获得了一点帮助。
00:06:41最后,我们让应用成功运行起来了,但这真的很麻烦。
00:06:48好的。你可以清楚地看到 Whisperflow 做得最好。它正确地划分了句子,
00:06:55并且正确识别了所有术语。因为这是一个商业应用,你自然会期望
00:07:03它比开源工具更好。但老实说,这个结果与 Whisperflow 之间
00:07:09并没有那么大的差距。所以我还是更喜欢使用 Handy,就因为它免费、
00:07:17私密且开源。不过 Whisperflow 在这里的表现确实很好。尽管如此,它依然是一项出色的服务。
00:07:25大家,这就是 Handy 的概况。当我说它
00:07:30真的已经成为我最喜欢的听写工具时,我可没开玩笑。我甚至真的有点担心,如果我过度使用它,
00:07:36会不会忘记怎么在键盘上打字。不过这些只是我的想法和观察。
00:07:42你觉得 Handy 怎么样呢?你试过了吗?你会使用它吗?欢迎在下方评论区
00:07:47留言交流。大家,如果你喜欢这类技术解析,请点击视频下方的
00:07:52赞按钮告诉我。另外也别忘了订阅我们的频道。
00:07:57我是来自 BetterStack 的 Andres,我们下期视频再见!

Key Takeaway

开源离线听写应用 Handy 凭借 Rust/Tauri 架构与 Parakeet 等本地模型,在零订阅费且完全保护数据隐私的前提下,提供了接近商业软件 Whisperflow 的高准确度语音转文字体验。

Highlights

  • Handy 是一款基于 MIT 协议开源的本地离线语音识别与听写应用,无需账号、订阅及云端服务。

  • Handy 采用 Tauri 框架构建,后端使用 Rust,前端基于 React 和 TypeScript,底层由 Transcribe CPP 和 Transcribe RS 提供模型支持。

  • 应用集成 Silero VAD 静音过滤功能,仅在检测到有效语音时才消耗算力传输音频并输出至当前光标位置。

  • 6 亿参数的 Parakeet Unified 纯 CPU 模型在中端 i5 芯片上的运行速度可达实时语音的 5 倍。

  • Handy 支持加载自定义 GGML 模型,只需将模型放入 models 文件夹并重启应用即可使用。

  • 在技术术语识别测试中,Handy 能识别 SQLite、COBOL 和 Grok 等专有名词,整体效果接近商业软件 Whisperflow 并显著优于 Google 文档听写。

Timeline

Handy 的核心特点与离线定位

  • Handy 是一款开源且无需连接云端的本地语音识别工具。
  • 软件运行完全脱离账号与订阅体制,不消耗额外的云端计算资源。
  • 本地轻量化运行解决了开源工具占用过度 CPU 资源的问题。

Handy 提供全离线的语音转文字功能,用户无需注册账号或支付月费。传统开源听写工具普遍存在系统资源占用过高的问题,而 Handy 通过轻量化架构设计解决了这一瓶颈。

技术架构与工作流程

  • Handy 采用 Tauri 框架,融合 Rust 后端与 React/TypeScript 前端界面。
  • 底层集成 Transcribe CPP、Transcribe RS、CPAL、RDEV 及 Rubato 库。
  • Silero VAD 模块在后台静音过滤空白音频以节省计算资源。

开发者 CJ Pace 使用 Tauri 搭建了这款软件。Transcribe CPP 用于运行 GGM 和 GGUF 格式的 Whisper 模型,Transcribe RS 则负责 Parakeet 模型。音频流处理由 CPAL 和 Rubato 提供 support,RDEV 用于全局快捷键捕捉。用户触发快捷键讲话时,Silero VAD 会自动过滤无声片段,松开按键后转录文本会自动粘贴至当前输入框。

模型选择与自定义扩展性

  • 模型选择界面提供针对速度与准确度的指标仪表盘。
  • Parakeet Unified 模型在中端 i5 处理器上可达到 5 倍实时的运行速度。
  • 应用支持放入自定义微调 GGML 模型进行二次开发。

用户可以根据硬件配置在内置模型库中挑选模型,例如 6 亿参数的 Parakeet Unified 纯 CPU 模型在中端 i5 芯片上能以 5 倍实时的速度运行。Handy 的设计初衷是易于被 Fork 和扩展,用户只需将自行微调的 Whisper GGML 模型放入 models 文件夹,重启应用后即可直接加载调用。

跨服务识别准确度实测对比

  • Google 文档内置听写无法自动断句且无法正确识别 SQLite、COBOL、Grok 等技术词汇。
  • Handy 能准确识别大多数技术专有名词并生成正确标点。
  • 商业软件 Whisperflow 的分句和识别最精准,但 Handy 在免费和离线隐私前提下提供了相近的表现。

在包含 SQLite、COBOL、Grok 和 ChatGPT 等复杂技术术语的转录测试中,Google 文档听写出现了大量识别错误且缺乏标点。Handy 成功识别了大部分专业词汇并自动加入了标点符号。虽然付费商业软件 Whisperflow 的断句和准确率表现最佳,但 Handy 作为基于 MIT 协议的开源免费应用,在隐私保护和综合表现上形成了强大的替代方案。

Community Posts

View all posts