Method and apparatus for object-oriented digital audio signal processing using a chain of sound objects
First Claim
1. A method for processing one or more streams of audio signals in a computer having a processor coupled to a storage medium and having an object-oriented dynamic binding mechanism resident is the storage medium so that the processor can access and execute the binding mechanism, said method comprising the steps:
- receiving a request to become ready to play sound from a software application;
in response to the request to become ready to play sound,generating a chain of sound objects for processing at least one stream of audio signals, a sound object being specialized for a particular task, the chain of sound objects having a sound source object linked to a source of audio signals, a sound hardware object linked to a sound hardware, and a series of processing objects, the series having a first end coupled to the sound source object for receiving audio signals therefrom and a second end coupled to the sound hardware object for receiving requests therefrom and sending audio signals thereto, andpassing the request along the chain from the sound hardware object to the sound source object, each sound object accessing and storing information in the request which is pertinent to its particular task;
receiving at a sound hardware object a request other than a request to become ready to play sound; and
in response to the request,passing the request along a chain in a direction toward a source sound object of the chain until a sound object is found which is capable of handling requests of a type such as the request or until each sound object in the chain is examined, whichever occurs first,if a sound object is found to handle the request, thenhandling the request, requesting and getting from a source of the found sound object more audio signals if needed to handle the request andpassing the response to the request along the chain toward the sound hardware object, each sound object operating on the data, if appropriate, andif a sound object is not found, then passing along the chain to the sound hardware object, an indication that the request can not be handled.
1 Assignment
0 Petitions
Accused Products
Abstract
An object-oriented audio signal processing system is disclosed. The signal processing system is capable of converting virtually any sound resource into a format which can be used by associated sound hardware to produce a sound. A signal processing system incorporating the invention comprises one or more chains formed by a plurality of sound objects serially connected. A sound object is a specialized task which performs a particular operation such as, for example, sample rate conversion of a sound resource, decompression of a sound resource, mixing multiple sound resources or retrieving sound resources from a software application. The sound objects are preferably modular and use substantially the same calling conventions and interface. A chain of sound objects processes digital audio signals into an output which can be maintained in a storage area, e.g. memory or disk or played on sound hardware. Chains which are formed to play sound on sound hardware preferably include a sound hardware object which is linked to the sound hardware. Preferably, objects other than sound hardware objects are sound hardware-independent, i.e. they do not have "knowledge" about specific sound hardware.
122 Citations
4 Claims
-
1. A method for processing one or more streams of audio signals in a computer having a processor coupled to a storage medium and having an object-oriented dynamic binding mechanism resident is the storage medium so that the processor can access and execute the binding mechanism, said method comprising the steps:
-
receiving a request to become ready to play sound from a software application; in response to the request to become ready to play sound, generating a chain of sound objects for processing at least one stream of audio signals, a sound object being specialized for a particular task, the chain of sound objects having a sound source object linked to a source of audio signals, a sound hardware object linked to a sound hardware, and a series of processing objects, the series having a first end coupled to the sound source object for receiving audio signals therefrom and a second end coupled to the sound hardware object for receiving requests therefrom and sending audio signals thereto, and passing the request along the chain from the sound hardware object to the sound source object, each sound object accessing and storing information in the request which is pertinent to its particular task; receiving at a sound hardware object a request other than a request to become ready to play sound; and in response to the request, passing the request along a chain in a direction toward a source sound object of the chain until a sound object is found which is capable of handling requests of a type such as the request or until each sound object in the chain is examined, whichever occurs first, if a sound object is found to handle the request, then handling the request, requesting and getting from a source of the found sound object more audio signals if needed to handle the request and passing the response to the request along the chain toward the sound hardware object, each sound object operating on the data, if appropriate, and if a sound object is not found, then passing along the chain to the sound hardware object, an indication that the request can not be handled.
-
-
2. An apparatus for processing one or more streams of audio signals in a computer having a processor coupled to a storage medium, said apparatus comprising:
-
an object-oriented dynamic binding mechanism resident in the storage medium; a software application resident in the storage medium for making a sound request which is received by the binding mechanism; and a chain of sound objects generated by the binding mechanism in response to the request, each sound object for processing at least one stream of audio signals and each sound object being specialized for a particular task, the chain of sound objects having a sound source object linked to a source of audio signals, a sound hardware object linked to a sound hardware in the computer, and a series of sound processing objects, the series having a first end coupled to the sound source object for receiving audio signals therefrom and a second end coupled to the sound hardware object for receiving requests therefrom and sending audio signals thereto, each sound object in the chain of sound objects having a connection for passing the request along the chain from the sound hardware object to the sound source object, each sound object having storage for storing information from the request which is pertinent to its particular task.
-
-
3. An apparatus for processing one or more streams of digital audio signals on a processor coupled to a storage medium, said apparatus comprising:
-
an object-oriented dynamic binding mechanism; a plurality of sound objects, each sound object created by the binding mechanism and capable of performing at least one task, each of the sound objects in the plurality of sound objects having a common application programmer'"'"'s interface and calling conventions; and one or more chains of sound objects, each chain containing at least one sound object, said chains formed by the binding mechanism such that each chain processes at least one stream of digital audio signals, at least one of the one or more chains comprising a sound source object for retrieving digital audio signals from a software application and one or more signal sound processing objects for processing the retrieved digital audio signals, said one or more signal sound processing objects connected in series and said series of sound processing objects having a first end and a second end, the first end coupled to receive output from the sound source object and the second end coupled to a sound hardware object capable of being linked with and communicating with a sound hardware. - View Dependent Claims (4)
-
Specification