feat(desktop): 生成过程中播放 Token 驱动的背景音乐#4175
Conversation
Plays ambient musical notes in real-time as AI tokens arrive. Token rate naturally reflects generation speed — faster output = denser notes. Includes 4 sound presets (classic/ethereal/digital/retro) in settings panel. Default: ethereal (sine wave, gentle reverb).
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6cfb0b6a17
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
你这东西要上了嘛哈哈哈哈哈😂 |
|
评审了一轮,整体实现比较集中,build 和现有前端测试都能过。不过有一个交互边界建议修一下:
相关位置:
建议在设置变更时直接同步 engine,比如 另外确认一下产品预期:目前无历史设置时默认是 我本地验证过:
|
|
补充一下默认值要求:生成音乐需要默认关闭,不能在升级或首次启动后自动播放。请把无历史设置时的默认值改成 |
- 默认值从 ethereal 改为 off,避免升级后突然出声 - 设置中切到关闭时立即 stop() 引擎 - 切到非关闭预设时即时 start()/setPreset(),不用等下一轮生成
参考 notification-sound PR (esengine#4176) 的 SoundSelect 样式, 将原生 <select> 替换为 AnchoredPopover + trigger 按钮 + 勾选图标的自定义下拉组件。
…ve-music-lifecycle # Conflicts: # desktop/frontend/src/App.tsx # desktop/frontend/src/components/SettingsPanel.tsx # desktop/frontend/src/styles.css
|
approve |
|
I rebased this onto current |
Pull request was closed

背景
AI 生成过程通常是一个静默等待的状态——用户在屏幕前看着文本逐字出现,缺少听觉上的反馈。这让等待显得漫长而枯燥,也削弱了「正在工作」的沉浸感。
设计思路
借鉴生成式音乐(Generative Music)的理念,将 AI 的 token 输出流实时映射为音符:
新增配置
设置面板 → 通用 → 生成式背景音乐
改动文件
6 个文件,+432 行:
desktop/frontend/src/lib/generative-music.ts— 音乐引擎(信号链、ADSR、混响)desktop/frontend/src/App.tsx— 接入 state.running + token 事件desktop/frontend/src/components/SettingsPanel.tsx— 设置面板 UIdesktop/frontend/src/locales/{en,zh}.ts— 国际化desktop/frontend/src/styles.css— 设置行样式