【问题标题】:How to synthesize sounds of instruments on Android (Piano, Drums, Guitar, etc...)如何在 Android 上合成乐器的声音(钢琴、鼓、吉他等...)
【发布时间】:2026-01-16 09:50:02
【问题描述】:

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

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

谢谢

【问题讨论】:

  • 是否没有现有的 Google API 可以提供帮助?

标签: android audio synthesis guitar piano


【解决方案1】:

不确定是否仍然如此,但 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/ 的书籍

【讨论】:

    【解决方案2】:

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

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

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

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

    这是一个人的经历:

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

    有趣的阅读。

    【讨论】:

      【解决方案3】:

      JASS (Java Audio Synthesis System)PureData 可能值得关注的两个项目。 PureData 非常有趣,虽然可能是更难的路径。

      【讨论】:

        【解决方案4】:

        Android 上的 MIDI 支持很烂。 (一般来说音频支持也是如此,但那是另一回事了。)有一个有趣的blog post here 讨论了 Android 上(缺少)MIDI 功能。以下是他为解决一些限制所做的工作:

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

        【讨论】:

          【解决方案5】:

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

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

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

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

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

          【讨论】: