Interesting thread here! Anyone has achieved low-latency processing on AVAudioEngine?
The RenderCallback seems natural to me (which is the good “old” way of doing it with AUGraph). But I’m curious to hear if anyone has done/achieved real stuff here with AVAudioEngine real-time processing and how. Arshia > On 11 Jul 2018, at 15:00, Benjamin Federer <[email protected]> wrote: > > Laurent, > > `installTapOnBus` is not intended for realtime processing as a tap only > provides the current frame buffer but does not pass it back into the signal > chain. The documentation reads `Installs an audio tap on the bus to record. > monitor, and observe the output of the node`. > > Although I have not done that myself yet my understanding is that for > realtime processing you can still retrieve the underlying audio unit from an > AVAudioNode (or at least some nodes?) and attach an input render callback via > AudioUnitSetProperty with kAudioUnitProperty_SetRenderCallback. > > I assume the other way would be to subclass AUAudioUnit and wrap that into an > AVAudioUnit which is a subclass of AVAudioNode. Yes, it confuses me, too. > Random Google result with further information: > https://forums.developer.apple.com/thread/72674 > <https://forums.developer.apple.com/thread/72674> > > Benjamin > > >> Am 11.07.2018 um 14:34 schrieb Laurent Noudohounsi >> <[email protected] <mailto:[email protected]>>: >> >> Hi all, >> >> I'm interested in this topic since I've not found any information about it >> yet. >> >> Correct me if I'm wrong but AVAudioEngine is not able to lower than 100ms >> latency. It's what I see in the header file of `AVAudioNode` with its method >> `installTapOnBus`: >> >> @param bufferSize the requested size of the incoming buffers in sample >> frames. Supported range is [100, 400] ms. >> >> Maybe I'm wrong but I don't see any other way to have a lower latency audio >> processing in an AVAudioNode. >> >> Best, >> Laurent >> >> Le mer. 11 juil. 2018 à 13:57, Arshia Cont <[email protected] >> <mailto:[email protected]>> a écrit : >> Benjamin and list, >> >> I double Benjamin’s request. It would be great if someone from the CoreAudio >> Team could respond to the question. >> >> Two years ago, after basic tests I realised that AVAudioEngine was not ready >> for Low Latency Audio analysis on iOS. So we used AUGraph. I have a feeling >> that this is no longer the case on iOS and we can move to AVAudioEngine for >> low-latency audio processing. Anyone can share experience here? We do >> real-time spectral analysis and resynthesis of sound and go as low as 64 >> samples per cycle if the device allows. >> >> Thanks in advance. >> >> >> Arshia >> >> >> PS: I actually brought the deprecation issue of AUGraph in a local Apple Dev >> meeting where the EU director of developer relation was present. According >> to him, when Apple announces a deprecation, it WILL happen. My >> interpretation of the conversation is that AUGraph is no longer maintained >> but provided as is. >> >>> On 11 Jul 2018, at 12:36, Benjamin Federer <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Since it was mentioned in another email (thread) I’m giving this topic a >>> bump. Would be great if someone at Apple, or anyone else in the know, could >>> take the time to respond. The documentation at the link cited below still >>> has no indication of deprecation. Will it come with one of the next Xcode >>> Beta releases? >>> >>> On another note I am really interested in how transitioning over to >>> AVAudioEngine is working out for everyone. I know AVAudioEngine on iOS. >>> What I am interested in is any macOS specifics or hardships. >>> >>> From my experience AVAudioEngine is relatively robust in handling multiple >>> graphs, i.e. separate chains of audio units. I had some issues with the >>> AVAudioPlayerNode connecting to multiple destinations in that scenario. >>> Also connect:toConnectionPoints:fromBus:format: did not work for me as it >>> only connected to one of the destination points. Anyone else experienced >>> problems in that regard? >>> >>> Thanks >>> >>> Benjamin >>> >>> >>>> Am 08.06.2018 um 16:59 schrieb Benjamin Federer <[email protected] >>>> <mailto:[email protected]>>: >>>> >>>> Last year at WWDC it was announced that AUGraph would be deprecated in >>>> 2018. I just browsed the documentation >>>> (https://developer.apple.com/documentation/audiotoolbox?changes=latest_major >>>> >>>> <https://developer.apple.com/documentation/audiotoolbox?changes=latest_major>) >>>> but found >>>> Audio Unit Processing Graph Services not marked for deprecation. The >>>> AUGraph header files rolled out with Xcode 10 beta also have no mention of >>>> a deprecation in 10.14. I searched for audio-specific sessions at this >>>> year’s WWDC but wasn’t able to find anything relevant. Has anyone come >>>> across new information regarding this? >>>> >>>> Judging by how much changes and features Apple seems to be holding back >>>> until next year I dare ask: Has AUGraph API deprecation been moved to a >>>> later time? >>>> >>>> Benjamin >>> >>> _______________________________________________ >>> Do not post admin requests to the list. They will be ignored. >>> Coreaudio-api mailing list ([email protected] >>> <mailto:[email protected]>) >>> Help/Unsubscribe/Update your Subscription: >>> https://lists.apple.com/mailman/options/coreaudio-api/arshiacont%40antescofo.com >>> >>> <https://lists.apple.com/mailman/options/coreaudio-api/arshiacont%40antescofo.com> >>> >>> This email sent to [email protected] >>> <mailto:[email protected]> >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Coreaudio-api mailing list ([email protected] >> <mailto:[email protected]>) >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/coreaudio-api/laurent.noudohounsi%40gmail.com >> >> <https://lists.apple.com/mailman/options/coreaudio-api/laurent.noudohounsi%40gmail.com> >> >> This email sent to [email protected] >> <mailto:[email protected]> >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com This email sent to [email protected]
