Playing audio files at high priority
First Claim
1. A computer-based subsystem for processing audio signals, comprising:
- (a) an application programming interface (API); and
(b) an audio task, wherein;
the API is implemented on a general-purpose host processor of a computer system;
the audio task is implemented on a digital signal processor of the computer system;
the API receives one or more function calls from an application to control the play of an audio file;
the application is implemented on the general-purpose host processor;
the audio file is stored in a storage device of the computer system;
the API translates the function calls into one or more host-to-board messages;
the API transmits the host-to-board messages to the audio task; and
the audio task plays the audio file based on the host-to-board messages received from the API at a higher priority than one or more other audio files preempting playback of the other audio files.
1 Assignment
0 Petitions
Accused Products
Abstract
An application programming interface (API), implemented on a general-purpose host processor, receives functions calls from an application to control the play of an audio file. The API translates the function calls into host-to-board messages and transmits the host-to-board messages to an audio task, implemented on a digital signal processor. The audio task plays the audio file based on the host-to-board messages received from the API at a higher priority than one or more other audio files. The API and audio task allow the application to select a Microsoft®-standard Wave file for play at a higher priority than other Wave files. By using the API, the application has control of the number of times the file is played back and when playing stops. The application gets notification of playback complete from the audio task via the API.
98 Citations
20 Claims
-
1. A computer-based subsystem for processing audio signals, comprising:
-
(a) an application programming interface (API); and
(b) an audio task, wherein;
the API is implemented on a general-purpose host processor of a computer system;
the audio task is implemented on a digital signal processor of the computer system;
the API receives one or more function calls from an application to control the play of an audio file;
the application is implemented on the general-purpose host processor;
the audio file is stored in a storage device of the computer system;
the API translates the function calls into one or more host-to-board messages;
the API transmits the host-to-board messages to the audio task; and
the audio task plays the audio file based on the host-to-board messages received from the API at a higher priority than one or more other audio files preempting playback of the other audio files. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
the host-to-board messages comprises an open-file message;
the open-file message indicates a path name for the audio file;
the audio task opens the audio file in response to the open-file message received from the API; and
the audio task transmits a callback message to the API in response to the open-file message.
-
-
5. The subsystem of claim 4, wherein:
-
if the open-file message is successful, then the callback message indicates that the audio file is valid; and
if the open-file message is unsuccessful, then the callback message indicates one of;
(1) the audio file cannot be opened;
(2) the audio file comprises unexpected file data;
(3) the audio file comprises data of an invalid audio type;
(4) the audio file is of an invalid file type;
(5) the audio file comprises a bad format type;
(6) the audio file comprises a bad header type;
(7) an on-board resource error occurred;
(8) the audio file comprises data at an unsupported rate;
(9) the audio file comprises data at an unsupported sample size; and
(10) a high-priority audio channel is already in use.
-
-
6. The subsystem of claim 1, wherein:
-
the host-to-board messages comprises a play-file message;
the play-file message comprises;
(1) a first parameter indicating a path name for the audio file;
(2) a second parameter indicating how many times to play the audio file;
(3) a third parameter;
(4) a fourth parameter indicating a volume level at which to play the audio file; and
(5) a fifth parameter indicating an output device for playing the audio file; and
the audio task plays the audio file in response to the play-file message received from the API.
-
-
7. The subsystem of claim 6, wherein:
-
the third parameter is ignored;
a value of 1 for the fifth parameter indicates that the output device is an on-board speaker;
a value of 2 for the fifth parameter indicates that the output device is a line-out device; and
a value of 4 for the fifth parameter indicates that the output device is a head phone device.
-
-
8. The subsystem of claim 1, wherein:
-
the host-to-board messages comprises a stop-file message; and
the audio task stops play of the audio file in response to the stop-file message received from the API.
-
-
9. The subsystem of claim 1, wherein the audio task transmits a play-done message to the API at completion of playing of the audio file.
-
10. The subsystem of claim 1, wherein:
-
the audio file is a Microsoft®
-standard Wave file;
the API is a Microsoft®
Windows™
operating system dynamic link library;
the host-to-board messages comprises an open-file message;
the open-file message indicates a path name for the audio file;
the audio task opens the audio file in response to the open-file message received from the API;
the audio task transmits a callback message to the API in response to the open-file message;
the host-to-board messages comprises a play-file message;
the play-file message comprises;
(1) a first parameter indicating the path name for the audio file;
(2) a second parameter indicating how many times to play the audio file;
(3) a third parameter;
(4) a fourth parameter indicating a volume level at which to play the audio file; and
(5) a fifth parameter indicating an output device for playing the audio file;
the audio task plays the audio file in response to the play-file message received from the API;
the host-to-board messages comprises a stop-file message;
the audio task stops play of the audio file in response to the stop-file message received from the API; and
the audio task transmits a play-done message to the API at completion of playing of the audio file.
-
-
11. A computer-implemented process for processing audio signals, comprising the steps of:
-
(a) receiving, by an application programming interface (API), one or more function calls from an application to control the play of an audio file, wherein;
the API is implemented on a general-purpose host processor of a computer system;
the application is implemented on the general-purpose host processor; and
the audio file is stored in a storage device of the computer system;
(b) translating, by the API, the function calls into one or more host-to-board messages;
(c) transmitting, by the API, the host-to-board messages to an audio task, wherein the audio task is implemented on a digital signal processor of the computer system; and
(d) playing, by the audio task, the audio file based on the host-to-board messages received from the API at a higher priority than one or more other audio files preempting playback of the other audio files. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
step (c) comprises the step of transmitting, by the API, an open-file message of the host-to-board messages to the audio task, wherein the open-file message indicates a path name for the audio file; and
step (d) comprises the steps of;
(1) opening, by the audio task, the audio file in response to the open-file message received from the API; and
(2) transmitting, by the audio task, a callback message to the API in response to the open-file message.
-
-
15. The process of claim 14, wherein:
-
if the open-file message is successful, then the callback message indicates that the audio file is valid; and
if the open-file message is unsuccessful, then the callback message indicates one of;
(1) the audio file cannot be opened;
(2) the audio file comprises unexpected file data;
(3) the audio file comprises data of an invalid audio type;
(4) the audio file is of an invalid file type;
(5) the audio file comprises a bad format type;
(6) the audio file comprises a bad header type;
(7) an on-board resource error occurred;
(8) the audio file comprises data at an unsupported rate;
(9) the audio file comprises data at an unsupported sample size; and
(10) a high-priority audio channel is already in use.
-
-
16. The process of claim 11, wherein:
-
step (c) comprises the step of transmitting, by the API, a play-file message of the host-to-board messages to the audio task, wherein the play-file message comprises;
(1) a first parameter indicating a path name for the audio file;
(2) a second parameter indicating how many times to play the audio file;
(3) a third parameter;
(4) a fourth parameter indicating a volume level at which to play the audio file; and
(5) a fifth parameter indicating an output device for playing the audio file; and
step (d) comprises the step of playing, by the audio task, the audio file in response to the play-file message received from the API.
-
-
17. The process of claim 16, wherein:
-
the third parameter is ignored;
a value of 1 for the fifth parameter indicates that the output device is an on-board speaker;
a value of 2 for the fifth parameter indicates that the output device is a line-out device; and
a value of 4 for the fifth parameter indicates that the output device is a head phone device.
-
-
18. The process of claim 11, wherein:
-
step (c) comprises the step of transmitting, by the API, a stop-file message of the host-to-board messages to the audio task; and
step (d) comprises the step of stopping, by the audio task, play of the audio file in response to the stop-file message received from the API.
-
-
19. The process of claim 11, wherein step (d) comprises the step of transmitting, by the audio task, a play-done message to the API at completion of playing of the audio file.
-
20. The process of claim 11, wherein:
-
the audio file is a Microsoft®
-standard Wave file;
the API is a Microsoft®
Windows™
operating system dynamic link library;
step (c) comprises the step of transmitting, by the API, an open-file message of the host-to-board messages to the audio task, wherein the open-file message indicates a path name for the audio file;
step (d) comprises the steps of;
(1) opening, by the audio task, the audio file in response to the open-file message received from the API; and
(2) transmitting, by the audio task, a callback message to the API in response to the open-file message;
step (c) comprises the step of transmitting, by the API, a play-file message of the host-to-board messages to the audio task, wherein the play-file message comprises;
(1) a first parameter indicating a path name for the audio file;
(2) a second parameter indicating how many times to play the audio file;
(3) a third parameter;
(4) a fourth parameter indicating a volume level at which to play the audio file; and
(5) a fifth parameter indicating an output device for playing the audio file;
step (d) comprises the step of playing, by the audio task, the audio file in response to the play-file message received from the API;
step (c) comprises the step of transmitting, by the API, a stop-file message of the host- to-board messages to the audio task;
step (d) comprises the step of stopping, by the audio task, play of the audio file in response to the stop-file message received from the API; and
step (d) comprises the step of transmitting, by the audio task, a play-done message to the API at completion of playing of the audio file.
-
Specification