簡體   English   中英

如何使用Audiokit對原始值而不是midi音符進行排序

[英]How to sequence raw values instead of midi notes with Audiokit

我是Audiokit的新手。 我想對一組Double原始值進行排序,以便像eurorack模塊中的衰減器一樣使用。 使用AKSequencer似乎不可能,因為它們用於軌道(AudioKit.AKMusicTrack),將MIDI數據發送到AKMidi-Insrument實例。 那么如何對fe原始振盪器或表屬性值進行排序呢? 日Thnx!

使用AKCallbackInstrument和數組中具有序列長度的一些值是可能的

let sequenceLength = AKDuration(beats: 8.0)
let sequencerCallbackInst = AKCallbackInstrument()
var seq1Values = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

...

sequencer.setLength(sequenceLength)
let stepSize: Float = 1 //1/8
let numberOfSteps = Int(Float(sequenceLength.beats) / stepSize)

...

let seqPositioncallbackTrack = sequencer.newTrack()
seqPositioncallbackTrack?.setMIDIOutput(sequencerCallbackInst.midiIn)
        sequencerCallbackInst.callback = { status, noteNumber, velocity in
            self.onSequencerStepChange(status: status, noteNumber: noteNumber, velocity: velocity)
        }

...

for i in 0 ..< numberOfSteps {
            seqPositioncallbackTrack?.add(noteNumber: MIDINoteNumber(i), velocity: 100, position: AKDuration(beats: Double(i)), duration: AKDuration(beats: 0.5))

...

    private func onSequencerStepChange(status: AKMIDIStatus, noteNumber: MIDINoteNumber, velocity: MIDIVelocity) {

        guard status == .noteOn
        else { return }

        let stepValue = Int(noteNumber)
        // do something

...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM