在iOS上创建一个非常简单的波形合成器/表格

3

我想制作一个非常简单的合成器。

简而言之,我想播放一个wav文件,并在某些点上循环,直到松开触摸。

我正在寻找一些示例代码(不需要免费)。

对于这样一个基本的问题,我很抱歉,我一直在搜索谷歌,但似乎没有关于这个确切主题的内容,除非我错过了一些重要的术语。

另外,我所描述的是波表合成器还是音响板?

2个回答

3

0

您需要将声音数据存储在内存中,并拥有某种read()命令,该命令填充一个字节数组以发送到声卡。read()命令必须在读取之间保持其位置的跟踪,因此必须维护一个持久指针。您将测试指针的位置并查看是否已到达结尾,如果需要,则重置为开头。

当然,具体细节将取决于您选择的语言。

我使用Java完成了这个任务,并增加了以不同速度播放的可能性。 http://www.hexara.com/VSL/VSL2.htm 它有点卡顿。自发布以来,我已经学到了一些东西,但还没有回去修复它。该程序会请求权限并让您从计算机中加载wav文件。它应该是16位,立体声,44100fps,小端。

WaveTable合成有所不同,因为只存储并使用波形的单个迭代作为源数据。

这是一篇关于编程的短讨论,来自斯坦福大学CCRMA网站: https://ccrma.stanford.edu/~bilbao/booktop/node9.html 我用这种方法制作了一个Java“Theremin” http://www.hexara.com/VSL/JTheremin.htm 使用WaveTable时,您可以决定数组的大小。如果它是2的幂,则可以在每次增量后对指针进行位掩码处理,这比进行比较和重置更快。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接