我想制作一个类似于鼓机的音频多轨序列器。您认为最佳实现方式是什么?
目前,我有两个由2个数组表示的轨道:2 x [tick,samplePointer]。 我将这两个轨道合并到主数组中以进行播放[tick,samplePointer],并按tick进行排序。 每个tick(每拍4个tick)都会触发音频回调,并检查数组中的第一个元素,如果其tick等于全局歌曲位置(以tick为单位),则播放它。 如果我在其中一个轨道(数组)中添加或删除音符,则合并这两个轨道(数组)并再次进行排序。
它能够工作,但我感觉有更好的方法来实现它。 如何实现此类项目的最佳实践?专业应用程序如Logic、Ableton、Cubase、Reason等如何实现音频/ MIDI事件列表并管理已播放和需要播放的内容?
提前感谢您的想法。
Brice
目前,我有两个由2个数组表示的轨道:2 x [tick,samplePointer]。 我将这两个轨道合并到主数组中以进行播放[tick,samplePointer],并按tick进行排序。 每个tick(每拍4个tick)都会触发音频回调,并检查数组中的第一个元素,如果其tick等于全局歌曲位置(以tick为单位),则播放它。 如果我在其中一个轨道(数组)中添加或删除音符,则合并这两个轨道(数组)并再次进行排序。
它能够工作,但我感觉有更好的方法来实现它。 如何实现此类项目的最佳实践?专业应用程序如Logic、Ableton、Cubase、Reason等如何实现音频/ MIDI事件列表并管理已播放和需要播放的内容?
提前感谢您的想法。
Brice