Claims
- 1. One or more computer-readable media having stored thereon a module including a plurality of instructions for execution in kernel-mode that, when executed in kernel-mode by one or more processors of a computer, causes the one or more processors to perform acts including:
receiving a data packet including audio data; checking, based at least in part on a channel group identified in a channel group portion of the data packet, whether the data packet corresponds to a set of one or more channel groups; and operating on the data packet based at least in part on a result of the checking.
- 2. One or more computer-readable media as recited in claim 1, wherein the set of channel groups is received by the module via a set parameters interface.
- 3. One or more computer-readable media as recited in claim 1, wherein the operating comprises forwarding the data packet to an allocator module for re-allocation of the memory space used by the data packet if the data packet corresponds to the set of channel groups.
- 4. One or more computer-readable media as recited in claim 1, wherein the operating comprises forwarding the data packet to an allocator module for re-allocation of the memory space used by the data packet if the data packet does not correspond to the set of channel groups.
- 5. One or more computer-readable media as recited in claim 1, wherein the operating comprises changing a channel group identifier in the channel group portion of the data packet if the data packet corresponds to the set of channel groups.
- 6. One or more computer-readable media having stored thereon a module including a plurality of instructions for execution in kernel-mode that, when executed in kernel-mode by one or more processors of a computer, causes the one or more processors to perform acts including:
receiving a data packet including audio data; checking which channel group the data packet corresponds to, wherein the channel group the data packet corresponds to is identified in a channel group portion of the data packet; identifying, based at least in part on the channel group, a new channel group for the data packet; and modifying the data packet to include the new channel group.
- 7. One or more computer-readable media as recited in claim 6, wherein a set of channel group to new channel group mappings for use in the identifying is received by the module via a set parameters interface.
- 8. One or more computer-readable media having stored thereon a module including a plurality of instructions for execution in kernel-mode that, when executed in kernel-mode by one or more processors of a computer, causes the one or more processors to perform acts including:
receiving a data packet including audio data; checking which channel the audio data corresponds to; identifying, based at least in part on the channel, a new channel for the data packet; and modifying the audio data to include the new channel.
- 9. One or more computer-readable media as recited in claim 8, wherein a set of channel to new channel mappings for use in the identifying is received by the module via a set parameters interface.
- 10. One or more computer-readable media as recited in claim 8, wherein the plurality of instructions further cause the one or more processors to perform acts including maintaining a channel to new channel mapping, for use in the identifying, in which multiple channels can map to the same new channel and in which a single channel can map to multiple new channels.
- 11. One or more computer-readable media having stored thereon a module including a plurality of instructions for execution in kernel-mode that, when executed in kernel-mode by one or more processors of a computer, causes the one or more processors to perform acts including:
receiving a data packet including an audio data message; checking a message type of the audio data message; and forwarding the audio data message to an allocator module for re-allocation of the memory space used by the data packet if the message type is a particular message type.
- 12. One or more computer-readable media as recited in claim 11, wherein the particular message type is received by the module via a set parameters interface.
- 13. One or more computer-readable media as recited in claim 11, wherein the plurality of instructions further cause the one or more processors to perform the forwarding only if the data packet matches one or more of: a particular one or more notes, a particular one or more channels, and a particular one or more channel groups.
- 14. One or more computer-readable media having stored thereon a module including a plurality of instructions for execution in kernel-mode that, when executed in kernel-mode by one or more processors of a computer, causes the one or more processors to perform acts including:
receiving a data packet including audio data; checking which note the audio data corresponds to; identifying, based at least in part on the note, a new note for the data packet; and modifying the audio data to include the new note.
- 15. One or more computer-readable media as recited in claim 14, wherein a set of note to new note mappings for use in the identifying is received by the module via a set parameters interface.
- 16. One or more computer-readable media as recited in claim 14, 11 wherein the plurality of instructions further cause the one or more processors to perform the modifying only if the data packet matches one or more of: a particular one or more channels, and a particular one or more channel groups.
- 17. One or more computer-readable media having stored thereon a module including a plurality of instructions for execution in kernel-mode that, when executed in kernel-mode by one or more processors of a computer, causes the one or more processors to perform acts including:
receiving a data packet including audio data; checking a velocity value that the audio data corresponds to; identifying, based at least in part on the velocity value, a new velocity value for the data packet; and modifying the audio data to include the new velocity value.
- 18. One or more computer-readable media as recited in claim 17, wherein a set of note to new velocity value mappings for use in the identifying is received by the module via a set parameters interface.
- 19. One or more computer-readable media as recited in claim 17, wherein the plurality of instructions further cause the one or more processors to perform the modifying only if the data packet matches one or more of: a particular one or more notes, a particular one or more channels, and a particular one or more channel groups.
- 20. One or more computer-readable media having stored thereon a module including a plurality of instructions for execution in kernel-mode that, when executed in kernel-mode by one or more processors of a computer, causes the one or more processors to perform acts including:
receiving a data packet including audio data; checking a velocity value and a note value that the audio data corresponds to; identifying, based at least in part on both the velocity value and the note value, a new velocity value and a new note value for the data packet; and modifying the data packet to include both the new velocity value and the new note value.
- 21. One or more computer-readable media as recited in claim 20, wherein a set of input note and input velocity to output note and output velocity mappings for use in the identifying is received by the module via a set parameters interface.
- 22. One or more computer-readable media having stored thereon a module including a plurality of instructions for execution in kernel-mode that, when executed in kernel-mode by one or more processors of a computer, causes the one or more processors to perform acts including:
receiving a data packet including audio data; checking a presentation time for the audio data; and operating on the data packet based at least in part on a result of the checking.
- 23. One or more computer-readable media as recited in claim 22, wherein the operating comprises changing the presentation time to generate a swing beat.
- 24. One or more computer-readable media having stored thereon a module including a plurality of instructions for execution in kernel-mode that, when executed in kernel-mode by one or more processors of a computer, causes the one or more processors to perform acts including:
receiving a data packet including audio data; identifying a variable amount by which the pitch of the audio data is to be altered; and modifying a pitch value of the audio data by the variable amount.
- 25. One or more computer-readable media as recited in claim 24, wherein an indication of the amount to alter the pitch of audio data and how to vary the amount over time is received by the module via a set parameters interface.
- 26. One or more computer-readable media as recited in claim 24, wherein the plurality of instructions further cause the one or more processors to perform the modifying only if the data packet matches one or more of: a particular one or more notes, a particular one or more channels, and a particular one or more channel groups.
- 27. One or more computer-readable media having stored thereon a module including a plurality of instructions for execution in kernel-mode that, when executed in kernel-mode by one or more processors of a computer, causes the one or more processors to perform acts including:
receiving a data packet including audio data; determining a difference between a current reference time and a presentation time of the data packet; and recording the determined difference.
- 28. One or more computer-readable media as recited in claim 27, wherein the plurality of instructions further cause the one or more processors to perform acts including:
making a get parameters interface available to a calling component; and returning an indication of the difference the component in response to the component calling the get parameters interface.
- 29. One or more computer-readable media as recited in claim 27, wherein the plurality of instructions further cause the one or more processors to perform the recording only if the data packet matches one or more of: a particular one or more notes, a particular one or more channels, and a particular one or more channel groups.
RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent application Ser. No. 09/559,986, filed Apr. 26, 2000, entitled “Kernel-Mode Audio Processing Modules” to Martin G. Puryear, which claims the benefit of U.S. Provisional Application No. 60/197,100, filed Apr. 12, 2000, entitled “Extensible Kernel-Mode Audio Processing Architecture” to Martin G. Puryear.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60197100 |
Apr 2000 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09559986 |
Apr 2000 |
US |
Child |
10666677 |
Sep 2003 |
US |