Я пытаюсь визуализировать музыку в изображение, используя звуковое устройство для ввода звука, а затем преобразуя его в массив массивов. Массив является 2D, и поэтому я конвертирую его в 3D (в противном случае я получаю только одну тонкую вертикальную линию на изображении). Однако, когда я использую PIL для показа изображения, он говорит: «Не удается обработать этот тип данных». Код упоминается ниже:
import sounddevice as sd
из scipy.io.wavfile import write write
импорт звукового файла в формате sf
импорт numpy
из нулей импорта, новые оси
из импорта PIL Изображение
fs = 44100 # Частота дискретизации
секунд = 3 # Продолжительность записи
myrecording = sd.rec (int (секунды * fs), частота дискретизации = fs, каналы = 2)
sd.wait ()# Дождаться окончания записи
print (myrecording)
print (numpy.shape (myrecording))
write ('output.wav', fs, myrecording) #Сохранить как файл WAV
filename = 'output.wav'
A = myrecording [:,:, newaxis]
print (A)
im= Image.fromarray ((A * 255) .astype (numpy.uint8))
im.show ()
Я ожидаю получить изображение, отображающее цвета, соответствующие вводимому звукув