[Brainstorming] Bit-perfect with PipeWire #53
Rollbacke
started this conversation in
Show and tell
Replies: 1 comment
-
|
Issue about this #82 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hey @vicrodh
I’m using PipeWire w/ WirePlumber.
~/.config/pipewire/pipewire.conf.d/99-qbz-dac-amp.conf~/.config/pipewire/pipewire-pulse.conf.d/99-qbz-bitperfect-amp.conf~/.config/wireplumber/wireplumber.conf.d/99-qbz-dac-amp.confThe wizard basically disables resampling/channelmix for QBZ and pins allowed rates => OK.
What I see
With a 96 kHz track playing,
pw-topshows matching rates (good), but the stream format is float:And
wpctl inspecton the QBZ stream shows it’s going throughaudioconvert:First observation: the wizard configures pipewire-pulseaudio, whereas apparently by default (at least on my system), it uses pipewire-alsa.
second: no resampling (rate matches), but there is at least a format conversion (F32LE > S24LE) (float 32 bits > 24 bits int).
Brainstorming
Is it possible for QBZ (or its PipeWire-ALSA output path) to request/use an integer ALSA format directly (e.g.
S24_LE), so the stream is not float32?GPT purprose:
But it doesn't work directly.
alsa.rules + alsa.format = "S24_LE"is indeed a valid ALSA client-side option (so for applications that use PipeWire ALSA).However, the PipeWire graph processes audio as a 32-bit float. Therefore, seeing
F32LEinpw-topis normal and can persist even if everything is "clean" on the hardware side, because PipeWire does its internal processing as a float (YEAH).And anyway, the file was ultimately useless for me (I hadn't checked before), because the format was already correct before.
On the other hand, apparently, it can be useful (the
~/.config/pipewire/client-rt.conf.d/99-qbz-s24.conffile) when QBZ and something else (Firefox/Discord/YouTube) are running simultaneously. I say "maybe" because, on my system, QBZ apparently already had priority.Should do some tests :/
So, in this case, it's important to note that to have a real bit-perfect, we need:
My 2 cents.
Beta Was this translation helpful? Give feedback.
All reactions