BenzLeung / benz-amr-recorder

Play, record, reformat AMR audio
https://benzleung.github.io/benz-amr-recorder/demo.html
MIT License
336 stars 100 forks source link

移动端的性能问题 #78

Closed CommanderXL closed 1 year ago

CommanderXL commented 1 year ago

背景:

最近将 benz-amr-recorder 的代码做了一定的改造可以在小程序里面进行例如 PCMAMRMP3AMR 等压缩操作。不过发现在移动设备上进行这些 js 密集计算耗时比较高,测试的case是:30s 的 mp3 文件转 AMR 平均的耗时在 9~10s,机型是 iphone13。

这块后续有打算使用 wasm 的方式去改造下这部分的能力吗?

BenzLeung commented 1 year ago

asm这一块代码并不是我写的…… readme.md 我已经标注了“基于 amr.js”。所以,我暂时没有改造wasm的技能。

CommanderXL commented 1 year ago

这2天花了点时间把 arm.js 里面涉及到 amr-nb 的算法转成 wasm 了,性能有了非常大的提升。之前 30s 的 mp3 文件转 AMR 平均耗时在 9~10s,使用 wasm 后编码时间大概在 1.5s 左右。这块我在想后续我可以发个 package 出来,然后可以集成到这个 lib 里面?

BenzLeung commented 1 year ago

膜拜大佬 @CommanderXL 。你可以提交个 Pull request