用libosa恢复背景音频,并用隔音来保存它
#python #music

在我的previous article中,我将人声与乐器分开,但没有保存。本文旨在从IPython中节省IPython.Audio的音频。我的previous article的完整频谱,前景光谱和背景频谱看起来像:Audio spectrum of the track

我绑扎的另一个目标是仅在本文中显示的乐器中播放音频。

为了保存音频,我们使用soundfilewrite()函数并获取音频数据,采样率并将其保存为.wav

import soundfile as sf

sf.write('Instruments.wav', x_background, sr, subtype='PCM_24')
y, sr = librosa.load('Instruments.wav')
ipd.Audio('Instruments.wav')

在从蒙版频谱中恢复背景音频或仪器音频时,我们仅使用librosaistft()函数。

# Recover the background audio from the masked spectrogram
x_background = librosa.istft(S_background * phase)
# playback audio
ipd.Audio(data=x_background[90*sr:110*sr], rate=sr)

就是这样。

要从Jupyter笔记本查看代码,您可以转到this article