在iOS App(制作卡拉OK)中从音频文件中分离语音和音乐[关闭]

Posted

技术标签:

【中文标题】在iOS App(制作卡拉OK)中从音频文件中分离语音和音乐[关闭]【英文标题】:separating voice and music from a audio file in iOS App(Making karaoke) [closed] 【发布时间】:2016-01-13 10:19:55 【问题描述】:

我正在开发音乐应用程序,并希望添加一个应用程序可以将歌曲转换为卡拉 OK 的功能。我正在研究 CoreAudio 框架。有没有办法处理它。 有没有相关的链接或资源?

【问题讨论】:

【参考方案1】:

一般来说,人声和人声的音频频谱频率范围不能通过滤波来分离,因为人声和乐器的音频频谱频率范围重叠很多。

对于立体声音乐,主要人声在中心位置平移,而器乐平移到一侧或另一侧,可以通过从另一个通道中减去一个通道来去除混音中的一些人声(比如从右到左)。要执行此减法,您​​必须将 mp3 转换为原始 PCM 样本的未​​压缩音频,并使用 C 数据类型。

关于如何实现这一点的学术研究的搜索词是“盲源分离”。

与其说是“算法”,不如说是“技巧”,但它可以在代码中实现自动化。它主要适用于人声居中的立体声轨道。如果人声居中,则它们在两条轨道中均等地表现出来。如果您反转其中一个音轨,然后将它们重新合并在一起,则中心人声的波形会抵消并实际上被消除。您可以使用大多数优秀的音频编辑器(如 Audacity)手动执行此操作。它不会为您提供完美的结果,并且其余的音频也会受到一些影响,但它可以制作出很棒的卡拉 OK 曲目。

【讨论】:

这就像在搅拌机中混合后试图取出所有单独的食物成分。

以上是关于在iOS App(制作卡拉OK)中从音频文件中分离语音和音乐[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 3 个不同的频率区域中分离音频文件

iPhone - 从视频文件中分离音频并将其保存到单独的文件中

在 MySQL PHP 中从多行结果中分离行

在python中从opencv中分离多个canny边缘检测的坐标

在 python 中从 zip 加载音频文件时出错

mpmovieplayercontroller:在后台播放