采样率22050,那么CHUNK_SIZE 一次传输的音频数据大小设置多少合适?unity接收后出现卡顿的问题的思路
在采样率为22050的情况下,选择合适的CHUNK_SIZE主要取决于 Unity 接收和处理音频数据的效率。以下是设置CHUNK_SIZECHUNKSIZE22050×0.1×2×14410字节实际设置可以从 4096 字节的CHUNK_SIZE开始测试,观察效果。
·
在采样率为22050的情况下,选择合适的 CHUNK_SIZE 主要取决于 Unity 接收和处理音频数据的效率。以下是设置 CHUNK_SIZE 的一些建议:
- 计算 CHUNK_SIZE:音频的传输数据量可以通过公式
CHUNK_SIZE = 采样率 * 传输间隔秒数 * 每样本字节数 * 声道数来计算。假设音频是 16 位单声道,则每样本为 2 字节,采样率为 22050,若选择传输间隔为 0.1 秒,那么:
CHUNK_SIZE=22050×0.1×2×1=4410 字节CHUNK\_SIZE = 22050 \times 0.1 \times 2 \times 1 = 4410 \text{ 字节}CHUNK_SIZE=22050×0.1×2×1=4410 字节
实际设置可以从 4096 字节的 CHUNK_SIZE 开始测试,观察效果。
音频是16位采样?还是直接float 32位采样?
可以直接float 32位采样,这就注意了每个样本是4个字节,效果更好。如果是int16 采样,质量偏差。
unity接收后出现卡顿的问题的思路
经过实验,
- 发送端,基于websocket传输音频时,不用增加延迟时间,尽快传输过来。
- 接收端设置一个比较大的缓存空间,之后在慢慢播放音频就可以
采样率决定了播放速度
音频是一位数组,采集的是振幅,通过振幅的斜率可以计算频率,通过FFT可以分解出频率。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)