Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-stable audio normalization #2181

Open
1 of 2 tasks
tte0 opened this issue Dec 25, 2024 · 0 comments
Open
1 of 2 tasks

Non-stable audio normalization #2181

tte0 opened this issue Dec 25, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@tte0
Copy link

tte0 commented Dec 25, 2024

Is there an existing issue for this? (Please read the description)

  • I have searched the existing issues

Current Behavior

When audio normalization is enabled, it lowers the volume at different amounts at different parts of songs. I don't know the implementation but my prediction is that it caps the volume at a specific volume by lowering the volume at that moment.

Expected Behavior

I think the better would be to select a reference "highest" volume and lower the overall volume of the whole song according to that. The reference volume doesn't necessarily have to be the highest peak at a frame, it can be highest average of 1 second intervals.

Steps to reproduce

I noticed this in "Blackout - Colin Root" it is the most apparent one that I can find

Logs

Logs
[2024-12-25 20:10:11.969035]---------------------
org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer 'org.freedesktop.Avahi': activation request failed: unknown unit
#0      DBusClient._callMethod (package:dbus/src/dbus_client.dart:1146)
<asynchronous suspension>
#1      DBusClient.callMethod (package:dbus/src/dbus_client.dart:621)
<asynchronous suspension>
#2      AvahiServer.callGetVersionString (package:bonsoir_linux/src/avahi/server.dart:95)
<asynchronous suspension>
#3      AvahiBonsoirDiscovery._isModernAvahi (package:bonsoir_linux/src/actions/discovery/discovery.dart:323)
<asynchronous suspension>
#4      AvahiBonsoirDiscovery.ready (package:bonsoir_linux/src/actions/discovery/discovery.dart:49)
<asynchronous suspension>
#5      ConnectClientsNotifier.build (package:spotube/provider/connect/clients.dart:37)
<asynchronous suspension>
#6      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2024-12-25 20:10:11.993944]---------------------
org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer 'org.freedesktop.Avahi': activation request failed: unknown unit
#0      DBusClient._callMethod (package:dbus/src/dbus_client.dart:1146)
<asynchronous suspension>
#1      DBusClient.callMethod (package:dbus/src/dbus_client.dart:621)
<asynchronous suspension>
#2      AvahiServer.callGetVersionString (package:bonsoir_linux/src/avahi/server.dart:95)
<asynchronous suspension>
#3      AvahiBonsoirDiscovery._isModernAvahi (package:bonsoir_linux/src/actions/discovery/discovery.dart:323)
<asynchronous suspension>
#4      AvahiBonsoirDiscovery.ready (package:bonsoir_linux/src/actions/discovery/discovery.dart:49)
<asynchronous suspension>
#5      ConnectClientsNotifier.build (package:spotube/provider/connect/clients.dart:37)
<asynchronous suspension>
#6      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2024-12-25 20:10:12.697790]---------------------
NoSuchMethodError: The method '[]' was called on null.
Receiver: null
Tried calling: []("__typename")
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:38)
#1      _objectNoSuchMethod (dart:core-patch/object_patch.dart:85)
#2      transformSectionItemTypeJsonMap (package:spotube/models/spotify/home_feed.dart:174)
#3      transformSectionItemJsonMap.<anonymous closure> (package:spotube/models/spotify/home_feed.dart:220)
#4      MappedIterable.elementAt (dart:_internal/iterable.dart:385)
#5      ListIterator.moveNext (dart:_internal/iterable.dart:354)
#6      WhereIterator.moveNext (dart:_internal/iterable.dart:450)
#7      new _GrowableList._ofOther (dart:core-patch/growable_array.dart:202)
#8      new _GrowableList.of (dart:core-patch/growable_array.dart:152)
#9      new List.of (dart:core-patch/array_patch.dart:39)
#10     Iterable.toList (dart:core/iterable.dart:498)
#11     transformSectionItemJsonMap (package:spotube/models/spotify/home_feed.dart:229)
#12     transformHomeFeedJsonMap.<anonymous closure> (package:spotube/models/spotify/home_feed.dart:241)
#13     MappedIterable.elementAt (dart:_internal/iterable.dart:385)
#14     ListIterator.moveNext (dart:_internal/iterable.dart:354)
#15     new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189)
#16     new _GrowableList.of (dart:core-patch/growable_array.dart:150)
#17     new List.of (dart:core-patch/array_patch.dart:39)
#18     ListIterable.toList (dart:_internal/iterable.dart:224)
#19     transformHomeFeedJsonMap (package:spotube/models/spotify/home_feed.dart:244)
#20     CustomSpotifyEndpoints.getHomeFeed (package:spotube/services/custom_spotify_endpoints/spotify_endpoints.dart:164)
<asynchronous suspension>
#21     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------


Operating System

Linux

Spotube version

v3.9.0

Installation source

Arch User Repository (AUR)

Additional information

I don't actually know how it's implemented in different apps. So I would appreciate if you can tell whether this is possible to implement or not.

Self grab

  • I'm ready to work on this issue!
@tte0 tte0 added the bug Something isn't working label Dec 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant