ios - 从 iOS App 中的音频文件中分离语音和音乐(制作卡拉 OK)

标签 ios objective-c iphone audio core-audio

<分区>

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

最佳答案

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

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

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

与其说是“算法”不如说是“技巧”,但它可以在代码中实现自动化。它主要适用于人声居中的立体声轨道。如果人声居中,则它们在两个音轨中的表现是一样的。如果您反转其中一首轨道,然后将它们重新合并在一起,则中央人声的波形会相互抵消并几乎被移除。您可以使用大多数优秀的音频编辑器(如 audacity)手动执行此操作。它不会给你完美的结果,其余的音频也会受到一点影响,但它会产生很棒的卡拉 OK 轨道。

关于ios - 从 iOS App 中的音频文件中分离语音和音乐(制作卡拉 OK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34764034/

相关文章:

ios - UITableViewCellStyle 字幕自动布局从 iOS 10 到 iOS 11 的变化?

iphone - Objective-C 日志方法调用

javascript - iPhone/iPad 应用程序图像格式化最佳实践

ios - 在 iOS 上发送 HTTP POST 请求并从服务器接收响应

objective-c - 包含和导入之间的区别

ios 8自定义键盘出现延迟

ios - 如何使用 Swift 3 在泛型函数中获取计算变量的子类版本?

ios - 如何在提交到 App Store 之前检测私有(private) api 的使用情况以避免拒绝

ios - -[NSAttributedStringboundingRectWithSize] html的矩形是错误的

ios - 包含上限值的浮点模运算符