4

有人可以给我一些关于如何合成乐器声音的指导(钢琴、鼓、吉他等...)

我什至不确定要寻找什么。

谢谢

4

5 回答 5

7

不确定是否仍然如此,但 Android 似乎存在延迟问题,使其无法进行真正的声音合成。在我看来,NanoStudio 是 iOS 上最好的音频应用程序,到目前为止,作者拒绝制作 Android 版本,因为框架还没有。

请参阅以下链接:

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=nanostudio+android#hl=en&q=+site:forums.blipinteractive.co.uk+nanostudio+android&bav=on.2,or.r_gc .r_pw.&fp=ee1cd411508a9e34&biw=1194&bih=939

这完全取决于您正在制作什么样的应用程序,如果它是 Akai APC 发出的声音,您可能会没事。如果您追求真正的合成(制作波形以便它们复制钢琴、吉他和鼓),这就是上面提到的 JASS 所做的,那么 Android 可能无法处理它。

如果您正在寻找通过合成模拟有机乐器的指南,请查看 Fred Welsh 的书籍http://www.synthesizer-cookbook.com/

于 2011-08-04T21:42:21.060 回答
4

合成吉他、钢琴或自然鼓会很困难。触发您通过合成引擎的样本较少。如果您想合成模拟合成器声音,那就更容易了。

这是一个项目,您可能可以从中获取代码:

https://sites.google.com/site/androidsynthesizer/

最后,如果您想创建一个完整的合成器或多轨应用程序,您必须将您的振荡器 + 过滤器等渲染为可以通过管道传输到 MediaPlayer 的音频流。你不一定需要 MIDI 来做到这一点。

这是一个人的经历:

http://jazarimusic.com/2011/06/audio-on-android-a-developers-perspective/

有趣的阅​​读。

于 2011-08-04T21:51:55.797 回答
1

Android 上的 MIDI 支持很糟糕。(一般来说音频支持也是如此,但那是另一回事了。)这里有一篇有趣的博客文章讨论了 Android 上的(缺乏)MIDI 功能。以下是他为解决一些限制所做的工作:

我个人解决了动态midi生成问题如下:以编程方式生成midi文件,将其写入设备存储,使用文件启动媒体播放器并让它播放。如果您只需要播放动态 MIDI 声音,这已经足够快了。我怀疑它对于创建像音序器这样的用户控制的 MIDI 东西很有用,但对于其他情况来说它很棒。

于 2011-08-04T21:32:15.043 回答
1

JASS(Java 音频合成系统)PureData可能值得一看的两个项目。PureData 非常有趣,虽然可能是更难的路径。

于 2011-08-04T21:29:36.140 回答
0

不幸的是,Android 在官方 Java SDK 中取消了对 MIDI 的支持。

也就是说,您不能直接播放音频流。您必须使用提供的 MediaStream 类。

您必须使用一些 DSP(数字信号处理)知识和 NDK 才能做到这一点。

如果有一个通用包(不一定适用于 Android)允许您执行此操作,我不会感到惊讶。

我希望这为您指明了正确的方向!

于 2011-08-04T21:27:26.150 回答