Voice Recording on iOS Devices
With all of the great hardware features of the iOS platform (GPS, Notifications, Camera/Video, etc) it's easy to forget that every device is equipped with a microphone and the ability to record voice and sound. On the iPhone, the microphone plays a critical role in telephone conversations but on other devices such as the iPad and iPod, it is a somewhat underutilized feature. Unlike some of the other device features, sound recording is available on all iOS touch devices, including the iPod, and iOS offers a rich set of tools for working with sound in your application.
All iOS devices come with a built-in Voice Memos app that allows some very basic recording functionality and some third-party apps such as Evernote are making use of the recording capabilities in new and interesting ways. The introduction of the voice command-based personal assistant Siri has also reinvigorated the conversation about the use of voice as an input mechanism and has some well-known businesses in the industry somewhat concerned.
Since becoming familiar with the iOS platform's voice recording capabilities is the first step in creating the next great voice app, here are a few key points you should know:
Many format options
The iOS platform includes many options for the format and quality of the recording. Depending on the intended purpose of the recording you may want to record at a very high quality (which can take up a lot of disk space) or at a lower quality (which is smaller and easier to share).
iOS Audio recording formats and codecs:
- AAC (MPEG-4 Advanced Audio Coding)
- ALAC (Apple Lossless)
- iLBC (internet Low Bitrate Codec, for speech)
- IMA4 (IMA/ADPCM)
- Linear PCM (uncompressed, linear pulse-code modulation)
- µ-law and a-law
More than one input
Keep in mind that recordings can be made using the device’s built-in microphone or with headphones that include an mic, such as the ones that come standard with many iOS devices. The quality of the recording can vary depending upon the input used to record as well as other external conditions such as background noise.
The one thing that you will not be able to control is the environment in which the recording will be made. However with some research about your users and their likely environment you can make a best judgement as to the likely scenario in which they will be using your app. Will it be used in a quiet office or on a noisy factory floor? Knowing the circumstances under which your users will create recordings can help determine the quality, format and input type you would want to use.
Limits from memory and disk space
iOS will only limit the duration of the recording based on memory and disk space. So long as the user's device has the space to store the file, they can record for as long or as short a period of time as they like.
Compression is available
The iOS platform enables you to compress audio files to reduce file size while maintaining quality. This is especially important in scenarios where the user wishes to share the file "over the wire" and larger file sizes mean longer waits.
Siri API on the way?
The hope and assumption is that Siri will continue to mature and that Apple will eventually release API's that allow developers to access "her" from their native apps. Having access to Siri's sophisticated voice recognition capabilities and ability to delegate task management from the user could open a Pandora's box of new and interesting app ideas.
The voice recording capabilities of the iOS platform have a lot to offer to those developing apps. With voice-based search and task management gaining steam through services like Siri, do you have the next great idea for how to leverage what's available?