Happy Sound 是跨平台 C++ 源码引擎, 无平台专属依赖. 这里汇总各目标平台的移植可行性评估与实测数据, 持续更新.
基于生产源码的实机基准测试 (非估算) · 2026-07-02
测试工况: 48 kHz, 一帧 512 采样 (约 10.67 ms), idle → 红线 → idle 全转速扫描 (含交叉淡入, 最坏情况均值). 结论: 算力几乎不构成压力, 真正的约束是内存.
| 车型 | 每帧运算量 | ESP32-S3 单帧耗时 | 单核占用 |
|---|---|---|---|
| Camaro SS (单声道) | 约 4.2 万次浮点运算 | ≈ 0.35 ms | ≈ 3% |
| Ferrari 430 (最重, 单声道) | 约 5.3 万次浮点运算 | ≈ 0.44 ms | ≈ 4% |
| Lamborghini Huracán (双声道) | 与单声道相近 | ≈ 0.35 ms | ≈ 3% |
每帧预算 10.67 ms, 实际只用掉 3 – 4%. ESP32-S3 (240 MHz) 理论上不到 10 MHz 主频即可满足单车型实时合成.
| 项目 | 大小 | 说明 |
|---|---|---|
| 引擎运行时工作内存 | ≈ 50 KB | 芯片内部 SRAM 即可容纳 |
| 单个车型音源数据 | 1 – 4 MB | 需外部 PSRAM 承载 |
| 完整车型库 (47 款) | 50 – 190 MB | 需 SD 卡或大容量 Flash, 设备端常驻少量车型 |
ESP32-S3 (双核 240 MHz, 单精度 FPU + 向量指令). 一核跑合成, 一核跑音频 I/O.
≥ 8 MB Octal, 承载当前车型音源.
≥ 16 MB Flash 或外挂 SD 卡, 承载完整车型库, 按需加载切换.
I2S 外接 DAC / 功放, 双缓冲.
注: 以上为纯计算实测 + 架构投影. 实机上音源访问 PSRAM 的延迟会带来少量额外开销, 建议在目标板做单车型移植验证. ESP32-C3 (无硬件 FPU) / ESP32-S2 (单核) 不推荐.