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 
> <coreaudio-api@lists.apple.com> 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      (Coreaudio-api@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/coreaudio-api/arshiacont%40antescofo.com
> 
> This email sent to arshiac...@antescofo.com

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (Coreaudio-api@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to