Audiokit:(V5)音序器无法在轨道的同一位置同时播放音符

Posted

技术标签:

【中文标题】Audiokit:(V5)音序器无法在轨道的同一位置同时播放音符【英文标题】:Audiokit: (V5) Sequencer cannot play notes simultaneously at the same position in a track 【发布时间】:2021-02-01 18:06:29 【问题描述】:

我已经使用 Audiokit 的 AKAppleSequencer 和 AKSequencer 2 年了。这是我第一次适应库的新 V5 版本。无论出于何种原因,我只能同时演奏一个音符。

下面是我正在尝试做的一个非常简单的示例:

public func setupSequencerForInterval(note1: MIDINoteNumber, note2: MIDINoteNumber) 

        sequencer.clear()
        sequencer = Sequencer(targetNode: sampler)
        sequencer.tempo = 120
        sequencer.loopEnabled = false
        sequencer.length = 12.0

        sequencer.add(noteNumber: note1, velocity: 127, channel: 1, position: 0.0, duration: 4.0, trackIndex: 0)
        sequencer.add(noteNumber: note2, velocity: 127, channel: 1, position: 4.0, duration: 4.0, trackIndex: 0)
        sequencer.add(noteNumber: note1, velocity: 127, channel: 1, position: 8.0, duration: 4.0, trackIndex: 0)
        sequencer.add(noteNumber: note2, velocity: 127, channel: 1, position: 8.0, duration: 4.0, trackIndex: 0)

    

Here is what it sounds like

3 个全音符的序列:note1 上的第一个全音符,note2 上的第二个全音符,note1note2 上的第三个全音符一起演奏。

我已经对我的采样器进行了测试,以确保它不是单音的,并且它可以演奏和弦的音符。

更奇怪的是,如果我将最后一行(将音符 2 整个音符添加到与音符 1 的位置 8.0 相同的位置)更改为 任何大于 8.0 的位置复音效果。 You can hear that here, a value of 8.01 was used for position on the last sequencer.add call

这是预期的行为吗? Sequencer 不应该在同一个位置演奏多个音符吗?任何指导将不胜感激,谢谢!

【问题讨论】:

【参考方案1】:

根据 AudioKit 团队的说法,这不是预期的行为,正在调查:https://github.com/AudioKit/AudioKit/issues/2409

【讨论】:

以上是关于Audiokit:(V5)音序器无法在轨道的同一位置同时播放音符的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Audiokit可视化当前的AKSequencer位置?

AudioKit - 使用音序器在特定位置播放声音文件

AudioKit 音序器时钟

是否可以在播放 AudioKit 音序器时修改 MusicSequnce

#AudioKit 播放音序器音频 mp3

Swift - 带有振荡器的 AudioKit 音序器(AKOscillatorBank).频率不会在更高的范围内播放(MidiNote 120+)