Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method performed by a computer system, comprising: writing, by a device-side audio handling input/output unit (DIO) of a hardware device, audio data generated by the hardware device within a ring buffer; receiving an input provided by a user for activation of a software program to begin processing audio signals; generating a notification when the software program is ready to accept the audio data generated by the hardware device; during the generation of the notification providing, by a system-side audio handling input/output unit (SIO), past audio data from the ring buffer to the software program, the past audio data being the audio data of the audio signals received prior to the activation of the software program to begin processing audio signals wherein the SIO provides audio data to the software program starting from a SIO position which is associated with a time that is prior to a time associated with a DIO position within the ring buffer; and putting, by the SIO, a client thread of the software program to sleep until the time associated with the DIO position is ahead of the time associated with the SIO position by at least a client-side offset.
This invention relates to audio processing systems, specifically addressing the challenge of seamless audio data transfer between a hardware device and a software program during activation. The system includes a device-side audio handling input/output unit (DIO) that writes audio data generated by the hardware device into a ring buffer. When a user activates a software program to process audio signals, a notification is generated once the program is ready to accept the audio data. During this notification phase, a system-side audio handling input/output unit (SIO) retrieves past audio data from the ring buffer, which includes audio signals received before the software program was activated. The SIO provides this data to the software program starting from a position in the ring buffer that precedes the current DIO position, ensuring continuity. The SIO also manages a client thread of the software program, putting it to sleep until the DIO position advances ahead of the SIO position by a predefined client-side offset, ensuring synchronized and uninterrupted audio processing. This method prevents data loss and maintains real-time audio flow during program activation.
2. The method of claim 1 , wherein the software program is activated at a first time and is ready at a second time to consume the audio data generated by the hardware device, the second time being later than the first time, and the past audio data being written within the ring buffer prior to the second time.
3. The method of claim 1 , wherein the hardware device includes a microphone and the audio data includes sound captured by the microphone.
4. The method of claim 1 , wherein the software program includes a voice command application or a music recognition program.
5. The method of claim 1 , further comprising: providing, by the SIO, real-time audio data from the ring buffer to the software program after providing the past audio data and catching up to real-time audio data being written within the ring buffer.
6. The method of claim 1 , wherein the notification includes a sound effect.
7. The method of claim 1 , further comprising: providing, by the SIO, an amount of the past audio data available in the ring buffer to the software program in response to receiving a request from the software program to determine how much of the past audio data is available in the ring buffer or in response to a request from the software program to determine whether the past audio data can be accessed.
8. The method of claim 1 , wherein when the time associated with the DIO position is ahead of the time associated with the SIO position by at least the client-side offset, the method further comprises: awaking, by the SIO, the client thread of the software program; and providing, by the SIO, the audio data from the ring buffer to the software program.
9. A computer system, comprising: one or more processors; and a non-transitory computer readable storage medium having instructions stored therein, the instructions, when executed by the one or more processors, cause the computer system to: write, by a device-side audio handling input/output unit (DIO) of a hardware device, audio data generated by the hardware device within a ring buffer; receive an input provided by a user for activation of a software program to begin processing audio signals; generate an audio or visual notification when the software program is ready to accept the audio data; provide, by a system-side audio handling input/output unit (SIO), past audio data from the ring buffer to the software program, the past audio data being the audio data of the audio signals received prior to the activation of the software program to begin processing audio signals wherein the SIO provides audio data to the software program starting from a SIO position which is associated with a time that is prior to a time associated with a DIO position within the ring buffer; put, by the SIO, a client thread of the software program to sleep until the time associated with the DIO position is ahead of the time associated with the SIO position by at least a client-side offset; and when the time associated with the DIO position is ahead of the time associated with the SIO position by at least the client-side offset: awake, by the SIO, the client thread of the software program; and provide, by the SIO, the audio data from the ring buffer to the software program.
10. The computer system of claim 9 , wherein the software program is activated at a first time and is ready at a second time to consume the audio data, the second time being later than the first time, and the past audio data being written into the ring buffer prior to the second time.
11. The computer system of claim 9 , wherein the hardware device includes a microphone and the audio data includes sound captured by the microphone.
12. The computer system of claim 9 , wherein the software program includes a voice command application or a music recognition program.
A computer system is designed to process audio signals for applications such as voice command recognition or music identification. The system includes a processor and memory storing a software program that analyzes audio input to extract relevant features. For voice command applications, the system interprets spoken instructions to execute corresponding actions, such as controlling device functions or launching applications. For music recognition, the system identifies audio tracks by comparing extracted features against a reference database, enabling functions like song identification or playback management. The software program may also include additional modules to enhance accuracy, such as noise filtering or feature normalization. The system ensures real-time or near-real-time processing to support interactive user experiences. This technology addresses the need for efficient and accurate audio analysis in consumer electronics, smart devices, and multimedia applications, improving user convenience and system responsiveness.
13. The computer system of claim 9 , wherein the software program and the SIO are executed by a main processor of the computer system and the DIO of the hardware device is executed by an auxiliary processor of the computer system, wherein the auxiliary processor is active while the main processor is deactivated.
14. The computer system of claim 9 , wherein the instructions, when executed by the one or more processors, further cause the computer system to: provide, by the SIO, real-time audio data from the ring buffer to the software program after providing the past audio data and catching up to the real-time audio data being written into the ring buffer.
Unknown
April 13, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.