IP Library Granted Patent US 11,789,689
Granted Patent B2
US 11,789,689 · App. 15/876,038 · Granted Oct 17, 2023

Processing digital audio using audio processing plug-ins executing in a distributed computing environment

Inventors: Jonathan Andrew Soifer (Redmond, WA); Anchit Koul (Redmond, WA); Jeffrey Song Zhu (Redmond, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F3/162G06F3/165G06F9/44526G06F9/547G06F3/04847H04L67/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,789,689
App. No.
15/876,038
Granted
Oct 17, 2023
Kind
B2
Abstract

An audio processing plug-in shim operates in conjunction with a plug-in host application executing on a computing device. The plug-in shim receives a stream of digital audio from the plug-in host application and transmits the digital audio to a network service executing in a network accessible remote distributed computing environment. The network service receives the digital audio and routes the digital audio to one or more audio processing plug-ins, also executing in the distributed computing environment. The audio plug-ins process the digital audio, such as by applying digital signal processing techniques to the digital audio, and return processed audio to the network service. The network service returns the processed audio to the plug-in shim executing on the remote computing device. The plug-in shim, in turn, receives the processed audio from the network service and provides the processed audio to the plug-in host application.

Claims (41)

1. A computer-implemented method, comprising:

selecting, from a plurality of audio processing plug-ins, one or more audio processing plug-ins for execution on a computing device and one or more audio processing plug-ins for execution in a distributed computing environment based on computing resource requirements of the plurality of audio processing plug-ins and capabilities of the computing device;

causing the one or more audio processing plug-ins selected for execution on the computing device to be executed in association with a plug-in host application executing on the computing device;

causing the one or more audio processing plug-ins selected for execution in the distributed computing environment to be executed in the distributed computing environment;

executing, on the computing device, an audio processing plug-in shim configured for operation with the plug-in host application executing on the computing device;

receiving digital audio from the plug-in host application at the audio processing plug-in shim;

transmitting the digital audio from the audio processing plug-in shim to a network service executing in the distributed computing environment, the network service configured to cause the one or more audio processing plug-ins executing in the distributed computing environment to process the digital audio to generate processed audio;

receiving the processed audio from the network service at the audio processing plug-in shim; and

providing the processed audio from the audio processing plug-in shim to the plug-in host application.

2. The computer-implemented method of claim 1 , further comprising:

providing, by way of the audio processing plug-in shim, a user interface (UI) for receiving plug-in settings, the plug-in settings specifying a configuration for the two or more audio processing plug-ins;

receiving the plug-in settings by way of the UI; and

transmitting the plug-in settings to the network service, whereby the network service configures operation of the two or more audio processing plug-ins based upon the plug-in settings.

3. The computer-implemented method of claim 1 , wherein the audio processing plug-in shim operates in series with one or more other audio processing plug-ins executing on the computing device.

4. The computer-implemented method of claim 1 , wherein the audio processing plug-in shim operates in parallel with one or more other audio processing plug-ins executing on the computing device.

5. The computer-implemented method of claim 1 , wherein the plug-in host selects the one or more audio processing plug-ins to be executed on the computing device and the one or more audio processing plug-ins to be executed in the distributed environment.

6. The computer-implemented method of claim 1 , wherein the audio processing plug-in shim selects the one or more audio processing plug-ins to be executed on the computing device and the one or more audio processing plug-ins to be executed in the distributed environment.

7. A computing device, comprising:

at least one processor; and

a computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the at least one processor, cause the system to:

select, from a plurality of audio processing plug-ins, one or more audio processing plug-ins for execution on the computing device and one or more audio processing plug-ins for execution in a distributed computing environment based on computing resource requirements of the plurality of audio processing plug-ins and capabilities of the computing device;

cause the one or more audio processing plug-ins selected for execution on the computing device to be executed in association with a plug-in host application executing on the computing device;

cause the one or more audio processing plug-ins selected for execution in the distributed computing environment to be executed in the distributed computing environment;

execute, on the computing device, an audio processing plug-in shim configured for operation with the plug-in host application executing on the computing device;

receive digital audio from the plug-in host application at the audio processing plug-in shim;

transmit the digital audio from the audio processing plug-in shim to a network service executing in the distributed computing environment, the network service configured to cause the one or more audio processing plug-ins executing in the distributed computing environment to process the digital audio to generate processed audio;

receive the processed audio from the network service at the audio processing plug-in shim; and

provide the processed audio from the audio processing plug-in shim to the plug-in host application.

8. The computing device of claim 7 , wherein the plug-in host selects the one or more audio processing plug-ins to be executed on the computing device and the one or more audio processing plug-ins to be executed in the distributed environment.

9. The computing device of claim 7 , wherein the audio processing plug-in shim selects the one or more audio processing plug-ins to be executed on the computing device and the one or more audio processing plug-ins to be executed in the distributed environment.

10. A computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by at least one processor of a computing device, cause the computing device to:

select, from a plurality of audio processing plug-ins, one or more audio processing plug-ins for execution on the computing device and one or more audio processing plug-ins for execution in a distributed computing environment based on computing resource requirements of the plurality of audio processing plug-ins and capabilities of the computing device;

cause the one or more audio processing plug-ins selected for execution on the computing device to be executed in association with a plug-in host application executing on the computing device;

cause the one or more audio processing plug-ins selected for execution in the distributed computing environment to be executed in the distributed computing environment;

execute, on the computing device, an audio processing plug-in shim configured for operation with the plug-in host application executing on the computing device;

receive digital audio from the plug-in host application at the audio processing plug-in shim;

transmit the digital audio from the audio processing plug-in shim to a network service executing in the distributed computing environment, the network service configured to cause the one or more audio processing plug-ins executing in the distributed computing environment to process the digital audio to generate processed audio;

receive the processed audio from the network service at the audio processing plug-in shim; and

provide the processed audio from the audio processing plug-in shim to the plug-in host application.

11. The computer-readable storage medium of claim 10 , wherein the plug-in host selects the one or more audio processing plug-ins to be executed on the computing device and the one or more audio processing plug-ins to be executed in the distributed environment.

12. The computer-readable storage medium of claim 10 , wherein the audio processing plug-in shim selects the one or more audio processing plug-ins to be executed on the computing device and the one or more audio processing plug-ins to be executed in the distributed environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2018
From: SOIFER, JONATHAN ANDREW; KOUL, ANCHIT; ZHU, JEFFREY SONG
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044679/0986 →
Continuity (1)
Related Publication 20190227765A1 · Jul 25, 2019