You need to enable JavaScript to run this app.
导航
同声传译
最近更新时间:2025.02.19 17:12:51首次发布时间:2025.01.17 10:10:42

同声传译大模型服务接收待翻译内容的语音输入,经智能处理与分析,实时精准翻译,输出对应目标语言文本或语音。在会议、媒体活动等场景中,突破语言障碍,帮助您以及您的用户顺畅进行跨国交流、信息传递与知识共享。

应用场景

场景

场景细分

描述

国际会议

政治会议

各国领导人峰会或国际组织会议中,大模型接入系统,翻译多国领导人发言,处理多语种多口音,保障沟通。

商务会议

跨国商务谈判、行业研讨会里,大模型助力参会者理解内容,精准翻译商务术语,推动交流合作。

学术会议

国际学术研讨、讲座场景下,大模型准确翻译专业术语,借助数据学习,传播学术成果。

法庭审判

涉外法庭

涉外国当事人或文件的庭审中,大模型准确翻译证词等信息,适应法庭环境与法律术语。

媒体活动

新闻发布会

企业、政府国际新闻发布时,大模型实时翻译,贴合表述习惯,方便媒体报道。

影视传媒

国际电影节、纪录片活动中,大模型分析影片文化背景与情感,贴合情境翻译,优化观影体验。

支持模型

当前支持同声传译的模型有:

模型名称

主账号下同时在线连接数

单连接最大连接时长
(小时)

单连接静默持续时长
(小时)

免费额度
(token)

计费
(元/千 token)

Doubao-同声传译

100

2

0.5

500k

语音输入:0.03
文本输出:0.03

源语言文本和目标语言文本

工作机制

您可以使用Websocket接口来调用同声传译模型服务,来实现音频即时输入和原文&译文的即时输出。下面是工作时的客户端、服务端交互机制。

完整信息交互分为几个阶段:

  1. 建立连接和 Session 配置:
    1. 服务端与客户端建立连接。
    2. 并按照配置创建 Session 。
    3. 更新Session配置。
  2. Session内数据交互,包括2部分
    1. 音频数据发送给服务端。
    2. 音频数据转为原文以及译文后返回客户端。
  3. 结束 Session 并关闭连接:
    1. 客户端发送停止信号。
    2. 服务端将过程中的数据处理完毕,发送信号结束交互过程。

接口说明

同传的接口说明请参见同声传译 API

使用说明

超时断连机制

  • 单连接最大连接时长为 2 小时,超时将会强制断连。
  • 单连接静默持续时长 0.5 小时,超时将会强制断连。

限流机制

  • 主账号下同时在线连接数:100。
  • 客户端每次发送的音频数据不大于10KB ,超过大于10 KB 的音频数据将会跳过,不会处理。
  • 每分钟单连接提交input_audio.commit事件的数量Commit Per Minute (CPM) Per Connection上限为 700 次,账号下每个连接独立限制,互不影响。
  • 每分钟单连接可使用的output tokens量(TPM Per Connection)上限为1200,账号下每个连接独立限制,互不影响。

语音数据切换语种

如果您希望在连接 Session 中更换目标语言与源语言的语种,暂不建议直接更新 Session 配置(调用session.update ),建议静默4秒或以上时间(即这段时间不发送音频数据给方舟),再更新 Session 配置。

如跨国电话会议,不同发言人可能使用不同的语种,此时可能会需要在连接 Session 中切换语种。

使用示例

下面通过一个 demo 为您介绍如何通过 WebSocket API 实现同声传译。
demo实现了,将一个音频文件(MP3 格式)转为流式音频,实现和服务端进行通信,实现音频的实时翻译和转录。

前提条件

  • 您已有方舟 API Key,作为模型推理服务调用鉴权使用。如无,请参考1.获取 API Key

  • 获取 Model ID 作为推理接入点 用于模型调用,请参考 获取 Model ID。(此方式目前仅支持 API Key 鉴权)

    说明

    如果您想更灵活的配置使用的大模型及其版本、限流、计费类型(前付费/后付费)、运行状态、调用监控等,推荐您使用 Endpoint ID 作为推理接入点 ,可以参考获取 Endpoint ID

  • 安装开源视频处理工具 FFmpeg,具体请参见官方网站

示例中使用FFmpeg来处理音频文件,将音频文件转化为音频元数据。

Node.js

工程文件

ark_clasi_nodejs_beta.zip
未知大小

代码的流程如下,具体的实现参见工程代码中的注释。

  1. 初始化配置。
  2. 读取音频文件。
  3. 建立 WebSocket 连接。
  4. 处理 WebSocket 事件。
  5. 发送音频结束信号。

1.准备环境

  1. 安装开源视频处理工具 FFmpeg,具体请参见官方网站

示例中使用了FFmpeg来处理音频文件,将音频文件转化为音频元数据。

  1. 参考Node.js官方文档安装 Node.js。

为了方便安装和管理,我们采用官方推荐的nvm(node.js的版本管理器)安装Node.js与依赖包。

  1. 下载工程文件,运行终端,进入工程文件目录,运行下面代码安装 Node.js 依赖包。
npm install

2.配置代码

配置index.js脚本文件中下面部分

...
// 调用同传模型,配置参数
new SimultaneousInterpretation({
    model: "<Model>",//替换 <Model> 为模型的 Model ID
    audioFilePath: path.resolve(__dirname, "input/demo.mp3"),//设置音频文件路径
    ffmpegFilePath: path.resolve(__dirname, "output/demo_mp3_ffmpeg.pcm"),//设置pcm文件保存的路径
    translationFilePath: path.resolve(
        __dirname,
        "output/demo_mp3_translation.txt"
    ),//设置翻译脚本保存的文件
    transcriptionFilePath: path.resolve(
        __dirname,
        "output/demo_mp3_transcription.txt"
    ),//设置源语言脚本保存的文件
    sourceLanguage: "zh", // 设置源语言为中文
    targetLanguage: "en", // 设置目标语言为英文
    glossaryList: [
        {
            // 替换为您的翻译术语库,模型翻译时会参考下面的对照关系
            input_audio_transcription: "大模型",
            input_audio_translation: "LLM",
        },
    ],
}).run();

3.运行脚本

运行终端,进入工程文件目录,运行下面命令,执行脚本。

export ARK_API_KEY=<YOUR_ARK_API_KEY>
npm run start

Java

工程文件

ark_clasi_java_beta.zip
未知大小

代码的流程如下,具体的实现参见工程代码中的注释。

  1. 初始化WebSocket客户端。
  2. 连接建立。
  3. 发送音频数据。
  4. 接收服务器消息。
  5. 音频传输完成。
  6. 连接关闭。

1.准备环境

  1. 安装开源视频处理工具 FFmpeg,具体请参见官方网站

示例中使用了FFmpeg来处理音频文件,将音频文件转化为音频元数据。

  1. 参考Java准备 Java 开发环境。
  2. 下载工程文件,运行终端,进入工程文件目录,运行下面命令清理以及安装依赖项。
mvn clean install

2.配置代码

您需要对项目中的SimultaneousInterpretationMain.java文件进行配置:

  • private static final String model = "<Model>";:替换为模型的Model ID,需配置同声传译模型。
  • private static final String filePath = "./input/demo.mp3";:配置您的输入音频。
  • private static final String transcriptionFilePath = "./output/transcription.txt";:音频转录文本的保存路径。
  • private static final String translationFilePath = "./output/translation.txt";:音频翻译文本的保存路径。
  • "source_language", "zh",:替换为您的音频文件的语种。
  • "target_language", "en",:替换为您希望音频翻译成的语种。
  • 替换您的翻译术语库,模型翻译时会参考下面的对照关系,如模型翻译时会将“大模型”翻译为“LLM”。
"input_audio_transcription", "大模型",
"input_audio_translation", "LLM"

3.编译与运行

  1. 打开终端,进入项目文件根目录,执行下面命令来运行 Java 代码。
export ARK_API_KEY=<YOUR_ARK_API_KEY>
mvn exec:java -Dexec.mainClass="com.example.SimultaneousInterpretationMain"

Python

工程文件

ark_clasi_python_beta.zip
未知大小

代码的流程如下,具体的实现参见工程代码中的注释。

  • 建立 WebSocket 连接。
  • 接收服务端返回的数据。
  • 处理关闭连接事件以及异常事件。

1.准备环境

  1. 安装开源视频处理工具 FFmpeg,具体请参见官方网站

示例中使用了FFmpeg来处理音频文件,将音频文件转化为音频元数据。

  1. 参考Python 安装,配置 Python 环境。
  2. 安装 Python 依赖包,下载上面工程文件,解压后,并在终端中执行下面命令。
pip install -r requirements.txt

2.配置代码

下面是 Python 示例代码。您需要进行下面配置:

  • file_path = "./input/demo.mp3":配置为您的输入音频。
  • <Model>:替换为模型的Model ID,需配置同声传译模型。
  • transcription_file_path = "output/transcription.txt":音频转录文本的保存路径。
  • translation_file_path = "output/translation.txt":音频翻译文本的保存路径。
  • "source_language": "zh":替换为您的音频文件的语种。
  • "target_language": "en":替换为您希望音频翻译成的语种。
  • 替换您的翻译术语库,模型翻译时会参考下面的对照关系,如模型翻译时会将“大模型”翻译为“LLM”。
"input_audio_transcription": "大模型",
"input_audio_translation": "LLM",

3.运行脚本

在终端中运行下面命令,运行 Python 脚本。

export ARK_API_KEY=<YOUR_ARK_API_KEY>
python demo.py

正常运行,您会在终端回显中看到转录文本以及翻译文本,在输出目录会生成转录文件和翻译文件。