Я пытаюсь выполнить классификацию звука с помощью нейронной сети и хочу преобразовать 4-секундный аудиофайл в формат .wav для преобразования в изображение.
Я бы предпочел использовать библиотеку Librosa. Также я хотел бы знать, как читать это изображение и предоставлять его в качестве входных данных для любой модели CNN.
Я нашел здесь похожий пост, но они не решают мою проблему.
Это это то, что я пробовал до сих пор:
y, sr = librosa.load('36902-3-2-0.wav')
S = librosa.feature.melspectrogram(y, sr, n_mels=128, fmax=8000)
librosa.display.specshow(librosa.power_to_db(S, ref=np.max), fmax=8000)
plt.savefig('mel.png')
Я получаю это изображение:
And when I try to read the image using matplotlib.pyplot
or cv2
, all I get is an array filled with 255
value:
array([[[255, 255, 255],
[255, 255, 255],
[255, 255, 255],
...,
[255, 255, 255],
[255, 255, 255],
[255, 255, 255]],
[[255, 255, 255],
[255, 255, 255],
[255, 255, 255],
...,
[255, 255, 255],
[255, 255, 255],
[255, 255, 255]],
[[255, 255, 255],
[255, 255, 255],
[255, 255, 255],
...,
[255, 255, 255],
[255, 255, 255],
[255, 255, 255]],
...,
Ссылка на аудиофайл: https://drive.google.com/file/d/1BBgOxKy2-JMOHa90DCeFVLgoA7pEblVg/view?usp=sharing