Skip to content

Repository files navigation

EchoWorld · 视听世界模型推理与实时交互平台

京东 JoyAI-EchoWM 的「统一相机意图 + 同框架视听生成」范式,做成一个可直接运行、 可配置、可扩展的开源工具。

Python License numpy


一、这是什么

2026-09-11,京东探索研究院在 JDD 大会开源 JoyAI-EchoWM —— 一个「视听世界模型」: 在同一个框架内同时生成视频、环境音、音乐与语音,并实时响应用户操作。它的核心创新是 把键盘/手柄操作抽象为统一的「相机意图(Camera-Intent)」表示,映射成连续 6-DoF 轨迹, 让第一人称与第三人称共用同一套控制接口。在 158 个 WBench Navigation 案例上,它拿到 81.7 的平均分(一致性 89.8 / 交互性 87.2)。

EchoWorld 把这一范式的完整骨架工程化落地:

  • 统一视听世界模型:一个内核同时产出视频帧 + 环境音 + 音乐 + 语音;
  • 相机意图 → 6-DoF 轨迹:四元数/SE(3) 位姿、Catmull-Rom 平滑、第一/第三人称统一接口;
  • 实时交互闭环:输入操作 → 更新位姿 → 生成视听 → 输出,逐步流式;
  • 视听记忆:关键帧 + 音频指纹,缓解长时生成漂移;
  • WBench 风格评测:一致性 / 交互性 / 连贯性三项指标;
  • 确定性可运行内核:程序化场景渲染 + DSP 音频合成,纯 numpy + 标准库,装好即跑;
  • 真实权重接入接口load_checkpoint / save_checkpoint 预留,可直接替换内核。

二、核心原理(EchoWM)

2.1 统一相机意图(Camera-Intent)

传统世界模型把「第一人称」和「第三人称」拆成两套控制。EchoWM 用一个统一表示消灭这种分裂:

键盘/文本/JSON 操作  ──▶  相机意图序列  ──▶  连续 6-DoF 轨迹  ──▶  视听生成

W/A/S/D/空格/C/方向键/Q/E 等离散操作被解析成 CameraIntent(动作 + 幅度 + 时长), 再由 TrajectoryGenerator 插值为平滑位姿序列(平移 Catmull-Rom + 旋转四元数 slerp)。

2.2 6-DoF 位姿

Pose(position, Quaternion) 表示刚体在 SE(3) 上的位姿,6 个自由度:平移 x/y/z + 旋转 roll/pitch/yaw。本仓库提供完整的四元数运算(乘法/共轭/求逆/球面插值/欧拉角互转) 与位姿合成/求逆/插值,全部 numpy 实现。

2.3 同框架视听生成

                    ┌─▶ 视觉:程序化场景 → 射线求交 → Lambert 着色 → RGB 帧
  位姿 + 场景 ──────┤
                    └─▶ 听觉:环境音(1/f 噪声合成) + 音乐(和弦/旋律) + 语音(共振峰)
                                ↓
                            混音器 Mixer → 连续音轨

2.4 视听记忆(抗漂移)

EchoWM 尚无显式持久三维记忆、长时生成会漂移。EchoWorld 用 AVMemory 缓存关键帧与 音频指纹,长时生成时按步就近召回关键帧做一致性锚定。


三、快速开始

3.1 安装

# 仅核心(零服务依赖,最快)
pip install numpy

# 或完整安装(含 FastAPI 服务)
pip install -e .

3.2 三秒自检

python -m echoworld.cli.main doctor

输出应包含 ALL CHECKS PASSED

3.3 生成一帧 + 音频

python -m echoworld.cli.main generate --text "你好,欢迎来到回声世界" --scene corridor --out out
# → out/frame.png  +  out/audio.wav

3.4 实时交互闭环

python -m echoworld.cli.main interact --text "前进, 左转, 前进, 抬头"

3.5 生成 6-DoF 轨迹

python -m echoworld.cli.main trajectory --text "前进, 左转, 前进, 右转, 停止"

3.6 跑 WBench 评测

python -m echoworld.cli.main eval

3.7 启动服务

pip install ".[serve]"
python -m echoworld.cli.main serve --port 8000
# http://127.0.0.1:8000/health
# http://127.0.0.1:8000/docs

四、配置

配置为 JSON(echoworld/configs/default.json),可用 echoworld.config.load_config 加载:

默认 说明
camera.width/height 320/240 渲染分辨率
camera.fov_deg 60 视场角
audio.sample_rate 22050 音频采样率
audio.ambience forest 环境音(wind/rain/forest/city/ocean/cave/fire)
audio.music_enabled true 是否叠加音乐
audio.speech_enabled true 是否合成语音
world.scene corridor 场景(corridor/outdoor)
world.first_person true 第一/第三人称

五、REST API

方法 路径 说明
GET /health 健康检查 + 模型信息
POST /generate 生成单帧视听
POST /interact 交互闭环
POST /eval WBench 评测
GET /models 模型卡列表
WS /ws WebSocket 实时交互

六、目录结构

echoworld/
├── echoworld/
│   ├── core/          # 6-DoF 相机/位姿/四元数/轨迹/意图/世界状态
│   ├── audio/         # 环境音/音乐/语音/混响/空间音频 DSP
│   ├── vision/        # 程序化场景/渲染/帧编码(PNG)
│   ├── world/         # 统一视听世界模型/生成器/交互/记忆
│   ├── eval/          # WBench 评测 + 指标
│   ├── serving/       # FastAPI + WebSocket
│   ├── cli/           # 命令行
│   ├── models/        # 模型卡 (JSON)
│   └── configs/       # 默认配置
├── tests/             # 单元测试
├── examples/          # 示例脚本
├── docs/              # 文档
├── k8s/               # Kubernetes 部署
├── Dockerfile
├── pyproject.toml
└── requirements.txt

七、License

Apache-2.0。热点背景中的 EchoWM 商标/权重归京东探索研究院所有,本仓库仅复现其方法范式。

About

Audio-visual world model inference & real-time interaction platform (unified camera-intent + 6-DoF + same-framework AV generation)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages