Код: Выделить всё
import numpy as np
import pyaudio as pa
import struct
import time
np.set_printoptions(threshold = np.inf)
CHUNK = 1048
FORMAT = pa.paInt16
CHANNELS = 1
RATE = 44100# in Hz
p = pa.PyAudio()
stream = p.open(
format = FORMAT,
channels = CHANNELS,
rate = RATE,
input=True,
frames_per_buffer=CHUNK
)
while 1:
data = stream.read(CHUNK)
dataInt = struct.unpack(str(CHUNK) + 'h', data)
FFT_array = np.abs(np.fft.fft(dataInt))*2/(11000*CHUNK)
print(FFT_array)
Код: Выделить всё
data = stream.read(CHUNK)
Если бы он был, это действительно помогло бы мне, поскольку эта часть занимает 0,1 секунды с более высоким значением CHUNK, поскольку оно определяет самую низкую записываемую частоту. Это означает, что если я задам значение CHUNK 22050, самая низкая частота будет 1 Гц, поэтому запись займет 1 секунду. Если бы я мог начать запись, скажем, с частотой 40 Гц, этот факт был бы незначительным. Скорость очень важна для моего приложения, как минимум 30 кадров в секунду было бы хорошо.
Я пробовал искать в Интернете и спрашивал в чате, но мне не повезло.
Если вы есть идеи, как это исправить, или найти что-нибудь в Интернете. Буду очень рад ответу.
Подробнее здесь: https://stackoverflow.com/questions/782 ... 500-to-500