Audio Attenuation and Routing Based on Audio Stream Classification
Original Publication Date: 2008-Sep-12
Included in the Prior Art Database: 2008-Sep-12
Edward Sumanaseni: INVENTOR [+2]
Described herein is an Audio Routing Manager for automatically routing audio streams from applications, managing the attenuation of the audio streams, and assisting with dynamically switching the audio to endpoints contained within or attached to the mobile device. The manager identifies the application’s audio stream and routes and attenuates the audio based upon five factors: the current presence of an endpoint, the current status of the phone, the presence and type of other audio streams currently present, the type of audio currently streaming, and the customizable routing policies. The manager may then notify the application upon switching endpoints.
Most mobile devices contain multiple software applications with audio streams that must be routed to multiple endpoints on the device. The endpoints may include a main speaker, phone speaker, headset, Bluetooth connection, etc. Currently, to play audio on a mobile device, an application must allow the device audio driver to specify to which endpoint to send the audio. For example, the device may simply route the ringtone, camera shutter, and any other audio to the same endpoint, not knowing what type of audio is being routed. In other words, there is currently no standard way to specify the type of audio and determining which endpoint to play based upon the type of audio specified.
This publication describes an Audio Routing Manager (“manager”) implemented in software for dynamically routing audio types from applications to specific endpoints and attenuating the audio. The manager automatically routes audio streams, manages the attenuation of the audio based on a set of policies, and assists in dynamically switching the audio to various endpoints contained within or attached to the mobile device. The routing decision is based upon five factors: the current presence of an endpoint, the current status of the phone, the presence and type of other audio streams currently present, the type of audio of the currently playing stream, and the customizable routing policies. The policies may be pre-set or determined by the user. The manager may then in turn notify the application of any switching of endpoints.
In one example usage scenario, the manager can be used with a Voice over Internet Protocol (VoIP) application on a mobile phone. Other usages are also possible; although, reference is made herein to implementations using VoIP-enabled devices. Furthermore, the functionality herein can be implemented in any type of programming language (e.g., Java, C, C++, C#). For this publication, an application is defined as proprietary software contained on the mobile phone and configured to route an audio stream to an endpoint.
The manager is illustrated in Figure 1. In one implementation, the VoIP application 10 passes along the parameters 20 as to what type of audio it is to the manager 50 through an Application Programming Interface (API), and the manager specifies where it wants the audio to go.
The manager defines the audio based on a pre-defined set of audio types 20 including, but not limited to:
DEFAULT – Legacy sounds or no stream class specified
NOTIFICATION – Reminders, Alerts
RINGTONE – Incoming call notification
SYSTEM – Key clicks
VOICECOMM – An...