音频编程、声音处理和 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的主要内容,如果未能解决你的问题,请参考以下文章

IOS 在我的音频引擎声音结果中应用效果

:使用fmod对音频进行变调处理

:使用fmod对音频进行变调处理

Python pydub音频处理

用51单片机处理音频信号

用于音频信号处理的 DSP 和传感器信号处理之间是不是存在根本区别?