Add formal enemies, remaining formal partners and synthesized UI SFX
- UI SFX v3: procedurally synthesized one-shots (Tools/synth_ui_sfx.py) wired to buttons, rewards, errors and red dots via UiSfx, gated by the SFX setting. - Five formal enemies (Hornlet, Dashlet, Shellhorn, HornCaptain, GreatHorn): Hunyuan 50k -> 2000-tri XPbr, DGXA TokenRig, Idle/Walk/Attack, nested per type in PrototypeArena; PrototypeBattle.Enemy gains presentation-only Moving/Strikes. - Formal partners for all ten pets in the arena and portraits, including new VineSprite, ThunderLeopard and TideWhale. - Pipeline fixes: reject local TokenRig fallback, drop loose mesh islands, configurable Unity run_script timeout, companion static stage. - Also includes concurrent work from another tool in this working tree (FlameLion, enemy combat FX, challenge mode, home explorer, server updates). - Resources registered in Doc/ResDesc_*.md; verified on isolated :18081. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# UI 音效批次 v1
|
||||
|
||||
2026-10-20,按 `D:/UD/AI/XModel/TangoFlux_AI调用指南.md` 调用本机 `TangoFluxService`(`http://127.0.0.1:8012`)生成。风格贴近《微风小镇》菜单氛围:轻柔木感/糖果感 UI,短促、无音乐、无人声。
|
||||
|
||||
## 清单(10 条)
|
||||
|
||||
| 地址 | 用途 | 时长 | 种子 |
|
||||
| --- | --- | --- | --- |
|
||||
| `Ui_Click` | 通用按钮点击 | 1.5s | 41001 |
|
||||
| `Ui_Confirm` | 确认 / 正向操作 | 2.0s | 41002 |
|
||||
| `Ui_Back` | 返回 / 取消 | 1.5s | 41003 |
|
||||
| `Ui_Open` | 打开面板 | 2.0s | 41004 |
|
||||
| `Ui_Close` | 关闭面板 | 1.5s | 41005 |
|
||||
| `Ui_Tab` | 页签切换 | 1.5s | 41006 |
|
||||
| `Ui_Claim` | 领奖 / 领取附件 | 2.5s | 41007 |
|
||||
| `Ui_Deny` | 拒绝 / 余额不足等 | 1.5s | 41008 |
|
||||
| `Ui_Toggle` | 设置开关 | 1.5s | 41009 |
|
||||
| `Ui_Notify` | 红点 / 通知提示 | 2.0s | 41010 |
|
||||
|
||||
## 生成参数
|
||||
|
||||
- 模型:`declare-lab/TangoFlux` + 本地 `flan-t5-large`
|
||||
- `steps=50`,`guidance_scale=4.5`
|
||||
- 输出:44.1 kHz 立体声 WAV
|
||||
- 清单:`manifest.json`;任务回执:`Tools/output/ui_sfx_v1/` 与 `generation.json`
|
||||
- 入口脚本:`python Tools/generate_ui_sfx.py`
|
||||
|
||||
## 工程路径
|
||||
|
||||
- Bundle:`AIClient/Assets/Bundles/Sound/SFX/UI/{Id}.wav`
|
||||
- 收集:Art / Sound,`AddressByFileName`,`PackSeparately`
|
||||
- Unity 导入回执:`unity_validation.json`(10 条、44100 Hz 立体声、DecompressOnLoad/PCM;Art/Sound 已收集)。
|
||||
- v1 只入库与登记,未接入运行时播放;2026-10-21 已由下文 v2 替换同名 WAV 并接入运行时。
|
||||
- 许可:TangoFlux 权重为非商业研究用途,商用前须核对上游许可。
|
||||
|
||||
|
||||
## v2 一次性短音效与运行时接入(2026-10-21)
|
||||
|
||||
v1 的 10 条里有 9 条从头响到尾,持续 1.5~2.5 秒;`Ui_Open` 前 1.36 秒为静音,不适合作为按钮音。v2 改用"单发后静音"的提示词,每条以服务允许的最短时长 1 秒、4 个种子(52001~52004)生成候选。候选经 `Tools/generate_ui_sfx_v2.py` 后处理:去掉开头静音、截到目标长度、加 2ms 淡入和尾部 40% 平方淡出、归一化峰值。自动选择取目标窗口内能量占比最高、起音最快的候选,原始峰值低于 0.1 的视为噪声并淘汰(这条规则排除了 Notify 原先选中的 52002)。清单为 `manifest_v2.json`,选择结果与全部候选指标见 `generation_v2.json`。
|
||||
|
||||
| 地址 | 目标时长 | 峰值 | 选用种子 |
|
||||
| --- | --- | --- | --- |
|
||||
| `Ui_Click` | 0.15s | -6 dBFS | 52002 |
|
||||
| `Ui_Confirm` | 0.45s | -4 dBFS | 52001 |
|
||||
| `Ui_Back` | 0.22s | -6 dBFS | 52002 |
|
||||
| `Ui_Open` | 0.35s | -6 dBFS | 52002 |
|
||||
| `Ui_Close` | 0.28s | -7 dBFS | 52002 |
|
||||
| `Ui_Tab` | 0.12s | -7 dBFS | 52001 |
|
||||
| `Ui_Claim` | 0.8s | -3 dBFS | 52001 |
|
||||
| `Ui_Deny` | 0.3s | -6 dBFS | 52002 |
|
||||
| `Ui_Toggle` | 0.14s | -7 dBFS | 52001 |
|
||||
| `Ui_Notify` | 0.5s | -6 dBFS | 52004 |
|
||||
|
||||
候选的原始音频和处理后版本在 `Tools/output/ui_sfx_v2/raw|trimmed/`。如需改用其他候选,执行 `python Tools/generate_ui_sfx_v2.py --process --pick Ui_Click=52003`,再用 Pipeline 运行 `BuildUiSfx.Build`。自动选择只依据波形指标,**听感仍需人工试听确认**。v1 原始文件保留在 `Tools/output/ui_sfx_v1/`。
|
||||
|
||||
运行时:`UiSfx.prefab`(`Assets/Bundles/Sound/Prefab/`,Art/Sound,地址 `UiSfx`)带一个 2D AudioSource(volume 0.8),并按 `UiSound` 枚举顺序引用 10 个 Clip,由 `GameplayBootstrap` 与主界面音乐一同加载。播放受设置里的"音效"开关控制,与音乐开关互不影响;同一音效 60ms 内的重复请求会被忽略。
|
||||
|
||||
| 地址 | 触发 |
|
||||
| --- | --- |
|
||||
| `Ui_Click` | 普通按钮 |
|
||||
| `Ui_Confirm` | 训练/进化/购买/营地操作成功、重复胜利 |
|
||||
| `Ui_Back` | 取消预览、撤下伙伴、放弃战斗 |
|
||||
| `Ui_Open` | 首页入口打开面板 |
|
||||
| `Ui_Close` | 返回/关闭回到首页 |
|
||||
| `Ui_Tab` | 页签、邮件翻页 |
|
||||
| `Ui_Claim` | 领奖、捕捉、开宝箱、首通胜利 |
|
||||
| `Ui_Deny` | 服务端拒绝或连接失败 |
|
||||
| `Ui_Toggle` | 设置开关、画质、布阵部署/撤下/推荐 |
|
||||
| `Ui_Notify` | 首页新出现红点 |
|
||||
|
||||
验证:`BuildUiSfx.Verify` 与 `VerifyUiSfx.Play` 在隔离的 18081 账号上实际点击,结果为 hud.settings=Open、quality=Toggle、sfxOff=Toggle、关闭音效后关闭页面与打开设置均无声、settings.close=Close、hud.rewards=Open、每日宝箱=Claim、chest.back=Close;真实账号与音效偏好已还原,本轮无新增 Console 错误或警告。未构建或发布。
|
||||
|
||||
## v3:程序化合成(2026-10-21)
|
||||
|
||||
v2 试听反馈为“不好听”,与清脆轻松的游戏风格不符。v3 不再使用生成模型,改由 `Tools/synth_ui_sfx.py` 合成:
|
||||
|
||||
- 音色:木琴(基频加 3.93×、9.2× 快衰泛音)、钟琴(1 / 2.76 / 5.40 / 8.93× 非谐泛音)、气泡 pop(快速上滑的正弦),以及 4ms 高通噪声作起音。
|
||||
- 映射:Click 气泡 pop;Tab 木琴 A6 轻敲;Toggle 两连 pop;Confirm 木琴 E6→B6 上行;Back 木琴 G6→D6 下行;Open 上滑加 E7 叮;Close 下滑加 G5 闷敲;Claim 钟琴 C6-E6-G6-C7 琶音加高音闪烁;Deny 两声低音柔和 boop;Notify 钟琴 G6→D7 叮叮。
|
||||
- 调整:改 `RECIPES` 里的音高、衰减和音量后运行 `python Tools/synth_ui_sfx.py --preview`,再在 Unity 里执行 `BuildUiSfx.Build`。
|
||||
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"batchId": "ui_sfx_v1",
|
||||
"base": "http://127.0.0.1:8012",
|
||||
"generatedUtc": "2026-10-20T12:09:16Z",
|
||||
"count": 10,
|
||||
"items": [
|
||||
{
|
||||
"id": "Ui_Click",
|
||||
"jobId": "4fa18c1f8c1944ae8b28cfd5b5d0860a",
|
||||
"prompt": "Short soft UI button click, gentle wooden tap with tiny candy-like sparkle, warm cozy mobile game interface, dry close mic, no music, no speech, no reverb tails",
|
||||
"duration": 1.5,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seed": 41001,
|
||||
"bytes": 264644,
|
||||
"outputWav": "Tools/output/ui_sfx_v1/Ui_Click.wav",
|
||||
"bundleWav": "AIClient/Assets/Bundles/Sound/SFX/UI/Ui_Click.wav",
|
||||
"status": "succeeded"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Confirm",
|
||||
"jobId": "e314eeaf8b8247bfa5be5699d67c2fab",
|
||||
"prompt": "Soft positive UI confirm chime, two warm xylophone notes ascending, light pastoral fantasy game interface, gentle and short, no music, no speech",
|
||||
"duration": 2,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seed": 41002,
|
||||
"bytes": 352844,
|
||||
"outputWav": "Tools/output/ui_sfx_v1/Ui_Confirm.wav",
|
||||
"bundleWav": "AIClient/Assets/Bundles/Sound/SFX/UI/Ui_Confirm.wav",
|
||||
"status": "succeeded"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Back",
|
||||
"jobId": "853c0fc04415423794334183f2c6c729",
|
||||
"prompt": "Soft UI cancel or back tap, muted wooden click with quiet downward tone, cozy mobile menu, dry and brief, no music, no speech",
|
||||
"duration": 1.5,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seed": 41003,
|
||||
"bytes": 264644,
|
||||
"outputWav": "Tools/output/ui_sfx_v1/Ui_Back.wav",
|
||||
"bundleWav": "AIClient/Assets/Bundles/Sound/SFX/UI/Ui_Back.wav",
|
||||
"status": "succeeded"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Open",
|
||||
"jobId": "3f7a59e3ec8a4036875f8983249e1c3c",
|
||||
"prompt": "Soft UI panel open whoosh with a tiny bright chime, paper-light and warm pastoral game menu, short and friendly, no music, no speech",
|
||||
"duration": 2,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seed": 41004,
|
||||
"bytes": 352844,
|
||||
"outputWav": "Tools/output/ui_sfx_v1/Ui_Open.wav",
|
||||
"bundleWav": "AIClient/Assets/Bundles/Sound/SFX/UI/Ui_Open.wav",
|
||||
"status": "succeeded"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Close",
|
||||
"jobId": "1750377342534c3e963390968fb8e126",
|
||||
"prompt": "Soft UI panel close whoosh, gentle downward air and quiet wood latch, cozy fantasy menu, very short, no music, no speech",
|
||||
"duration": 1.5,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seed": 41005,
|
||||
"bytes": 264644,
|
||||
"outputWav": "Tools/output/ui_sfx_v1/Ui_Close.wav",
|
||||
"bundleWav": "AIClient/Assets/Bundles/Sound/SFX/UI/Ui_Close.wav",
|
||||
"status": "succeeded"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Tab",
|
||||
"jobId": "5ecffa283c02491e8e74fcffa8a67eb9",
|
||||
"prompt": "Soft UI tab switch click, light plastic and wood blend, tiny bright tick, pastoral casual game interface, dry and short, no music, no speech",
|
||||
"duration": 1.5,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seed": 41006,
|
||||
"bytes": 264644,
|
||||
"outputWav": "Tools/output/ui_sfx_v1/Ui_Tab.wav",
|
||||
"bundleWav": "AIClient/Assets/Bundles/Sound/SFX/UI/Ui_Tab.wav",
|
||||
"status": "succeeded"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Claim",
|
||||
"jobId": "0d90f65cd6ae4bd3859e420c00c538f9",
|
||||
"prompt": "Soft reward claim UI sparkle, small glittering chimes and light coin shimmer, warm candy pastoral fantasy game, short pleasant, no music bed, no speech",
|
||||
"duration": 2.5,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seed": 41007,
|
||||
"bytes": 441044,
|
||||
"outputWav": "Tools/output/ui_sfx_v1/Ui_Claim.wav",
|
||||
"bundleWav": "AIClient/Assets/Bundles/Sound/SFX/UI/Ui_Claim.wav",
|
||||
"status": "succeeded"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Deny",
|
||||
"jobId": "9e1d374b53d34aa0af5d31c7856bf9fc",
|
||||
"prompt": "Gentle UI error or deny thud, soft muted low wooden knock, not harsh, cozy mobile game feedback, dry and brief, no music, no speech",
|
||||
"duration": 1.5,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seed": 41008,
|
||||
"bytes": 264644,
|
||||
"outputWav": "Tools/output/ui_sfx_v1/Ui_Deny.wav",
|
||||
"bundleWav": "AIClient/Assets/Bundles/Sound/SFX/UI/Ui_Deny.wav",
|
||||
"status": "succeeded"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Toggle",
|
||||
"jobId": "1b1160a1d24d4b38885e9fdcb565ade0",
|
||||
"prompt": "Soft UI toggle switch click, small mechanical soft snap with tiny sparkle, settings panel of a cozy fantasy mobile game, short, no music, no speech",
|
||||
"duration": 1.5,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seed": 41009,
|
||||
"bytes": 264644,
|
||||
"outputWav": "Tools/output/ui_sfx_v1/Ui_Toggle.wav",
|
||||
"bundleWav": "AIClient/Assets/Bundles/Sound/SFX/UI/Ui_Toggle.wav",
|
||||
"status": "succeeded"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Notify",
|
||||
"jobId": "daedbe297f0741dab2825f7e8c68d31a",
|
||||
"prompt": "Soft UI notification ping, single warm bell-like chime with tiny sparkle, friendly red-dot alert for a pastoral casual game, short and light, no music, no speech",
|
||||
"duration": 2,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seed": 41010,
|
||||
"bytes": 352844,
|
||||
"outputWav": "Tools/output/ui_sfx_v1/Ui_Notify.wav",
|
||||
"bundleWav": "AIClient/Assets/Bundles/Sound/SFX/UI/Ui_Notify.wav",
|
||||
"status": "succeeded"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,546 @@
|
||||
{
|
||||
"batchId": "ui_sfx_v2",
|
||||
"generatedUtc": "2026-10-20T16:17:11Z",
|
||||
"items": [
|
||||
{
|
||||
"id": "Ui_Click",
|
||||
"targetSec": 0.15,
|
||||
"peakDb": -6,
|
||||
"prompt": "A tiny soft wooden button tap for a cozy mobile game menu, a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb",
|
||||
"pickedSeed": 52002,
|
||||
"pickedBy": "auto",
|
||||
"candidates": [
|
||||
{
|
||||
"seed": 52001,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Click_52001.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Click_52001.wav",
|
||||
"lengthSec": 0.15,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0044,
|
||||
"score": 0.0044,
|
||||
"rawPeak": 0.9835,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52002,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Click_52002.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Click_52002.wav",
|
||||
"lengthSec": 0.15,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 1.0,
|
||||
"score": 1.0,
|
||||
"rawPeak": 0.2191,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52003,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Click_52003.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Click_52003.wav",
|
||||
"lengthSec": 0.15,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.1441,
|
||||
"score": 0.1441,
|
||||
"rawPeak": 0.171,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52004,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Click_52004.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Click_52004.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0227,
|
||||
"silent": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Ui_Confirm",
|
||||
"targetSec": 0.45,
|
||||
"peakDb": -4,
|
||||
"prompt": "Two quick bright xylophone notes rising, a cheerful positive confirm blip for a cute game, a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb",
|
||||
"pickedSeed": 52001,
|
||||
"pickedBy": "auto",
|
||||
"candidates": [
|
||||
{
|
||||
"seed": 52001,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Confirm_52001.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Confirm_52001.wav",
|
||||
"lengthSec": 0.45,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.9705,
|
||||
"score": 0.9705,
|
||||
"rawPeak": 0.5869,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52002,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Confirm_52002.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Confirm_52002.wav",
|
||||
"lengthSec": 0.45,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.7008,
|
||||
"score": 0.7008,
|
||||
"rawPeak": 0.4395,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52003,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Confirm_52003.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Confirm_52003.wav",
|
||||
"lengthSec": 0.45,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.3875,
|
||||
"score": 0.3875,
|
||||
"rawPeak": 0.3589,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52004,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Confirm_52004.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Confirm_52004.wav",
|
||||
"lengthSec": 0.45,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.1696,
|
||||
"score": 0.1696,
|
||||
"rawPeak": 0.8513,
|
||||
"silent": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Ui_Back",
|
||||
"targetSec": 0.22,
|
||||
"peakDb": -6,
|
||||
"prompt": "A soft muted wooden click with a short falling tone, a gentle cancel blip, a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb",
|
||||
"pickedSeed": 52002,
|
||||
"pickedBy": "auto",
|
||||
"candidates": [
|
||||
{
|
||||
"seed": 52001,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Back_52001.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Back_52001.wav",
|
||||
"lengthSec": 0.22,
|
||||
"onsetSec": 0.2103,
|
||||
"kept": 0.9899,
|
||||
"score": 0.6093,
|
||||
"rawPeak": 0.8346,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52002,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Back_52002.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Back_52002.wav",
|
||||
"lengthSec": 0.22,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 1.0,
|
||||
"score": 1.0,
|
||||
"rawPeak": 0.4434,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52003,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Back_52003.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Back_52003.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0277,
|
||||
"silent": true
|
||||
},
|
||||
{
|
||||
"seed": 52004,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Back_52004.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Back_52004.wav",
|
||||
"lengthSec": 0.22,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.4987,
|
||||
"score": 0.4987,
|
||||
"rawPeak": 0.1429,
|
||||
"silent": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Ui_Open",
|
||||
"targetSec": 0.35,
|
||||
"peakDb": -6,
|
||||
"prompt": "A quick soft paper swoosh ending in a tiny bright chime, a menu panel opening, a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb",
|
||||
"pickedSeed": 52002,
|
||||
"pickedBy": "auto",
|
||||
"candidates": [
|
||||
{
|
||||
"seed": 52001,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Open_52001.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Open_52001.wav",
|
||||
"lengthSec": 0.35,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.6677,
|
||||
"score": 0.6677,
|
||||
"rawPeak": 0.1025,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52002,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Open_52002.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Open_52002.wav",
|
||||
"lengthSec": 0.35,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.6826,
|
||||
"score": 0.6826,
|
||||
"rawPeak": 0.6354,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52003,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Open_52003.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Open_52003.wav",
|
||||
"lengthSec": 0.35,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.2222,
|
||||
"score": 0.2222,
|
||||
"rawPeak": 0.1919,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52004,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Open_52004.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Open_52004.wav",
|
||||
"lengthSec": 0.35,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.5536,
|
||||
"score": 0.5536,
|
||||
"rawPeak": 0.7946,
|
||||
"silent": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Ui_Close",
|
||||
"targetSec": 0.28,
|
||||
"peakDb": -7,
|
||||
"prompt": "A quick soft downward air swish ending in a quiet wooden latch tap, a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb",
|
||||
"pickedSeed": 52002,
|
||||
"pickedBy": "auto",
|
||||
"candidates": [
|
||||
{
|
||||
"seed": 52001,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Close_52001.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Close_52001.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0116,
|
||||
"silent": true
|
||||
},
|
||||
{
|
||||
"seed": 52002,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Close_52002.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Close_52002.wav",
|
||||
"lengthSec": 0.28,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 1.0,
|
||||
"score": 1.0,
|
||||
"rawPeak": 1.0,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52003,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Close_52003.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Close_52003.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0602,
|
||||
"silent": true
|
||||
},
|
||||
{
|
||||
"seed": 52004,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Close_52004.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Close_52004.wav",
|
||||
"lengthSec": 0.28,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.4045,
|
||||
"score": 0.4045,
|
||||
"rawPeak": 0.7418,
|
||||
"silent": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Ui_Tab",
|
||||
"targetSec": 0.12,
|
||||
"peakDb": -7,
|
||||
"prompt": "A tiny light plastic tick, a crisp tab switch click, a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb",
|
||||
"pickedSeed": 52001,
|
||||
"pickedBy": "auto",
|
||||
"candidates": [
|
||||
{
|
||||
"seed": 52001,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Tab_52001.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Tab_52001.wav",
|
||||
"lengthSec": 0.12,
|
||||
"onsetSec": 0.2106,
|
||||
"kept": 0.9333,
|
||||
"score": 0.5521,
|
||||
"rawPeak": 0.3409,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52002,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Tab_52002.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Tab_52002.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0186,
|
||||
"silent": true
|
||||
},
|
||||
{
|
||||
"seed": 52003,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Tab_52003.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Tab_52003.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0724,
|
||||
"silent": true
|
||||
},
|
||||
{
|
||||
"seed": 52004,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Tab_52004.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Tab_52004.wav",
|
||||
"lengthSec": 0.12,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0746,
|
||||
"score": 0.0746,
|
||||
"rawPeak": 0.151,
|
||||
"silent": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Ui_Claim",
|
||||
"targetSec": 0.8,
|
||||
"peakDb": -3,
|
||||
"prompt": "A short sparkling glitter chime with a light coin jingle, a happy reward collected sound, a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb",
|
||||
"pickedSeed": 52001,
|
||||
"pickedBy": "auto",
|
||||
"candidates": [
|
||||
{
|
||||
"seed": 52001,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Claim_52001.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Claim_52001.wav",
|
||||
"lengthSec": 0.8,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 1.0,
|
||||
"score": 1.0,
|
||||
"rawPeak": 0.8577,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52002,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Claim_52002.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Claim_52002.wav",
|
||||
"lengthSec": 0.8,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.9356,
|
||||
"score": 0.9356,
|
||||
"rawPeak": 1.0,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52003,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Claim_52003.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Claim_52003.wav",
|
||||
"lengthSec": 0.8,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.7923,
|
||||
"score": 0.7923,
|
||||
"rawPeak": 0.1699,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52004,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Claim_52004.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Claim_52004.wav",
|
||||
"lengthSec": 0.8,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.8342,
|
||||
"score": 0.8342,
|
||||
"rawPeak": 1.0,
|
||||
"silent": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Ui_Deny",
|
||||
"targetSec": 0.3,
|
||||
"peakDb": -6,
|
||||
"prompt": "A soft dull low wooden knock, two quick muted thuds, a gentle error buzz that is not harsh, a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb",
|
||||
"pickedSeed": 52002,
|
||||
"pickedBy": "auto",
|
||||
"candidates": [
|
||||
{
|
||||
"seed": 52001,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Deny_52001.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Deny_52001.wav",
|
||||
"lengthSec": 0.3,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.6486,
|
||||
"score": 0.6486,
|
||||
"rawPeak": 1.0,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52002,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Deny_52002.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Deny_52002.wav",
|
||||
"lengthSec": 0.3,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.9816,
|
||||
"score": 0.9816,
|
||||
"rawPeak": 0.6965,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52003,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Deny_52003.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Deny_52003.wav",
|
||||
"lengthSec": 0.3,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.46,
|
||||
"score": 0.46,
|
||||
"rawPeak": 0.2253,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52004,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Deny_52004.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Deny_52004.wav",
|
||||
"lengthSec": 0.3,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.3231,
|
||||
"score": 0.3231,
|
||||
"rawPeak": 1.0,
|
||||
"silent": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Ui_Toggle",
|
||||
"targetSec": 0.14,
|
||||
"peakDb": -7,
|
||||
"prompt": "A small soft mechanical switch snap, a toggle click, a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb",
|
||||
"pickedSeed": 52001,
|
||||
"pickedBy": "auto",
|
||||
"candidates": [
|
||||
{
|
||||
"seed": 52001,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Toggle_52001.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Toggle_52001.wav",
|
||||
"lengthSec": 0.14,
|
||||
"onsetSec": 0.2068,
|
||||
"kept": 0.9939,
|
||||
"score": 0.6202,
|
||||
"rawPeak": 0.8638,
|
||||
"silent": false
|
||||
},
|
||||
{
|
||||
"seed": 52002,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Toggle_52002.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Toggle_52002.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0479,
|
||||
"silent": true
|
||||
},
|
||||
{
|
||||
"seed": 52003,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Toggle_52003.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Toggle_52003.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0176,
|
||||
"silent": true
|
||||
},
|
||||
{
|
||||
"seed": 52004,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Toggle_52004.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Toggle_52004.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0448,
|
||||
"silent": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Ui_Notify",
|
||||
"targetSec": 0.5,
|
||||
"peakDb": -6,
|
||||
"prompt": "A single warm small bell ping with a tiny sparkle, a friendly notification, a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb",
|
||||
"pickedSeed": 52004,
|
||||
"pickedBy": "auto",
|
||||
"candidates": [
|
||||
{
|
||||
"seed": 52001,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Notify_52001.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Notify_52001.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0001,
|
||||
"silent": true
|
||||
},
|
||||
{
|
||||
"seed": 52002,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Notify_52002.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Notify_52002.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0006,
|
||||
"silent": true
|
||||
},
|
||||
{
|
||||
"seed": 52003,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Notify_52003.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Notify_52003.wav",
|
||||
"lengthSec": 0.0,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.0,
|
||||
"score": -1.0,
|
||||
"rawPeak": 0.0162,
|
||||
"silent": true
|
||||
},
|
||||
{
|
||||
"seed": 52004,
|
||||
"raw": "Tools/output/ui_sfx_v2/raw/Ui_Notify_52004.wav",
|
||||
"trimmed": "Tools/output/ui_sfx_v2/trimmed/Ui_Notify_52004.wav",
|
||||
"lengthSec": 0.5,
|
||||
"onsetSec": 0.0,
|
||||
"kept": 0.5332,
|
||||
"score": 0.5332,
|
||||
"rawPeak": 1.0,
|
||||
"silent": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"batchId": "ui_sfx_v1",
|
||||
"theme": "Candy pastoral soft UI, matches MeadowBreeze menu mood",
|
||||
"service": "http://127.0.0.1:8012",
|
||||
"guide": "D:/UD/AI/XModel/TangoFlux_AI调用指南.md",
|
||||
"outputDir": "Tools/output/ui_sfx_v1",
|
||||
"bundleDir": "AIClient/Assets/Bundles/Sound/SFX/UI",
|
||||
"designDir": "Doc/Design/Sound/UiSfx",
|
||||
"defaults": {
|
||||
"duration": 2,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
"id": "Ui_Click",
|
||||
"seed": 41001,
|
||||
"duration": 1.5,
|
||||
"prompt": "Short soft UI button click, gentle wooden tap with tiny candy-like sparkle, warm cozy mobile game interface, dry close mic, no music, no speech, no reverb tails"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Confirm",
|
||||
"seed": 41002,
|
||||
"duration": 2,
|
||||
"prompt": "Soft positive UI confirm chime, two warm xylophone notes ascending, light pastoral fantasy game interface, gentle and short, no music, no speech"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Back",
|
||||
"seed": 41003,
|
||||
"duration": 1.5,
|
||||
"prompt": "Soft UI cancel or back tap, muted wooden click with quiet downward tone, cozy mobile menu, dry and brief, no music, no speech"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Open",
|
||||
"seed": 41004,
|
||||
"duration": 2,
|
||||
"prompt": "Soft UI panel open whoosh with a tiny bright chime, paper-light and warm pastoral game menu, short and friendly, no music, no speech"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Close",
|
||||
"seed": 41005,
|
||||
"duration": 1.5,
|
||||
"prompt": "Soft UI panel close whoosh, gentle downward air and quiet wood latch, cozy fantasy menu, very short, no music, no speech"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Tab",
|
||||
"seed": 41006,
|
||||
"duration": 1.5,
|
||||
"prompt": "Soft UI tab switch click, light plastic and wood blend, tiny bright tick, pastoral casual game interface, dry and short, no music, no speech"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Claim",
|
||||
"seed": 41007,
|
||||
"duration": 2.5,
|
||||
"prompt": "Soft reward claim UI sparkle, small glittering chimes and light coin shimmer, warm candy pastoral fantasy game, short pleasant, no music bed, no speech"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Deny",
|
||||
"seed": 41008,
|
||||
"duration": 1.5,
|
||||
"prompt": "Gentle UI error or deny thud, soft muted low wooden knock, not harsh, cozy mobile game feedback, dry and brief, no music, no speech"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Toggle",
|
||||
"seed": 41009,
|
||||
"duration": 1.5,
|
||||
"prompt": "Soft UI toggle switch click, small mechanical soft snap with tiny sparkle, settings panel of a cozy fantasy mobile game, short, no music, no speech"
|
||||
},
|
||||
{
|
||||
"id": "Ui_Notify",
|
||||
"seed": 41010,
|
||||
"duration": 2,
|
||||
"prompt": "Soft UI notification ping, single warm bell-like chime with tiny sparkle, friendly red-dot alert for a pastoral casual game, short and light, no music, no speech"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"schemaVersion": 2,
|
||||
"batchId": "ui_sfx_v2",
|
||||
"theme": "Candy pastoral soft UI, matches MeadowBreeze menu mood; one-shot transients for buttons",
|
||||
"service": "http://127.0.0.1:8012",
|
||||
"guide": "D:/UD/AI/XModel/TangoFlux_AI调用指南.md",
|
||||
"outputDir": "Tools/output/ui_sfx_v2",
|
||||
"bundleDir": "AIClient/Assets/Bundles/Sound/SFX/UI",
|
||||
"designDir": "Doc/Design/Sound/UiSfx",
|
||||
"notes": "v1 clips sustained for the full 1.5-2.5s. Service minimum is 1s, so v2 generates 1s one-shots with several seeds, then trims leading silence, caps each clip at targetSec with a fade-out, normalizes to peakDb and auto-picks the candidate whose energy already sits inside the target window.",
|
||||
"defaults": {
|
||||
"duration": 1,
|
||||
"steps": 50,
|
||||
"guidance_scale": 4.5,
|
||||
"seeds": [52001, 52002, 52003, 52004],
|
||||
"fadeInMs": 2,
|
||||
"suffix": ", a single isolated one-shot sound at the very start followed by complete silence, dry close mic, no music, no speech, no reverb"
|
||||
},
|
||||
"items": [
|
||||
{ "id": "Ui_Click", "targetSec": 0.15, "peakDb": -6, "prompt": "A tiny soft wooden button tap for a cozy mobile game menu" },
|
||||
{ "id": "Ui_Confirm", "targetSec": 0.45, "peakDb": -4, "prompt": "Two quick bright xylophone notes rising, a cheerful positive confirm blip for a cute game" },
|
||||
{ "id": "Ui_Back", "targetSec": 0.22, "peakDb": -6, "prompt": "A soft muted wooden click with a short falling tone, a gentle cancel blip" },
|
||||
{ "id": "Ui_Open", "targetSec": 0.35, "peakDb": -6, "prompt": "A quick soft paper swoosh ending in a tiny bright chime, a menu panel opening" },
|
||||
{ "id": "Ui_Close", "targetSec": 0.28, "peakDb": -7, "prompt": "A quick soft downward air swish ending in a quiet wooden latch tap" },
|
||||
{ "id": "Ui_Tab", "targetSec": 0.12, "peakDb": -7, "prompt": "A tiny light plastic tick, a crisp tab switch click" },
|
||||
{ "id": "Ui_Claim", "targetSec": 0.8, "peakDb": -3, "prompt": "A short sparkling glitter chime with a light coin jingle, a happy reward collected sound" },
|
||||
{ "id": "Ui_Deny", "targetSec": 0.3, "peakDb": -6, "prompt": "A soft dull low wooden knock, two quick muted thuds, a gentle error buzz that is not harsh" },
|
||||
{ "id": "Ui_Toggle", "targetSec": 0.14, "peakDb": -7, "prompt": "A small soft mechanical switch snap, a toggle click" },
|
||||
{ "id": "Ui_Notify", "targetSec": 0.5, "peakDb": -6, "prompt": "A single warm small bell ping with a tiny sparkle, a friendly notification" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"batch": "ui_sfx_v3",
|
||||
"prefab": "Assets/Bundles/Sound/Prefab/UiSfx.prefab",
|
||||
"address": "UiSfx",
|
||||
"package": "Art",
|
||||
"group": "Sound",
|
||||
"volume": 0.8,
|
||||
"sfxToggle": "PrototypeClientPrefs.Sfx",
|
||||
"clips": [
|
||||
{
|
||||
"sound": "Click",
|
||||
"clip": "Assets/Bundles/Sound/SFX/UI/Ui_Click.wav",
|
||||
"seconds": 0.08,
|
||||
"channels": 2,
|
||||
"frequency": 44100
|
||||
},
|
||||
{
|
||||
"sound": "Confirm",
|
||||
"clip": "Assets/Bundles/Sound/SFX/UI/Ui_Confirm.wav",
|
||||
"seconds": 0.36,
|
||||
"channels": 2,
|
||||
"frequency": 44100
|
||||
},
|
||||
{
|
||||
"sound": "Back",
|
||||
"clip": "Assets/Bundles/Sound/SFX/UI/Ui_Back.wav",
|
||||
"seconds": 0.22,
|
||||
"channels": 2,
|
||||
"frequency": 44100
|
||||
},
|
||||
{
|
||||
"sound": "Open",
|
||||
"clip": "Assets/Bundles/Sound/SFX/UI/Ui_Open.wav",
|
||||
"seconds": 0.34,
|
||||
"channels": 2,
|
||||
"frequency": 44100
|
||||
},
|
||||
{
|
||||
"sound": "Close",
|
||||
"clip": "Assets/Bundles/Sound/SFX/UI/Ui_Close.wav",
|
||||
"seconds": 0.24,
|
||||
"channels": 2,
|
||||
"frequency": 44100
|
||||
},
|
||||
{
|
||||
"sound": "Tab",
|
||||
"clip": "Assets/Bundles/Sound/SFX/UI/Ui_Tab.wav",
|
||||
"seconds": 0.07,
|
||||
"channels": 2,
|
||||
"frequency": 44100
|
||||
},
|
||||
{
|
||||
"sound": "Claim",
|
||||
"clip": "Assets/Bundles/Sound/SFX/UI/Ui_Claim.wav",
|
||||
"seconds": 0.78,
|
||||
"channels": 2,
|
||||
"frequency": 44100
|
||||
},
|
||||
{
|
||||
"sound": "Deny",
|
||||
"clip": "Assets/Bundles/Sound/SFX/UI/Ui_Deny.wav",
|
||||
"seconds": 0.27,
|
||||
"channels": 2,
|
||||
"frequency": 44100
|
||||
},
|
||||
{
|
||||
"sound": "Toggle",
|
||||
"clip": "Assets/Bundles/Sound/SFX/UI/Ui_Toggle.wav",
|
||||
"seconds": 0.1,
|
||||
"channels": 2,
|
||||
"frequency": 44100
|
||||
},
|
||||
{
|
||||
"sound": "Notify",
|
||||
"clip": "Assets/Bundles/Sound/SFX/UI/Ui_Notify.wav",
|
||||
"seconds": 0.52,
|
||||
"channels": 2,
|
||||
"frequency": 44100
|
||||
}
|
||||
],
|
||||
"bundleBuilt": false,
|
||||
"verifiedUtc": "2026-10-21T01:21:08.0054518Z"
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"batchId": "ui_sfx_v3",
|
||||
"method": "procedural synthesis (Tools/synth_ui_sfx.py, numpy)",
|
||||
"format": "44.1 kHz 16-bit stereo (dual mono)",
|
||||
"generatedUtc": "2026-10-21T01:20:43Z",
|
||||
"items": [
|
||||
{
|
||||
"id": "Ui_Click",
|
||||
"recipe": "bubble pop 700→1250 Hz + noise tick",
|
||||
"peakDb": -6,
|
||||
"lengthSec": 0.08
|
||||
},
|
||||
{
|
||||
"id": "Ui_Confirm",
|
||||
"recipe": "marimba E6→B6 rising, glockenspiel on top note",
|
||||
"peakDb": -5,
|
||||
"lengthSec": 0.36
|
||||
},
|
||||
{
|
||||
"id": "Ui_Back",
|
||||
"recipe": "soft marimba G6→D6 falling",
|
||||
"peakDb": -7,
|
||||
"lengthSec": 0.22
|
||||
},
|
||||
{
|
||||
"id": "Ui_Open",
|
||||
"recipe": "rising fwip 520→1400 Hz into an E7 ping",
|
||||
"peakDb": -7,
|
||||
"lengthSec": 0.34
|
||||
},
|
||||
{
|
||||
"id": "Ui_Close",
|
||||
"recipe": "falling fwip 1300→480 Hz into a soft G5 tok",
|
||||
"peakDb": -7,
|
||||
"lengthSec": 0.24
|
||||
},
|
||||
{
|
||||
"id": "Ui_Tab",
|
||||
"recipe": "light marimba A6 tick",
|
||||
"peakDb": -8,
|
||||
"lengthSec": 0.07
|
||||
},
|
||||
{
|
||||
"id": "Ui_Toggle",
|
||||
"recipe": "double pop 900→1500 then 1200→1900 Hz",
|
||||
"peakDb": -8,
|
||||
"lengthSec": 0.1
|
||||
},
|
||||
{
|
||||
"id": "Ui_Claim",
|
||||
"recipe": "glockenspiel arpeggio C6-E6-G6-C7 with marimba body and high sparkles",
|
||||
"peakDb": -3,
|
||||
"lengthSec": 0.78
|
||||
},
|
||||
{
|
||||
"id": "Ui_Deny",
|
||||
"recipe": "two soft low boops 330→262 Hz, gentle not harsh",
|
||||
"peakDb": -7,
|
||||
"lengthSec": 0.27
|
||||
},
|
||||
{
|
||||
"id": "Ui_Notify",
|
||||
"recipe": "bell ding-ding G6 then D7",
|
||||
"peakDb": -6,
|
||||
"lengthSec": 0.52
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"folder": "Assets/Bundles/Sound/SFX/UI",
|
||||
"count": 10,
|
||||
"items": [
|
||||
{
|
||||
"asset": "Assets/Bundles/Sound/SFX/UI/Ui_Back.wav",
|
||||
"guid": "d84d9acaed435b141a61e474619abcac",
|
||||
"address": "Ui_Back",
|
||||
"length": 1.5,
|
||||
"samples": 66150,
|
||||
"channels": 2,
|
||||
"frequency": 44100,
|
||||
"loadType": "DecompressOnLoad",
|
||||
"compression": "PCM"
|
||||
},
|
||||
{
|
||||
"asset": "Assets/Bundles/Sound/SFX/UI/Ui_Claim.wav",
|
||||
"guid": "6b80419ca6ccf464684cf5851cbe4258",
|
||||
"address": "Ui_Claim",
|
||||
"length": 2.5,
|
||||
"samples": 110250,
|
||||
"channels": 2,
|
||||
"frequency": 44100,
|
||||
"loadType": "DecompressOnLoad",
|
||||
"compression": "PCM"
|
||||
},
|
||||
{
|
||||
"asset": "Assets/Bundles/Sound/SFX/UI/Ui_Click.wav",
|
||||
"guid": "c462f9f6d11e50a41bf9bf465828669b",
|
||||
"address": "Ui_Click",
|
||||
"length": 1.5,
|
||||
"samples": 66150,
|
||||
"channels": 2,
|
||||
"frequency": 44100,
|
||||
"loadType": "DecompressOnLoad",
|
||||
"compression": "PCM"
|
||||
},
|
||||
{
|
||||
"asset": "Assets/Bundles/Sound/SFX/UI/Ui_Close.wav",
|
||||
"guid": "7301e73517800ea4ea3d719f4430b37b",
|
||||
"address": "Ui_Close",
|
||||
"length": 1.5,
|
||||
"samples": 66150,
|
||||
"channels": 2,
|
||||
"frequency": 44100,
|
||||
"loadType": "DecompressOnLoad",
|
||||
"compression": "PCM"
|
||||
},
|
||||
{
|
||||
"asset": "Assets/Bundles/Sound/SFX/UI/Ui_Confirm.wav",
|
||||
"guid": "91b80154d0ef8334b84d521bfa2d570c",
|
||||
"address": "Ui_Confirm",
|
||||
"length": 2.0,
|
||||
"samples": 88200,
|
||||
"channels": 2,
|
||||
"frequency": 44100,
|
||||
"loadType": "DecompressOnLoad",
|
||||
"compression": "PCM"
|
||||
},
|
||||
{
|
||||
"asset": "Assets/Bundles/Sound/SFX/UI/Ui_Deny.wav",
|
||||
"guid": "33b23f7d7f48b92429e107ef44a5dc40",
|
||||
"address": "Ui_Deny",
|
||||
"length": 1.5,
|
||||
"samples": 66150,
|
||||
"channels": 2,
|
||||
"frequency": 44100,
|
||||
"loadType": "DecompressOnLoad",
|
||||
"compression": "PCM"
|
||||
},
|
||||
{
|
||||
"asset": "Assets/Bundles/Sound/SFX/UI/Ui_Notify.wav",
|
||||
"guid": "a0da13344018a0f468a61d21b6f8dad7",
|
||||
"address": "Ui_Notify",
|
||||
"length": 2.0,
|
||||
"samples": 88200,
|
||||
"channels": 2,
|
||||
"frequency": 44100,
|
||||
"loadType": "DecompressOnLoad",
|
||||
"compression": "PCM"
|
||||
},
|
||||
{
|
||||
"asset": "Assets/Bundles/Sound/SFX/UI/Ui_Open.wav",
|
||||
"guid": "2982867cae515b24d9f342ca74728d99",
|
||||
"address": "Ui_Open",
|
||||
"length": 2.0,
|
||||
"samples": 88200,
|
||||
"channels": 2,
|
||||
"frequency": 44100,
|
||||
"loadType": "DecompressOnLoad",
|
||||
"compression": "PCM"
|
||||
},
|
||||
{
|
||||
"asset": "Assets/Bundles/Sound/SFX/UI/Ui_Tab.wav",
|
||||
"guid": "ff0f87f7678cd61429a4c92c5e1ef59f",
|
||||
"address": "Ui_Tab",
|
||||
"length": 1.5,
|
||||
"samples": 66150,
|
||||
"channels": 2,
|
||||
"frequency": 44100,
|
||||
"loadType": "DecompressOnLoad",
|
||||
"compression": "PCM"
|
||||
},
|
||||
{
|
||||
"asset": "Assets/Bundles/Sound/SFX/UI/Ui_Toggle.wav",
|
||||
"guid": "319d495703f33964ca38bb8dd78c9691",
|
||||
"address": "Ui_Toggle",
|
||||
"length": 1.5,
|
||||
"samples": 66150,
|
||||
"channels": 2,
|
||||
"frequency": 44100,
|
||||
"loadType": "DecompressOnLoad",
|
||||
"compression": "PCM"
|
||||
}
|
||||
],
|
||||
"package": "Art",
|
||||
"group": "Sound",
|
||||
"packRule": "PackSeparately",
|
||||
"runtimePlaybackWired": false,
|
||||
"bundleBuilt": false,
|
||||
"verifiedUtc": "2026-10-20T12:11:18.9078923Z"
|
||||
}
|
||||
Reference in New Issue
Block a user