音频编程、声音处理和 DSP
Posted
技术标签:
【中文标题】音频编程、声音处理和 DSP【英文标题】:Audio programming, Sound Processing and DSP 【发布时间】:2010-06-23 05:27:14 【问题描述】:我在 iPhone 上玩一个卡拉 OK 应用程序并提出以下问题:
该应用程序允许其用户控制艺术家的音量;甚至静音。这怎么可能? 调整艺术家声音/设置均衡器等是否意味着对所需频率进行一些转换?这里需要什么样的数学(频域变换)?
应用程序通过麦克风录制用户语音输入。假设声音是以某种格式录制的,应用程序能够将录音与卡拉 OK 轨道混合(艺术家的声音静音)。如何才能做到这一点? 他们是否同时播放曲目和录音?或者他们可能在原始轨道中插入了额外的频率(频道?),或者替换它?
这里涉及哪种 DSP?这在 Java、Objective C 中是否可行?
我很好奇,如果您有可以帮助我理解此处机制的文档或书籍的链接,请分享。
谢谢。
【问题讨论】:
【参考方案1】:我不知道那个特定的应用程序,可能它有单独的语音记录器。
对于通用的 2 通道立体声,可以执行最简单的语音抑制,假设艺术家的声音在两个通道之间以某种方式均衡(在声学上它出现在中心)。所以最简单的“DSP”就是从另一个通道中减去一个通道。但是,它不适用于现代唱片,因为所有乐器和声音都是单独录制的,然后混合在一起(这意味着声音不一定在两个通道之间同相)。
【讨论】:
在我看来,这涉及到两个独立的 mp3:一个乐器和一个语音轨道。这两个是同时播放的,也许是使用 iPhone 中的 Audiosession API(android 中的 SoundPool?)。音频是从麦克风录制的,当用户选择预览时,他们正在与乐器音轨同步播放录制的音频。【参考方案2】:我写了两篇关于如何在 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
如果对你有帮助,请回答!谢谢!
【讨论】:
以上是关于音频编程、声音处理和 DSP的主要内容,如果未能解决你的问题,请参考以下文章