1. 这页应该怎么读
它像什么
它更像轻量 GDD / Game Director Brief:给项目负责人、接手者、开发者建立整体把控。这是长期页面类型,但不是固定死的模板。
它不像什么
它不是 Discussion 摘要,不是一条条评论拼接,也不是 Cursor 执行 issue。
2. 项目快照
VRsoundscape 是一个 Pico / Unity VR 原型:用户在 VR 空间中通过语音或手动控制,让 AI 帮自己生成、摆放和调整一个空间声景。
一句话产品
一个 AI-first、但保留人类校正权的 VR 声景创作工具。
当前毕业设计切片
先做一块 Beach Sound Stage:能听、能看、能调、能验证。
长线方向
未来可扩展到 AI 创造和运营一个世界,但 GSA 当前不做完整世界演化。
3. 体验承诺
用户不需要先学习专业音频软件,也不需要手动指定每个声音文件和精确位置。理想体验是:用户表达意图,AI 生成一个可听的草稿;用户再观察、微调、接受或纠正。
| 用户说/做 | 系统应该理解 | 用户应该看到或听到 |
|---|---|---|
| “我想要一个悠闲的海边声景。” | 生成 relaxed beach 的 SoundscapeDraft,包含 bed/spot 声音层次。 |
海浪、风、海鸥、脚步、船声被放进可理解的空间位置。 |
| “再舒服一点,海鸥不要太近。” | 把自然语言转成可验证的 WorldCommand 调整。 |
海鸥位置或音量改变,Conversation Panel 显示 AI 理解和执行状态。 |
| 手动微调一个声音对象。 | 这是人类校正,不是失败;它应成为反馈数据。 | 系统记录 AI 做了什么、人改了什么、最后接受了什么。 |
4. 当前 GSA v6 目标
当前版本不是重新发明项目,而是把第一块 AI 可操作的 Beach Sound Stage 规划成可以交给 Cursor 分批实现的 GitHub Issue 执行面。
为什么先做 Beach
Beach 是第一块资源密度高的地块:它可以测试空间音频、环境 bed、spot 声源、移动声音、AI 意图理解、用户校正和 Pico 设备验证。
为什么先验证语音
VR 中打字不自然。AI-first 的入口必须尽早确认 PICO ASR / typed fallback / Conversation Panel 这条输入链能成立。
5. 核心系统模型
这个项目不是简单播放音频,而是把声音当成 VR 世界中的可操作对象。下面这些对象构成当前地基。
| 对象/系统 | 它负责什么 | 为什么重要 |
|---|---|---|
| Agent | 拥有、调度和激活 Items 的单位。 | 让声音不是散落文件,而是有归属和操作上下文。 |
| Audio Item | 一个音频材料或音频行为单元。 | 脚步声、海浪、海鸥等都先成为可管理的 Item。 |
| Audio Skill / Playback Pattern | 描述一个 Audio Item 如何播放:轮播、顺序、循环、淡入淡出、延迟触发或组合多个 clip。 | 避免为了表达“5 个声音依次播放”而创建 5 个 Agent 或依赖复杂 Connection UI。 |
| Backpack | Global Backpack 存材料,Agent Backpack 表示 Agent 拥有哪些 Item。 | 让“资源库”和“当前角色/Agent 拥有物”分开。 |
| SpatialInstance / Emitter | 部署到空间中的声音对象。 | 把“音频文件”变成“世界里的声源”。 |
| WorldCommand / WorldEvent | 人、AI、测试都通过同一套命令和事件改变世界。 | 避免 UI、AI、测试各走一套逻辑。 |
| SoundscapeDraft | AI 根据用户意图生成的声景草稿。 | AI 不直接变成黑箱执行者,而先产出可审查方案。 |
| Conversation Panel | 显示语音识别、AI 理解、执行状态和错误。 | 让 VR 中的 AI 操作可见、可确认、可 debug。 |
| Soundscape Console | 显示状态,支持观察、微调、Recall / Undo。 | 保留人的控制权,并收集校正数据。 |
6. 第一块地的核心流程
SoundscapeDraft,解释它准备放哪些声音。WorldCommand,不能执行的地方给出 blocker。7. 当前范围与长期地平线
当前要搭出的地基
Unity project root PICO / OpenXR / Android Steam Audio PICO ASR / typed fallback Conversation Panel Agent / Audio Item / Backpack SpatialInstance / Emitter WorldCommand / WorldEvent SoundscapeDraft Manual Correction Feedback Ledger
当前不进入实现
- Connection 当前不进入实现,避免过早变成连线/节点编辑器。
- 顺序播放、轮播、延迟触发、淡入淡出优先用 Audio Skill / Playback Pattern / Cue Sequence / Activation Pattern 表达。
- Record 没有被砍;它保留为 scene-state expression / later batch 能力,但不进入第一批平台与输入验证。
- Home Before Leaving、三场景架构、电影/IP 管线后移。
- 完整 AI 生物体、世界演化、灾难/文明系统不属于 GSA 当前阶段。
- 真实 AI provider、FMOD、Wwise 不作为当前硬依赖。
8. 这版从哪里生成出来
这页不是从最新几条讨论直接拼出来的。V6 的来源更像重新写一份项目 brief:把 GDD、M1、前几版 issue 规划、prototype 证据和 Discussion 反馈作为 raw material,再合成当前版本。
| 材料来源 | 进入当前版本的作用 |
|---|---|
| GDD / M1 spec | 定义项目基础:VR-native spatial soundscape、Agent-owned Item、Beach first playable、Console、Live、Recall / Undo。 |
| Desktop Projection / Spatial Greybox Prototype | 提供面板、Console、World Sand Table、Backpack、空间放置和可读状态的交互参考。 |
| GSA v2-v5 规划 | 保留 AI-first、manual correction、feedback ledger、36 issue breadth、batch model,同时避免 9 issue 过度压缩和 delta-only 更新。 |
| 当前截图提醒的架构点 | 保留 File -> Audio Item -> Audio Skill / Playback Pattern -> SpatialInstance -> Agent -> AI 的链路;Connection 降级为后续可视化关系,不承载当前轻量播放关系;Record 保留为后续 scene-state 能力。 |
| Discussion #75 | 修正当前理解:页面要像项目 brief,不是讨论摘要;Issue 要能交给 Cursor 批次执行;Ready 是 batch,不是整个项目。 |
9. 制作计划如何落到 GitHub Issues
V6 仍保留 36 条 issue 候选,因为当前没有真实实现证据证明可以安全合并。Issue 的作用是让 Cursor 或开发者按批次实现,而不是让一个大 issue 承担整个项目。
| Batch | 目标 | 通过信号 |
|---|---|---|
| Batch 1 | 范围、Unity、PICO、Steam Audio、ASR、Conversation Panel。 | 平台和输入链可用,或 blocker 被明确记录。 |
| Batch 2 | Beach scene carrier、对象模型、命令边界、状态读取。 | 世界状态可被命令驱动和检查。 |
| Batch 3-4 | 手动 Audio Item loop、Console、Live、Recall / Undo。 | 用户能看见并纠正基础声源状态。 |
| Batch 5-7 | AI draft pipeline、人工校正、反馈数据、音频行为和 Beach 丰富度。 | 高层意图能生成可执行声景草稿,并能被人修正。 |
| Batch 8-9 | first playable integration、Pico/APK 验证、审阅和交付证据。 | 可测试或有明确 blocker 的 first playable。 |
10. 这次需要你确认什么
你不是在确认项目已经完成,而是在确认这个 GSA v6 项目简报和 Issue 生成源是否足够清楚,可以进入 live GitHub issue projection。
- 这个页面是否已经像项目接手简报,而不是 Discussion 拼接版。
- 你是否能通过这页大概理解项目:产品、体验、系统、当前切片、长期边界。
- AI-first Beach Sound Stage 是否仍然是当前正确的第一块地。
- 当前砍掉或后移 Connection 主动实现,但保留 Record 作为后续 scene-state 能力;这个边界是否符合 GSA 当前阶段。
- Batch 1 先做范围、Unity、PICO、Steam Audio、ASR、Conversation Panel,是否符合风险顺序。
- 如果确认,是否允许下一步关闭 V5 issue set 为
projection:superseded,创建 GSA6 issues,并只准备 Batch 1。