From 7efd223a6caa896b946bea1b618b5b6a9de2345c Mon Sep 17 00:00:00 2001 From: Alexander Shabarshov Date: Sun, 19 Jul 2026 10:19:36 +0100 Subject: [PATCH] New test mp3. Much faster StemWaveformService --- ABStemPlayer/ViewModels/PlaybackViewModel.cs | 4 +- AudioCore/Impl/Htdemucs6sSeparator.cs | 4 +- AudioCore/Impl/RubberBandTimeStretchEngine.cs | 12 +-- AudioCore/Impl/StemPlaybackEngine.cs | 16 ++-- AudioCore/Impl/StemWaveformService.cs | 77 ++++++++++-------- AudioCore_Tests/Data/test_input.mp3 | Bin 4438726 -> 836495 bytes 6 files changed, 62 insertions(+), 51 deletions(-) diff --git a/ABStemPlayer/ViewModels/PlaybackViewModel.cs b/ABStemPlayer/ViewModels/PlaybackViewModel.cs index 1198644..37eb609 100644 --- a/ABStemPlayer/ViewModels/PlaybackViewModel.cs +++ b/ABStemPlayer/ViewModels/PlaybackViewModel.cs @@ -254,9 +254,7 @@ public sealed partial class PlaybackViewModel : ObservableObject var decoder = _decoderFactory.Create(stem); - var waveform = await _waveformService.ComputeWaveformAsync(stem, decoder, 200); - - stem.Waveform = waveform; + stem.Waveform = await _waveformService.ComputeWaveformAsync(stem, decoder, 200).ConfigureAwait(false); // Update progress safely var done = Interlocked.Increment(ref completed); diff --git a/AudioCore/Impl/Htdemucs6sSeparator.cs b/AudioCore/Impl/Htdemucs6sSeparator.cs index a8920ed..13c9f03 100644 --- a/AudioCore/Impl/Htdemucs6sSeparator.cs +++ b/AudioCore/Impl/Htdemucs6sSeparator.cs @@ -27,8 +27,8 @@ public sealed class Htdemucs6sSeparator : IStemSeparator return existingStems; var mix = LoadStereoFloatWave(request.SourceFilePath, out var sr); - if (sr != _sampleRate) - throw new InvalidOperationException($"Input must be {_sampleRate} Hz"); + //if (sr != _sampleRate) + // throw new InvalidOperationException($"Input must be {_sampleRate} Hz"); var totalSamples = mix.GetLength(1); diff --git a/AudioCore/Impl/RubberBandTimeStretchEngine.cs b/AudioCore/Impl/RubberBandTimeStretchEngine.cs index aa68879..c364206 100644 --- a/AudioCore/Impl/RubberBandTimeStretchEngine.cs +++ b/AudioCore/Impl/RubberBandTimeStretchEngine.cs @@ -152,17 +152,19 @@ public sealed class RubberBandTimeStretchEngine : ITimeStretchEngine, IAsyncDisp try { _stdin ?.Close(); } catch { } try { _ff ?.Dispose(); } catch { } - if (_readerTask != null) + if (_cts != null) { - Debug.Assert(_cts != null); - _cts.Cancel(); - try { await _readerTask.ConfigureAwait(false); } catch { } - _readerTask = null; _cts.Dispose(); _cts = null; } + if (_readerTask != null) + { + try { await _readerTask.ConfigureAwait(false); } catch { } + _readerTask = null; + } + _ff = null; _stdin = null; _stdout = null; diff --git a/AudioCore/Impl/StemPlaybackEngine.cs b/AudioCore/Impl/StemPlaybackEngine.cs index c32dfec..8564339 100644 --- a/AudioCore/Impl/StemPlaybackEngine.cs +++ b/AudioCore/Impl/StemPlaybackEngine.cs @@ -104,16 +104,17 @@ public sealed class StemPlaybackEngine : IStemPlaybackEngine, IDisposable } } - public Task PlayAsync() + public async Task PlayAsync() { + // TODO: fix the pause mode lock (_stateLock) { if (IsPlaying || _session is null) - return Task.CompletedTask; + return; if (_pipeline is not null) { - return Task.CompletedTask; + return; } _pipeline = new PipelineState @@ -130,13 +131,14 @@ public sealed class StemPlaybackEngine : IStemPlaybackEngine, IDisposable d.Seek(_pendingSeekFrames); } + _decodedFramePosition = _pendingSeekFrames; _outputFramesWritten = (long)(_decodedFramePosition / Math.Max(_currentSpeed, 0.0001f)); - _pipeline.RenderTask = Task.Run(() => RenderLoopAsync(_pipeline, _pipeline.Cts.Token)); } - return Task.CompletedTask; + await _timeStretchEngine.Configure(_session.Speed, _pipeline.Cts.Token).ConfigureAwait(false); + _pipeline.RenderTask = Task.Run(() => RenderLoopAsync(_pipeline, _pipeline.Cts.Token)); } public Task PauseAsync() @@ -223,7 +225,9 @@ public sealed class StemPlaybackEngine : IStemPlaybackEngine, IDisposable _outputFramesWritten = (long)(_decodedFramePosition / Math.Max(_currentSpeed, 0.0001f)); } - Debug.Assert(_pipeline?.Cts != null); + if (_pipeline?.Cts is null) + return; + await _timeStretchEngine.Configure(settings, _pipeline!.Cts!.Token).ConfigureAwait(false); } diff --git a/AudioCore/Impl/StemWaveformService.cs b/AudioCore/Impl/StemWaveformService.cs index 17ba3f3..ce4f442 100644 --- a/AudioCore/Impl/StemWaveformService.cs +++ b/AudioCore/Impl/StemWaveformService.cs @@ -12,57 +12,64 @@ public sealed class StemWaveformService : IStemWaveformService public async Task ComputeWaveformAsync(StemTrack stem, IStemDecoder decoder, int segments = 200) { if (segments <= 0) - { return Array.Empty(); - } - var value = await TryReadingFromCache(stem, segments); - if (value != null) - return value; + var cached = await TryReadingFromCache(stem, segments); + if (cached != null) + return cached; - var totalFrames = (long)(decoder.Stem.Duration.TotalSeconds * decoder.Stem.SampleRate); - var framesPerSegment = Math.Max(1,totalFrames / segments); + var totalFrames = (long)(stem.Duration.TotalSeconds * stem.SampleRate); + var framesPerSegment = Math.Max(1, totalFrames / segments); - var result = new float[segments]; + var sums = new float[segments]; + var counts = new int[segments]; decoder.Reset(); - for (var i = 0; i < segments; i++) + long globalFramePos = 0; + + while (true) { - var segmentStart = framesPerSegment * i; - decoder.Seek(segmentStart); - - var sum = 0f; - var count = 0; - - // Decode only one block per segment var block = await decoder.DecodeNextBlockAsync(CancellationToken.None); - if (block != null) + if (block == null) + break; + + try { - try - { - var span = block.Value.Span; - var channels = decoder.Stem.Channels; + var span = block.Value.Span; + var channels = stem.Channels; + var frames = block.Value.Frames; - for (var s = 0; s < span.Length; s++) - { - var v = span[s]; - sum += Math.Abs(v); - } - - count = span.Length; - } - finally + for (int f = 0; f < frames; f++) { - block.Value.Dispose(); + long frameIndex = globalFramePos + f; + int segmentIndex = (int)(frameIndex / framesPerSegment); + + if (segmentIndex >= segments) + break; + + // accumulate absolute amplitude across channels + float sum = 0f; + int baseIndex = f * channels; + + for (int c = 0; c < channels; c++) + sum += Math.Abs(span[baseIndex + c]); + + sums[segmentIndex] += sum; + counts[segmentIndex] += channels; } } - - result[i] = count > 0 ? sum / count : 0f; - - await Task.Yield(); + finally + { + globalFramePos += block.Value.Frames; + block.Value.Dispose(); + } } + var result = new float[segments]; + for (int i = 0; i < segments; i++) + result[i] = counts[i] > 0 ? sums[i] / counts[i] : 0f; + await SaveToCache(stem, result); return result; } diff --git a/AudioCore_Tests/Data/test_input.mp3 b/AudioCore_Tests/Data/test_input.mp3 index e03910235cc865095247f53050b63d11ad3cd7d2..c26428dd457a3142bf0f2368d2dff8b6a73d65a9 100644 GIT binary patch literal 836495 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

T7rHqXDF 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