Real-Time Audio Slicing via Dual Ring Buffer Architecture
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional audio slicing technologies require pre-prepared music signals and cannot slice arbitrary music signals from external sources in real time, as they need predefined playback pointers.
Innovation Solution
A musical sound playback device with a recording ring buffer and a playback ring buffer, allowing users to designate slice start and end points in real time, enabling real-time slicing of music signals by copying and playing back audio data from the recording buffer to the playback buffer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional audio slicing technology is used with pre-prepared music signals and playback pointers, then audio slicing can be implemented, but arbitrary music signals from external sources cannot be sliced in real time
Solution Approach 1:
The system performs preliminary actions by continuously storing incoming audio data in a circular buffer before slicing is requested. This pre-storation of audio data in sequential order enables real-time slicing without requiring pre-prepared signals, as the buffer already contains the audio data ready for immediate access and copying when slice points are designated.
Solution Approach 2:
The circular buffer acts as an intermediary between the audio input source and the slicing operation. It mediates the real-time processing by holding audio data in a structured format that allows arbitrary slice points to be designated and executed immediately, bridging the gap between continuous audio input and discrete slicing operations.
2Adaptability or versatility
If music signal data is prepared ahead of time with playback pointers, then slicing can be performed, but the system cannot handle arbitrary external music signals
Solution Approach 1:
The circular buffer provides a universal solution that handles both pre-prepared and arbitrary external audio signals through the same mechanism. The buffer's structure allows it to accept any audio input source and immediately make it available for slicing operations, eliminating the need for different processing paths or preparation steps for different signal sources.
Solution Approach 2:
The system extracts the requirement for pre-prepared signals by using the circular buffer to capture and hold arbitrary audio data in real-time. This extraction removes the constraint of needing pre-processed signals with embedded playback pointers, allowing the system to work with any audio source directly.
3Reliability
If audio data is continuously played back from the first buffer, then seamless playback is achieved, but slice operations require stopping and copying to a second buffer
Solution Approach 1:
The system segments the audio processing into two distinct buffers: the first circular buffer for continuous audio input and storage, and the second buffer for slice operations. This segmentation allows the first buffer to maintain continuous playback without interruption while slice operations are performed on copied data in the second buffer, eliminating playback interruptions during slicing.
Solution Approach 2:
The system uses copying to transfer audio data from the first circular buffer to the second buffer for slice operations. This copying mechanism allows slice points to be designated and operations to be performed on the copied data without affecting the continuous playback from the original buffer, thus avoiding interruptions and maintaining reliable continuous output.
Data Source
AI summary
A playback device includes a first buffer and a second buffer, each having storage regions, and a processing unit. The processing unit performs: a storage process that causes input audio data to be stored in the storage regions of the first buffer in order; a first playback process that causes the stored audio data to be played back in the order in which the audio data was stored; a designation process that designates, in response to a user input, at least one of the plurality of storage regions of the first buffer in which the audio data is stored; a copy process that causes the audio data stored in the designated storage region of the first buffer to be copied to the second buffer; and a second playback process that causes the audio data copied to the second buffer to be repeatedly played back.


