Python 如何将.wav文件转换为用于神经网络的图像?
我正在尝试使用神经网络进行声音分类,并希望将4秒的音频文件转换为.wav文件格式,以转换为图像 我更喜欢使用Librosa图书馆。我也想知道如何阅读这张图片,并将其作为任何CNN模型的输入 我确实在这里找到了类似的帖子,但它们并没有解决我的问题 这就是我迄今为止所尝试的:Python 如何将.wav文件转换为用于神经网络的图像?,python,deep-learning,librosa,Python,Deep Learning,Librosa,我正在尝试使用神经网络进行声音分类,并希望将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
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到db(S,ref=np.max),fmax=8000)
plt.savefig('mel.png')
我得到这个图像:
当我尝试使用matplotlib.pyplot
或cv2
读取图像时,我得到的只是一个填充了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, 255]],
...,
链接到音频文件:这很正常-您看到的是两侧的白色边框,而
(255255255)
是白色的
尝试查看坐标200200
:
print(array[200:210, 200:210])
array([[[ 96, 87, 235],
[ 96, 87, 235],
[ 96, 87, 235],
[ 95, 90, 237],
[ 95, 90, 237],
...
...
或者看看平均值:
print(array.mean())
161.20984439300412
如果您不想让您的问题被否决,请遵循以下步骤:特别是:“帮助他人再现问题”这一点很有帮助:我正在尝试找出如何将音频文件添加到我的问题中。例如,如果您询问的是wav文件,请提供一个wav文件,或者该文件不可再现。