Description

The SoundWave in the Content folder of the attached Project has been exported from Nuendo @ 120BPM 4/4, with a duration of exactly 1 Bar. The BP_Audio Actor uses the TimeSynthComponent to provide sample accurate playback of the soundwave. If you click play twice in Simulate they should start at the same time @ Bar 1, therefore be aligned sample-accurately.

This is not the case with active AudioStreamCaching if the soundwave has not been played somewhere yet before. The first clip will be shifted, the following ones will be aligned. BP_Audio will remove the first Playing clip when pressing stop, to hear the effect of the following clips being aligned perfectly. Deactivating AudioStreamCaching or Inlining the SoundWave fixes this issue.

This is a regression from 4.23.1 (CL-9631420).

This was reported and tested in 4.24.3 (CL-11590370). This was reproduced in 4.25 Preview 3 (CL-12366721) 4.26 (CL-12367904)

Steps to Reproduce
  1. Download and open the attached project
  2. Using Simulate and select BP_Actor in Level and press the Play Button in the Details panel twice
  3. You will hear some beats playing desynchronized
  4. Now click stop once and then play again once. now they are playing perfectly synchronized
  5. Stop simulating, reimport SoundWave asset, the original file can be found in the asset folder
  6. Repeat the above and you will encounter the problem again
  7. The same results occur if playing in standalone mode, you can Start and Stop with keys "V" and "B"

Results: Playing a soundwave firstime using streamcache shifts the samples for some reason. Using the Prime function to Load the first Chunk of the audio before, does not change this.

Expected: Sample accurate playback, even played the first time.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-91126 in the post.

1
Login to Vote

Fixed
ComponentUE - Audio
Affects Versions4.24.34.254.26
Target Fix4.26
Fix Commit14536486
Release Commit14536486
CreatedMar 25, 2020
ResolvedOct 21, 2020
UpdatedApr 28, 2021