ABStemPlayer/AudioCore/Interfaces/ITimeStretchEngine.cs

18 lines
488 B
C#

namespace AudioCore.Interfaces;
public sealed class PlaybackSpeedSettings
{
public float Speed { get; set; } = 1.0f; // 0.5x, 1.0x, 1.5x, etc.
}
public interface ITimeStretchEngine
{
Task Configure(PlaybackSpeedSettings settings, CancellationToken token);
// Streaming block processing
Task IsReadyToAccept(CancellationToken token);
Task Submit(MixedAudioBlock input, CancellationToken token);
Task<TimeStretchedAudioBlock> Receive(CancellationToken token);
}