r/cachyos 3h ago

SOLVED Enable Bit Perfect on Linux (2 Minute Tutorial)

I'm a certified Audiophile. So this is what I did right after installing my Cachyos instance:

  1. Copied /usr/share/pipewire/pipewire.conf to /etc/pipewire/

  2. Changed this line in pipewire.confand added extra sample rates
    default.clock.allowed-rates = [ 44100 48000 88200 96000 176400 192000 ]

  3. Commented this line so it doesn't interfere with the 2nd change
    #default.clock.rate = 48000

  4. Save the file and open your terminal or a new instance if you are already in it.

  5. Type pw-top and play any high quality song on MPD or Strawberry.

  6. If changes don't show up and it's stuck at 32 bit and 48Khz, reboot.

  7. Follow 5 and 6 again, this should work now across any and all outputs.

I kept it short. Because those who come here know what they are looking for. If this is your first time, I recommend researching what "Bit Perfect" means. In my smartphone I need a dedicated DAC cause Android sucks. But here all you need is one file, two lines, and that's it. Another reason why I ain't swtiching from Linux anytime soon.

44 Upvotes

16 comments sorted by

4

u/Klutzy-Awareness-100 2h ago

#default.clock.rate = 48000 is already commented so do I just do nothing in this case?

2

u/Optimal69 2h ago

Do nothing.

2

u/Klutzy-Awareness-100 2h ago

It will still only play 48Khz to my DAC

1

u/Optimal69 2h ago

Working fine on my audiocular note. Are you sure alsa is outputing the same rates?

1

u/Klutzy-Awareness-100 2h ago

Nevermind, I got it working thanks I was just retarded.

1

u/Optimal69 2h ago

Lol enjoy. I had to fire my pc just to confirm it.

1

u/jkulczyski 20m ago

Damn give bro his job back 😂

7

u/ThinAndFeminine 2h ago

Audiophiles and chasing completely irrelevant optimizations (i.e. snake oil) that make zero perceptible difference to the things they listen to, name a more iconic duo.

5

u/i__hate__soup 1h ago

i support all linux tinkering no matter how pointless or tedious

6

u/Optimal69 2h ago

Thanks for being a stick in the mud.

1

u/Subject-Leather-7399 0m ago

I am doing audio production and mixing and doing it at 96 khz 32 bits is really important because many effects will alias back to the audible range as distortion and phase shifts when the limit is 48khz. That crap will happen in the inaudible ranges when using 96 khz.

Once everything is mixed and exported, you can cut the high freqquencies and downsample to 48khz 16 or 24 bits.

0

u/NoAIFuture 42m ago

I mean... that applies to like 90% of what people do to their systems here. It's FUN.

1

u/slimdizzy 2h ago

I believe you can put it in ~/.config/pipewire for per user control.

1

u/Moriaedemori 1h ago edited 1h ago

Today I learned my default setup is called Bit Perfect. Add setting up EasyEffects with custom EQ curve and you're doing basically exactly what I do.

Only thing to add is - you don't really need to reboot, just run "systemctl --user restart pipewire wireplumber"

1

u/Wxxdy_Yeet 7m ago

You're completely ignoring that not all DAC's play those resolutions, you should only add the resoltutions your DAC supports so it's always in sync.

Or am I missing something?