CopyTalker-跨越语言障碍的近实时语音翻译

你有没有遇到过这样的场景——正在跟外国朋友视频聊天,对方语速飞快,你一边听一边在脑子里翻译,结果人家已经说了三句话,你还在琢磨第一句是什么意思?或者在看一个没有字幕的外语直播,听得云里雾里,只能靠表情包维持社交?

这种"听得懂个大概但跟不上节奏"的尴尬,相信很多人都体验过。市面上的翻译软件虽然多,但要么是文字翻译,要么是语音转文字等很久再翻译,整个流程下来黄花菜都凉了。

今天想跟大家分析一个最近在折腾的开源项目——CopyTalker,一个能实现近实时语音到语音翻译的工具。简单说就是:对方说英语,你听到的是中文语音;你说中文,对方也能听到英语语音。整个过程几乎是同步的。

项目地址:https://github.com/cycleuser/CopyTalker

这玩意儿到底能干啥

CopyTalker的核心能力就一句话:把你听到的语音近实时翻译成另一种语言并读出来

目前支持9种语言互译:英语、中文、日语、韩语、法语、德语、西班牙语、俄语和阿拉伯语。基本上覆盖了日常能遇到的大部分语种。

技术上它做了几件事:

首先是语音识别,用的是Whisper模型,就是OpenAI那个能把语音转成文字的神经网络。这东西对口音的容忍度很高,不管是美音英音还是带点口音的英语,基本都能准确识别。

然后是文本翻译,这一步有两个引擎可选:Helsinki-NLP针对特定语言对做了优化,比如英译中、中译日这种常见组合效果很好;NLLB则是Meta出的多语言模型,胜在通用性强,什么语言对都能翻。

最后是语音合成,把翻译好的文字读出来。这里可以选Kokoro(一个开源的高质量神经网络TTS)、Edge TTS(微软云端服务)或者pyttsx3(纯离线方案)。Kokoro的声音最自然,Edge TTS胜在免费且声音选择多,pyttsx3则是不联网也能用。

为什么不直接用现成的翻译App

问得好。确实,手机上的翻译App一抓一大把,为什么还要折腾这个?

几个原因:

1. 本地运行的。除了Edge TTS需要联网,其他模块都可以完全离线使用。这意味着你的语音数据不用传到别人的服务器上,隐私有保障。在一些需要保密的场合,比如商务谈判、医疗咨询,这点很重要。

2. 延迟还算低。因为是本地处理,不用等网络往返,从说话到听到翻译结果大概就一两秒的事。相比之下,用在线服务的话,网络一抖就是好几秒。

3. 可定制性强。声音不喜欢?换一个。翻译引擎效果不好?切另一个。甚至底层模型都可以自己替换。这是开源项目的好处,不满意就自己改。

4. 有图形界面。不是那种只能敲命令行的极客工具,普通用户也能上手。界面虽然朴素,但该有的功能都有。

界面长什么样

先上一张主界面的截图:

主界面

主界面

整体布局很清爽,上半部分是各种设置选项,下半部分是实时显示区域,会同步展示语音识别结果和翻译内容。右边是控制按钮,开始、停止、下载模型,一目了然。

语言选择这块做得挺直观的。源语言可以手动指定,也可以选"auto"让程序自动检测:

源语言选择

源语言选择

目标语言同理,9种语言任选:

目标语言选择

目标语言选择

语音方面可玩性很高。不同的TTS引擎提供不同的声音选项,而且会根据你选的目标语言动态变化:

语音选择

语音选择

TTS引擎本身也有四个选项:Kokoro音质最好,Edge TTS免费且声音多,pyttsx3纯离线,auto则让程序自己选:

TTS引擎选择

TTS引擎选择

翻译模型可以在Helsinki-NLP和NLLB之间切换。前者对常见语言对优化得更好,后者支持更多语言组合:

翻译模型选择

翻译模型选择

如果你有显卡,还可以把翻译和TTS分别分配到不同的设备上,避免抢资源:

翻译设备选择

翻译设备选择

TTS设备选择

TTS设备选择

实际用起来是什么体验

说实话,第一次跑起来的时候还是挺惊艳的。

打开程序,选好源语言和目标语言,点击开始,然后对着麦克风说话。屏幕上会实时显示识别出来的原文和翻译结果,同时耳机里传来翻译后的语音。整个过程行云流水,比我想象的要顺滑。

语音识别这块,Whisper确实名不虚传。我试过用不同语速、不同口音说英语,识别准确率都相当高。偶尔有个别词识别错了,但不影响整体理解。

翻译质量因语言对而异。英中互译、英日互译这种主流组合效果很好,一些小语种的组合就要差一些,毕竟训练数据量不一样。

语音合成方面,Kokoro的中文女声听起来最自然,几乎听不出机器感。Edge TTS的选择更多,各种口音、男女声都有。pyttsx3就……听个响吧,胜在不挑环境。

当然也有不足。首先是吃配置,要想流畅运行,最好有块像样的显卡。我在一台没有独显的笔记本上试过,能跑但明显卡顿。其次是模型体积不小,第一次运行要下载好几个G的数据。另外目前没有Mac原生支持,苹果用户可能要折腾一下。

谁会需要这东西

想了想,大概这几类人会用得上:

语言学习者。学外语最缺的就是沉浸式环境,用这个工具可以把外语内容近实时翻译,边听原声边看翻译,比纯看字幕更有代入感。

内容创作者。做跨语言的播客、视频,需要低成本翻译配音的,这东西可以当生产力工具用。

有国际化需求的小企业。请专业翻译成本高,但完全靠机器翻译又不放心。这种本地运行的方案,至少数据不会泄露。

技术细节(给爱折腾的朋友)

CopyTalker的架构是典型的流水线设计:

音频捕获用WebRTC VAD做语音活动检测,只处理有人说话的片段,不会傻乎乎地把背景噪音也送去识别。

语音识别用的是faster-whisper,是Whisper的优化版本,推理速度快不少。

翻译层可以选Helsinki-NLP的双语模型或者Meta的NLLB多语言模型。前者针对性强,后者通用性好。

语音合成支持三种引擎,前面说过了。

整个系统是异步设计的,各个模块并行处理,所以延迟才能压得比较低。

如果你想自己跑起来,最简单的方式是用pip安装:

pip install copytalker

然后命令行敲一句就能启动:

copytalker --gui

第一次运行会下载模型,之后就可以离线使用了。

如果想折腾更多,可以通过配置文件调整各种参数,甚至可以用Python API写自己的应用。

写在最后

CopyTalker这个项目还在活跃开发中,功能在不断完善。作为一个开源项目,它可能没有商业产品那么精致,但胜在透明、可控、免费。

语音翻译这个领域发展很快,几年前还只存在于科幻电影里的翻译耳机,现在已经有各种产品在卖了。但大多数都是云端方案,数据要上传到服务器。CopyTalker提供了另一种选择——把翻译这件事完全掌握在自己手里。

如果你对语音翻译有需求,或者单纯对这类技术感兴趣,不妨去GitHub上看看这个项目。折腾一下,说不定会有惊喜。

预览时标签不可点

Close

更多

Name cleared

微信扫一扫赞赏作者

Like the AuthorOther Amount

赞赏后展示我的头像

作品

暂无作品

Like the Author

Other Amount

¥

最低赞赏 ¥0

OK

Back

Other Amount

更多

赞赏金额

¥

最低赞赏 ¥0

1

2

3

4

5

6

7

8

9

0

.

虚拟化,操作系统,以及一些小工具 · 目录

虚拟化,操作系统,以及一些小工具

上一篇RX590安装Ubuntu/PVE时突然显示无信号问题的完整解决方案(含Ventoy启动指南)下一篇ConfigBack-跨平台开发配置文件的无痛备份迁移管理工具

Close

更多

搜索「」网络结果

Close

调整当前正文文字大小

更多

100%