Я учусь, как использовать AudioKit. Я пытаюсь поиграть с секвенсором и осциллятором. Все работает отлично, но я заметил, что когда я подаю более высокую частоту на генератор, который находится на дорожке секвенсора, он будет отображать то же самое для такой частоты (MidiNote) и для всех, что выше. если передать ту же частоту только осциллятору, вы можете увидеть дисперсию.
моя первоначальная установка
let oscillator = AKOscillatorBank()
let oscillatorTrackIndex = 0
let sequencer = AKAppleSequencer()
let midi = AKMIDI()
var scale: [Int] = []
let sequenceLength = AKDuration(beats: 8.0)
func setupTracks() {
let midiNode = AKMIDINode(node: oscillator)
_ = sequencer.newTrack()
sequencer.setLength(trueLength)
AudioKit.output = midiNode
try! AudioKit.start()
midiNode.enableMIDI(midi.client, name: "midiNode midi in")
sequencer.setTempo(currentTempo)
sequencer.enableLooping()
sequencer.play()
}
мой метод
func generateSequence(_ stepSize: Float = 1/4, clear: Bool = true) {
if clear { sequencer.tracks[oscillatorTrackIndex].clear() }
let numberOfSteps = Int(Float(sequenceLength.beats) / stepSize)
for i in 0 ..< numberOfSteps { //4
if i%4 == 0 {
sequencer.tracks[0].add(noteNumber: 140, velocity: 127, position: AKDuration(beats: Double(i)), duration: AKDuration(beats: 0.5))
} else {
sequencer.tracks[0].add(noteNumber: 200, velocity: 127, position: AKDuration(beats: Double(i)), duration: AKDuration(beats: 0.5))
}
}
}
, как вы можете видеть, я ' м, используя номер заметки 140 и 200 . когда секвенсор воспроизводит эти ноты, они воспроизводят одно и то же аудио. если я использую .midiNoteToFrequency()
и пропускаю их через генератор самостоятельно, вы можете услышать разницу.
Спасибо!