Skip to content

feat(audio): implement 3D virtual surround sound and audio filters - #28

Open
adityaonx wants to merge 1 commit into
FengZeng:mainfrom
adityaonx:feat/audio-filters
Open

feat(audio): implement 3D virtual surround sound and audio filters#28
adityaonx wants to merge 1 commit into
FengZeng:mainfrom
adityaonx:feat/audio-filters

Conversation

@adityaonx

Copy link
Copy Markdown
Contributor

Hi @FengZeng, here is the dedicated PR for the 3D Virtual Surround Sound & Audio Filters feature.

Summary of Changes

  • Virtual 3D Audio & DSP Filters: Implemented an MPV audio filter pipeline (af) combining:
    • Dynamic Loudness Leveling (dynaudnorm) for consistent volume without clipping.
    • Stereo Widening / Surround Depth (extrastereo) tuned for expansive soundstage without phase cancellation.
    • Room Ambience & Reverb (aecho) for spatial presence on headphones and stereo speakers.
    • Bass Boost & Treble Clarity (bass, treble) for enhanced low-end and vocal clarity.
  • Audio Presets: Added presets (Movies, Music, Gaming, Custom) with tuned parameters.
  • Player Controls & Settings Integration:
    • Added a dedicated 3D Audio button and popup menu in the bottom playback control bar.
    • Added a Virtual Surround Sound card under the Audio tab in the Settings panel (both UI locations are fully synchronized).
  • Global & Per-Media Persistence: Added a Global toggle to apply audio filter settings across all media and persist state in state.json via Tauri across app restarts.

Verification

  • Tested real-time audio filter changes across stereo headphones and speakers.
  • Verified smooth filter application without audio stutter or lag.
  • Verified state persistence across media switches and application restarts.
  • Passed cargo check and vite build with 0 errors.
image

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant