繁体   English   中英

"python librosa 包 - 如何从频谱中提取音频"

[英]python librosa package - How can I extract audio from spectrum

您可能已经注意到S_foreground来自S_full ,它来自一个名为magphase的函数。 根据有关此功能的文件,它可以

将复值谱图D分离为其幅度(S)和相位(P)分量,使得D = S * P.

由于magphase采取的实际参数

S_full, phase = librosa.magphase(librosa.stft(y))

stft(y)这是短时傅立叶变换的y ,初始ndarray ,我想你需要做的是计算一个新的D

D_foreground = S_foreground * phase

并将其抛给Inverse stft函数( librosa.istft ):

y_foreground = librosa.istft(D_foreground)

之后,您可以使用输出功能:

librosa.output.write_wav(output_file_path, y_foreground, sr)

说实话,我不熟悉这些理论上的东西(使用这种方法的输出质量差可能是一个证明),但上面我猜测你应该如何导出你的音频。 事实证明,保真度非常差(至少在我的情况下),所以如果你真的关心音频质量,你可能想尝试其他一些软件。

@Alioth 的答案是有效的,除了:

librosa.output.write_wav(output_file_path, y_foreground, sr)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM