- Paperback: 336 pages
- Publisher: Addison-Wesley Professional; 1 edition (April 9, 2012)
- Language: English
- ISBN-10: 0321636848
- ISBN-13: 978-0321636843
- Product Dimensions: 6.9 x 0.9 x 8.9 inches
- Shipping Weight: 1.1 pounds (View shipping rates and policies)
- Average Customer Review: 26 customer reviews
- Amazon Best Sellers Rank: #1,111,045 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Learning Core Audio: A Hands-On Guide to Audio Programming for Mac and iOS 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
"Enlightenment Now: The Case for Reason, Science, Humanism, and Progress"
Is the world really falling apart? Is the ideal of progress obsolete? Cognitive scientist and public intellectual Steven Pinker urges us to step back from the gory headlines and prophecies of doom, and instead, follow the data: In seventy-five jaw-dropping graphs, Pinker shows that life, health, prosperity, safety, peace, knowledge, and happiness are on the rise. Learn more
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
From the Back Cover
Create Rich, Powerful Audio Apps with Core Audio on OS X and iOS
Audio can affect the human brain in the most powerful and profound ways. Using Apple’s Core Audio, you can leverage all that power in your own Mac and iOS software, implementing features ranging from audio capture to real-time effects, MP3 playback to virtual instruments, and web radio to VoIP support. The most sophisticated audio programming system ever created, Core Audio is not simple. In Learning Core Audio , top iOS programming author Chris Adamson and legendary Core Audio expert Kevin Avila fully explain this challenging framework, enabling experienced Mac or iOS programmers to make the most of it.
In plain language, Adamson and Avila explain what Core Audio can do, how it works, and how it builds on the natural phenomena of sound and the human language of audio. Next, using crystal-clear code examples, they guide you through recording, playback, format conversion, Audio Units, 3D audio MIDI connectivity, and overcoming the unique challenges of Core Audio programming for Mac and iOS.
• Mastering Core Audio’s surprising style and conventions
• Implementing recording and playback with the Audio Queue architecture
• Using Audio Units to synthesize audio, perform effects on audio streams, capture from the mic, and mix multiple streams
• Managing file streams and converting formats with Core Audio’s helper APIs
• Creating positional audio in 3D space with OpenAL
• Using Core MIDI to synthesize audio on-the-fly
• Leveraging your Cocoa and Objective-C expertise in Core Audio’s C-based environment
When you’ve mastered the “black arts” of Core Audio, you can do some serious magic. This book will transform you from an acolyte into a true Core Audio wizard.
About the Author
Chris Adamson is an independent writer, editor, and developer who lives in Grand Rapids, Michigan. Now focusing on iOS and Mac development, he is the coauthor of iOS SDK Development. He is also the author of QuickTime for Java: A Developer's Notebook and coauthor of Swing Hacks. He was formerly the editor of java.net and ONJava.com. He consults and publishes through his corporate identity, Subsequently and Furthermore, Inc., with a focus on user-facing and digital media development for Mac and iOS. He blogs on digital media software development at www.subfurther.com/blog. In a previous career, he was a writer/associate producer at CNN Headline News, and over the years, he has managed to own 11 1/2 Macs.
Kevin Avila (a.k.a. dogbert) is a smooth blend of carbon compounds, oxygen, hydrogen, and nitrogen, with some impurities for added flavor. Additionally, he has more than 15 years' experience developing for the Mac and, since its release, the iPhone. Kevin has been involved in every corner of the audio market, from being an engineer at Apple to configuring professional recording studios. He currently is a code mercenary for various clients while he sits in his underwear at home, sipping coffee.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
That said, I have two criticisms of the text: their presentation of code snippets and the shallowness of their applications. The code itself is solid, with good references and such, but it's split up into a couple dozen of snippets for each chapter, which is kind of difficult to work with. It may be that it's impossible to present things in a better way, though. As far as the shallowness goes: as you build off their basic apps, you'll notice that things get a lot more complicated, rather quickly. I'm definitely glad they didn't throw us into the deep end of this right off the bat, but, at the same time, it's nuanced to integrate CA code alongside UI code. A simple drum machine or synth keyboard app would be really helpful, after showing us the trivial CLI apps.
On the whole, this is a fantastic and indispensable book, with a couple of things to improve to make it perfect. If you're looking at working with Core Audio, glance at Apple's documentation, then buy a copy. It will save you a lot of time and frustration.
For me the most useful tips were:
1) Simple CheckError() logic to decrypt the 4 character mode and error code constants used throughout.
2) Clear explanation of file formats, audio formats, converters, and native PCM representations on IOS and OSX.
3) Pointers for where to find CoreAudio documentation (much of it can be found only in header file comments)
4) Clear pattern for required lifecycle sequence of constructing an audio units graph of nodes, which must be defined before open, opened before starting to set properties, and properties setup before initialize.
5) Reusable patterns for the sometimes awkward pointer arithmetic required to assemble AudioBufferLists on the fly.
6) Unkinking the awkward syntax of Output units, which are used for both hardware output and hardware input. Both the outbound bus #0 and inbound bus #1 have input and output scopes, which relate to where the unit fits into the graph. Clear description of threading, buffering, and clocking issues which must be handled in OSX context which may include multiple external audio accessories from different vendors, with different clocking and timing. After completing this tutorial I now "get it".
7) Clear description of the differences between OSX and IOS implementations.
8) The quick intro to OpenAL and Midi were interesting, and enough for me to understand how these work, though they aren't part of what I do.
Overall this book was a great help to me. I highly recommend it to anyone already experienced with OSX or IOS development, but wanting to dig deeper into audio. Not much audio background is required (the first chapters cover the basics), though you will need to be comfortable with working almost entirely in C with nary an NS* in sight. Even the file I/O operations use CoreFoundation (not Foundation) methods. If you are looking for a higher level interface, you may want to explore the AVFoundation or MediaPLayer frameworks, which are nicely documented in Xcode docs, but are not covered by this lower level tutorial.
The book is written with reality 'how-to' and art, and I would add a sense of humor which keeps it from being a dry interpretation of Apple engineering. Though the latter is brilliant Apple's documentation is dense and cumbersome which in 'Learning Core Audio...' authors' Adamson and Avila took that brilliance and laid it out in somewhat baby steps and breadcrumbs which make the subject accessible and practical.
As pointed out early on, 'Learning Core...' is not a beginning programming book but an advanced topic that assumes both exposure with the C language, Mac OS, Xcode and Objective C. This said it had been several years since I had thought in the C language or any language for that matter till I began the journey with Objective C about two years ago. What I found however was that as I worked through the example code which I would say don't just download it, physically type it in and absorb it. After you see what the codeset will do manipulate it and see what else it will do. This approach has pushed me and given renewed programming confidence and I personally thank this book for doing that.
I will add to that, in my case some of the chapters and projects took me multiple reads to 'get it' partly as it's how I learn. In fact I'm still revisiting a great deal of the book for clarity and referral as I work through my own ideas and projects.
The only criticism I would make on this excellent work and this was through my experience which may have been my setup and version of Xcode as initially i was using 4.2 on Snow Leopard. I found on a few projects to get them to work I had to include framworks not mentioned in the example code. This may have been my oversight or misinterpretation but there were a couple of projects which appeared to only need the AudioToolbox framework and I found through trial error that I had to add ApplicationServices a time or two. I will say prior to this book all of my work with Objective C and iOS had been coding for graphical apps. The majority of projects in this book make command line Terminal or Xcode Console executables and not iOS apps. This said, the plus in that is you will learn to code for the OS X operating system as well as being able to move the code with some modifications in to the iOS world.
Bottomline Chris and Kevin's 'Learning Core Core Audio...' is excellent, inspiring and confidence building for those interested in delving in to this 'black box' of chip and voodoo mystery.
Most recent customer reviews
Chris you've achieved an amazing feat by making Core Audio accessible to everyone.Read more
It saves a lot more efforts than going through trial and errors.
- Many code examples and discussions about all (or at least most) elements of the iOS Core Audio Framework.
- Topics are easy to find throughout the book.Read more