在我的previous article中,我将人声与乐器分开,但没有保存。本文旨在从IPython
中节省IPython.Audio
的音频。我的previous article的完整频谱,前景光谱和背景频谱看起来像:
我绑扎的另一个目标是仅在本文中显示的乐器中播放音频。
为了保存音频,我们使用soundfile
的write()
函数并获取音频数据,采样率并将其保存为.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')
在从蒙版频谱中恢复背景音频或仪器音频时,我们仅使用librosa
的istft()
函数。
# 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