Wine audio - samplerate fixed ad 48hHz

Questions about Wine on Linux
Locked
dijx
Newbie
Newbie
Posts: 4
Joined: Mon Oct 03, 2022 4:37 am

Wine audio - samplerate fixed ad 48hHz

Post by dijx »

Hi,
I'm trying to make Amazon Music work on WINE 7.16 (using playonlinux 4, Manjaro Linx) but also some other, older WINE versions tested.
No matter if I play directly to ALSA or using piperwire (with no default samplerate set in config files) - sample rate is always 48kHz.
wine_amazon_samplerate.png
I have:
- internal soundcard 96kHz capable
- FiiO USB DAC 96kHz capable
- TOPPING USB DAC 384kHz capable (which I use mostly)
The result is always the same.

With pipewire settings I currently have it all works as exepcted with native linux apps - output sample rate is the same as source, same behaviour with tracks played directly to ALSA (using qmmp, deadbeef and strawberry). In fact, I prefere to disable pipewire/pulseaudio when listen to the music and use ALSA directly.
I've tried to play with dsound library and internal (embedded)/external predescence settings but no luck so far, not even sure if it's right direction... so: any advice?
dijx
Newbie
Newbie
Posts: 4
Joined: Mon Oct 03, 2022 4:37 am

Re: Wine audio - samplerate fixed ad 48hHz

Post by dijx »

Forgot to mention: 16bit/44.1kHz tracks are also upsampled to 24bit/48kHz.
dijx
Newbie
Newbie
Posts: 4
Joined: Mon Oct 03, 2022 4:37 am

Re: Wine audio - samplerate fixed ad 48hHz

Post by dijx »

Another question:
In winecfg, there used to be settings like that:
Image
so there were some sample rate settings as well as bit depth and output driver

Now, it looks more less like that:
Image

Is there a way to play with those settings nowadays? If so, how?
dijx
Newbie
Newbie
Posts: 4
Joined: Mon Oct 03, 2022 4:37 am

Re: Wine audio - samplerate fixed ad 48hHz

Post by dijx »

I was able to work it around... kind of.
Relevant portion of pipewire.conf:

Code: Select all

 
    #default.clock.rate          = 192000
    default.clock.allowed-rates = [ 44100 48000 88200 96000 176400 192000 352800 384000 ]
    audio.allowed-rates         = [ 44100 48000 88200 96000 176400 192000 352800 384000 ]
    resample-method             = soxr-vhq
    resample.quality            = 12
With this config, wine somehow falls back to 48kHz. The same is when I enable default.clock.rate - it's always 48kHz.

However, with this:

Code: Select all

    default.clock.rate          = 192000
    #default.clock.allowed-rates = [ 44100 48000 88200 96000 176400 192000 352800 384000 ]
    audio.allowed-rates         = [ 44100 48000 88200 96000 176400 192000 352800 384000 ]
    resample-method             = soxr-vhq
    resample.quality            = 12
or this:

Code: Select all

    default.clock.rate          = 192000
    default.clock.allowed-rates = [  192000 352800 384000 ]
    audio.allowed-rates         = [ 44100 48000 88200 96000 176400 192000 352800 384000 ]
    resample-method             = soxr-vhq
    resample.quality            = 12
ouptut device in amazon music presents itself as 192kHz. So there can be no lower default.clock.allowed-rates value then the one you want to use....
Acceptable with 48, 96 or 192kHz, but I'm not very keen on resampling with uneven multipliers; 44.1 shoud be upsampled to 88.2 or 176kHz.

But I'm not able to do the same with ALSA without pipewire, I can force 192kHz output to the device with ~/.asoundrc, but device capability shown in Amazon Music stays always 48kHz, so tracks are up/downsampled to 48kHz by Wine, then upsampled again to 192kHz by ALSA. Not cool.

As for now, I've created wrapper script that swaps pipewire config, restarts it then starts Amazon Music in Wine and reverts when Amazon Music stopped. Rough and sluggish, but seems to work.

PS. Sorry for bumping myself, but I see no 'edit' option.
Locked