Files
zyt/TUICallKit-Vue3/static/training
longandCursor 27c2ada4ec feat(metronome): 浅色清爽改版 + 三档位 + 阳光节拍音
整页配色从暗色系换成浅色清爽:
- 背景 #f8fafc → #eef2f7 渐变
- 卡片纯白 + 柔和阴影
- 主圆 emerald 翡翠绿,重音切琥珀色

视频区域:
- 移除卡片外框/光晕/阴影,保留圆形蒙版
  (圆形蒙版仍负责裁掉 video 灰白边 + 隐藏微信原生右上角小窗按钮)
- video 透明背景,跟白底融合

新增 3 档位推荐(主操作):
- 慢走 80 BPM · 健走 110 BPM · 快走 130 BPM
- 横排白卡,选中变浅绿 + emerald 描边
- 一键同步 BPM 和拍号,免去手动调

右下角微调(次要操作):
- absolute 定位胶囊,7 成透明
- ± BPM 微调 + 2/3/4 拍号
- 不抢主视觉,需要精确时才点

替换节拍音色(ffmpeg 合成):
- 普通拍 C6 1046Hz + C7 泛音,清脆"叮"
- 重音 G6 1568Hz + D7 + G7,更明亮"叮咚"
- 加 5ms attack + exp decay + 轻微回声,模拟钢片琴
- 旧的阴沉鼓点声备份在 audio/_backup/

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 17:14:45 +08:00
..

训练模块静态资源

本目录用于存放"练一练"功能的所有音频素材。

目录结构

src/static/training/
├── audio/
│   └── click.mp3              # 节拍器主音(短促金属敲击声,约 50ms)
├── voice/
│   ├── numbers/
│   │   └── 1.mp3 ~ 30.mp3     # 数字报数
│   └── prompts/
│       ├── start.mp3
│       ├── ready.mp3
│       ├── rest.mp3
│       ├── next-set.mp3
│       ├── last-rep.mp3
│       ├── keep-it-up.mp3
│       ├── good-job.mp3
│       ├── breathe-in.mp3
│       └── breathe-out.mp3
└── bgm/
    ├── train-light.mp3         # 训练时背景乐(轻快有节奏感)
    └── rest-meditation.mp3     # 休息时背景乐(舒缓冥想)

准备步骤

1. 语音素材(小米 MiMo TTS 自动生成)

需要 Node 18+(用内置 fetch)。先准备小米 MiMo API Key

export MIMO_API_KEY=sk-your-key-here

cd uniapp
node scripts/generate-voice.mjs

会自动调用 mimo-v2.5-tts 模型生成 39 个 mp3(30 个数字 + 9 个口令)到 voice/ 目录。

可选参数

# 换音色(默认 冰糖;可选:冰糖/茉莉/苏打/白桦/Mia/Chloe/Milo/Dean
node scripts/generate-voice.mjs --voice 茉莉

# 换格式(默认 mp3,需要跟 hooks/useVoiceCoach.ts 里的 .mp3 后缀对应)
node scripts/generate-voice.mjs --format wav

# 强制重新生成(默认存在则跳过)
node scripts/generate-voice.mjs --force

音色推荐(中文女声更适合健身教练):

  • 冰糖:温柔甜美,亲和力强(默认)
  • 茉莉:清爽利落,有"运动博主"感
  • 苏打:年轻男声,有力量感
  • 白桦:成熟男声,沉稳

2. 节拍器 click 音

已内置 3 种音色(来自 chrono-bump MIT 协议项目):

文件 用途 大小
audio/click.mp3 默认 click(标准节拍器音) 3.4 KB
audio/click-soft.mp3 柔和音色 4.2 KB
audio/click-wood.mp3 木鱼/原木质感(推荐用于重音 accent) 4.6 KB

如果想换更好听的,可以去:

替换时保持文件名不变即可,无需改代码。

3. 背景音乐

每首 30 秒~2 分钟即可(loop 后听不出接缝)。

推荐来源(免费可商用):

文件大小建议 < 1MBmp3 128kbps 单声道即可)。

在代码里被引用的位置

  • src/hooks/useMetronome.tsaudio/click.mp3
  • src/hooks/useVoiceCoach.tsvoice/numbers/*.mp3voice/prompts/*.mp3
  • src/hooks/useTrainingBgm.tsbgm/*.mp3

如需修改路径,修改对应 hook 文件里的常量即可。

注意事项

  • 微信小程序对单个文件大小有 10MB 上限,本目录所有文件加起来建议控制在 5MB 以内。
  • 小程序整包大小限制(主包 2MB / 总包 20MB),如果资源较大建议放 CDN 而非本地 static。
    • useVoiceCoach.ts 里的 VOICE_BASE 改成 CDN URL 即可。