我想玩很多numpy
数组,但是有一些缓冲区。例如
import numpy as np
import sounddevice as sd
fs=44100
data = 0.5*np.random.uniform(-1,1,fs)
for i in range(5):
sd.play(data, 44100)
在本例中,我只使用了一个numpy
数组,但希望连续播放。你知道吗
实际上,我试着用麦克风录下几十微秒的声音,用一些应用程序进行转换(添加正弦波…),并连续播放转换后的数据。你知道吗
我如何摆脱缓冲?你知道吗
Tags:
如果要连续录制和播放,应该使用回调函数。 看看example in the documentation,我在这里重复:
本例只是将输入缓冲区复制到输出缓冲区,但是您当然可以在将信号分配回输出之前任意操纵信号。你知道吗
如果任何处理依赖于固定的块大小,则应在
sd.Stream()
构造函数中显式设置块大小,例如blocksize=1024
。你知道吗不要忘了总是检查
status
参数,因为如果在回调中做了太多的工作(或者块大小太小),这会通知您是否发生了缓冲区溢出/不足。你知道吗相关问题 更多 >
编程相关推荐