Skip to content

[FMOD/Core] Spatializer smooths panning after idle #556

Description

@Schroedingers-Cat

System Information
Please provide the following information about your system:

  • Steam Audio version: 4.8.1
  • FMOD Studio version: 2.2.20
  • Operating System and version: Linux, macOS and Windows
  • CPU architecture (e.g. x86-64, armv7): x64 and ARM64

Issue Description
Steam Audio smooths the panning of a newly (re)started event instance, causing pan values from previous event triggers to bleed into the current pan value.

Smoothing the incoming pan values generally is a good thing as it is for any DSP parameter to avoid zipper noise and other artifacts. However, in situations where a parameter has changed while the DSP was sleeping (e.g. no active voice), it is common to hard-set those parameter values for the first process call after idle to avoid past states (that could be an hour ago) influencing the current processing.

Steps To Reproduce
Steps to reproduce the behavior:

  1. In FMOD Studio, load up an event with clear at the start transients (like a single footstep audio clip) that uses the Steam Audio Spatializer
  2. Make sure you're in panning mode (either channel count > 2 or HRTF off)
  3. Preview the event at a position like left
  4. Stop preview/wait until event end
  5. Change the position of the event to the right
  6. Preview the event: you should hear the sound moving from the left to the right speaker (bug)
SteamAudio-PanInterpolatesAfterIdle.mp4

When changing the pan value while the voice isn't active, the new direction should be applied immediately without fading.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions