【发布时间】:2020-02-19 08:31:30
【问题描述】:
如果没有特定频率,我如何输入和输出同一首歌曲?
根据我目前的研究,这首歌应该被分解成chucks,FFT它,降低目标频率,iFFT它,然后将块拼接在一起。但是,我不确定这是否是正确的方法,如果是,我将如何从音频转换为 FFT 输入(似乎是矢量矩阵),如何降低目标频率,以及如何转换回来从 FFT 输出到音频,以及如何重新拼接。
作为背景,我爷爷喜欢音乐。然而,最近他不能听它,因为他对歌曲中的某些频率变得过敏。我是一名高中生,有一些背景编码,并且刚刚进入算法工作,因此使用这些算法的经验很少。如果这些是基本问题,请原谅;任何指针都会有所帮助。
编辑:到目前为止,我已经了解了 fft 的基本前提(通过基本的 3blue1brown yt 视频等)并且可以通过 scipy/numpi 获得它,并弄清楚了如何从 youtube 转换为 0.25 秒的块wav 格式。
【问题讨论】:
-
请添加您查阅的参考资料和您尝试过的代码(如果有)。
-
使用傅里叶变换 (FT),降低所需频率并将其以正确的方式转换回接缝。
-
如果你使用 FFT,为了避免 FFT 块的边界问题,你可以使用一种“重叠保存”的方法。如果您只想降低较低或较高的频率,一个简单的 FIR 滤波器(如 Kaiser 滤波器)就可以做到。您应该提供有关您想取消的这些频率的更多信息。另请注意,有一个 信号处理 SE 站点,已经提出过此类问题
-
@Happy-Monad 更新了我到目前为止所做的事情
-
这是一篇很棒的文章,您可能会感兴趣 willdrevo.com/fingerprinting-and-audio-recognition-with-python 以及这本免费的书 greenteapress.com/thinkdsp/thinkdsp.pdf
标签: algorithm signal-processing fft