Streaming PyAudio输出根据自定义源提供的数据处理的信号
我使用的是一个定制的信号采集系统,它提供连续的数据。 我在使用pyaudio实时处理数据流时遇到问题。 代码如下所示:Streaming PyAudio输出根据自定义源提供的数据处理的信号,streaming,real-time,pyaudio,Streaming,Real Time,Pyaudio,我使用的是一个定制的信号采集系统,它提供连续的数据。 我在使用pyaudio实时处理数据流时遇到问题。 代码如下所示: import pyaudio as pya import numpy as np import threading import MyAcq fs = 50000 NbEch = 5000 CHUNK = 1000 NbCHUNK = NbEch/CHUNK def processing(Acq, strm): while MyAcq.AcqActiv:
import pyaudio as pya
import numpy as np
import threading
import MyAcq
fs = 50000
NbEch = 5000
CHUNK = 1000
NbCHUNK = NbEch/CHUNK
def processing(Acq, strm):
while MyAcq.AcqActiv:
data = Acq.get_data(NbEch)
Sig = MyAcq.MyProcess(data).astype('float32')
for i in range(NbCHUNK) :
Buffer = Sig[i*CHUNK + np.arange(CHUNK)]
strm.write(Buffer)
if __name__ == '__main__':
Acq = MyAcq.MyAcqSystem()
Acq.start()
pa = pya.PyAudio()
stream = pa.open(format = pya.paFloat32,
channels = 1,
rate = fs,
frames_per_buffer = CHUNK,
input = False,
output = True)
t = threading.Thread(target = processing, args =(Acq, stream))
t.start()
MyAcq.close()
stream.stop_stream()
stream.close()
pa.terminate()
尽管输入数据流是连续的,但信号输出会被截断和失真。
我不知道如何使用回调模式。
使用队列共享处理后的信号不再成功
有线索吗