Yes. The player runs mpd and outputs via ALSA at whatever rate the stream is.Does your DAC report receiving the data stream speed of the song your listening to? IE do you see it change from 44 to 96 or 192 if that's what the source is providing?
Yes. The player runs mpd and outputs via ALSA at whatever rate the stream is.Does your DAC report receiving the data stream speed of the song your listening to? IE do you see it change from 44 to 96 or 192 if that's what the source is providing?
As with most things it depends on the use case. Pulse, Jack and pure alsa each have their strengths and weaknesses. It'll be interesting to see whether PipeWire manages to be all things to all men, or just has a different set of compromises.everybody who cares about sound in Linux uses Jack.
the only reason to keep PulseAudio I can think of is Skype app.
alsa only apps you route to Jack like this: https://wiki.archlinux.org/index.php/JACK_Audio_Connection_Kit#Playing_nice_with_ALSA
As with most things it depends on the use case. Pulse, Jack and pure alsa each have their strengths and weaknesses. It'll be interesting to see whether PipeWire manages to be all things to all men, or just has a different set of compromises.
You'll have to modify that by at least 1. I care very much about sound and have no use for Jack. My media players all get their data streams thru alsa and to my multich pre/pro totally unmolested, can't do better than that.everybody who cares about sound in Linux uses Jack.
So long as your user doesn't want an experience that the developers have decided to block by designI don't hate pulseaudio, unlike many others. it's a great sw with user experience in mind. but it comes to it's limit very fast.
You'll have to modify that by at least 1. I care very much about sound and have no use for Jack. My media players all get their data streams thru alsa and to my multich pre/pro totally unmolested, can't do better than that.
Come to think about it, we now have 9 pages on this Linux thread and this is very near the first time Jack has come up. So I think there might be a few more Linux music lovers here that don't use Jack.
I am glad you like it.
Also, JACK has a limitation when it comes to "BitPerfect".
As PulseAudio it uses a a "fixed sample rate".
So if you configure it to output 24/96, it will output 24/96 even if the source is 16/44...
I edited my first post here. I the context of most use-cases by the users here, it was wrong
this is only half the truth though. jack will never do any sample rate conversion. The player you use does (or not). If you use Audacious for example, it wont play the file with wrong sample rate. It has a converter plugin for this, but it wont be enabled by default
Hum, if you say so...
But my DAC has a small indicator to inform about the sample rate of the input signal.
If I use Jack and set it to 24/96, the indicator remains on 24/96 even if I feed it with 16/44 signal.
It is the same the other way round.
If I set Jack tou 16/44, the indicator remains on 16/44 even if the files played are 24/96 :-(
So, maybe there is no resampling when the 16/44 is played and Jack is set to 24/96...
But I cannot imagine there is no resamplingwhen Jack is set to 16/44 and it is fed with 24/96 files.
All in all : to go the safe route : configure JACK to 24/192... so the files will be "played as 24/192" but with no addition to the original format (16/44 or 24/96) ?
Regards.
Not that much of a PITA - see the bruteFIR plugin for Volumio for an example. Crossovers aren't too hard either. And they work headless and with system-level player daemons where Pulse doesn't (explicit design decision) and Jack is less easy than it could be.ok, I expressed myself badly. I was talking about advanced usage.
just one example: with jack you can create crossovers for your outputs in a few minutes.
also any advanced routing is only possible with jack. how you send REW output into a convolver and convolver output to speakers with alsa for example? it's probably possible with a lot of work in .asoundrc, but would be a pita
So Jack may be the thing to use for production use, but for the Audiophile who's main interest is getting bit-perfect playback of his/her cherished high resolution music files, pure Alsa is still the way. I'm a multich guy and things can get dicey when trying to playback mixed and unmatched 2, 4, 5.1, and Atmos files of all different speeds and types, PCM & DSD. When I'm listening to my music I don't want to be bothered by other sound files/sources so that is not a limitation, it's a feature.they way jack works is that it is fixed at one sampe rate. If you start it in one sample rate it will only accept this sample rate. it was created for audio production.
so, the only way to play missmatching sample rates is to convert it in the player software. imo a media player should have options to control the sample rate conversion behaviour.
Actually, it is working now! I set the primary secondary rates to either 44.1 / 48, or 88.2 / 96. As long as I don't have anything else using audio, then Pulse will resample to the "best" of these 2 options. It seems to choose "best" not by whichever is closest, but whichever is an integer multiple. For example, a 176.4 recording will resample to 88.2, not to 96. And a 48 kHz recording will resample to 96, not 88.2 or 44.1.Interesting. It should have worked, as long as you actually only have one source playing. Running `pacmd list-sink-inputs` as I mentioned before, can help finding out what is actually being sent to PA. Likewise, PA can also be too helpful in autodetecting your setup sometimes and running `pacmd list-sinks` can also help iron out some kinks in how it operates.
Excellent advice! I was getting dropouts with Pulseaudio version 1.8, so I disabled tsched entirely and used fragments to increase the buffer to 200 ms. However, if I can increase the buffer with the newer timer-based scheduling this is even better. I'll give this a try.In addition to tweaking the daemon.conf file, I have configured default.pa by editing the line:
load-module module-udev-detect
to read
load-module module-udev-detect tsched=1 tsched_buffer_size=2824
What this does is lower the buffer to 8ms, which is half a 60fps frame, so essentially real time.
I have also successfully played 96khz files via firefox, for what it's worth. It seems that firefox or chromium will pass through the file to pulse in its native format, and pulse will treat it the same way it treats a file coming from any other application, like a music player.