我想创建一个语音干扰器。它本质上是向你重复你刚才所说的话,但它是连续的。我试图使用 sounddevice 库并在播放的同时记录我所说的内容。然后我将其更改为最初录制我所说的内容,然后在录制新内容的同时播放它。但是,它没有按我的意愿运行。对其他图书馆有什么建议吗?或者,如果有人看到我已经拥有的代码的建议。
它不是不断地向我播放,而是开始和停止。它以指定的持续时间间隔执行此操作。所以它会录制 500 毫秒,然后播放 500 毫秒,然后重新开始录制。想要的行为是 - 录制 500 毫秒,同时播放它以一些毫秒延迟录制的音频。
import sounddevice as sd
import numpy as np
fs = 44100
sd.default.samplerate = fs
sd.default.channels = 2
#the above is to avoid having to specify arguments in every function call
duration = .5
myarray = sd.rec(int(duration*fs))
while(True):
sd.wait()
myarray = sd.playrec(myarray)
sd.wait()