Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从声谱图重建音频_Python_Matlab_Audio_Spectrogram - Fatal编程技术网

Python 从声谱图重建音频

Python 从声谱图重建音频,python,matlab,audio,spectrogram,Python,Matlab,Audio,Spectrogram,我已经按照()从声音构造了一个频谱图。我已经将光谱图导出并保存为png图像。我现在想要的是,在matlab或任何其他平台中导入图像,并从中构建音频。我已经阅读了很多帖子和阅读材料,但它们并不涉及从图像生成音频。大多数情况下,他们依靠声音信息进行重建,其中频谱图仅用于可视化目的,仅此而已。附加图像以供参考。在您引用的文档之后: s = imread('im.png') // see remarks below x = stftmag2sig(s,nfft) // x is your audio

我已经按照()从声音构造了一个频谱图。我已经将光谱图导出并保存为png图像。我现在想要的是,在matlab或任何其他平台中导入图像,并从中构建音频。我已经阅读了很多帖子和阅读材料,但它们并不涉及从图像生成音频。大多数情况下,他们依靠声音信息进行重建,其中频谱图仅用于可视化目的,仅此而已。附加图像以供参考。

在您引用的文档之后:

s = imread('im.png') // see remarks below
x = stftmag2sig(s,nfft) // x is your audio
s
是您的图像。OP产生这些光谱图,所以他控制输出。基于此:

  • 避免有损图像格式,并确保不会发生重缩放/插值。您的像素应该包含来自给定时间窗口(
    nfft
    )和频率槽的振幅
  • 要么生成只有光谱图(无轴)的图像,要么知道光谱图的精确坐标
  • 不要在光谱图中使用颜色。它看起来不错,但对于如何将三元组颜色映射到振幅,引入了完全不必要的歧义

您发布的链接中有一个名为“从STFT幅值重建音频信号”的示例,这不是您想要的吗?在任何情况下,如果我是你,我会尝试在给定频率/时间空间中振幅矩阵的情况下重建信号。然后找出如何将图像转换成这样的矩阵,如果你需要这样做的话。我想从频谱图重建音频信号。该链接提供了如何从STFT幅值重建音频信号的信息。即使如此,他们也高度依赖信号本身的幅度部分。首先,我想看看我们是否能从光谱图图像中提取相同的信息。我建议先看看其他问题。虽然在某些情况下语言可能不一样,但原则是一样的,至于从图像中提取值,您可以尝试转换为灰度并将其加载到类似于numpy数组的东西中,其中每个元素都是像素的亮度。这不是一个很好的解决方案,因为它在很大程度上取决于你的颜色映射在o.g.图像上的方式。处理实际数据要比处理图像好得多,但如果必须使用图像,请尝试使用灰度图像。就反演STFT/重建信号而言,这只有在您已经知道窗口函数的情况下才可能,对吗?