去除频谱图中的白色部分
Removing white sections in spectrogram
我正在从音频文件创建频谱图,但在几个部分中,我得到了白色背景。我希望白色部分是透明的。
例如我当前的频谱图:
我想要的频谱图:
我当前将 .wav 文件转换为频谱图的代码
def spectrogram_from_wav():
results = ['Positive', 'Negative', 'Unknown']
for res in results:
pathlib.Path(f"spectrograms/{res}").mkdir(parents=True, exist_ok=True)
for files in tqdm(os.listdir(f"./cleaned_data/{res}")):
filename = f"cleaned_data/{res}/{files}"
#print(filename)
x, sr = librosa.load(filename, mono=True)
plt.specgram(x, NFFT=2048, Fs=2, Fc=0, noverlap=128, cmap='inferno', sides='default', mode='default', scale='dB');
plt.axis('off');
#plt.savefig(f"./spectrograms/{res}/{files[:-4]}.png")
plt.clf()
plt.show()
注意 savefig
有 transparent
选项:
https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.savefig.html
How to export plots from matplotlib with transparent background?
我正在从音频文件创建频谱图,但在几个部分中,我得到了白色背景。我希望白色部分是透明的。
例如我当前的频谱图:
我想要的频谱图:
我当前将 .wav 文件转换为频谱图的代码
def spectrogram_from_wav():
results = ['Positive', 'Negative', 'Unknown']
for res in results:
pathlib.Path(f"spectrograms/{res}").mkdir(parents=True, exist_ok=True)
for files in tqdm(os.listdir(f"./cleaned_data/{res}")):
filename = f"cleaned_data/{res}/{files}"
#print(filename)
x, sr = librosa.load(filename, mono=True)
plt.specgram(x, NFFT=2048, Fs=2, Fc=0, noverlap=128, cmap='inferno', sides='default', mode='default', scale='dB');
plt.axis('off');
#plt.savefig(f"./spectrograms/{res}/{files[:-4]}.png")
plt.clf()
plt.show()
注意 savefig
有 transparent
选项:
https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.savefig.html
How to export plots from matplotlib with transparent background?