Of course this could have been done with the old-style pipeline too, by putting the meters inline with the rest and having them output the audio that they receive. It also goes straight from the streamer to the license enforcer, from there through the volume control to the output, which plays it out your speakers. From there it goes straight to our meters. Audio comes in from the internet through the streamer. This is taken directly from a comment in Pulsar’s source code: Now compare this with the graph from Pulsar. Ultimately, AHKit requires that the audio flow in a straight line, and it can’t just go out of one module and go into two others at the same time. We could switch the order around, to go to the meters and then the speakers, but that doesn’t really make any more sense. Finally, it goes to the output meter, which is that little moving levels bar at the bottom of the Airfoil window.Īn astute reader might now wonder: why does the audio have to pass through the speakers before going to the meter? Can’t it just go straight to both? That’s due to the linear nature of the pipeline. After going through the effects, the resulting audio then goes out to the local and remote speakers. From there, it next goes to the audio effects, where the audio is adjusted by the equalizer and other controls. For example, Airfoil’s pipeline looks something like this:Īudio Source -> License Enforcer -> EffectsĪudio starts off with the license enforcer, which is the module that overlays noise after 10 minutes if you haven’t unlocked the full version with a license key. It processes audio with a pipeline: audio goes in one end and comes out the other, used or altered by each stage in the pipeline. The main problem was that it has a very linear idea of audio processing. Pretty much every feature you see in Audio Hijack Pro’s session view corresponds directly to a feature in AHKit.ĪudioHijackKit still works just fine but it was starting to get a little limited. AHKit also provides facilities for grabbing audio from input devices, applying audio effects, showing level meters, recording to a file, and some support functions like timed actions. AHKit is the high-level audio processing framework that drives Audio Hijack Pro, Airfoil, and Nicecast.ĭespite the name, the framework is not only for “hijacking”, the term we use to describe grabbing the audio out of any application on your system. I’m going to talk a bit about what it is, why it’s here, and what it will do for you.ĪudioHijackKit is the full name of one of our internal frameworks, and it’s called AHKit for short. In his post announcing Pulsar, Paul mentioned that it was our first public exposure of our new technology called AHKit2.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |