Pittvandewitt / Wavelet

A quick rundown on each feature and its settings
https://pittvandewitt.github.io/Wavelet/
663 stars 35 forks source link

Legacy Mode and Enhanced session detection not working properly in Android 13 #312

Open kairusds opened 1 month ago

kairusds commented 1 month ago

OS: MIUI 14 Android 13

For some reason, Wavelet doesn't apply the eq to all apps that plays audios like it used to with Android 9-11, unless they're using AudioTrack, in Android 13. For example, Solid Explorer's built in music player doesn't have Wavelet eq working or other apps like BlackPlayer EX (yes, I followed the additional configuration instructions on the wiki and still the same result). I'm not entirely sure why this is the case, as the Simple Gallery app and VLC has Wavelet's eq working just fine. Even Chrome and YouTube are working fine.

If I turn off Legacy Mode, my volume is just at max volume, even if I set it with the volume buttons to 0.

Pittvandewitt commented 1 month ago

My guess is that AudioTrack does not use the fast mixer thread: Fast mixer Features (Notice per mix effects are omitted), and others do. Legacy mode (attaching sound effects to session 0) is deprecated for 13 years now, so I guess it's only expected to get worse each Android update.

There's nothing I can change about this, but the developers of the music apps can by sending a message to the Android system via a broadcast when their app generates a new audio session for Wavelet to attach sound effects to. More details can be found here

kairusds commented 1 month ago

My guess is that AudioTrack does not use the fast mixer thread: Fast mixer Features (Notice per mix effects are omitted), and others do. Legacy mode (attaching sound effects to session 0) is deprecated for 13 years now, so I guess it's only expected to get worse each Android update.

There's nothing I can change about this, but the developers of the music apps can by sending a message to the Android system via a broadcast when their app generates a new audio session for Wavelet to attach sound effects to. More details can be found here

Thank you for replying, I'll try and see if I can convince the devs to fix this.

kairusds commented 1 month ago

My guess is that AudioTrack does not use the fast mixer thread: Fast mixer Features (Notice per mix effects are omitted), and others do. Legacy mode (attaching sound effects to session 0) is deprecated for 13 years now, so I guess it's only expected to get worse each Android update.

There's nothing I can change about this, but the developers of the music apps can by sending a message to the Android system via a broadcast when their app generates a new audio session for Wavelet to attach sound effects to. More details can be found here

I just noticed something, one of the apps I use already uses the solution that you suggested, but Wavelet's EQ still won't apply to it.

Code related:

kairusds commented 1 month ago

Enhanced session detection is still bugged on my device and it plays audio at maximum volume, no matter what volume I set my device into, as I said at the bottom of my original post.

I also have Dolby Atmos, MIUI's sound effects or any kind of built-in device sound altering settings disabled.

Pittvandewitt commented 1 month ago

I just noticed something, one of the apps I use already uses the solution that you suggested, but Wavelet's EQ still won't apply to it.

I tried vinyl music player and Wavelet picks up the audio session and starts processing on my device.

Enhanced session detection is still bugged on my device and it plays audio at maximum volume, no matter what volume I set my device into, as I said at the bottom of my original post.

ESD and device volume are not related. But I've encountered a strange situation where Wavelet is killed and it starts applying effects twice, causing strange changes volume.

I think it would be wise to first start at https://dontkillmyapp.com and follow the instructions for your device and then reboot your device. After that: Does Vinyl music player show up in the notification in Wavelet? Are you able to change settings (options appear in Wavelet)? Is the sound effected by changing settings?

kairusds commented 1 month ago

I just noticed something, one of the apps I use already uses the solution that you suggested, but Wavelet's EQ still won't apply to it.

I tried vinyl music player and Wavelet picks up the audio session and starts processing on my device.

Enhanced session detection is still bugged on my device and it plays audio at maximum volume, no matter what volume I set my device into, as I said at the bottom of my original post.

ESD and device volume are not related. But I've encountered a strange situation where Wavelet is killed and it starts applying effects twice, causing strange changes volume.

I think it would be wise to first start at https://dontkillmyapp.com and follow the instructions for your device and then reboot your device. After that: Does Vinyl music player show up in the notification in Wavelet? Are you able to change settings (options appear in Wavelet)? Is the sound effected by changing settings?

Wavelet isn't killed and I already followed the instructions from dontkillmyapp, also rebooted my phone. And Yes, Vinyl Music Player shows up in the notifications and the eq is still not working but it's playing at max volume. Turning Wavelet off doesn't change the app's volume, so this might just be an app-level issue of Vinyl at this point and I'm not sure why. YouTube Music and other apps like SoundCloud aren't affected by this issue at all.