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,我们下期视频再见!