Audio API Graph Modification and Clock Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional audio application programming interfaces (APIs) face limitations in modifying audio processing graphs during processing without affecting performance and in coordinating clock synchronization among different audio rendering devices, applications, and processors.
Innovation Solution
The proposed audio API allows for graph modifying commands to be inserted into asynchronous or deferred command queues, with pending commands executed on the next processing pass, and includes a clock manager to synchronize clocks by defining control groups with master and slave clocks, adjusting slave clock rates as needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If graph modifying commands are executed immediately during audio processing, then the audio processing graph can be modified in real-time, but performance is negatively affected and unwanted side effects occur
Solution Approach 1:
The patent implements command queues (asynchronous and deferred) that collect graph modifying commands in advance before execution. This preliminary action allows the system to prepare modifications without executing them immediately during critical audio processing intervals, thus maintaining performance stability while enabling real-time adaptability.
Solution Approach 2:
The patent divides command execution into segmented processing passes, with commands organized in queues that are executed at specific intervals. This segmentation separates command collection from command execution, allowing the audio processing graph to maintain stability during processing while still accepting modification commands in real-time.
2Adaptability or versatility
If different audio rendering devices use different clock rates, then each device can operate independently, but clock synchronization issues arise between devices
Solution Approach 1:
The clock manager implements a feedback mechanism that continuously monitors clock rates across different audio rendering devices and dynamically adjusts slave clock rates to match the master clock. This feedback loop maintains synchronization while allowing devices to initially operate independently with different clock rates.
Solution Approach 2:
The patent makes the clock system dynamic by allowing clock rates to be adjusted in real-time based on synchronization requirements. The clock manager can dynamically change slave clock rates to match the master clock, enabling the system to adapt to varying clock conditions while maintaining synchronization.
3Ease of operation
If audio samples are consumed at different rates by rendering devices, then each device can process at its own rate, but synchronization problems occur between producer and consumer
Solution Approach 1:
The clock manager uses feedback to monitor the relationship between sample production and consumption rates, adjusting slave clock rates to ensure that audio samples are produced and consumed at synchronized rates, preventing buffer overflows or underruns while allowing independent device operation.
Data Source
AI summary
An audio application programming interface (API) enables an audio processing graph to be modified during processing. If they are received while the audio graph is playing or paused, graph modifying commands may be inserted into either an asynchronous command queue or a deferred command queue. The audio API may also include a clock manager for synchronizing clocks from a number of different connected audio rendering devices, applications, processors, functions, operations, modules, or other resources. The clock manager may provide an interface that enables a number of control groups to be defined. Each such control group may include a master clock, a slave clock, and a control.


