我是不是需要将立体声音频转换为单声道以进行 FFT?
Posted
技术标签:
【中文标题】我是不是需要将立体声音频转换为单声道以进行 FFT?【英文标题】:Do I need to convert stereo audio to mono for FFT?我是否需要将立体声音频转换为单声道以进行 FFT? 【发布时间】:2013-11-02 18:53:05 【问题描述】:我发现大多数其他问题都在询问如何将立体声转换为单声道,但我想知道我是否需要将我的音频数据从立体声转换为了做 FFT 到单声道?如果我不这样做,我知道要在两个通道上进行 FFT,但是我如何使用它们来找到音频的分形维数?如果我这样做,将这两个值平均在一起是否是个好主意?
我还有数百万个点,当您查看它们时,您会看到音频信号的样子。如果我有这么多点,我为什么要做一个只有 1024 字节的 FFT?
这是我使用的音频格式: PCM_SIGNED 44100.0 Hz,16 位,立体声,4 字节/帧,小端序
当我读取流时缓冲区可能会得到什么的示例:[41, 0, 68, 0]
如果我只是将两者平均起来,我就是这样做的:
amplitude1 = (double) (buffer[1] << 8 | buffer[0] & 0xFF) / 32767.0;
amplitude2 = (double) (buffer[3] << 8 | buffer[2] & 0xFF) / 32767.0;
double aveAmp = (amplitude2+amplitude1)/2;
【问题讨论】:
“音频的分形维数”是什么意思? en.wikipedia.org/wiki/Fractal_dimension 所以在做 FFT 之后,我会使用一些公式,它会找到功率谱或类似的东西,然后我会从中得到分形维度。跨度> 听起来你在问几个问题,完全不清楚你想用分形维度做什么。一般来说,“我是否需要从立体声转换为单声道”的正确答案是“视情况而定”,因此您可能想解释一下您在做什么 fft。您要衡量/完成什么? 对于我的高级研究,我正在确定通过使用不同程度的插值生成的音乐的分形性,以查看比较时是否存在分形性差异。数学和 MIDI 音乐已经完成,我可以轻松地将 MIDI 数据转换为真实的音频数据。我到处都看到如何进行 FFT,但没有人解释任何准备工作。就像我有 3000 万个点代表波形一样,接下来我需要做什么才能进行 FFT?根据采样率划分 pts 并对这个子集进行 FFT?关于我所说的分形音乐。 查看此链接,该链接显示了一些研究人员如何研究大量以前的音乐并确定它们的分形。这就是我拍摄音乐的目的。 essayforth.com/read-file/… 回到我的标题问题。我确信我只是将两者平均起来,所以我诚实地问这个问题只是为了确定并帮助其他想知道的人。 【参考方案1】:声音的真实性不是单声道或立体声,它是空间中的一个场。 “立体声”是一种简单的数据压缩形式,它利用了我们缺乏耳朵的优势。 Mono 只是稍微更进一步。
也就是说,“分形维数”对于音频的定义并不明确。以立体声为例,您可以将左通道用作 X 坐标,将右通道用作 Y 坐标,您将获得具有相关分形维数的 2D 路径。这将完全与相同声音的等效“单”一维解释的分形维数无关;立体分形维数将测量真实的立体内容。 (通过简单地复制信号在立体声中调整 mon 将创建 1.0 的立体分形维数,因为 L=R 始终是一条线)
【讨论】:
尽管我真的想将此标记为答案,但我的结果数据另有说明。根据我的音频数据,如果我将左侧绘制为 y,右侧绘制为 x,我将得到两个不同的图表,反之亦然,因为我为两个通道获得了两个不同的值。虽然我同意无论我使用立体声还是单声道,我都会得到一个完全不同的分形维度。我已经开始接受只是将两者平均在一起,但我现在的困境是决定是对整首歌进行傅立叶变换还是一次对其进行 1024 个采样。 我不知道为什么我会考虑做一个样本而不是整首歌的英尺,因为我会达到更高的分辨率。另外,如果我做了一个样本,我什至不明白如何将所有的 ffts 组合在一起。 @user2567273:如果你得到两张图,那你就做错了。不要绘制 x(t) 和 y(t);改为绘制 y(x)。那个情节有它自己的分形维数,它是立体的合适的分形维数,但它是你需要的吗?至于对整首歌曲进行 FFT,这意味着什么?当然,你会得到一个不错的分辨率,并且可能在 437.31 Hz 处有一个峰值。并不意味着整个 3 分钟都有一个持续的 437.21 音符。 我的意思是你可以绘制 y(x) 两次并有两个不同的图形,因为你可以让第一个的正确通道是 x,第二个是 y。我需要的是找到我正在生成的歌曲的分形维度。如果正确答案是使用立体声而不是单声道,我将使用立体声。这对我的 fft 结果有何影响,或者我会直接从该图中找到分形维数以及如何?顺便说一句,你对我的帮助真的很大,所以谢谢! @user2567273:这只会围绕 x=y 对角线旋转图形,不会影响分形维数。但主要问题是你仍然不明白一首歌的分形维度根本不存在。以上是关于我是不是需要将立体声音频转换为单声道以进行 FFT?的主要内容,如果未能解决你的问题,请参考以下文章