Claims
- 1. A data structure of configuration information, comprising:
an audio buffer identifier to uniquely identify an audio buffer when the audio buffer is instantiated according to the configuration information; an audio buffer type identifier to identify a type of the audio buffer; one or more logical bus identifiers to uniquely identify one or more logical buses that correspond to the audio buffer, an individual logical bus configured to stream audio data to the audio buffer when the audio buffer is instantiated.
- 2. A data structure as recited in claim 1, wherein the audio buffer identifier uniquely identifies the audio buffer in an audio generation system.
- 3. A data structure as recited in claim 1, wherein the audio buffer type identifier identifies that the audio buffer be instantiated as a sink-in audio buffer configured to receive a stream of audio data from an audio data source.
- 4. A data structure as recited in claim 1, wherein the audio buffer type identifier identifies that the audio buffer be instantiated as a mix-in audio buffer configured to receive one or more streams of audio data from one or more audio buffers.
- 5. A data structure as recited in claim 1, farther comprising an audio buffer channels identifier to identify a number of logical audio data communication paths in the audio buffer when the audio buffer is instantiated.
- 6. A data structure as recited in claim 1, further comprising an audio buffer channels identifier to identify a number of logical audio data communication paths in the audio buffer when the audio buffer is instantiated, and wherein the audio buffer type identifier identifies that the audio buffer be instantiated as a mix-in audio buffer configured to receive one or more streams of audio data on the logical audio data communication paths.
- 7. A data structure as recited in claim 1, further comprising a volume parameter to identify an initial volume setting for audio data processed in the audio buffer when the audio buffer is instantiated.
- 8. A data structure as recited in claim 1, further comprising a stereo pan parameter to identify an initial stereo pan setting for audio data processed in the audio buffer when the audio buffer is instantiated.
- 9. A data structure as recited in claim 1, further comprising a position parameter to identify an initial three-dimensional position for audio data processed in the audio buffer when the audio buffer is instantiated.
- 10. A data structure as recited in claim 1, further comprising three-dimensional parameters for audio data processed in the audio buffer when the audio buffer is instantiated.
- 11. A data structure as recited in claim 1, further comprising:
a position parameter to identify an initial three-dimensional position for audio data processed in the audio buffer when the audio buffer is instantiated; and three-dimensional parameters to process the audio data received in the audio buffer.
- 12. A data structure as recited in claim 1, further comprising an audio effects list to identify one or more audio effects instantiated as components of the audio buffer when the audio buffer is instantiated.
- 13. A data structure as recited in claim 1, further comprising an audio effects list to identify one or more audio effects instantiated as components of the audio buffer when the audio buffer is instantiated, the one or more audio effects configured to process the audio data received in the audio buffer.
- 14. A data structure as recited in claim 1, further comprising an audio effects list to identify an audio effect instantiated as a component of the audio buffer when the audio buffer is instantiated, the audio effects list including:
an audio effect identifier to uniquely identify the audio effect; and an audio effect type identifier to identify how the audio effect is configured to process the audio data received in the audio buffer.
- 15. A data structure as recited in claim 1, further comprising an audio effects list to identify an audio effect instantiated as a component of the audio buffer when the audio buffer is instantiated, the audio effects list including:
an audio effect identifier to uniquely identify the audio effect; an audio effect type identifier to identify how the audio effect is configured to process the audio data received in the audio buffer; and an input audio buffer identifier to identify a second audio buffer that receives a stream of modified audio data from the audio effect.
- 16. An audio buffer configuration file comprising the data structure of configuration information as recited in claim 1.
- 17. One or more computer-readable media comprising an audio buffer configuration file that includes the data structure of configuration information as recited in claim 1.
- 18. An audio generation system, comprising:
an audio buffer configuration file configured to maintain audio buffer configuration information; an audio buffer configuration object instantiated according to the audio buffer configuration file; a software component configured to request an audio buffer having a configuration that corresponds to the configuration information maintained in the audio buffer configuration file, the audio buffer being created from the audio buffer configuration object.
- 19. An audio generation system as recited in claim 18, wherein the audio buffer is created from the audio buffer configuration object and is configured to receive a stream of audio data from an audio data source.
- 20. An audio generation system as recited in claim 18, wherein the audio buffer is duplicated from the audio buffer configuration object when the audio buffer is created.
- 21. An audio generation system as recited in claim 18, wherein the audio buffer configuration object has an interface that is callable by the software component, and wherein the software component is further configured to call a clone method of the interface to create the audio buffer.
- 22. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes an audio buffer identifier to uniquely identify the audio buffer in the audio generation system, and further includes an audio buffer type identifier to identify a type of the audio buffer.
- 23. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes a logical bus identifier to uniquely identify one or more logical buses that correspond to the audio buffer, an individual logical bus configured to stream audio data to the audio buffer when the audio buffer is created.
- 24. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes an audio buffer type identifier to identify that the audio buffer be created as a sink-in audio buffer configured to receive a stream of audio data from an audio data source.
- 25. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes an audio buffer type identifier to identify that the audio buffer be created as a mix-in audio buffer configured to receive one or more streams of audio data from one or more audio buffers.
- 26. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes an audio buffer channels identifier to identify a number of logical audio data communication paths in the audio buffer when the audio buffer is created.
- 27. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes a volume parameter to identify an initial volume setting for audio data processed in the audio buffer when the audio buffer is created.
- 28. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes a stereo pan parameter to identify an initial stereo pan setting for audio data processed in the audio buffer when the audio buffer is instantiated.
- 29. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes:
a position parameter to identify an initial three-dimensional position for audio data processed in the audio buffer when the audio buffer is created; and three-dimensional parameters to process the audio data received in the audio buffer.
- 30. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes an audio effects list to identify one or more audio effects instantiated as components of the audio buffer when the audio buffer is created, the one or more audio effects configured to process audio data received in the audio buffer.
- 31. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes an audio effects list to identify an audio effect instantiated as a component of the audio buffer when the audio buffer is created, the audio effects list including:
an audio effect identifier to uniquely identify the audio effect; and an audio effect type identifier to identify how the audio effect is configured to process audio data received in the audio buffer.
- 32. An audio generation system as recited in claim 18, wherein the audio buffer configuration file includes an audio effects list to identify an audio effect instantiated as a component of the audio buffer when the audio buffer is created, the audio effects list including:
an audio effect identifier to uniquely identify the audio effect; an audio effect type identifier to identify how the audio effect is configured to process audio data received in the audio buffer; and an input audio buffer identifier to identify a second audio buffer that receives a stream of modified audio data from the audio effect.
- 33. An audio generation system as recited in claim 18, wherein the audio buffer configuration object includes an audio effect instantiated as a programming object having an interface that is callable by the software component, the programming object configured to implement software resources to modify audio data received by the audio buffer when the audio buffer is created.
- 34. An audio generation system as recited in claim 18, wherein the audio buffer configuration object includes an audio effect instantiated as a programming object having an interface that is callable by the software component, the programming object configured to manage hardware resources to modify audio data received by the audio buffer when the audio buffer is created.
- 35. A method for creating an audio buffer in an audio generation system, comprising:
instantiating an audio buffer configuration object; loading configuration information maintained in an audio buffer configuration file into the audio buffer configuration object; receiving a request to route a stream of audio data to an audio buffer having a configuration that corresponds to the configuration information maintained in the audio buffer configuration file; and creating the audio buffer by duplicating the audio buffer configuration object.
- 36. A method for creating an audio buffer as recited in claim 35, further comprising instantiating one or more audio effects as individual component objects of the audio buffer configuration object when loading the configuration information.
- 37. A method for creating an audio buffer as recited in claim 35, wherein loading the configuration information includes instantiating at least one audio effect as a component object of the audio buffer configuration object, the audio effect instantiated according to the configuration information.
- 38. A method for creating an audio buffer as recited in claim 35, further comprising receiving the stream of audio data from an audio data source.
- 39. A method for creating an audio buffer as recited in claim 35, further comprising receiving the stream of audio data from a second audio buffer.
- 40. A method for creating an audio buffer as recited in claim 35, further comprising receiving the stream of audio data from an audio effect in a second audio buffer.
- 41. A method for creating an audio buffer as recited in claim 35, wherein instantiating the audio buffer configuration object includes instantiating the audio buffer configuration object with an interface that is callable by a software component of the audio generation system to request creating the audio buffer.
- 42. A method for creating an audio buffer as recited in claim 35, wherein creating the audio buffer includes the audio buffer having an audio buffer identifier to uniquely identify the audio buffer in the audio generation system.
- 43. A method for creating an audio buffer as recited in claim 35, wherein creating the audio buffer includes the audio buffer corresponding to one or more logical buses that stream audio data to the audio buffer.
- 44. A method for creating an audio buffer as recited in claim 35, wherein creating the audio buffer includes the audio buffer having one or more logical audio data communication paths to receive one or more streams of audio data.
- 45. One or more computer-readable media comprising computer-executable instructions that, when executed, direct a software component of the audio generation system to perform the method of claim 35.
- 46. One or more computer-readable media comprising computer-executable instructions that, when executed, direct a software component of the audio generation system to perform the method of claim 36.
RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/273,660, filed Mar. 5, 2001, entitled “Dynamic Buffer Creation with Embedded Hardware and Software Effects”, to Todor Fay et al., which is incorporated by reference herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60273660 |
Mar 2001 |
US |