Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

Part III: Advanced Audio > Audio Units: Input and Mixing

8. Audio Units: Input and Mixing

In the previous chapter, you took on Core Audio’s ultimate level of responsibility by employing Audio Units in your program. Audio Units are ultimately responsible for all of Core Audio’s distinctive audio-processing abilities: low-latency capture and play-out, audio synthesis, effects, and so on. It is the most difficult form of Core Audio programming, both conceptually and in terms of specifics: from managing unit scopes and buses to handling the real-time demands of render callbacks, there are lots of new and frustrating ways for your code to fail.

By the end of this chapter, we hope you’ll find that the struggle is worth it. In this chapter, you continue your study of audio units with powerful new capabilities. First, you’ll use output units to capture audio from input devices such as microphones and audio-capable cameras. To do this, you’ll also get a glimpse of the APIs that provide a consistent Core Audio interface to many different kinds of I/O technologies. You’ll also get to push your luck with asynchronicity as you process input and output on different callback threads—and still get the samples from one unit to the another. You’ll wrap up by employing mixer units, which combine multiple streams of audio and enable you to mix your many audio sources into something that can be played out a pair of speakers or headphones.


  

You are currently reading a PREVIEW of this book.

                                                                                                                    

Get instant access to over $1 million worth of books and videos.

  

Start a Free 10-Day Trial


  
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint