2010-11-21 48 views
10

我有一个适用于Android的吉他图应用程序,我正在向iOS移植。 Android有一个嵌入式midi合成器(sonivox),所以我可以生成midi文件并让Android处理播放。适用于iOS的简单嵌入式MidiSynth?

有没有办法在iOS上做到这一点?或者有非常轻量级的嵌入式合成器的iOS?

回答

4

更新:我的回答已过时。 @ lukebuehler的回答很合适。

如果您不介意非开源解决方案,请尝试FMOD。作为游戏的商业音频引擎,fmod配备了一个简单的MIDI合成器。我试过免费评估版。它在我的iPhone 3G上正确播放GM MIDI文件。

如果你想要的不只是一个SMF文件播放器,你需要一个全功能的GS/GM softsynth,它可以实时响应各个MIDI事件。您可以尝试midisynth from CrimsonTech。其许可费是公平的。 Crimsontech在appstore中提供了几个演示应用程序。此外,它还免费提供评估SDK。在您真的要发布您的应用程序之前,您不需要为该许可证支付一分钱。

+0

这是一个不错的。我不介意商业软件,只有开放标准是我认为非常重要的。感谢高架,如果你需要让我知道的东西,也许我可以帮助。 – Peterdk 2011-01-01 17:08:57

+0

看起来它无法传输midi事件,这真是无赖。上行是它支持android和wp7。希望获得单一许可证。 – Peterdk 2011-03-09 16:05:57

+0

哇,你知道很多东西!感谢指针。我已与他们联系。 – Peterdk 2011-03-14 03:38:22

-3

iOS 4.2支持MIDI。如果它与OS X提供的相同,那么trhere也会包含一个基本的合成器。一探究竟。

+0

4.2中的MIDI支持不包括合成引擎。 – hotpaw2 2011-01-01 04:08:11

+4

你可能会考虑删除这个答案? – 2012-03-04 18:01:58

1

我不认为iOS 4.2的MIDI支持允许从手机本身播放MIDI数据。它仅仅用于向其他MIDI设备发送和接收MIDI命令。

从最新的iOS 4.2文档看来,您可以使用MIDI支持将MIDI命令发送到其他设备进行播放。您还可以接收来自其他设备的命令并更改这些命令,或将其保存在文件中。但是我找不到任何支持来直接从手机上直接播放MIDI文件。有人请纠正我,如果我错了(我希望我错了!)。

21

从iOS 5开始,现在有了AUSampler音频单元,您可以通过它加载音色库(苹果预设和音色),然后通过MIDI信息控制采样器/合成器。

SEEE这个例子应用程序: https://developer.apple.com/library/ios/#samplecode/LoadPresetDemo/Listings/ReadMe_txt.html

它的伟大工程!

+0

惊人的发现,谢谢! – 2012-03-04 18:19:32

+2

谢谢。你的回答比我的更新更新。 iOS 5.0配备了强大的采样引擎。要播放GM/GS midifile,我们只需要一个包含丰富乐器的soundfont。我找到了关于如何加载DLS2 soundfont文件的[官方技术文件] [1]。有人试过这个? [1]:https://developer.apple.com/library/mac/#technotes/tn2283/_index.htmladd complete – 2012-03-05 02:52:39

+0

是的,我正在使用声音字体为我的应用程序(WorldScales)我正在加载一个100MB的sf2文件,包含多个声音库,速度层和每个补丁的样本。但是,请注意,如果您只是将声音库切换为相同的声音字体,则会出现一些内存问题,即只有加载不同的声音字体文件时,才能快速清除内存。 – lukebuehler 2012-03-05 14:56:42

相关问题