更改当前正在播放的声音的频率(Android)

时间:2011-07-04 16:19:50

标签: android audio frequency

我正在尝试构建一个Android应用程序,当在屏幕上点击一下时会播放吉他声音。只要您将手指滑动到显示屏的右侧,音调的频率就会越高。 例如: 我点击屏幕左侧听到正常的吉他音(让我们说一下音符“G”)。现在,如果向右滑动手指,它不应再播放声音,但播放的当前声音应该变高(如音符“D”) 希望很清楚我想要什么。就像具有某种“振动效应”的虚拟乐器一样。

有人知道如何实现这个吗?

THX Chriz

1 个答案:

答案 0 :(得分:0)

通常情况下,这种事情是通过波形查找表完成的,然后您只需按照获得所需输出频率所需的速率迭代表格。关键点在于您使用固定点表索引,以便为每个样本指定精确的增量 - 使用整数部分获取表索引,然后使用索引的小数部分可选地在相邻样本之间进行插值。如果您选择的表格大小为2 ^ N,则表格末尾的模数环绕非常容易处理。