Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用MELSpectgram将wav文件转换为RGB图像?_Python_Signal Processing_Spectrogram_Librosa - Fatal编程技术网

Python 如何使用MELSpectgram将wav文件转换为RGB图像?

Python 如何使用MELSpectgram将wav文件转换为RGB图像?,python,signal-processing,spectrogram,librosa,Python,Signal Processing,Spectrogram,Librosa,我正在用1秒到4秒的wav文件进行声音分类。 我想将wav转换为224x224x3图像,我可以将其转换为Resnet进行分类 转换应使用MELSpectgram 感谢您的帮助您可以使用以下方法生成mel光谱图: import librosa import librosa.display import numpy as np import matplotlib.pyplot as plt y, sr = librosa.load(librosa.util.example_audio_file()

我正在用1秒到4秒的wav文件进行声音分类。 我想将wav转换为224x224x3图像,我可以将其转换为Resnet进行分类 转换应使用MELSpectgram 感谢您的帮助

您可以使用以下方法生成mel光谱图:

import librosa
import librosa.display
import numpy as np
import matplotlib.pyplot as plt

y, sr = librosa.load(librosa.util.example_audio_file()) # your file
S = librosa.feature.melspectrogram(y=y, sr=sr, n_mels=128, fmax=8000)
librosa.display.specshow(librosa.power_to_db(S, ref=np.max), fmax=8000)
plt.savefig('mel.png')

请注意,虽然这些都是假的颜色,但RGB在这里没有意义,也没有任何多通道。使用可与单个通道一起使用的体系结构。

这包括从绘图到文件的轴标记/标签等,作为ML模型的输入不是很好。相反,应该只保存原始光谱图数据。在中的一个例子中,我尝试了这个,得到了AttributeError:module'librosa'没有属性'display'。您现在需要显式导入librosa.display。您还需要将numpy作为np导入,因为您正在第6tanks@Octaviotastico行使用它!编辑。