Как конвертировать волновой файл в спектрограмму 128×128? Я пытаюсь создать набор данных из аудио из 2 папок: аудио кошки( метка 1)/аудио собаки(2)

#python #neural-network #wav

Вопрос:

#Этот код выполняет поиск 128×128, но не преобразует аудио в 128×128

для x в диапазоне(40):

 y, sr = librosa.load('C:/audio files/folderCat/'    str(x) '.wav',   
duration=2.97)  
ps = librosa.feature.melspectrogram(y=y, sr=sr)
if ps.shape != (128, 128): continue
D.append( (ps, 1) )
 

для x в диапазоне(40):

 y, sr = librosa.load('C:/audio files/folderDog'      
str(x) '.wav', duration=2.97)  
ps = librosa.feature.melspectrogram(y=y, sr=sr)
if ps.shape != (128, 128): continue
D.append( (ps, 2) )
 

Ответ №1:

Я верю, что нашел ответ. По умолчанию ps = librosa.feature.melsспектрограмма(y=y, sr=sr) создает спектрограмму 128 на оси y, но ось x необходимо отрегулировать, чтобы там было 128. Вам нужно настроить продолжительность так, чтобы при делении на 23 миллисекунды вы получили 128. Поэтому мне нужно, чтобы продолжительность составляла примерно 2,95 секунды или 2950 миллисекунд.