Add Configurable DSP with Parametric Equalizer #1795
+156
−11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This Pull Request introduces a sophisticated multi-stage Digital Signal Processing (DSP) system to Music Assistant, featuring a highly-flexible Parametric Equalizer as its core component.
Screenshot
For me, the main feature missing from Music Assistant was the lack of a Parametric Equalizer, therefore I added one.
Related Changes
This PR is to be viewed in conjunction with music-assistant/frontend#756 and music-assistant/models#18.
This PR depends on music-assistant/models#18.
Future Filters
This modular system allows the addition of other filters in the future, that I will add in future PRs including:
Implementation Details
DSP Configuration is saved in a separate key compared to all other player configuration.
This has the following advantages:
stays the same
the provider
file
configuration
DSP should function with all player providers as I understand, since
get_raw_player_config_value
is used regardless of the underlying provider.Tested with DLNA, Chromecast and Sonos.