Сообщение об ошибке AudioKit: слишком много кадров для обработки - PullRequest
0 голосов
/ 30 августа 2018

Я использую (очень классную) платформу AudioKit для обработки звука для приложения визуализации музыки macOS. Мой источник звука ("mic") - это iTunes 12 через Rogue Amoeba Loopback.

В окне отладки Xcode при каждом запуске приложения появляется следующее сообщение об ошибке:

kAudioUnitErr_TooManyFramesToProcess: inFramesToProcess = 513, mMaxFramesPerSlice = 512

Я узнал из поисков, что это, вероятно, связано с частотой дискретизации, но я не нашел четкого описания того, что указывает на эту ошибку (или, если она вообще имеет значение). Мое приложение работает нормально, но мне интересно, может ли это повлиять на эффективность.

EDIT: сообщение об ошибке не появляется, если я использую Audio MIDI Setup, чтобы установить выход устройства Loopback на 44,1 кГц. (Первоначально я установил 48,0 кГц для соответствия другим аудиоустройствам, которые я настроил в соответствии со стандартом видео.)

Поддержание обратной связи на частоте 44,1 кГц является приемлемым решением, но теперь мой вопрос будет таким: возможно ли избежать этой ошибки даже при входе 48,0 кГц? (Я попытался AKSettings.sampleRate = 48000, но это не имело значения.) Или я могу просто безопасно проигнорировать ошибку в любом случае?

AudioKit инициализируется следующим образом:

    AKSettings.audioInputEnabled = true
    mic = AKMicrophone()
    do {
        try mic.setDevice(AudioKit.inputDevices![inputDeviceNumber])
    }
    catch  {
        AKLog("Device not set")
    }
    amplitudeTracker = AKAmplitudeTracker(mic)
    AudioKit.output = AKBooster(amplitudeTracker, gain: 0)
    do {
        try AudioKit.start()
    } catch {
        AKLog("AudioKit did not start")
    }
    mic.start()
    amplitudeTracker?.start()
...