哪些实时C ++音频库与Xcode 4一起使用?

时间:2011-11-14 02:17:18

标签: c++ audio sfml portaudio sound-synthesis

我想用C ++开始一个项目,它允许我用float y = sin(2 * PI * f * t);,FM合成和其他更复杂的算法等函数创建声音。我在Mac OS X Lion上使用Xcode 4,但最终希望将软件移植到Windows平台。我已经尝试过库SFML 1.6和2.0,RTAudio和PortAudio,但是我无法使用Xcode 4编译任何程序。窗口图形库和MIDI支持将是奖金,但我不需要它。

您是否有成功的图书馆和方法?如果前面提到的任何库都适合你,你是如何使用Xcode 4编译的?

2 个答案:

答案 0 :(得分:3)

我为Windows和Mac创建了一个名为“Crosstalk”的C ++音频库。

它是一个实时C ++音频引擎,允许您实时创建和路由音频系统。基本上,引擎负责所有音频路由,并为您提供一个简单的平台来创建系统组件(例如“FM Synth”组件连接到“低通滤波器”连接到“音频设备”和“文件记录器”)

它非常易于使用。以下是如何播放mp3文件的示例(这些组件随引擎一起提供):

XtSystem system;
XtMp3Decoder mp3Decoder;
XtAudioDevice audioDevice;

long md = system.addComponent(&mp3Decoder);
long ad = system.addComponent(&audioDevice);

system.connOutToIn(md,0,ad,0);
system.connOutToIn(md,1,ad,1);

mp3Decoder.loadFile("../05 Tchaikovski-Swan Lake-Scene.mp3");
mp3Decoder.play();

Crosstalk附带的是示例Xcode和Visual Studio项目。

您可以在此处下载Crosstalk并查看API文档和许可详细信息:http://www.adaptaudio.com/Crosstalk

编辑(01-12-2012):

Crosstalk已被一个名为“DSPatch”的开源项目所取代。 DSPatch本质上是Crosstalk背后的路由引擎的升级版本,不再局限于音频处理。 DSPatch允许您创建和路由几乎任何类型的可想象的流程链,并且可以免费用于个人和专有用途:)

答案 1 :(得分:1)

libsndfile可能会帮助你

http://www.mega-nerd.com/libsndfile/