软件仪器

时间:2012-01-28 00:29:32

标签: java android audio

我非常喜欢iPhone上的音乐应用程序,例如Smule的Ocarnia,我一直想为Android创建音乐应用程序。是否有某种API /框架可用于创建软件乐器/创建“样式”声音? 谢谢!

*的 修改 * 我找到了一个名为“JFugue”的Java音乐编程API,但它不能在Android中构建,因为它缺乏Java MIDI支持......是否有类似“JFugue”的东西?

3 个答案:

答案 0 :(得分:1)

我对这些应用程序一无所知。

但是有一些不同的方法可以在Android上实现音乐类型应用程序。

MediaPlayback< ---将概述如何使用MediaPlayer对象加载和播放您自己的声音文件。

MediaPlayer< ---更深入地了解MediaPlayer对象的工作原理。

SoundPool< --- MediaPlayer的替代品。 SoundPool设计用于保存多个声音,并且能够在多个流中播放它们。另一方面,MediaPlayer一次只能加载一个媒体。

和ToneGenerator但我现在必须走了。你必须自己去搜索那个,抱歉。

答案 1 :(得分:1)

您可能会采取几种方法

您可以将工具样本包含为应用资源,并使用MediaPlayer / SoundPool进行播放。有关详细信息,请参阅media player topic

您还可以采用更加程序化的方法,自动动态生成实际的音频样本,然后使用AudioTrack进行播放。

Android通过JetPlayer课程确实提供有限的midi支持。但它不支持动态生成midi事件,它只能播放预先存在的midi文件。

答案 2 :(得分:1)

Android上有API可用于制作软件乐器,其他答案涵盖其中一些。

但是存在一个更大的问题,即可笑的高延迟(即从发出软件命令到声音从扬声器发出的时间延迟)。在大多数Android硬件上,它就像400毫秒一样,即使是一个“玩具”乐器也是不可接受的(这种音乐几乎是四分之一音符!)

搜索“安卓音频延迟”,你会看到成千上万的评论来自生气的开发者,但没有真正的解决方案。谷歌肯定知道这个问题,但没有人知道他们什么时候会修复它。在他们这样做之前,Android对音乐制作软件基本没用。