Я использую (очень классную) платформу 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()