音频编程、声音处理和 DSP
我在 iPhone 上玩卡拉 OK 应用程序时遇到了以下问题:
该应用程序允许用户控制艺术家的音量;甚至静音。这怎么可能? 调整艺术家声音/设置均衡器等是否意味着对所需频率进行一些转换?这里需要什么样的数学(频域变换)?
该应用程序通过麦克风记录用户的语音输入。假设声音以某种格式录制,应用程序能够将录音与卡拉 OK 曲目混合(艺术家的声音被静音)。这怎么能做到呢? 他们是否同时播放曲目和录音?或者他们可能在原始音轨中插入了额外的频率(频道?),或者替换了它?
这里涉及什么类型的 DSP?这在 Java、Objective C 中可能吗?
我很好奇,如果您有可以帮助我理解这里机制的文档或书籍的链接,请分享。
谢谢。
I was playing with a karaoke application on iPhone and came up with following questions:
The application allowed its users to control the volume of the artist; even mute it. How is this possible?
Does adjusting artist sound/setting equalizer etc. mean performing some transformation of required frequencies? What sort of mathematics is required here(frequency domain transformations)?The application recorded users voice input via a mic. Assuming that the sound is recorded in some format, the application was able to mix the recording with the karaoke track(with artists voice muted). How can this be done?
Did they play both the track and voice recording simultaneously? Or maybe they inserted additional frequency(channel?) in the original track, maybe replaced it?What sort of DSP is involved here? Is this possible in Java, Objective C?
I am curious and if you have links to documents or books that can help me understand the mechanism here, please share.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不知道那个特定的应用程序,可能它有一个单独的录音机。
对于通用的 2 通道立体声,可以执行最简单的语音抑制,假设艺术家的声音在两个通道之间以某种方式均衡(声学上它出现在中心)。因此,最简单的“DSP”就是从一个通道中减去另一个通道。然而,它对于现代唱片来说效果不佳,因为所有乐器和声音都是单独录制然后混合在一起的(这意味着声音不一定在两个通道之间同相)。
I don't know that particular application, probably it has a voice track recorder separately.
For generic 2-channels stereo sound the easiest voice suppression can be performed assuming that artist's voice is somehow equally balanced between two channels (acoustically it appears in center). So the simplest 'DSP' would be subtract one channel from another. It does not work that well however with modern records since all instruments and voice are recorded separately and then mixed together (meaning that voice will not be necessarily in phase between two channels).
我写了两篇关于如何在 iOS 中获取自定义 EQ 的详细博文。但我不知道如何自己做DSP的细节。如果您只是想在各种效果和内容之间进行选择,请尝试此操作。
第一篇文章解释了如何构建 libsox:
http://uberblo.gs/2011/04 /iosiphoneos-equalizer-with-libsox-making-it-a-framework
第二个解释如何使用它:
http://uberblo.gs/2011/04/iosiphoneos-equalizer -with-libsox-doing-effects
如果对您有帮助,请回答!谢谢!
I have written two detailed blogposts on how to get a custom EQ in iOS. But i have no details about how to do the DSP yourself. If you simply want to choose between a wide range of effects and stuff, try this.
First post explains how you build libsox:
http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-making-it-a-framework
The second explains how to use it:
http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-doing-effects
please up the answer if it helped you! thanks!