如何提高 MPMediaItem 的频率范围? (如参数均衡器,例如,将 500 Hz 提高 12 dB)

Posted

技术标签:

【中文标题】如何提高 MPMediaItem 的频率范围? (如参数均衡器,例如,将 500 Hz 提高 12 dB)【英文标题】:How to boost frequency range of MPMediaItem? (Like parametric EQ, e.g., boost 500 Hz by 12 dB) 【发布时间】:2014-02-09 16:44:13 【问题描述】:

我正在寻找构建一个非常简单的 EQ,它可以播放用户库中歌曲的过滤版本。它本质上是一个参数均衡器:我会指定带宽、削减/提升(以 dB 为单位)和中心频率,然后返回一些我可以像原始 MPMediaItem 一样播放的对象。

对于 MPMediaItems,我过去通常使用 AVAudioPlayer 并取得了巨大的成功。对于音频生成,我使用了 AudioUnits。在 MATLAB 中,我可能只是创建自定义过滤器来执行此操作。对于如何在 ios 中处理这个问题,我有点不知所措!任何指针都会很棒。感谢阅读

【问题讨论】:

【参考方案1】:

iOS 附带相当数量的音频单元。 kAudioUnitSubType_ParametricEQkAudioUnitSubType_NBandEQkAudioUnitSubType_BandPassFilter 之一可能是您想要的,具体取决于您是否要控制 Q 以及 FcGain

我怀疑您将不得不放弃使用更高级别的组件,例如 AVAudioPlayer 才能使用它。

相关的iOS音频单元参考可以找到here

【讨论】:

看来音频单元正是我所需要的,但我正在努力从音乐库中获取一个项目到单元。我现在将调查 AVAssetReaders 以执行此操作。

以上是关于如何提高 MPMediaItem 的频率范围? (如参数均衡器,例如,将 500 Hz 提高 12 dB)的主要内容,如果未能解决你的问题,请参考以下文章

如何从 MPMoviePlayerController 获取 MPMediaItem?

如何将 MPMediaItem 添加到 MPMediaItemCollection

如何将 nsdata 转换为 MPMediaitem 歌曲 iOS Sdk

如何访问 MPMediaItem 的“排序为”字段?

如何在 MPMediaPlaylist 中获取 MPMediaItem 顺序?

如何获取 MPMediaItem(歌曲)收听时间(日期)