【问题标题】:Really simple wave synth/table in iosios中真正简单的波形合成器/表
【发布时间】:2012-01-01 08:50:36
【问题描述】:

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

简而言之,我想播放一个 wav 文件,并让它在某些点循环播放,直到触摸被释放。

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

对不起,这么基本的问题,我一直在谷歌上搜索,虽然似乎没有关于这个确切主题的任何内容,除非我错过了一些重要的术语。

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

【问题讨论】:

    标签: ios audio wav remoteio sound-synthesis


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      您需要将声音数据存储在内存中,并使用某种 read() 命令填充要发送到声卡的字节数组。 read() 命令必须在两次读取之间跟踪其位置,因此必须维护一个持久指针。您将测试指针的位置,看看您是否已到达终点,并在需要时重置到起点。

      当然,具体情况取决于您选择的语言。

      我使用 Java 进行了此操作,增加了以不同速度播放的可能性。 http://www.hexara.com/VSL/VSL2.htm 这有点滞后。发布后我学到了一些东西,但还没有回去修复它。该程序请求许可并让您从计算机加载 wav 文件。它应该是 16 位、立体声、44100fps、little-endian。

      WaveTable 合成有点不同,因为只有一次波迭代被存储并用作源数据。

      以下是来自斯坦福 CCRMA 网站的简短讨论: https://ccrma.stanford.edu/~bilbao/booktop/node9.html 我用这种方法制作了一个 Java “Theremin” http://www.hexara.com/VSL/JTheremin.htm

      使用 WaveTable,您可以决定数组的大小。如果它是 2 的幂,则可以在每次递增后对指针进行位掩码,这比进行比较和重置要快。

      【讨论】:

        猜你喜欢
        • 2012-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-06
        • 1970-01-01
        • 2010-09-06
        • 2013-04-18
        • 2014-07-02
        • 2010-10-30
        相关资源
        最近更新 更多