跳转到主要内容
对话

实时音视频理解

通过 WebSocket 或 WebRTC 接入 Qwen-Omni 系列模型,实现音频和视频的低延迟实时对话。

使用方法

1. 建立连接

Qwen-Omni-Realtime 支持 WebSocket 和 WebRTC 两种协议接入。WebSocket 适合服务端集成和快速接入;WebRTC 适合浏览器端、低延迟语音场景,音频通过 UDP 直接传输,内置回声消除和降噪。
单个 Qwen-Omni-Realtime WebSocket 会话最长持续 120 分钟。超时后服务会自动关闭连接。
  • WebSocket
  • WebRTC
  • 原生 WebSocket 连接
  • DashScope SDK
所需配置项如下:
配置项说明
接入地址wss://dashscope.aliyuncs.com/api-ws/v1/realtime
查询参数查询参数为 model,设置为要访问的模型名称。参见模型选择。示例:?model=qwen3.5-omni-plus-realtime
请求头使用 Bearer Token 认证:Authorization: Bearer $DASHSCOPE_API_KEY。DASHSCOPE_API_KEY 是你在千问云上申请的 API Key
# pip install websocket-client
import json
import websocket
import os

API_KEY=os.getenv("DASHSCOPE_API_KEY")
API_URL = "wss://dashscope.aliyuncs.com/api-ws/v1/realtime?model=qwen3.5-omni-plus-realtime"

headers = [
  "Authorization: Bearer " + API_KEY
]

def on_open(ws):
  print(f"已连接到服务器: {API_URL}")
def on_message(ws, message):
  data = json.loads(message)
  print("收到事件:", json.dumps(data, indent=2))
def on_error(ws, error):
  print("错误:", error)

ws = websocket.WebSocketApp(
  API_URL,
  header=headers,
  on_open=on_open,
  on_message=on_message,
  on_error=on_error
)

ws.run_forever()

2. 配置会话

发送 session.update 客户端事件:
{
  // 事件 ID,由客户端生成
  "event_id": "event_ToPZqeobitzUJnt3QqtWg",
  // 事件类型,固定为 session.update
  "type": "session.update",
  // 会话配置
  "session": {
    // 输出模态。支持 ["text"](仅文本)或 ["text", "audio"](文本和音频)
    "modalities": [
      "text",
      "audio"
    ],
    // 输出音色
    "voice": "Tina",
    // 输入音频格式,仅支持 pcm
    "input_audio_format": "pcm",
    // 输出音频格式,仅支持 pcm
    "output_audio_format": "pcm",
    // 系统消息,用于设置模型的目标或角色
    "instructions": "你是五星级酒店的 AI 客服。请准确、友好地回答客户关于房型、设施、价格和预订政策的问题。始终保持专业和乐于助人的态度。不要提供未经确认的信息或超出酒店服务范围的信息。",
    // 是否启用语音活动检测。启用时传入配置对象,服务端会自动检测说话的开始和结束。
    // 设为 null 则由客户端决定何时触发模型响应
    "turn_detection": {
      // VAD 类型,必须设为 server_vad
      "type": "server_vad",
      // VAD 检测阈值。嘈杂环境调高,安静环境调低
      "threshold": 0.5,
      // 检测说话结束的静默时长(毫秒)。超过此时长将触发模型响应
      "silence_duration_ms": 800
    }
  }
}

3. 输入音频和图像

  • WebSocket
  • WebRTC
客户端通过 input_audio_buffer.appendinput_image_buffer.append 事件,将 Base64 编码的音频和图像数据发送到服务端缓冲区。音频输入为必选,图像输入为可选,可来自本地文件或实时视频流。
启用服务端语音活动检测(VAD)时,服务端会自动提交数据并在检测到说话结束时触发响应。未启用 VAD(手动模式)时,客户端必须调用 input_audio_buffer.commit 事件来提交数据。

4. 接收模型响应

模型响应的格式取决于配置的输出模态。
  • WebSocket
  • WebRTC

快速开始

获取 API Key设置为环境变量
  • DashScope Python SDK
  • DashScope Java SDK
  • WebSocket(Python)
  • WebRTC
准备运行环境Python 版本需为 3.10 或以上。首先根据操作系统安装 PyAudio。
  • macOS
  • Debian/Ubuntu
  • CentOS
  • Windows
brew install portaudio && pip install pyaudio
安装完成后,使用 pip 安装剩余依赖:
pip install websocket-client dashscope
选择交互模式
  • VAD 模式(自动检测说话的开始和结束) 服务端自动判断用户何时开始和停止说话并作出响应。
  • 手动模式(按住说话,松开发送) 由客户端控制说话的开始和结束。用户说完后,客户端需主动向服务端发送消息。
  • VAD 模式
  • 手动模式
新建 Python 文件 vad_dash.py,将以下代码复制到文件中:
# 依赖: dashscope >= 1.23.9, pyaudio
import os
import base64
import time
import pyaudio
from dashscope.audio.qwen_omni import MultiModality, AudioFormat,OmniRealtimeCallback,OmniRealtimeConversation
import dashscope

# 配置参数: 接入地址, API Key, 音色, 模型, 模型角色
url = 'wss://dashscope.aliyuncs.com/api-ws/v1/realtime'
# 配置 API Key。如果未设置环境变量,请将下一行替换为 dashscope.api_key = "sk-xxx"
dashscope.api_key = os.getenv('DASHSCOPE_API_KEY')
# 指定音色
voice = 'Tina'
# 指定模型
model = 'qwen3.5-omni-plus-realtime'
# 指定模型角色
instructions = "你是小云,一个私人助手。请用幽默风趣的方式回答用户的问题。"
class SimpleCallback(OmniRealtimeCallback):
  def __init__(self, pya):
    self.pya = pya
    self.out = None
  def on_open(self):
    # 初始化音频输出
    self.out = self.pya.open(
      format=pyaudio.paInt16,
      channels=1,
      rate=24000,
      output=True
    )
  def on_event(self, response):
    if response['type'] == 'response.audio.delta':
      # 播放音频
      self.out.write(base64.b64decode(response['delta']))
    elif response['type'] == 'conversation.item.input_audio_transcription.delta':
      # 流式预览:text为已确认前缀,stash为待确认后缀
      preview = response.get('text', '') + response.get('stash', '')
      print(f"\r[用户] {preview}", end='', flush=True)
    elif response['type'] == 'conversation.item.input_audio_transcription.completed':
      # 转录完成,打印最终文本并换行
      print(f"\r[用户] {response['transcript']}")
    elif response['type'] == 'response.audio_transcript.done':
      # 打印模型回复的文本
      print(f"[模型] {response['transcript']}")

# 1. 初始化音频设备
pya = pyaudio.PyAudio()
# 2. 创建回调函数和会话
callback = SimpleCallback(pya)
conv = OmniRealtimeConversation(model=model, callback=callback, url=url)
# 3. 建立连接并配置会话
conv.connect()
conv.update_session(output_modalities=[MultiModality.AUDIO, MultiModality.TEXT], voice=voice, instructions=instructions)
# 4. 初始化音频输入
mic = pya.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True)
# 5. 主循环处理音频输入
print("会话已启动。对着麦克风说话(按 Ctrl+C 退出)...")
try:
  while True:
    audio_data = mic.read(3200, exception_on_overflow=False)
    conv.append_audio(base64.b64encode(audio_data).decode())
    time.sleep(0.01)
except KeyboardInterrupt:
  # 清理资源
  conv.close()
  mic.close()
  callback.out.close()
  pya.terminate()
  print("\n会话已结束")
运行 vad_dash.py,即可通过麦克风与 Qwen-Omni-Realtime 进行实时对话。系统会自动检测说话的开始和结束并发送到服务端,无需手动操作。
GitHub 示例代码从 GitHub 下载完整示例代码,包括:
  1. 音频对话:通过麦克风捕获实时音频,VAD 模式(enable_turn_detection = True),支持语音打断。
  2. 音视频对话:通过麦克风和摄像头捕获实时音频和视频,VAD 模式,支持语音打断。
  3. 本地调用:使用本地音频和图像作为输入,手动模式(enable_turn_detection = False)。
请使用耳机进行音频播放,避免回声触发语音打断。

交互流程

  • VAD 模式
  • 手动模式
session.update 事件中将 session.turn_detection.type 设为 "server_vad""semantic_vad" 即可启用 VAD 模式。适用于语音通话场景。WebSocket 和 WebRTC 均支持 VAD 模式,两者的服务端事件一致,区别在于音频和图片的传输方式不同。
WebRTC 仅支持 VAD 模式,不支持 Manual 模式。WebRTC 的音频通过 RTP 直接传输,无需发送 input_audio_buffer.append 事件;图片通过视频轨道传输,不支持 input_image_buffer.append 事件。控制指令和服务端事件通过 DataChannel 传输,事件类型与 WebSocket 一致。
交互流程如下:
  1. 客户端发送音频数据。WebSocket 通过 input_audio_buffer.append 事件发送;WebRTC 通过音频轨道(RTP)自动传输,无需手动发送事件。
  2. 服务端检测到语音开始,通过 DataChannel(WebRTC)或 WebSocket 发送 input_audio_buffer.speech_started 事件。
  3. 服务端检测到语音结束,发送 input_audio_buffer.speech_stopped 事件。
  4. 服务端自动提交音频缓冲区,发送 input_audio_buffer.committed 事件。
  5. 服务端开始生成响应,依次发送 response.createdconversation.item.created 等事件。模型的音频回复通过 WebSocket 的 response.audio.delta 事件增量返回,或通过 WebRTC 的音频轨道(RTP)直接传输。
  6. 响应过程中,服务端通过 response.audio_transcript.delta 事件增量返回文字转录,最终发送 response.done 事件标志响应完成。
生命周期客户端事件服务端事件
会话初始化session.update - 会话配置session.created - 会话已创建。session.updated - 会话配置已更新
用户音频输入WebSocket:input_audio_buffer.append - 将音频追加到缓冲区。input_image_buffer.append - 将图像追加到缓冲区。WebRTC:音频通过 RTP 音频轨道自动传输,图片通过视频轨道传输,无需发送上述事件。input_audio_buffer.speech_started - 检测到语音开始。input_audio_buffer.speech_stopped - 检测到语音结束。input_audio_buffer.committed - 服务端已收到提交的音频
服务端音频输出response.created - 服务端开始生成响应。conversation.item.created - 对话项已创建。response.audio_transcript.delta - 增量生成的转写文本。WebSocket:response.audio.delta - 模型增量生成的音频。WebRTC:音频通过 RTP 音频轨道直接传输,不返回此事件。response.audio_transcript.done - 文本转写完成。response.audio.done - 音频生成完成。response.done - 响应完成。conversation.item.input_audio_transcription.delta - 用户语音输入的文字流式转录(需在 session.update 中启用 input_audio_transcription)。conversation.item.input_audio_transcription.completed - 用户语音输入的文字转录完成(需在 session.update 中启用 input_audio_transcription)

联网搜索

联网搜索功能允许模型使用实时检索到的信息进行回复,适用于需要最新信息的场景,如股票价格、天气预报等。模型会自主决定是否进行联网搜索。
Qwen3.5-Omni-Plus-Realtime 模型支持联网搜索。默认情况下该功能处于关闭状态,需要通过 session.update 事件开启。有关计费详情,请参阅计费说明agent 策略的说明。

如何开启

session.update 事件中,增加以下参数:
  • enable_search:设为 true 以开启联网搜索。
  • search_options.enable_source:设为 true 以返回搜索结果来源列表。
完整参数说明请参阅 session.update

响应格式

开启联网搜索后,response.done 事件的 usage 对象中新增 plugins 字段,用于记录搜索使用量:
{
  "usage": {
    "total_tokens": 2937,
    "input_tokens": 2554,
    "output_tokens": 383,
    "input_tokens_details": {
      "text_tokens": 2512,
      "audio_tokens": 42
    },
    "output_tokens_details": {
      "text_tokens": 90,
      "audio_tokens": 293
    },
    "plugins": {
      "search": {
        "count": 1,
        "strategy": "agent"
      }
    }
  }
}

代码示例

以下示例展示如何开启联网搜索功能。
  • DashScope Python SDK
  • DashScope Java SDK
  • WebSocket(Python)
update_session 调用中传入 enable_searchsearch_options 参数:
import os
import base64
import time
import json
import pyaudio
from dashscope.audio.qwen_omni import MultiModality, AudioFormat, OmniRealtimeCallback, OmniRealtimeConversation
import dashscope

dashscope.api_key = os.getenv('DASHSCOPE_API_KEY')
url = 'wss://dashscope.aliyuncs.com/api-ws/v1/realtime'
model = 'qwen3.5-omni-plus-realtime'
voice = 'Tina'

class SearchCallback(OmniRealtimeCallback):
  def __init__(self, pya):
    self.pya = pya
    self.out = None
  def on_open(self):
    self.out = self.pya.open(format=pyaudio.paInt16, channels=1, rate=24000, output=True)
  def on_event(self, response):
    if response['type'] == 'response.audio.delta':
      self.out.write(base64.b64decode(response['delta']))
    elif response['type'] == 'conversation.item.input_audio_transcription.delta':
      preview = response.get('text', '') + response.get('stash', '')
      print(f"\r[用户] {preview}", end='', flush=True)
    elif response['type'] == 'conversation.item.input_audio_transcription.completed':
      print(f"\r[用户] {response['transcript']}")
    elif response['type'] == 'response.audio_transcript.done':
      print(f"[模型] {response['transcript']}")
    elif response['type'] == 'response.done':
      usage = response.get('response', {}).get('usage', {})
      plugins = usage.get('plugins', {})
      if plugins.get('search'):
        print(f"[搜索] count={plugins['search']['count']}, strategy={plugins['search']['strategy']}")

pya = pyaudio.PyAudio()
callback = SearchCallback(pya)
conv = OmniRealtimeConversation(model=model, callback=callback, url=url)
conv.connect()
conv.update_session(
  output_modalities=[MultiModality.AUDIO, MultiModality.TEXT],
  voice=voice,
  instructions="你是小云,一个私人助手",
  enable_search=True,
  search_options={'enable_source': True}
)
mic = pya.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True)
print("联网搜索已开启。对着麦克风说话(按 Ctrl+C 退出)...")
try:
  while True:
    audio_data = mic.read(3200, exception_on_overflow=False)
    conv.append_audio(base64.b64encode(audio_data).decode())
    time.sleep(0.01)
except KeyboardInterrupt:
  conv.close()
  mic.close()
  callback.out.close()
  pya.terminate()
  print("\n对话已结束")

计费与限流

计费规则

Qwen-Omni-Realtime 按不同输入模态(如音频和图像)消耗的 Token 数量计费。有关计费的详细信息,请参阅计费说明
  • 音频
  • 图片
  • Qwen3.5-Omni-Realtime:输入音频总 Token 数 = 音频时长(秒)x 7;输出音频总 Token 数 = 音频时长(秒)x 12.5
  • Qwen3-Omni-Flash-Realtime:输入与输出音频的总 Token 数 = 音频时长(秒)x 12.5
  • Qwen-Omni-Turbo-Realtime:输入与输出音频的总 Token 数 = 音频时长(秒)x 25
若音频时长不足 1 秒,按 1 秒计算。

限流

有关模型限流规则的详细信息,请参阅限流说明

常见问题

怎么向模型输入图片?

A:输入方式取决于接入协议。 WebSocket:通过客户端发送 input_image_buffer.append 事件。
  • VAD 模式:该模式会根据语音检测情况自动提交音频与图片,请在服务端响应前发送 input_image_buffer.append 事件。
  • Manual 模式:参见快速开始中的手动模式代码,将图片输入与提交的两部分代码取消注释,即可传入本地图片。
WebRTC:通过视频轨道(RTP)发送画面帧,无需发送 input_image_buffer.append 事件。 若用于视频通话场景,可以对视频抽帧,建议以 1张/秒 的频率向服务端发送图像。DashScope SDK 代码请参见 Omni-Realtime 示例代码

错误码

调用失败时,请参阅错误信息

音色列表

将请求参数 voice 设置为voice 参数列中的值。
  • qwen3.5-omni-plus-realtime 模型
  • qwen3-omni-flash-realtime-2025-12-01 模型
  • qwen3-omni-flash-realtime / qwen3-omni-flash-realtime-2025-09-15 模型
  • Qwen-Omni-Turbo-Realtime 模型
音色名称voice 参数音色试听描述支持语言
TinaTina像暖奶茶一样的声音,甜而绵软,解决问题时又十分犀利中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
CindyCindy甜言蜜语的台湾小女生中文(台湾腔)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
Liora MiraLiora Mira用温柔将日常温暖编织的声音中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
SunnybobiSunnybobi开朗又有些社恐的邻家女孩中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
RaymondRaymond声音清澈、爱吃外卖的宅男中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
EthanEthan标准的普通话略带北方口音,明亮、温暖、充满活力和少年感中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
Theo CalmTheo Calm在沉默中表达理解,用语言进行治愈中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
SerenaSerena温柔的小女生中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
HarveyHarvey带着岁月沉淀感的嗓音,低沉醇厚,弥漫着咖啡与旧书页的气息中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
MaiaMaia知性与温柔的融合中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
EvanEvan大学生——青春可人中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
QiaoQiao不只是可爱——表面甜美,内在充满个性中文(台湾腔)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
MomoMomo调皮捣蛋,专门来逗你开心的中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
WilWil说话带有港台腔的深圳小伙子中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
AngelAngel带点台湾腔,而且特别甜中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
Li CassianLi Cassian说话克制,三分留白,七分看眼色中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
MiaMia生活艺术家,用舒缓的声音分享慢生活美学与日常的舒适中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
JoynerJoyner搞笑、夸张、接地气中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
GoldGold美国西海岸黑人说唱歌手中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
KaterinaKaterina成熟御姐音,节奏感和共鸣感十足中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
RyanRyan节奏紧凑,充满戏剧张力,真实与张力并存中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
JenniferJennifer电影级质感的高级美式女声中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
AidenAiden擅长烹饪的美式青年中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
MioneMione成熟知性的英国邻家女孩中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
四川 - SunnySunny甜系四川女孩,暖到你心窝中文(四川话)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
北京 - DylanDylan北京胡同里长大的小爷中文(北京话)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
四川 - EricEric四川成都的耙耳朵中文(四川话)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
天津 - PeterPeter天津范儿相声演员,专业捧哏中文(天津话)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
Joseph ChenJoseph Chen久居东南亚的华侨,温暖而怀旧的声音中文(闽南话)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
陕西 - MarcusMarcus脸宽话少心眼实,嗓子低沉——最地道的陕西味中文(陕西话)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
南京 - LiLi脾气暴躁的舅舅中文(南京话)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
粤语 - RockyRocky风趣幽默的线上聊天搭子中文(粤语)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
SoheeSohee温暖开朗、充满情感的韩国欧尼中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
LennLenn理性内核,叛逆细节——穿西装听朋克后摇的德国青年中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
Ono AnnaOno Anna古灵精怪的青梅竹马中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
SonrisaSonrisa温暖外向的拉美女性中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
BodegaBodega热情温暖的西班牙男士中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
EmilienEmilien浪漫的法国大哥哥中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
AndreAndre充满磁性、自然且沉稳的男声中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
Radio GolRadio Gol充满激情的足球解说员,用诗意的方式解说比赛中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
AlekAlek冷如俄罗斯灵魂,暖如大衣毛衬中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
RizkyRizky声音辨识度高的印尼青年中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
RoyaRoya热爱运动的自由女孩中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
ArdaArda不高不低——干净、清脆、微暖中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
HanaHana爱狗的成熟越南女性中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
DolceDolce慵懒的意大利男士中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
JakubJakub有魅力的波兰小镇文艺青年中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
GrietGriet成熟有艺术感的荷兰女性中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
EliskaEliska每个词都带着中欧的手工艺感和温暖中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
MarinaMarina在多元文化城市长大的女孩中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
SiiriSiiri克制而柔和——说话节奏像平静的湖面中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
IngridIngrid来自挪威乡村的女性中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
SiggaSigga冰岛小镇走出的知性女生中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
BeaBea爱喝咖啡的甜美菲律宾女性中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
ChloeChloe马来西亚上班族中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
CherryCherry阳光、积极、友好、自然的小女生中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
ChelsieChelsie二次元虚拟女友中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文
粤语 - KikiKiki甜甜的香港闺蜜型女孩中文(粤语)、中文、英文、法文、德文、俄文、意大利文、西班牙文、葡萄牙文、日文、韩文、泰文、印尼文、阿拉伯文、越南文、土耳其文、芬兰文、波兰文、印地文、荷兰文、捷克文、乌尔都文、塔加洛文、瑞典文、丹麦文、希伯来文、冰岛文、马来文、挪威文、波斯文