Я хочу, чтобы вычислить данные одиночные каналы (для расчета аудио взаимной корреляции между каналом 1 и каналом 4) этот кодом:PyAudio - многократное управление каналом расслаивание
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')
как я могу создать массив данных для каждого канала для того, чтобы использовать функцию коррелируют? правильные ли последние строки кода?
Спасибо
Вы, кажется, задаете тот же вопрос [более] (http://stackoverflow.com/q/41922139/) и [более] (http://stackoverflow.com/q/42027487/). Я предлагаю вам начать меньше и сначала изучить несколько основоположений о NumPy (в Интернете есть много хороших обучающих программ). Возможно, вам стоит взглянуть на [это] (http://nbviewer.jupyter.org/github/mgeier/python-audio/blob/master/simple-signals.ipynb) и [это] (http: // nbviewer .jupyter.org/GitHub/mgeier/питон аудио/BLOB/Master/аудио-файлы/аудио-файлы-с-wave.ipynb). – Matthias
Как только вы это сделаете, вы можете посмотреть на [пример] (https://github.com/spatialaudio/python-sounddevice/blob/master/examples/plot_input.py), который я вам показывал раньше. – Matthias