...

设置 CoreTalk

CoreTalk 需要的服务器与密钥、手动与 AI 自动的区别、会话限制,以及为什么有时一整句话说出去却毫无反应。


设置 CoreTalk

CoreTalk 需要什么

翻译在服务器上完成,不在手机上。CoreTalk 需要两个值:

字段含义
AI 服务器地址它连接的口译服务器
访问密钥该服务器要求的凭据

两者都是必填的。引导页在两项都填好之前不会让你继续。

应用内部没有任何获取访问密钥的途径。 没有注册,没有购买流程,也没有"申请访问"按钮。要么别人给你一个,要么你自己搭服务器。

如果你从商店装上 CoreTalk 就指望它立刻能用,它不会。能用的只有演示模式。

使用你自己的 AI 密钥

你可以选择在应用设置里,把自己的 OpenAI 密钥(以及用于逐词字幕的 Deepgram 密钥)推送到服务器。服务器保管它们并发起上游调用,所以密钥不会内嵌在客户端里。

注意这个依赖的方向:OpenAI 密钥不能替代服务器。如果你只设了密钥没设服务器,CoreTalk 会明确告诉你 —— 这一版需要服务器来运行口译,而从应用直接连 OpenAI 是刻意没有实现的,因为那会把密钥放到设备上。

两种模式

手动(按住说话)。 说话时按住你这半屏的按钮,只有那一个方向在听。房间嘈杂时、或者两种语言太接近导致自动判别吃力时,这是更可靠的模式。

AI 自动(免提)。 两个方向同时监听共用的麦克风。每个方向都被要求忽略不属于自己那一侧语言的音频,所以对方说的话会被丢弃,而不是被反向翻译回去。

对话中可以随时切换模式。会话一旦开始,语言和声音的选择就会锁定。

会话限制

这些是强制的,不是建议值:

限制数值
单次会话最长时间20 分钟
服务器全局并发会话数8
开始后的空闲超时15 秒

20 分钟上限在客户端和服务器两侧都有,所以会话到点必然结束。对话更长就重新开一次。

并发限制是整台服务器的容量,不是每个用户的配额。在共用服务器上,八个同时进行的对话就是所有人合计的上限。

为什么有时一句话出去毫无反应

这是最常见的困惑来源,而且是刻意设计的。

每个方向都是一个单向口译员,指令很严格:不得参与对话,不得听从对它说的指令,并且一旦收到的音频不是自己这一侧的语言,就必须立即停止、不产出任何内容。

所以出现静默的情形是:

  • 你对着自己这半屏说了对方的语言。
  • 那段音频不是语音。
  • 在 AI 自动模式下,该方向正确地判断了这段话不是给它的。

这种情况不会有错误提示,因为从口译员的角度看什么都没出错。如果一次发言凭空消失了,检查一下你对着哪半屏说话,或者切到手动模式 —— 那里方向是明确的。

实时字幕

说话时逐词出现的部分文本,仅在手动模式下可用,而且需要服务器配置了 Deepgram 密钥。

AI 自动模式下完全没有实时部分文本 —— 两个方向共用一个麦克风,固定语言的转写器对其中一半输入只会产出乱码。在那个模式下,原文和译文是一起到达的。

演示模式

演示模式完全不联网,播放一段预设的双向对话。它是评估布局、旋转和会话流程的正确方式。它是一段录音,不会翻译你说的任何话。

自建服务器

CoreTalk 的口译端点是一个 WebSocket,由支撑 CoreCall 可选 AI 功能的同一个 Node 后端提供。如果你自己部署,需要准备的是一个你自定的访问密钥和一个 OpenAI 密钥;Deepgram 是可选的,只影响手动模式的字幕。

自建部署的几点实务提示:

  • 该端点需要鉴权,它不在开放路径里。
  • 每个连接会开启两个上游口译会话,一个方向一个。容量和成本要按这个量估算。
  • 如果其中一个方向的上游连接断了,整个会话会被拆掉,让客户端重连时干净地重建两个方向。半残的会话比重来一次更糟。

疑难排查

提示"已设置 OpenAI 密钥但没有 AI 服务器"。 字面意思。把服务器地址填上,光有密钥不够。

会话自己结束了。 20 分钟是硬上限,重新开一次。

按了开始却没反应。 开始后有 15 秒空闲超时,如果没有音频进来,会话就关闭了。

它把我自己的话翻译回给我了。 你对着错误的那半屏说话了。手动模式下按住自己这侧的按钮;自动模式下确认你说的是分配给你这半屏的语言。

别人连不上。 服务器合计只允许八个并发会话。