有人可以给我一些关于如何合成乐器声音的指导(钢琴,鼓,吉他等......)
我甚至不确定要寻找什么。
由于
答案 0 :(得分:6)
不确定是否仍然如此,但Android似乎有延迟问题,阻止它能够进行真正的声音合成。在我看来,NanoStudio是iOS上最好的音频应用程序,到目前为止作者拒绝制作Android版本,因为该框架还没有。
请参阅以下链接:
这一切都取决于你正在制作什么样的应用程序,如果它将是一个Akai APC发射声音你可能没事。如果您正在进行真正的合成(制作波形以便它们复制钢琴,吉他和鼓),这就是JASS上面提到的那样,那么Android可能无法处理它。
如果您正在寻找有关通过综合模拟有机仪器的指南,请查看Fred Welsh撰写的书籍http://www.synthesizer-cookbook.com/
答案 1 :(得分:3)
合成吉他,钢琴或天然鼓很难。触发通过合成引擎的样本不那么频繁。如果你想合成更容易的模拟合成声音。
这是一个项目,您可以从中获取代码:
https://sites.google.com/site/androidsynthesizer/
最后,如果你想创建一个完整的合成器或多轨应用程序,你必须将振荡器+滤波器等渲染成可以通过管道传输到MediaPlayer的音频流。你不一定需要MIDI才能做到这一点。
这是一个人的经历:
http://jazarimusic.com/2011/06/audio-on-android-a-developers-perspective/
有趣的阅读。
答案 2 :(得分:1)
可能值得关注JASS (Java Audio Synthesis System)和PureData的两个项目。尽管可能是更难的路径,但PureData非常有趣。
答案 3 :(得分:1)
Android上的MIDI支持很糟糕。 (一般来说音频支持也是如此,但这是另一个故事。)有一个有趣的blog post here讨论了Android上(缺乏)MIDI功能。以下是他为解决一些限制所做的工作:
就个人而言,我解决了动态midi生成问题如下:以编程方式生成midi文件,将其写入设备存储,启动带有文件的媒体播放器并让它播放。如果您只需要播放动态midi声音,这就足够快了。我怀疑它对于创建用户控制的midi之类的东西很有用,比如序列发生器,但对于其他情况它很棒。
答案 4 :(得分:0)
也就是说,您无法直接播放音频流。您必须使用提供的MediaStream类。
为了做到这一点,你必须使用一些DSP(数字信号处理)知识和NDK。
如果有一个通用软件包(不一定是Android版)允许你这样做,我不会感到惊讶。
我希望这能指出你正确的方向!