• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Capturing audio from one app, sending to another
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Capturing audio from one app, sending to another


  • Subject: Re: Capturing audio from one app, sending to another
  • From: Jeff Moore <email@hidden>
  • Date: Wed, 11 Jan 2006 16:27:42 -0800

Tapping into an app's graph of AUs without that app's cooperation is pretty hard. One way to do it would be to put your analysis engine into an AU and make the AU's view show the pretty pictures and bouncing lights. That gives the user the ability to put the analyzer pretty much any where they can put an AU. A very similar way to do it would be to create a "tap" AU that syphons off the audio data and busses it to your app using whatever inter-process communication APIs you like. Our AUNetSend and AUNetReceive Audio Units work in this fashion.

That approach does have the limitation that it requires that the app to be analyzed be able to work with AUs and put them into it's signal flow. This would be apps like AU Lab, Logic, Digital Performer, Live, and all the other AU hosting apps out there. To get the data from all the other apps would require writing a virtual device using the API in <CoreAudio/AudioHardwarePlugIn.h>. This is the approach that I believe Jack has taken among others.

On Jan 11, 2006, at 1:16 PM, Evan Olcott wrote:

I'm working on an application that's an audio analysis app, and so far it's pretty cool and extensive. I'd like it to be able to capture audio not only from the inputs on the machine (which it does now just fine), but also audio outputs from other applications. I can only think up 2 ways to do this:

1. Use a "Detour"-like routing where my app sees the list of running applications with audio output, then the user can select the apps from the list, and I tap into their AUGraph outputs somehow. How does one tap into another app's audio output and get the audio buffers as they come through? Rogue Amoeba's work seems to do this, what method to they use?

2. Use a custom Audio Unit that captures the audio from that particular place in the audio stream that it's been put in the app, then send the buffer across application lines (and threads) into the running analysis app for display. I can see AUNetSend (I've not tried that), but could I use that or something similar to send buffers to another app altogether?

Both solutions are probably necessary for different situations, but I'm not sure of the possibility of either one. Has anyone done work in this area, and/or are these things even possible?

BTW - my app in not intended to *record* from other apps, simply to display pretty graphs and what not, so recording copyrighted material stuff is not the issue in this app.


--

Jeff Moore
Core Audio
Apple


_______________________________________________ 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
References: 
 >Capturing audio from one app, sending to another (From: Evan Olcott <email@hidden>)

  • Prev by Date: Looking for suggestions
  • Next by Date: WireTap, CoreAudio's API, and system capture, and kexts...
  • Previous by thread: Capturing audio from one app, sending to another
  • Next by thread: Looking for suggestions
  • Index(es):
    • Date
    • Thread