實際影片長度:8:14.120。原文、繁中、雙語可點擊句子跳轉影片。
0:00.000–0:01.656
ja这是Handy,
0:01.656–0:05.589
ja它是一款开源的语音识别和语音听写应用。
0:05.589–0:07.038
ja完全离线运行,
0:07.038–0:08.073
ja没有云端,
0:08.073–0:09.108
ja没有订阅,
0:09.108–0:10.350
ja也不用账号。
0:10.350–0:13.662
ja你还可以自己选择喜欢的听写模型。
0:13.662–0:14.491
ja老师说,
0:14.491–0:19.252
ja我觉得它现在已经成了我最喜欢的语音转文字工具。
0:19.252–0:20.908
ja所以这七视频里,
0:20.908–0:23.185
ja我们会看看Handy。
0:23.185–0:25.255
ja了解它是怎么工作的,
0:25.255–0:26.704
ja再做几项测试,
0:26.704–0:28.360
ja看看它表现如何。
0:28.360–0:34.915
ja以及和商业版Whisper Flow这类重量级产品比起来怎么样。
0:34.915–0:36.184
ja会很有意思,
0:36.184–0:37.664
ja那我们开始吧。
0:37.664–0:38.933
ja到目前为止,
0:38.933–0:42.104
ja我一直对语音听写应用有点怀疑,
0:42.104–0:45.487
ja而且一直找不到一款我真心想用的。
0:45.487–0:49.505
ja我不想用任何商业产品来付费做语音转写。
0:49.505–0:50.985
ja而且我也担心,
0:50.985–0:56.060
ja用一个本地语音转写模型的开源工具会把CPU占满。
0:56.060–1:00.360
ja不过,Handy其实把这两个顾虑都打消了。
1:00.360–1:03.842
ja先说说Handy到底是怎么构建的,
1:03.842–1:05.480
ja又是怎么工作的。
1:06.440–1:10.315
jaHandy由开发者CJ Pace和Terry一起开发。
1:10.315–1:11.805
ja后端用的是Rust。
1:11.805–1:15.680
ja上层的设置界面则用React和TypeScript。
1:15.680–1:25.400
enTranscribe CPP负负责运行Whisper系列模型。格式是GGM和GGY。Transcribe RS运行的是ParaKit。
1:26.100–1:31.620
jaCPAL负责跨平台音频输入。RDV负责全局键盘快捷键。
1:32.500–1:38.000
ja它还用到一个叫Roboto的Core。提供实时音频流和重采样。
1:38.000–1:40.808
ja这个组合让它用起来特别简单,
1:40.808–1:42.011
ja也特别清亮。
1:42.011–1:45.420
ja连在我的MacBook上都很轻松。
1:47.100–1:49.580
ja从用户角度看,整个流程也很简单。
1:50.340–1:53.460
ja你先设一个自定义快捷键,然后可以切缓开关。
1:54.340–1:56.360
ja或者长按来实现Push to Talk。
1:57.360–2:00.320
ja按住的时候,Colero VAD会在后台悄悄过滤掉静音。
2:00.320–2:03.720
ja这样就不会白白消耗算力去转写整段空白。
2:04.560–2:08.160
ja松开后,Handy会把音频发给你选定的模型。
2:09.200–2:13.640
ja再把转写结果直接粘贴到当时当前聚焦的输入框里。
2:14.660–2:16.460
jaHandy并不是这方面独有的。
2:17.400–2:21.460
ja市面上还有不少语音转写应用也差不多是这种工作方式。
2:22.160–2:25.680
ja不过我最喜欢的是你可以自己选喜欢的模型。
2:26.340–2:29.900
ja模型列表里的每个模型都有速度和准确率的指标。
2:30.320–2:33.440
ja这有点像在Mario Kart里选自己最喜欢的角色。
2:34.160–2:36.440
ja你可以决定哪项指标对你来说最重要。
2:36.940–2:42.180
ja对我来说,我发现用ParaKit Unify 0,6BP模型就很好用。
2:42.840–2:46.980
ja因为ParaKit是一个CPU1模型,而且按他们自己的数据。
2:47.700–2:50.640
ja它在终端爱武芯片上的运行速度大约是5倍10时。
2:51.200–2:53.300
ja我的MR Max远远超过这个Page。
2:53.960–2:56.820
ja所以我把它放在后台跑的时候甚至都感觉不到。
2:57.620–2:59.580
ja而且可选项真的很多。
2:59.580–3:02.920
ja它们甚至还有专门针对某一种的模型。
3:03.880–3:07.200
ja比如我们有一些俄语版本,还有一些乌克兰语版本。
3:08.000–3:10.240
ja我很喜欢嗨这句使命宣言里的坦诚。
3:11.020–3:13.440
jaHandy不是想成为最好的语音转文字应用,
3:14.120–3:16.280
ja而是想成为最容易二次开发的那个。
3:17.060–3:20.063
ja而且你甚至可以把自己微调过的Whisper G
3:20.063–3:23.340
jaGmail模型放进App的Models文件夹里。
3:23.340–3:28.200
ja重启之后,它就会直接作为一个自定义选项出现。
3:29.180–3:34.340
ja我觉得,如果任何时候要我在Handy和Whisper Flow之间选,
3:35.360–3:39.200
ja我会选Handy,最大的原因就是它可以离线运行。
3:40.160–3:42.980
ja你不需要注册账号,也没有订阅费。
3:42.980–3:48.540
ja而且我很确定,所有我的语音输入音频样本都会留在我的机器上,
3:49.200–3:51.220
ja不会被偷偷拿去训练别的语音模型。
3:51.680–3:52.900
ja所以我真的很高兴。
3:53.640–3:56.460
ja现在有了这样一个MIT许可的语音输入工具。
3:57.180–3:58.440
ja听起来都很棒,不过,
3:59.240–4:02.740
ja我们就来实际测试一下Pandy,看看它表现如何。
4:03.620–4:08.860
ja我会把Handy的表现和Whisper Flow以及Google自家的转写服务做个对比。
4:12.980–4:20.940
ja后者也可以在Google Docs里用。
4:26.120–4:30.120
ja哦,昨天我去买了点菜,回家路上突然想起来。
4:35.120–4:42.060
ja我得回头把我的SQLite数据库接到一个运行在我自定义GPU集群上的Cobot服务上。
4:42.980–4:56.640
ja我能想到的一个办法是用一个叫Grog的LLM。
4:58.540–5:01.220
ja另外还从CheckGPT得到了一些帮助。
5:01.860–5:08.060
ja最后,我们做出了一个能运行的应用,但过程真的很折腾。
5:08.060–5:12.140
ja我们把这两部分分开来说。
5:12.820–5:18.640
ja你看,这里的Google语音输入服务要差很多,它不会加标点。
5:20.320–5:24.280
ja也不知道怎么分句,它把Cobot识别错了。
5:25.660–5:27.780
jaSQLite数据库也识别错了。
5:27.780–5:31.440
ja甚至连LLM这个词都没认出来。
5:32.080–5:33.440
ja它以为Grog是Rock。
5:35.200–5:39.120
ja这个我最喜欢,它还把ChatGPT认成了ChatGPT。
5:40.800–5:41.940
enChatGPT不错。
5:42.660–5:45.700
ja嗯,所以你能明显看出来Handy好多了。
5:45.700–5:50.140
ja因为它有标点,还能识别一些特定术语。
5:51.660–5:54.300
ja而且大多数技术术语都认对了。
5:55.440–5:58.640
ja现在我们也来把这个结果和Whisper Flow比一下。
6:02.380–6:06.200
ja我要尽量把同样的文本重复的尽可能接近。
6:06.200–6:09.980
ja公平地测试一下。
6:11.080–6:13.140
ja嗯,昨天我去买了些杂货。
6:13.840–6:14.760
ja回来的路上。
6:16.180–6:18.240
ja我突然想起我得回家。
6:19.580–6:25.520
ja把我的SQLite数据库接到一个运行在我自定义GPU集群上的Cobot服务上。
6:30.380–6:33.820
ja我其实不知道该怎么做,所以只好找人帮忙。
6:33.820–6:37.100
ja我能想到的唯一能帮上忙的工具。
6:37.780–6:39.440
ja是一个叫Grook的LLM。
6:40.340–6:43.620
ja后来,我也从ChatGPT那里得到了一点帮助。
6:44.660–6:48.620
ja最后,我们是把应用跑起来了,但过程真的很折腾。
6:49.660–6:53.420
ja好吧,你可以清楚地看到Whisper Flow做得最好。
6:54.420–6:58.120
ja它把句子分得很准确,而且所有术语都没出错。
6:59.180–7:03.420
ja毕竟这是商业产品,你会以为它会比开源工具更好。
7:03.820–7:09.400
ja但说实话,这个结果和Whisper Flow之间并没有那么大差别。
7:10.340–7:14.520
ja所以,我还是更喜欢用Handy,因为它免费、私密。
7:15.480–7:16.440
ja而且是开源的。
7:16.440–7:19.940
ja不过,Whisper Flow在这里确实做得很不错。
7:20.980–7:24.320
ja所以总的来说,它还是一个很靠谱的服务。
7:25.460–7:27.500
ja好了,各位,概括来说就是这样。
7:27.960–7:29.240
ja这个功能确实很实用。
7:29.940–7:31.240
ja我刚才真不是开玩笑。
7:32.020–7:34.680
ja说它已经成了我最喜欢的语音听写工具。
7:34.680–7:37.840
ja我甚至有点担心,要是我用得太频繁。
7:38.600–7:40.960
ja自己可能都会忘了怎么用键盘打字。
7:41.700–7:43.720
ja不过,这只是我的个人看法和观察。
7:44.500–7:45.900
ja那你觉得Handy怎么样?
7:46.460–7:47.300
ja你是过了吗?
7:47.800–7:48.500
ja你会用吗?
7:49.360–7:51.200
ja欢迎在下方评论区告诉我们。
7:51.760–7:54.880
ja各位,如果你喜欢这类技术解析,
7:55.200–7:57.200
ja也请在视频下方点个赞。
7:57.200–8:00.940
ja让我知道,别忘了订阅我们的频道。
8:01.820–8:03.460
en我是BetterStack的Andreas,
8:03.780–8:05.020
ja我们下期视频再见。
8:06.120–8:06.560
ja音乐
0:00.000–0:01.656
这是Handy,
0:01.656–0:05.589
它是一款开源的语音识别和语音听写应用。
0:05.589–0:07.038
完全离线运行,
0:07.038–0:08.073
没有云端,
0:08.073–0:09.108
没有订阅,
0:09.108–0:10.350
也不用账号。
0:10.350–0:13.662
你还可以自己选择喜欢的听写模型。
0:13.662–0:14.491
老师说,
0:14.491–0:19.252
我觉得它现在已经成了我最喜欢的语音转文字工具。
0:19.252–0:20.908
所以这七视频里,
0:20.908–0:23.185
我们会看看Handy。
0:23.185–0:25.255
了解它是怎么工作的,
0:25.255–0:26.704
再做几项测试,
0:26.704–0:28.360
看看它表现如何。
0:28.360–0:34.915
以及和商业版Whisper Flow这类重量级产品比起来怎么样。
0:34.915–0:36.184
会很有意思,
0:36.184–0:37.664
那我们开始吧。
0:37.664–0:38.933
到目前为止,
0:38.933–0:42.104
我一直对语音听写应用有点怀疑,
0:42.104–0:45.487
而且一直找不到一款我真心想用的。
0:45.487–0:49.505
我不想用任何商业产品来付费做语音转写。
0:49.505–0:50.985
而且我也担心,
0:50.985–0:56.060
用一个本地语音转写模型的开源工具会把CPU占满。
0:56.060–1:00.360
不过,Handy其实把这两个顾虑都打消了。
1:00.360–1:03.842
先说说Handy到底是怎么构建的,
1:03.842–1:05.480
又是怎么工作的。
1:06.440–1:10.315
Handy由开发者CJ Pace和Terry一起开发。
1:10.315–1:11.805
后端用的是Rust。
1:11.805–1:15.680
上层的设置界面则用React和TypeScript。
1:15.680–1:25.400
Transcribe CPP负负责运行Whisper系列模型。格式是GGM和GGY。Transcribe RS运行的是ParaKit。
1:26.100–1:31.620
CPAL负责跨平台音频输入。RDV负责全局键盘快捷键。
1:32.500–1:38.000
它还用到一个叫Roboto的Core。提供实时音频流和重采样。
1:38.000–1:40.808
这个组合让它用起来特别简单,
1:40.808–1:42.011
也特别清亮。
1:42.011–1:45.420
连在我的MacBook上都很轻松。
1:47.100–1:49.580
从用户角度看,整个流程也很简单。
1:50.340–1:53.460
你先设一个自定义快捷键,然后可以切缓开关。
1:54.340–1:56.360
或者长按来实现Push to Talk。
1:57.360–2:00.320
按住的时候,Colero VAD会在后台悄悄过滤掉静音。
2:00.320–2:03.720
这样就不会白白消耗算力去转写整段空白。
2:04.560–2:08.160
松开后,Handy会把音频发给你选定的模型。
2:09.200–2:13.640
再把转写结果直接粘贴到当时当前聚焦的输入框里。
2:14.660–2:16.460
Handy并不是这方面独有的。
2:17.400–2:21.460
市面上还有不少语音转写应用也差不多是这种工作方式。
2:22.160–2:25.680
不过我最喜欢的是你可以自己选喜欢的模型。
2:26.340–2:29.900
模型列表里的每个模型都有速度和准确率的指标。
2:30.320–2:33.440
这有点像在Mario Kart里选自己最喜欢的角色。
2:34.160–2:36.440
你可以决定哪项指标对你来说最重要。
2:36.940–2:42.180
对我来说,我发现用ParaKit Unify 0,6BP模型就很好用。
2:42.840–2:46.980
因为ParaKit是一个CPU1模型,而且按他们自己的数据。
2:47.700–2:50.640
它在终端爱武芯片上的运行速度大约是5倍10时。
2:51.200–2:53.300
我的MR Max远远超过这个Page。
2:53.960–2:56.820
所以我把它放在后台跑的时候甚至都感觉不到。
2:57.620–2:59.580
而且可选项真的很多。
2:59.580–3:02.920
它们甚至还有专门针对某一种的模型。
3:03.880–3:07.200
比如我们有一些俄语版本,还有一些乌克兰语版本。
3:08.000–3:10.240
我很喜欢嗨这句使命宣言里的坦诚。
3:11.020–3:13.440
Handy不是想成为最好的语音转文字应用,
3:14.120–3:16.280
而是想成为最容易二次开发的那个。
3:17.060–3:20.063
而且你甚至可以把自己微调过的Whisper G
3:20.063–3:23.340
Gmail模型放进App的Models文件夹里。
3:23.340–3:28.200
重启之后,它就会直接作为一个自定义选项出现。
3:29.180–3:34.340
我觉得,如果任何时候要我在Handy和Whisper Flow之间选,
3:35.360–3:39.200
我会选Handy,最大的原因就是它可以离线运行。
3:40.160–3:42.980
你不需要注册账号,也没有订阅费。
3:42.980–3:48.540
而且我很确定,所有我的语音输入音频样本都会留在我的机器上,
3:49.200–3:51.220
不会被偷偷拿去训练别的语音模型。
3:51.680–3:52.900
所以我真的很高兴。
3:53.640–3:56.460
现在有了这样一个MIT许可的语音输入工具。
3:57.180–3:58.440
听起来都很棒,不过,
3:59.240–4:02.740
我们就来实际测试一下Pandy,看看它表现如何。
4:03.620–4:08.860
我会把Handy的表现和Whisper Flow以及Google自家的转写服务做个对比。
4:12.980–4:20.940
后者也可以在Google Docs里用。
4:26.120–4:30.120
哦,昨天我去买了点菜,回家路上突然想起来。
4:35.120–4:42.060
我得回头把我的SQLite数据库接到一个运行在我自定义GPU集群上的Cobot服务上。
4:42.980–4:56.640
我能想到的一个办法是用一个叫Grog的LLM。
4:58.540–5:01.220
另外还从CheckGPT得到了一些帮助。
5:01.860–5:08.060
最后,我们做出了一个能运行的应用,但过程真的很折腾。
5:08.060–5:12.140
我们把这两部分分开来说。
5:12.820–5:18.640
你看,这里的Google语音输入服务要差很多,它不会加标点。
5:20.320–5:24.280
也不知道怎么分句,它把Cobot识别错了。
5:25.660–5:27.780
SQLite数据库也识别错了。
5:27.780–5:31.440
甚至连LLM这个词都没认出来。
5:32.080–5:33.440
它以为Grog是Rock。
5:35.200–5:39.120
这个我最喜欢,它还把ChatGPT认成了ChatGPT。
5:40.800–5:41.940
ChatGPT不错。
5:42.660–5:45.700
嗯,所以你能明显看出来Handy好多了。
5:45.700–5:50.140
因为它有标点,还能识别一些特定术语。
5:51.660–5:54.300
而且大多数技术术语都认对了。
5:55.440–5:58.640
现在我们也来把这个结果和Whisper Flow比一下。
6:02.380–6:06.200
我要尽量把同样的文本重复的尽可能接近。
6:06.200–6:09.980
公平地测试一下。
6:11.080–6:13.140
嗯,昨天我去买了些杂货。
6:13.840–6:14.760
回来的路上。
6:16.180–6:18.240
我突然想起我得回家。
6:19.580–6:25.520
把我的SQLite数据库接到一个运行在我自定义GPU集群上的Cobot服务上。
6:30.380–6:33.820
我其实不知道该怎么做,所以只好找人帮忙。
6:33.820–6:37.100
我能想到的唯一能帮上忙的工具。
6:37.780–6:39.440
是一个叫Grook的LLM。
6:40.340–6:43.620
后来,我也从ChatGPT那里得到了一点帮助。
6:44.660–6:48.620
最后,我们是把应用跑起来了,但过程真的很折腾。
6:49.660–6:53.420
好吧,你可以清楚地看到Whisper Flow做得最好。
6:54.420–6:58.120
它把句子分得很准确,而且所有术语都没出错。
6:59.180–7:03.420
毕竟这是商业产品,你会以为它会比开源工具更好。
7:03.820–7:09.400
但说实话,这个结果和Whisper Flow之间并没有那么大差别。
7:10.340–7:14.520
所以,我还是更喜欢用Handy,因为它免费、私密。
7:15.480–7:16.440
而且是开源的。
7:16.440–7:19.940
不过,Whisper Flow在这里确实做得很不错。
7:20.980–7:24.320
所以总的来说,它还是一个很靠谱的服务。
7:25.460–7:27.500
好了,各位,概括来说就是这样。
7:27.960–7:29.240
这个功能确实很实用。
7:29.940–7:31.240
我刚才真不是开玩笑。
7:32.020–7:34.680
说它已经成了我最喜欢的语音听写工具。
7:34.680–7:37.840
我甚至有点担心,要是我用得太频繁。
7:38.600–7:40.960
自己可能都会忘了怎么用键盘打字。
7:41.700–7:43.720
不过,这只是我的个人看法和观察。
7:44.500–7:45.900
那你觉得Handy怎么样?
7:46.460–7:47.300
你是过了吗?
7:47.800–7:48.500
你会用吗?
7:49.360–7:51.200
欢迎在下方评论区告诉我们。
7:51.760–7:54.880
各位,如果你喜欢这类技术解析,
7:55.200–7:57.200
也请在视频下方点个赞。
7:57.200–8:00.940
让我知道,别忘了订阅我们的频道。
8:01.820–8:03.460
我是BetterStack的Andreas,
8:03.780–8:05.020
我们下期视频再见。
8:06.120–8:06.560
音乐
0:00.000–0:01.656
ja这是Handy,
这是Handy,
0:01.656–0:05.589
ja它是一款开源的语音识别和语音听写应用。
它是一款开源的语音识别和语音听写应用。
0:05.589–0:07.038
ja完全离线运行,
完全离线运行,
0:07.038–0:08.073
ja没有云端,
没有云端,
0:08.073–0:09.108
ja没有订阅,
没有订阅,
0:09.108–0:10.350
ja也不用账号。
也不用账号。
0:10.350–0:13.662
ja你还可以自己选择喜欢的听写模型。
你还可以自己选择喜欢的听写模型。
0:13.662–0:14.491
ja老师说,
老师说,
0:14.491–0:19.252
ja我觉得它现在已经成了我最喜欢的语音转文字工具。
我觉得它现在已经成了我最喜欢的语音转文字工具。
0:19.252–0:20.908
ja所以这七视频里,
所以这七视频里,
0:20.908–0:23.185
ja我们会看看Handy。
我们会看看Handy。
0:23.185–0:25.255
ja了解它是怎么工作的,
了解它是怎么工作的,
0:25.255–0:26.704
ja再做几项测试,
再做几项测试,
0:26.704–0:28.360
ja看看它表现如何。
看看它表现如何。
0:28.360–0:34.915
ja以及和商业版Whisper Flow这类重量级产品比起来怎么样。
以及和商业版Whisper Flow这类重量级产品比起来怎么样。
0:34.915–0:36.184
ja会很有意思,
会很有意思,
0:36.184–0:37.664
ja那我们开始吧。
那我们开始吧。
0:37.664–0:38.933
ja到目前为止,
到目前为止,
0:38.933–0:42.104
ja我一直对语音听写应用有点怀疑,
我一直对语音听写应用有点怀疑,
0:42.104–0:45.487
ja而且一直找不到一款我真心想用的。
而且一直找不到一款我真心想用的。
0:45.487–0:49.505
ja我不想用任何商业产品来付费做语音转写。
我不想用任何商业产品来付费做语音转写。
0:49.505–0:50.985
ja而且我也担心,
而且我也担心,
0:50.985–0:56.060
ja用一个本地语音转写模型的开源工具会把CPU占满。
用一个本地语音转写模型的开源工具会把CPU占满。
0:56.060–1:00.360
ja不过,Handy其实把这两个顾虑都打消了。
不过,Handy其实把这两个顾虑都打消了。
1:00.360–1:03.842
ja先说说Handy到底是怎么构建的,
先说说Handy到底是怎么构建的,
1:03.842–1:05.480
ja又是怎么工作的。
又是怎么工作的。
1:06.440–1:10.315
jaHandy由开发者CJ Pace和Terry一起开发。
Handy由开发者CJ Pace和Terry一起开发。
1:10.315–1:11.805
ja后端用的是Rust。
后端用的是Rust。
1:11.805–1:15.680
ja上层的设置界面则用React和TypeScript。
上层的设置界面则用React和TypeScript。
1:15.680–1:25.400
enTranscribe CPP负负责运行Whisper系列模型。格式是GGM和GGY。Transcribe RS运行的是ParaKit。
Transcribe CPP负负责运行Whisper系列模型。格式是GGM和GGY。Transcribe RS运行的是ParaKit。
1:26.100–1:31.620
jaCPAL负责跨平台音频输入。RDV负责全局键盘快捷键。
CPAL负责跨平台音频输入。RDV负责全局键盘快捷键。
1:32.500–1:38.000
ja它还用到一个叫Roboto的Core。提供实时音频流和重采样。
它还用到一个叫Roboto的Core。提供实时音频流和重采样。
1:38.000–1:40.808
ja这个组合让它用起来特别简单,
这个组合让它用起来特别简单,
1:40.808–1:42.011
ja也特别清亮。
也特别清亮。
1:42.011–1:45.420
ja连在我的MacBook上都很轻松。
连在我的MacBook上都很轻松。
1:47.100–1:49.580
ja从用户角度看,整个流程也很简单。
从用户角度看,整个流程也很简单。
1:50.340–1:53.460
ja你先设一个自定义快捷键,然后可以切缓开关。
你先设一个自定义快捷键,然后可以切缓开关。
1:54.340–1:56.360
ja或者长按来实现Push to Talk。
或者长按来实现Push to Talk。
1:57.360–2:00.320
ja按住的时候,Colero VAD会在后台悄悄过滤掉静音。
按住的时候,Colero VAD会在后台悄悄过滤掉静音。
2:00.320–2:03.720
ja这样就不会白白消耗算力去转写整段空白。
这样就不会白白消耗算力去转写整段空白。
2:04.560–2:08.160
ja松开后,Handy会把音频发给你选定的模型。
松开后,Handy会把音频发给你选定的模型。
2:09.200–2:13.640
ja再把转写结果直接粘贴到当时当前聚焦的输入框里。
再把转写结果直接粘贴到当时当前聚焦的输入框里。
2:14.660–2:16.460
jaHandy并不是这方面独有的。
Handy并不是这方面独有的。
2:17.400–2:21.460
ja市面上还有不少语音转写应用也差不多是这种工作方式。
市面上还有不少语音转写应用也差不多是这种工作方式。
2:22.160–2:25.680
ja不过我最喜欢的是你可以自己选喜欢的模型。
不过我最喜欢的是你可以自己选喜欢的模型。
2:26.340–2:29.900
ja模型列表里的每个模型都有速度和准确率的指标。
模型列表里的每个模型都有速度和准确率的指标。
2:30.320–2:33.440
ja这有点像在Mario Kart里选自己最喜欢的角色。
这有点像在Mario Kart里选自己最喜欢的角色。
2:34.160–2:36.440
ja你可以决定哪项指标对你来说最重要。
你可以决定哪项指标对你来说最重要。
2:36.940–2:42.180
ja对我来说,我发现用ParaKit Unify 0,6BP模型就很好用。
对我来说,我发现用ParaKit Unify 0,6BP模型就很好用。
2:42.840–2:46.980
ja因为ParaKit是一个CPU1模型,而且按他们自己的数据。
因为ParaKit是一个CPU1模型,而且按他们自己的数据。
2:47.700–2:50.640
ja它在终端爱武芯片上的运行速度大约是5倍10时。
它在终端爱武芯片上的运行速度大约是5倍10时。
2:51.200–2:53.300
ja我的MR Max远远超过这个Page。
我的MR Max远远超过这个Page。
2:53.960–2:56.820
ja所以我把它放在后台跑的时候甚至都感觉不到。
所以我把它放在后台跑的时候甚至都感觉不到。
2:57.620–2:59.580
ja而且可选项真的很多。
而且可选项真的很多。
2:59.580–3:02.920
ja它们甚至还有专门针对某一种的模型。
它们甚至还有专门针对某一种的模型。
3:03.880–3:07.200
ja比如我们有一些俄语版本,还有一些乌克兰语版本。
比如我们有一些俄语版本,还有一些乌克兰语版本。
3:08.000–3:10.240
ja我很喜欢嗨这句使命宣言里的坦诚。
我很喜欢嗨这句使命宣言里的坦诚。
3:11.020–3:13.440
jaHandy不是想成为最好的语音转文字应用,
Handy不是想成为最好的语音转文字应用,
3:14.120–3:16.280
ja而是想成为最容易二次开发的那个。
而是想成为最容易二次开发的那个。
3:17.060–3:20.063
ja而且你甚至可以把自己微调过的Whisper G
而且你甚至可以把自己微调过的Whisper G
3:20.063–3:23.340
jaGmail模型放进App的Models文件夹里。
Gmail模型放进App的Models文件夹里。
3:23.340–3:28.200
ja重启之后,它就会直接作为一个自定义选项出现。
重启之后,它就会直接作为一个自定义选项出现。
3:29.180–3:34.340
ja我觉得,如果任何时候要我在Handy和Whisper Flow之间选,
我觉得,如果任何时候要我在Handy和Whisper Flow之间选,
3:35.360–3:39.200
ja我会选Handy,最大的原因就是它可以离线运行。
我会选Handy,最大的原因就是它可以离线运行。
3:40.160–3:42.980
ja你不需要注册账号,也没有订阅费。
你不需要注册账号,也没有订阅费。
3:42.980–3:48.540
ja而且我很确定,所有我的语音输入音频样本都会留在我的机器上,
而且我很确定,所有我的语音输入音频样本都会留在我的机器上,
3:49.200–3:51.220
ja不会被偷偷拿去训练别的语音模型。
不会被偷偷拿去训练别的语音模型。
3:51.680–3:52.900
ja所以我真的很高兴。
所以我真的很高兴。
3:53.640–3:56.460
ja现在有了这样一个MIT许可的语音输入工具。
现在有了这样一个MIT许可的语音输入工具。
3:57.180–3:58.440
ja听起来都很棒,不过,
听起来都很棒,不过,
3:59.240–4:02.740
ja我们就来实际测试一下Pandy,看看它表现如何。
我们就来实际测试一下Pandy,看看它表现如何。
4:03.620–4:08.860
ja我会把Handy的表现和Whisper Flow以及Google自家的转写服务做个对比。
我会把Handy的表现和Whisper Flow以及Google自家的转写服务做个对比。
4:12.980–4:20.940
ja后者也可以在Google Docs里用。
后者也可以在Google Docs里用。
4:26.120–4:30.120
ja哦,昨天我去买了点菜,回家路上突然想起来。
哦,昨天我去买了点菜,回家路上突然想起来。
4:35.120–4:42.060
ja我得回头把我的SQLite数据库接到一个运行在我自定义GPU集群上的Cobot服务上。
我得回头把我的SQLite数据库接到一个运行在我自定义GPU集群上的Cobot服务上。
4:42.980–4:56.640
ja我能想到的一个办法是用一个叫Grog的LLM。
我能想到的一个办法是用一个叫Grog的LLM。
4:58.540–5:01.220
ja另外还从CheckGPT得到了一些帮助。
另外还从CheckGPT得到了一些帮助。
5:01.860–5:08.060
ja最后,我们做出了一个能运行的应用,但过程真的很折腾。
最后,我们做出了一个能运行的应用,但过程真的很折腾。
5:08.060–5:12.140
ja我们把这两部分分开来说。
我们把这两部分分开来说。
5:12.820–5:18.640
ja你看,这里的Google语音输入服务要差很多,它不会加标点。
你看,这里的Google语音输入服务要差很多,它不会加标点。
5:20.320–5:24.280
ja也不知道怎么分句,它把Cobot识别错了。
也不知道怎么分句,它把Cobot识别错了。
5:25.660–5:27.780
jaSQLite数据库也识别错了。
SQLite数据库也识别错了。
5:27.780–5:31.440
ja甚至连LLM这个词都没认出来。
甚至连LLM这个词都没认出来。
5:32.080–5:33.440
ja它以为Grog是Rock。
它以为Grog是Rock。
5:35.200–5:39.120
ja这个我最喜欢,它还把ChatGPT认成了ChatGPT。
这个我最喜欢,它还把ChatGPT认成了ChatGPT。
5:40.800–5:41.940
enChatGPT不错。
ChatGPT不错。
5:42.660–5:45.700
ja嗯,所以你能明显看出来Handy好多了。
嗯,所以你能明显看出来Handy好多了。
5:45.700–5:50.140
ja因为它有标点,还能识别一些特定术语。
因为它有标点,还能识别一些特定术语。
5:51.660–5:54.300
ja而且大多数技术术语都认对了。
而且大多数技术术语都认对了。
5:55.440–5:58.640
ja现在我们也来把这个结果和Whisper Flow比一下。
现在我们也来把这个结果和Whisper Flow比一下。
6:02.380–6:06.200
ja我要尽量把同样的文本重复的尽可能接近。
我要尽量把同样的文本重复的尽可能接近。
6:06.200–6:09.980
ja公平地测试一下。
公平地测试一下。
6:11.080–6:13.140
ja嗯,昨天我去买了些杂货。
嗯,昨天我去买了些杂货。
6:13.840–6:14.760
ja回来的路上。
回来的路上。
6:16.180–6:18.240
ja我突然想起我得回家。
我突然想起我得回家。
6:19.580–6:25.520
ja把我的SQLite数据库接到一个运行在我自定义GPU集群上的Cobot服务上。
把我的SQLite数据库接到一个运行在我自定义GPU集群上的Cobot服务上。
6:30.380–6:33.820
ja我其实不知道该怎么做,所以只好找人帮忙。
我其实不知道该怎么做,所以只好找人帮忙。
6:33.820–6:37.100
ja我能想到的唯一能帮上忙的工具。
我能想到的唯一能帮上忙的工具。
6:37.780–6:39.440
ja是一个叫Grook的LLM。
是一个叫Grook的LLM。
6:40.340–6:43.620
ja后来,我也从ChatGPT那里得到了一点帮助。
后来,我也从ChatGPT那里得到了一点帮助。
6:44.660–6:48.620
ja最后,我们是把应用跑起来了,但过程真的很折腾。
最后,我们是把应用跑起来了,但过程真的很折腾。
6:49.660–6:53.420
ja好吧,你可以清楚地看到Whisper Flow做得最好。
好吧,你可以清楚地看到Whisper Flow做得最好。
6:54.420–6:58.120
ja它把句子分得很准确,而且所有术语都没出错。
它把句子分得很准确,而且所有术语都没出错。
6:59.180–7:03.420
ja毕竟这是商业产品,你会以为它会比开源工具更好。
毕竟这是商业产品,你会以为它会比开源工具更好。
7:03.820–7:09.400
ja但说实话,这个结果和Whisper Flow之间并没有那么大差别。
但说实话,这个结果和Whisper Flow之间并没有那么大差别。
7:10.340–7:14.520
ja所以,我还是更喜欢用Handy,因为它免费、私密。
所以,我还是更喜欢用Handy,因为它免费、私密。
7:15.480–7:16.440
ja而且是开源的。
而且是开源的。
7:16.440–7:19.940
ja不过,Whisper Flow在这里确实做得很不错。
不过,Whisper Flow在这里确实做得很不错。
7:20.980–7:24.320
ja所以总的来说,它还是一个很靠谱的服务。
所以总的来说,它还是一个很靠谱的服务。
7:25.460–7:27.500
ja好了,各位,概括来说就是这样。
好了,各位,概括来说就是这样。
7:27.960–7:29.240
ja这个功能确实很实用。
这个功能确实很实用。
7:29.940–7:31.240
ja我刚才真不是开玩笑。
我刚才真不是开玩笑。
7:32.020–7:34.680
ja说它已经成了我最喜欢的语音听写工具。
说它已经成了我最喜欢的语音听写工具。
7:34.680–7:37.840
ja我甚至有点担心,要是我用得太频繁。
我甚至有点担心,要是我用得太频繁。
7:38.600–7:40.960
ja自己可能都会忘了怎么用键盘打字。
自己可能都会忘了怎么用键盘打字。
7:41.700–7:43.720
ja不过,这只是我的个人看法和观察。
不过,这只是我的个人看法和观察。
7:44.500–7:45.900
ja那你觉得Handy怎么样?
那你觉得Handy怎么样?
7:46.460–7:47.300
ja你是过了吗?
你是过了吗?
7:47.800–7:48.500
ja你会用吗?
你会用吗?
7:49.360–7:51.200
ja欢迎在下方评论区告诉我们。
欢迎在下方评论区告诉我们。
7:51.760–7:54.880
ja各位,如果你喜欢这类技术解析,
各位,如果你喜欢这类技术解析,
7:55.200–7:57.200
ja也请在视频下方点个赞。
也请在视频下方点个赞。
7:57.200–8:00.940
ja让我知道,别忘了订阅我们的频道。
让我知道,别忘了订阅我们的频道。
8:01.820–8:03.460
en我是BetterStack的Andreas,
我是BetterStack的Andreas,
8:03.780–8:05.020
ja我们下期视频再见。
我们下期视频再见。
8:06.120–8:06.560
ja音乐
音乐

影片筆記:别再为语音听写付费了!Handy:开源、离线、免费还能自己选模型

一句話總結

影片介紹了一款名為 Handy 的開源、離線、免費語音聽寫應用,由 CJ Pace 和 Terry 開發。該工具無需雲端、無訂閱費、無需帳號,允許用戶自選 Whisper 或 ParaKit 模型,並在實際測試中展現出優於 Google 語音輸入的標點與術語識別能力,雖略遜於商業產品 Whisper Flow,但憑藉隱私與開源特性獲得推薦。

核心重點

  1. Handy 應用特性
  • 完全離線與隱私:數據保留在本地機器,無需雲端服務,無需帳號,無訂閱費。
  • 技術架構:後端使用 Rust,前端設置界面使用 React 和 TypeScript。
  • 核心組件
  • 運行 Whisper 系列模型:Transcribe CPP。
  • 運行 ParaKit 模型:Transcribe RS。
  • 跨平台音頻輸入:CPAL。
  • 全局鍵盤快捷鍵:RDV。
  • 實時音頻流與重採樣:Roboto Core。
  • 靜音過濾:Colero VAD。
  • 模型支持:支持 Whisper 系列(GGM/GGY 格式)及 ParaKit 模型,允許上傳自定義微調模型。
  1. 功能操作
  • 支持自定義快捷鍵與開關切換。
  • 具備 Push to Talk(按住說話,鬆開發送)功能。
  • 利用 VAD(語音活動檢測)過濾靜音,節省算力。
  • 識別結果直接粘貼至當前聚焦的輸入框。
  1. 實際測試對比
  • 測試內容:涉及購買雜貨、連接 SQLite 數據庫、GPU 集群、Cobot 服務、Grog LLM 及 ChatGPT 的敘述。
  • Google 語音輸入:無標點、無分句,術語識別錯誤多(如將 Cobot、SQLite、LLM 識別錯誤,Grog 識別為 Rock)。
  • Handy 表現:有標點,能識別特定術語,大多數技術術語正確。使用 ParaKit Unify 0,6BP 模型在 Apple 芯片上運行速度快,CPU 佔用低。
  • Whisper Flow 表現:句子分割準確,術語無錯誤,商業產品表現優異。
  • 結論:Handy 因免費、私密、開源及離線特性獲推薦,用戶表示其已成為最喜歡的語音聽寫工具,甚至影響了鍵盤打字習慣。

詳細大綱

1. Handy 應用介紹

  • 基本定義:開源、離線、無雲端、無訂閱、無帳號的語音識別與聽寫應用。
  • 開發背景:由開發者 CJ Pace 和 Terry 開發。
  • 技術架構細節
  • 後端:Rust。
  • 前端設置界面:React 和 TypeScript。
  • 模型運行組件:
  • Transcribe CPP:負責運行 Whisper 系列模型(GGM/GGY 格式)。
  • Transcribe RS:負責運行 ParaKit 模型。
  • 其他組件:
  • CPAL:跨平台音頻輸入。
  • RDV:全局鍵盤快捷鍵。
  • Roboto Core:實時音頻流與重採樣。
  • 用戶體驗:簡單、輕量,在 MacBook 上運行流暢。

2. 功能與操作機制

  • 快捷鍵設置:支持自定義快捷鍵與開關切換。
  • Push to Talk 功能:按住說話,鬆開發送。
  • 後台處理:使用 Colero VAD 過濾靜音,避免無效算力消耗。
  • 結果輸出:識別結果直接粘貼至當前聚焦的輸入框。

3. 模型選擇與自定義

  • 模型列表:顯示速度與準確率指標,用戶可自選模型。
  • 自定義模型:支持上傳自定義微調過的 Whisper G Gmail 模型至 Models 文件夾。
  • 開發理念:旨在成為最容易二次開發的工具,而非追求絕對最佳。
  • 隱私承諾:MIT 許可,數據保留在本地機器。

4. 實際測試對比

  • 測試對象:Handy vs. Google 語音輸入服務 vs. Whisper Flow。
  • 測試文本內容:關於購買雜貨、連接 SQLite 數據庫、GPU 集群、Cobot 服務、Grog LLM 及 ChatGPT 的敘述。
  • Google 語音輸入表現
  • 缺點:無標點、無分句、術語識別錯誤。
  • 具體錯誤:Cobot 識別錯誤、SQLite 識別錯誤、LLM 未識別、Grog 識別為 Rock、ChatGPT 識別為 ChatGPT(註:此處逐字稿描述邏輯存疑,見疑點)。
  • Handy 表現
  • 優點:有標點、能識別特定術語、大多數技術術語正確。
  • 用戶選擇:使用 ParaKit Unify 0,6BP 模型,在 Apple 芯片上運行速度快,佔用 CPU 低。
  • Whisper Flow 表現
  • 優點:句子分割準確,術語無錯誤。
  • 結論:商業產品表現優異,但與 Handy 差距不大。

5. 總結與推薦

  • 推薦 Handy 的原因:免費、私密、開源、離線運行。
  • 對 Whisper Flow 的評價:可靠且表現良好。
  • 個人感受:Handy 已成為最喜歡的語音聽寫工具,甚至影響鍵盤打字習慣。

工具 / 模型 / 名詞整理

  • Handy:開源語音識別和語音聽寫應用。
  • Whisper:系列模型(由 Transcribe CPP 運行)。
  • Whisper Flow:商業版語音轉寫產品。
  • ParaKit:模型系列(由 Transcribe RS 運行)。
  • Rust:開發語言/後端技術。
  • React:前端設置界面技術。
  • TypeScript:前端設置界面技術。
  • Transcribe CPP:負責運行 Whisper 系列模型的組件。
  • Transcribe RS:運行 ParaKit 模型的組件。
  • CPAL:負責跨平台音頻輸入的組件。
  • RDV:負責全局鍵盤快捷鍵的組件。
  • Roboto Core:提供實時音頻流和重採樣的組件。
  • Colero VAD:後台過濾靜音的組件。
  • GGM:模型格式。
  • GGY:模型格式。
  • ParaKit Unify 0,6BP:用戶選擇使用的具體模型版本。
  • Google 語音輸入服務:Google Docs 內建的轉寫服務。
  • SQLite:數據庫名稱。
  • Cobot:服務名稱。
  • Grog:LLM 名稱。
  • ChatGPT:AI 助手名稱。
  • BetterStack:頻道或公司名稱(由 Andreas 提及)。
  • MIT:許可證類型。

操作流程整理

  1. 安裝與設置
  • 下載並安裝 Handy 應用。
  • 在設置界面(React/TypeScript)中配置快捷鍵。
  • 選擇所需的模型(Whisper 系列或 ParaKit 系列)。
  • (可選)上傳自定義微調模型至 Models 文件夾。
  1. 使用應用
  • 啟動應用,確保音頻輸入正常(由 CPAL 處理)。
  • 按下設置的快捷鍵或啟動 Push to Talk 功能。
  • 說話,應用通過 Colero VAD 過濾靜音並進行識別。
  • 鬆開發送(若使用 Push to Talk)。
  1. 結果輸出
  • 識別文本直接粘貼至當前聚焦的輸入框。
  1. 模型管理
  • 根據速度與準確率指標選擇合適的模型。
  • 監控 CPU 佔用情況(如在 Apple 芯片上)。

值得注意的限制或風險

  • 術語識別準確性:雖然 Handy 優於 Google 語音輸入,但在極端專業術語或特定名稱(如 Cobot, Grog)上仍可能存在識別錯誤,需與 Whisper Flow 等商業產品對比評估。
  • 模型選擇影響性能:不同模型(如 ParaKit Unify 0,6BP)在速度和準確率上存在差異,用戶需根據硬件配置(如 Apple 芯片)選擇合適模型以平衡 CPU 佔用。
  • 離線限制:由於完全離線運行,無法利用雲端模型的持續更新或更大規模的數據訓練優勢。
  • 自定義模型兼容性:上傳自定義微調模型需確保格式兼容(如 Whisper G Gmail 格式),可能存在技術門檻。

逐字稿辨識疑點

  • Transcribe CPP:逐字稿提及「Transcribe CPP負負責運行Whisper系列模型」,疑點在於「負」字是否為多餘字或聽寫錯誤,或指代特定組件名稱的一部分。
  • GGM 和 GGY:Whisper 模型常見格式為 GGUF 或 GGNZ 等,逐字稿記錄為「GGM和GGY」,需查證是否為特定變體或聽寫錯誤。
  • ParaKit:常見語音模型為 Whisper 或 Whisper.cpp,逐字稿多次提及「ParaKit」及「ParaKit Unify 0,6BP」,需查證是否為特定開源模型名稱或聽寫錯誤(如 Whisper.cpp 的誤聽)。
  • Colero VAD:常見語音活動檢測庫為 Silero VAD 或 similar,逐字稿記錄為「Colero VAD」,需查證是否為特定組件名稱或聽寫錯誤。
  • Roboto Core:常見字體或系統組件為 Roboto,但作為音頻流組件名稱較少見,需查證是否為特定內部組件名稱或聽寫錯誤。
  • Cobot:測試文本中提及「Cobot服務」,需查證是否為特定服務名稱或聽寫錯誤(如 Cobalt 或其他)。
  • Grog:測試文本中提及「Grog的LLM」,需查證是否為特定 LLM 名稱或聽寫錯誤(如 Groq)。
  • ChatGPT 識別為 ChatGPT:逐字稿提到「它以為Grog是Rock...還把ChatGPT認成了ChatGPT」,後半句邏輯看似重複或指識別結果雖字面相同但語境錯誤,需確認是否為口誤或特定測試情境描述。
  • ParaKit Unify 0,6BP:模型版本號格式「0,6BP」中的逗號及「BP」後綴需查證是否為標準命名方式。
  • 5倍10時:逐字稿提到「運行速度大約是5倍10時」,語意不明,疑點在於「10時」是否為聽寫錯誤(如「10倍」或其他單位)。
  • MR Max:逐字稿提到「我的MR Max遠遠超過這個Page」,疑點在於「MR Max」是否為特定設備型號(如 MacBook Pro Max 的聽寫錯誤)或「Page」是否為「Range」或其他單詞的聽寫錯誤。
  • Pandy:逐字稿提到「測試一下Pandy」,疑點在於是否為「Handy」的聽寫錯誤。
  • CheckGPT:逐字稿提到「從CheckGPT得到了一些幫助」,需查證是否為特定工具名稱或聽寫錯誤(如 ChatGPT)。
  • SQLite數據庫接到...Cobot服務:測試文本中「Cobot」一詞出現多次,需查證是否為正確服務名稱。
  • Grog:測試文本中「Grog的LLM」,需查證是否為正確 LLM 名稱。
  • ChatGPT不錯:測試文本中「ChatGPT不錯」,需確認是否為對識別結果的評論或口誤。

可延伸追問

  1. 模型格式兼容性:GGM 和 GGY 格式是否為 Handy 特有的模型格式?與標準的 GGUF 格式有何區別?
  2. 技術組件細節:Colero VAD、Roboto Core、Transcribe CPP/RS 等組件是否為 Handy 開發團隊內部開發的庫?是否有文檔可供參考?
  3. 自定義模型訓練:如何具體操作將自定義微調過的 Whisper 模型轉換為 Handy 支持的格式並上傳?
  4. 性能基準測試:在不同硬件配置(如 Intel Mac vs. Apple Silicon)下,ParaKit Unify 0,6BP 模型的性能表現是否有具體數據對比?
  5. 商業產品對比:Whisper Flow 作為商業產品,其定價策略與 Handy 的開源特性相比,用戶應如何權衡選擇?
  6. 術語識別優化:對於 Cobot、Grog 等特定術語識別錯誤,是否有方法在 Handy 中進行手動修正或詞庫添加?

尚未產生學習筆記

請在 Telegram 指令最後加上「學習」,例如:videonote 網址 英文 雙語 學習