Re: CoreAudio vs. AVAudioEngine
Re: CoreAudio vs. AVAudioEngine
- Subject: Re: CoreAudio vs. AVAudioEngine
- From: Arshia Cont via Coreaudio-api <email@hidden>
- Date: Fri, 2 Aug 2019 11:40:43 +0200
Beinan,
This is my understanding of the situation talking to some of the CoreAudio
people at this year’s WWDC and following the recent evolution. Ofcourse it all
depends on what you’re currently doing with CoreAudio so my input is biased on
my needs which are low-latency real-time Audio I/O.
AuGraph is officially marked as Deprecated starting iOS 13 (and Catalina?).
AVAudioEngine seems to be ready to provide the move. For my concerns, it wasn’t
still ready until the current Beta (again for low-latency real-time audio).
With the addition of the AVAudioSinkNode and AVAudioSourceNode, AVAudioEngine
can cope with what AUnit and AUGRAPH could do on low-latency situations. In
your case and from your description, you should have a look at
AVAudioSourceNode.
Here is what you need: https://developer.apple.com/videos/play/wwdc2019/510/
<https://developer.apple.com/videos/play/wwdc2019/510/>
It also seems like your deprecated warnings are much older than what I describe
above! I’ve been using AUnit and AuGraph until now without problem removing
Canonical (and other) deprecated stuff as they appeared. So if you’re targeting
iOS 12, you can still stay on older CoreAudio APIs. But you might wanna start
shopping on AVAudioEngine as it’s gonna be time to move soon after adoption of
Catalina/iOS13 in a few months.
Any further insight from other users would be welcome. I’m going to start
testing the Sink and Source nodes for real-time use soon.
Cheers,
Arshia Cont
www.antescofo.com <http://www.antescofo.com/>
> On 2 Aug 2019, at 11:01, Beinan Li via Coreaudio-api
> <email@hidden> wrote:
>
> Hello CoreAudio,
>
> I'm seeking advice on migrating from CoreAudio/ObjC++ to
> AVAudioEngine/Swift/ObjC: should I do it or when should I start worry?
>
> I have a legacy macOS/iOS project that uses CoreAudio heavily, mainly just
> AudioQueue, but right now on Mojave / iOS 12 things start to breakdown or
> throw "deprecated" warnings at me, e.g.:
>
> AudioSampleType is deprecated: The concept of canonical formats is
> deprecated.
>
> And I need to at least bring in AVFoundation. This prompts me to shop around
> for other solutions.
>
> My project is not a synth/FX app. It would only use metering/spectrogram and
> some visualization at best. Low-latency is essential though. The info about
> latest CoreAudio stack on the internet seems increasingly scarce and I'm
> hesitating to adopt 3rd-party frameworks such as JUCE for such a small
> project. So I'd love to give the Swift stack or even just ObjC/C stack a
> serious try.
>
> Now my concern is mainly in the performance and latency. I've seen these
> posts regarding using AVAudioEngine:
>
> https://stackoverflow.com/questions/1877410/whats-the-difference-between-all-these-audio-frameworks
>
> <https://stackoverflow.com/questions/1877410/whats-the-difference-between-all-these-audio-frameworks>
>
> https://stackoverflow.com/questions/26115626/i-want-to-call-20-times-per-second-the-installtaponbusbuffersizeformatblock/26600077#26600077
>
> <https://stackoverflow.com/questions/26115626/i-want-to-call-20-times-per-second-the-installtaponbusbuffersizeformatblock/26600077#26600077>
>
> https://stackoverflow.com/questions/45644079/performance-between-coreaudio-and-avfoundation
>
> <https://stackoverflow.com/questions/45644079/performance-between-coreaudio-and-avfoundation>
>
> It seems there aren't a lot of agreements on whether or not the Swift stack
> could achieve low-latency using its AU wrapper. Some says that the
> performance is 30-40% worse than the CoreAudio stack. But there is also a
> positive report:
>
> https://stackoverflow.com/questions/45644079/performance-between-coreaudio-and-avfoundation
>
> <https://stackoverflow.com/questions/45644079/performance-between-coreaudio-and-avfoundation>
>
> Before I dive into a whole new world (Swift newbie), any suggestions from the
> list would be greatly appreciated!
>
>
>
> Thanks,
> Beinan
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Coreaudio-api mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden