【发布时间】:2017-06-29 02:51:03
【问题描述】:
我想计算这段代码的单声道数据(为了计算声道1和声道4的音频互相关):
import time
import numpy as np
import pyaudio
import scipy
from scipy import signal, fftpack
pyaud = pyaudio.PyAudio()
#open the stream
stream = pyaud.open(
format = pyaudio.paInt16,
channels = 4,
rate = 16000,
input_device_index = 4,
output = False,
input = True,
frames_per_buffer=2048,)
while True:
rawsamps = stream.read(2048)
samps = np.fromstring(rawsamps, dtype=np.int16)
frames_per_buffer_length = len(samps) / 4 #(channels)
assert frames_per_buffer_length == int(frames_per_buffer_length)
samps = np.reshape(samps, (frames_per_buffer_length, 4)) #4 channels
假设原始数据是交错的。
这是我需要使用的功能:
signal.correlate(n1, n2, mode='full')
如何为每个通道创建一个数据数组以使用相关函数?代码的最后几行正确吗?
谢谢
【问题讨论】:
-
完成此操作后,您可以再看看我之前向您展示过的example。
标签: python audio raspberry-pi pyaudio cross-correlation