在android中播放特定频率的声音
我想在android中根据用户输入播放特定频率的声音,有点类似于吉他应用程序。谁能告诉我怎么做?我是否需要在res\raw文件夹中保存所有的freq sounds?否,您不需要将其存储在参考资料中。我认为更好的方法是实时合成音调。为此,您需要以下各项:在android中播放特定频率的声音,android,soundpool,javasound,Android,Soundpool,Javasound,我想在android中根据用户输入播放特定频率的声音,有点类似于吉他应用程序。谁能告诉我怎么做?我是否需要在res\raw文件夹中保存所有的freq sounds?否,您不需要将其存储在参考资料中。我认为更好的方法是实时合成音调。为此,您需要以下各项: 用于三角函数计算的java.lang.Math,以正确的音调填充缓冲区(从浮点转换为PCM(int)后) 用于音频播放的android.media.AudioTrack(从缓冲区)。我想静态模式将是您所需要的-更快的响应和更容易操作。然而,音频
- 用于三角函数计算的java.lang.Math,以正确的音调填充缓冲区(从浮点转换为PCM(int)后)
- 用于音频播放的android.media.AudioTrack(从缓冲区)。我想静态模式将是您所需要的-更快的响应和更容易操作。然而,音频播放并不是一项简单的任务,所以你们需要更多地了解Android上的音频系统。当然,一些关于信号处理的基础知识是非常受欢迎的
- 您甚至可以使用android.media.audiofx添加一些很酷的效果
您可以将它们加载到SoundPool实例中,并使用它以不同的“速率”进行播放,例如,“速率”2将是速度的两倍,频率的两倍,从而增加一个倍频程。“速率”为0.5将是速度的一半,因此将声音降低八度。将声音发送到AudioTrack实例,并动态更改其采样速率。同意。我试图尽可能简单地回答这个问题。只需提及,使用例如Karplus Strong算法对真实仪器进行物理建模是可能的。所以,利用Android智能手机目前的计算能力,应该可以实现实时合成。我在寻找乐器的声音。。因此,除了你建议的方法之外,没有其他方法了?在这种情况下,选择“样本”是非常重要的,对吗?@ashwin,我相信还有MIDI。我会尝试一下,如果有任何困难,我肯定会找到的,我会告诉你的:P非常感谢Desiderio…:)