Bartosz, Laurent was mentioning the installTapOnBus. Your published code would not need that. You are just playing MIDI. You would be concerned if you had to do custom real-time audio processing on the audio output of your MIDI device (such as FFT analysis).
Arshia > On 11 Jul 2018, at 16:04, Bartosz Nowotny <bartosznowo...@gmail.com> wrote: > > Laurent, > > What you said about not being able to achieve latency lower than 100ms is > worrisome. I need a realtime MIDI synth, low latency is absolutely crucial. > Does the limitation you mention apply only to signal processing or other > applications of the API as well, in particular MIDI synthesis? > > Regards, > Bartosz > > > On Wed, Jul 11, 2018 at 3:30 PM, Laurent Noudohounsi > <laurent.noudohou...@gmail.com <mailto:laurent.noudohou...@gmail.com>> wrote: > Thanks Benjamin for the precision. I thought that `installTapOnBus` was the > successor of `RenderCallback`. > For me it was not natural to mix old api like > `kAudioUnitProperty_SetRenderCallback` in AVAudioEngine. > > So as Arshia said, I'm also looking for a way to use real-time processing > with AVAudioEngine. > > Le mer. 11 juil. 2018 à 15:05, Arshia Cont <arshiac...@antescofo.com > <mailto:arshiac...@antescofo.com>> a écrit : > 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 <benja...@boinx.com >> <mailto:benja...@boinx.com>> 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 >>> <laurent.noudohou...@gmail.com <mailto:laurent.noudohou...@gmail.com>>: >>> >>> 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 <arshiac...@antescofo.com >>> <mailto:arshiac...@antescofo.com>> 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 <benja...@boinx.com >>>> <mailto:benja...@boinx.com>> 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 <benja...@boinx.com >>>>> <mailto:benja...@boinx.com>>: >>>>> >>>>> 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 (Coreaudio-api@lists.apple.com >>>> <mailto:Coreaudio-api@lists.apple.com>) >>>> 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 arshiac...@antescofo.com >>>> <mailto:arshiac...@antescofo.com> >>> >>> _______________________________________________ >>> Do not post admin requests to the list. They will be ignored. >>> Coreaudio-api mailing list (Coreaudio-api@lists.apple.com >>> <mailto:Coreaudio-api@lists.apple.com>) >>> 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 laurent.noudohou...@gmail.com >>> <mailto:laurent.noudohou...@gmail.com> >> > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Coreaudio-api mailing list (Coreaudio-api@lists.apple.com > <mailto:Coreaudio-api@lists.apple.com>) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/coreaudio-api/bartosznowotny%40gmail.com > > <https://lists.apple.com/mailman/options/coreaudio-api/bartosznowotny%40gmail.com> > > This email sent to bartosznowo...@gmail.com <mailto:bartosznowo...@gmail.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/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