跳到主内容

混合发言:一段访谈里几种语言交替说

· Zeyu Si

本页目录

跨国研究里常见这样一种录音:受访者说西班牙语,提问的人说中文,旁边坐着一位翻译,两种语言来回切换。

我们以为这是个简单问题。先查了各家引擎的官方说明,再做了一轮实验室测试,得出一套结论。然后拿一段真实录音一测,结论整个反了过来。

两种混语,结果完全不同

先要分清两种情况:

  • 偶尔夹一句:主要说一种语言,中间零星冒出几个词或一两句别的语言,占比不到一成。
  • 两种语言轮流说:比如交替传译,两种语言你一段我一段,差不多各占一半。

这两种情况,引擎的表现差别很大,不能混在一起说。

还有一个好消息:夹英语基本没问题。各家引擎的混语能力,几乎都是围绕"某种语言加英语"做的。我们的主引擎在西班牙语里遇到整句英语,也会照原文写出来。

麻烦出在两种都不是英语的组合上,比如西班牙语夹中文。

同一个"语言设置",四家引擎的意思完全不同

大多数引擎都有一个"语言"参数。你可能以为它们的作用都差不多。我们逐家查文档、再逐家实测,发现是四件不同的事:

  • ElevenLabs:告诉它"这段录音主要是哪种语言"。
  • Soniox:只是一个偏好提示,不限制它认别的语言。
  • 豆包:决定走哪一个语言模型。有意思的是,留空反而最糟,它会按中英文去识别,把西班牙语硬听成英文。
  • AssemblyAI:先判断整个文件是哪种语言,然后整份交给那一种语言的模型。它支持的两种语言组合里,必须有一种是英语。

最后这一条的后果很直接。一段录音里中文占了 45%,AssemblyAI 仍然判定它是西班牙语(置信度 0.84)。我们试了它的四种设置,中文部分一个汉字都没有转出来。

也有反过来的意外。按豆包的文档推,填了西班牙语就会整个文件锁死成西语。实测不是:它照样把中间的中文转了出来。

最危险的是"被翻译"

在"偶尔夹一句"的情况下,我们的主引擎有两种失败方式,看你怎么设置它。(这是在拼接出来的测试录音上测的。下一节会讲拼接测试的问题,但拼接录音里语言切换得那么明显,引擎都没转对,换成真实录音也不会更容易。)

  • 告诉它主语言是西班牙语:中文那几句直接消失,时间轴跳过去,不留痕迹。
  • 不告诉它:中文那几句被翻译成流利的西班牙语。"你是谁?"变成了"¿Quién eres?",全篇 0 个汉字。

第一种是缺了一段,第二种是多了一段原话里没有的西班牙语。第二种更危险,因为稿子读起来毫无破绽,研究者会以为受访者真的用西班牙语说了这句话。

另一个用大模型做识别的引擎,在语言切换点上陷入了复读,同一个词重复了大约 370 次。

拼接测试的结论,被真实录音整个反转

为了测"两种语言轮流说",我们一开始用的是拼接音频:把现成的西语片段和中文片段剪在一起。标准答案现成,成本很低。

拼接测试的结论是:

  • 告诉主引擎"主语言是西班牙语":全毁,中文部分被翻译、出幻觉、时间轴错乱。
  • 不告诉它,让它自己判断:全对。

后来我们拿到一段真实的交传访谈,66 分钟,西班牙语和中文,有提问方、翻译和受访者三个人。结果正好相反:

  • 告诉它"主语言是西班牙语":近乎完美。中西两种语言都正确切换,三个人也分得很清楚,连翻译一个人在两种语言间来回说,都被正确认成了同一个人。
  • 不告诉它:它自己判断整段是中文(置信度 0.86),以中文为主线去转,西班牙语整段整段地丢。

为什么会这样?拼接音频里,两种语言之间有明显的"接缝":录音环境、音量、底噪一下子全变了,引擎很容易察觉换了语言。真实录音是同一个房间、同一支话筒,没有这种接缝。

真实录音的节奏也和我们拼的不一样:中文占 29%,是"西语长回答一到四分钟,中文短插话十几秒到一分多钟"交替出现,正好落在拼接测试没覆盖的那个区间。

我们学到的

混语访谈的转写质量,取决于三件事:是哪两种语言,是"夹一句"还是"轮流说",以及怎么设置引擎。这三件事,引擎的官方说明都回答不了,拼接出来的测试音频也回答不了。

只能拿真实录音测。

作者Zeyu Si