У меня есть массив numpy, в котором есть numpy массивы со значениями для каждой секунды файла c musi ... так что в основном, если у меня есть 372-секундный файл c, у меня есть numpy массив с 372 numpy массивами внутри него, и в каждом из них у меня есть 50 значений с плавающей запятой ... Я хочу пройти массив numpy так, чтобы каждую секунду я находился в массиве, который имеет значения, выбранные из песни .. . Как мне синхронизировать c обход массива вверх и воспроизведение c музыки? Я использую модули soundfile и sounddevice для чтения, выборки и воспроизведения файла musi c ... Вот мой код до сих пор, если кто-то захочет взглянуть на него:
import soundfile as sf
import sounddevice as sd
import math
import numpy as np
data, samplerate = sf.read('some_music_file.wav', dtype='int16')
frequencies = np.abs(np.fft.fft(data))
frequencies = np.max(frequencies, axis=1)
frequencies /= np.max(frequencies)
frequencies *= 255
frequencies = np.concatenate((frequencies, np.zeros((((math.floor(len(frequencies)/samplerate)+1)*samplerate)-len(frequencies)))))
samples = len(frequencies)
chunks = np.split(frequencies, samples/samplerate)
tempchunks = []
for chunk in chunks:
tempchunk = []
for idx in range(0, samplerate, int(samplerate/50)):
tempchunk.append(chunk[idx])
tempchunks.append(np.array(tempchunk))
chunks = np.array(tempchunks)
Любая помощь по этому поводу был бы очень признателен!