1

我正在构建一个允许用户弹奏吉他声音的 iOS 应用程序 - 例如弹拨或弹奏。

我想让用户对正在播放的吉他声音应用音高转换或哇音(压缩)。

目前,我正在使用吉他声音的音频样本。

我已经完成了一些关于 DSP 和音频合成的基本阅读,但我不是这方面的专家。我看到了诸如 csound 和 stk 之类的库,它们产生的声音似乎是合成的(即不是从音频样本中播放的)。我不知道如何应用它们,或者我是否可以使用它们将诸如音高转换或哇音之类的效果应用于音频样本。

有人可以为此指出正确的方向吗?

4

1 回答 1

0

您可以使用开源音频处理库。本质上,您正在获取音频样本,您需要处理它们并将它们作为样本发送出去。处理可以由这些库完成,或者您使用自己的一个。这是一个DSP 库(免责声明:我写了这个)。查看任何类的 process(float,float) 方法,看看它是如何做到的。

哇音和压缩是两种完全不同的效果。哇音是一种中心频率变化缓慢的低通滤波器,而压缩是一种均衡音量的方法。上面的库有一个您可以签出的Compressor类。

STK 也有效果类,不仅合成类 (JCRev) 是一种用于混响的类,但我强烈建议远离它,因为它们真的很难编译和维护。

如果您还没有看过这个,请查看 Julius Smith 的优秀而全面的书籍物理音频信号处理

于 2014-03-26T01:11:12.330 回答