首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >音频分析中的重叠加法.合成

音频分析中的重叠加法.合成
EN

Stack Overflow用户
提问于 2014-03-05 19:22:07
回答 2查看 1.7K关注 0票数 0

我编写了一些以音频信号(目前为正弦波)作为输入的代码,并执行以下操作:

  1. n (1024)样品帧的采集
  2. 应用FFT
  3. 应用iFFT
  4. 播放输出

通过这种处理,输出信号与输入信号基本相同。

现在,在我的第二次尝试中:

  1. 从输入中提取重叠
  2. 应用窗口函数
  3. FFT
  4. iFFT
  5. 重叠输出帧

在步骤1中,如果我使用2 (4,8,256.)次方的跳数(要跳转到下一帧的样本数)来获取重叠帧输出声音是平滑的,类似于原始的输入声音,但是随着任何其他的跳跃大小,声音开始崩溃。这种情况发生在输入信号的任何频率上。问题1.为什么只有当跳数为2^n时,声音才是平滑的?

目前我使用的是汉宁窗口。当跳的大小很大(例如512)时,输出声音的音量比小的时候(例如,64)要小。这似乎是一种预期的行为,因为一个小的跳跃大小意味着一个样本是用更多的帧重建的,所以会增加更多的信号。问题2.是否有办法适当地缩放输出信号,使其体积与原始信号相似?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-05 21:56:55

这是不应该发生的,重叠-添加方法可以重建您的信号而没有所描述的问题,我们不知道您到底在做什么,我之前做了它的工作,它的任何跳跃大小和窗口大小,一个小秘密是应用零在您的信号前后和之前,以确保一个连续的信号,如果您冷静地会意识到您的窗口功能工作像淡出-进入/淡出-如果你只是连接框架,你会注意到一些点击或输出信号将看起来像一个颤音,得到一个小技巧来告诉你的问题在哪里真正找到!

只是为了调试,跳过快速傅立叶变换和iFFT步骤,看看你的信号是否正确的构造,如果你的重叠-添加过程有效,你的问题可能在你的FFT/iFFT .

票数 2
EN

Stack Overflow用户

发布于 2014-03-05 22:16:32

重叠-添加通常是不使用非矩形窗口功能。取而代之的是零垫。

如果您确实使用了一个窗口函数,那么您必须确保所有偏移窗口函数之和都达到一个常数级别,对于一个constant窗口来说,这个值有一定的偏移量(系列和的开头或结尾除外)。作为

2- (cos(x)+cos(x+Pi)) == 2

Sum更多的窗口进入一个结果,没有任何缩放,当然,和的水平将增加。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22207194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档