如何解决是否可以仅使用频谱图图像来重建音频?
所以我要用librosa创建一些频谱图以保存为图像,之后我打算直接对图像进行修改(即添加随机噪声等),然后我想从该图像中重建音频
无论如何,一些研究使我得到了类似过程的示例(请参阅here或here),但与我尝试做的事情完全不同,这是获取频谱图的png / jpg图像并将其转换回可用的音频文件。
这是我用来生成规格图像的完整代码:
import librosa
from librosa import display
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
filename = librosa.util.example_audio_file()
y,sr = librosa.load(filename)
window_size = 1024
window = np.hanning(window_size)
stft = librosa.core.spectrum.stft(y,n_fft=window_size,hop_length=512,window=window)
out = 2 * np.abs(stft) / np.sum(window)
fig = plt.Figure()
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
fig.subplots_adjust(left=0,right=1,bottom=0,top=1)
ax.axis('tight')
ax.axis('off')
p = librosa.display.specshow(librosa.amplitude_to_db(out,ref=np.max),ax=ax,y_axis='log',x_axis='time')
fig.savefig('spectrogram.png')
将产生以下确切图像: spectrogram.png
但是像librosa.istft或librosa.griffinlim之类的函数期望librosa.core.spectrum.stft的输出,而且我无法从图像文件撤回整个过程。假设我有这张照片,是否有任何方法可以重新构建音频(即使它有损)?什么样的其他信息是必要的,我该怎么办?
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。