【发布时间】:2018-10-15 04:15:16
【问题描述】:
我有一个 numpy 数组,它的大小不断增长,并且有一个函数不时向其中添加数据。这个数组实际上是声音数据,我想播放它,不是在数组完成后,而是在它还在增长的时候。有没有办法使用 pyaudio 做到这一点?我尝试过实现回调,但没有成功。它给了我延迟的断断续续的音频
【问题讨论】:
我有一个 numpy 数组,它的大小不断增长,并且有一个函数不时向其中添加数据。这个数组实际上是声音数据,我想播放它,不是在数组完成后,而是在它还在增长的时候。有没有办法使用 pyaudio 做到这一点?我尝试过实现回调,但没有成功。它给了我延迟的断断续续的音频
【问题讨论】:
您也许可以拦截将数据附加到数组的事件或管道。
为了摆脱不稳定,您将需要某种中间缓冲区 - 假设数据以随机间隔出现 - 有时会同时添加多个数据点,有时会在一段时间内没有数据,但时间会更长时间尺度上会有一些平均流入值。这是流媒体服务中用于提高视频质量的标准做法。
调整缓冲区大小,这应该可以消除波动。这当然会在播放数据时引入初始延迟,即它不会是“实时”的,但可能会接近实时,但波动较小。
【讨论】: