New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clementine 1.3: no more alsa output card options? #5344
Comments
|
I don't think we care about "audiophile" things. |
|
I don't think he's going to be back as a user... I'd give you 10 to 1 odds that what he means by 'audiophile DAC' is 'high-end sound card that can natively do 24-bit at 196KHz audio' I assume the argument for removing this functionality was so that people didn't get confused by it, which is funny because the current functionality is almost as confusing. In the 'Output device' selection on my laptop, i get two options for Pulseaudio sinks (I need to just get rid of the simultaneous output device...), and 5 that appear to be intended as GStreamer internal device aliases (one each for ALSA, OSS, JACK, Pulse, and generic IPC). |
|
I'd be happy if we just removed all of it tbh and just used pulseaudio with no options. |
|
We'd lose a lot more users if we went that way. To be entirely honest, the only reason I use Pulse audio at all is because there's software that I actually need on occasion for audio work that only supports Pulse (and because Chrome appears to refuse to work with anything else), if it weren't for that, I'd have ripped it out of my system long ago (or more likely never installed it) and switched to using JACK. Clementine is a music player, which means that to a certain extent, we have to care about people who care about audio quality, and PulseAudio just falls flat on it's face in some cases there (and some of the design choices that they're discussing upstream are positively terrifying, I've heard rumors that they're thinking about routing sound over DBus, which is going to be horrible for latency, even if kdbus ever makes into mainline Linux). |
|
I should also qualify my previous comment with the statement that I don't use 196k audio, I just stick to 48k because I can't discern any difference beyond that (and this is coming from someone who can often discern some codec parameters for lossy audio compression just by listening to the audio itself), but I care enough that I avoid Pulse for multimedia work if at all possible, going either straight to hardware if possible, and through JACK if not. |
|
http://www.aes.org/e-lib/browse.cfm?elib=5539
Not inclined to care :-) |
|
And that is exactly why you use real double blind tests. Assuming that people really can't tell the difference, they'll guess wrong on average 50% of the time. Now, with respect to pulse, I'm not talking about stuff like dithering and quantization issues as much as latency. If your audio pipeline stalls whenever you're doing computationally intensive DSP work on it while you're trying to do real-time work, it's a quality issue in the audio pipeline. I see this type of thing exponentially more often with Pulseaudio than with JACK or direct through ALSA. Hell, I even sometimes get things like this happening when I'm just listening to music with Clementine over Pulseaudio and am building some big software package at the same time. |
|
Buffer under-runs are an actual reason to change things. |
|
it's not very cool to buy high resolution tracks and have them downsampled by whatever resampler (for ex. crappy default pulseaudio speex-floating-1), lowering quality, adding latency, overloading cpu, while having a 300€ DAC supporting files up to 192KHz. |
|
(surely this problem should be resolved by pulseaudio upstream too, agreed) |
|
http://www.aes.org/e-lib/browse.cfm?elib=13185
|
|
-> among following digital recording formats: 48kHz/24bit PCM, 192kHz 24bit PCM and DSD <-- these are HQ streams. Nothing to do with 16bit/44.1KHz against 24bit/88.2KHz where qualitative difference is easely audible. Sorry. |
|
24 versus 16 bit audio doesn't make as much difference as you think either... It's like the difference between using 24-bit color and 48-bit color in image work, there's minute differences, but better than 95% of humans can't tell the difference. Even people who work for Xiph.org have written articles on this: Now, on the other hand, avoiding the dithering and quantization issues is a practical reason to want to avoid Pulse (especially because a lot of high-end audio cards do up-sample to their native sample rate and format before doing any internal processing). |
|
24bit is a great improvement for music with great dynamics and, above all, it highers the sound/noise ratio by almost 50dB. I agree that a sample rate beyond 88.2 is pure commercial stuff, and that a listener need a high freq tweeter (as I do) and a newborn earing sensibility to enjoy it. It is true that the listener should have a trained ear. Today's radio/streaming compressed dynamics and lossy formats music don't help, as crappy pc speaker and similar paraphernalia. But the loss of hw: alsa output means high res files that sounds worse than CD quality ones and higher resources used. |
|
The problem with music that has such a high dynamic range is that you need an almost silent room to listen to it and get the whole range, which is not a luxury almost anyone has. As far as the SNR, if that's an issue, you should be getting better quality audio hardware so that you don't have to deal with the noise, as once the signal is analogue, the bit depth is irrelevant to the SNR, and most of your noise will be introduced on the analogue side of things. As far as the sample rate, anything over 48k is pointless for regular distribution, because even that is above the nyquist limit for human hearing for more than 95% of the population, and if you're using good audio hardware at 48k, you should observe zero aliasing for any frequency below 16KHz (which is a reasonable upper bound on the frequency of most audio recordings), and almost none up to 24KHz (and if you actually have audio files that include anything higher than 20KHz, you're deluding yourself in other ways). DRC on the radio and streaming is a necessary evil, for exactly the same reasons that having a high dynamic range in audio is an issue. To a certain extent, the lossy encoding is too (try streaming FLAC encoded audio over a 3G cell network with spotty coverage in a moving vehicle, and it will become a lot more apparent why), although a lot of sites take that way further than they need to (I regularly cringe when I see someone streaming audio from Youtube or a similar site), but neither of those points is particularly relevant to your primary complaint. The only truly valid complaint as far as audio software is concerned is the bit about down-sampling done by PulseAudio (supposedly there's a configuration option to set the default format, but I've yet to see it actually work, and it ends up eating even more CPU time), and the complaint about higher resource usage (and I'm less sympathetic about this, if you're doing high quality audio or video, or even graphics work, you will use more resources, period). |
|
I agree with the OP. One central reason I use Clementine is that I can use the ALSA audio sink and bypass Pulseaudio. It was a great feature, and one that set Clementine apart from other players. |
|
I maintain Clementine in Debian and they are users there which care about this feature too: A good reported use case is:
And I'm not sure that we can do something like this only with pulseaudio configs. Could you consider reopen this issue? |
|
As for leaving pulseaudio the only option: I for one don't have a high- or mid-end sound card, and don't make a claim of being an audiophile, but on my box pulseaudio makes a quite quiet yet well-audible annoying noise all the time, even when no sound is being played. That noise is absent on ALSA. Another pulseaudio bug on the same machine: after resume from suspend, all sound is high-pitched and clipped until "killall pulseaudio" (it automatically restarts after a kill or crash). The only response I got upon reporting this was "your sound card doesn't support suspend". Which is provably false, as 1. this happens even when no sound was playing at the time of suspend, 2. no such problems with ALSA even if sound was playing (and pulseaudio uses ALSA for directly interacting with hardware). So it's not only audiophiles for whom pulseaudio isn't adequate. |
|
I think I may have said this in another issue relating to this, but this is something that could easily be hidden behind an 'Advanced output options' checkbox, thus eliminating any confusion for 'normal' users. I still contend that the current design is just as confusing if not more so (most multimedia applications have options laid out nearly identically to how Clementine had them). @thomaspierson It is actually possible to do that with Pulse, it's just a serious pain (and this is coming from someone who's built Linux systems from scratch without using tools like buildroot). You functionally end up having to run multiple instances of Pulse with different configs and use some trickery with cgroups to keep them from trying to access certain sound cards, and then force routing for specific applications to the appropriate sound server. So, in other words, not having this functionality in Clementine prevents 'normal' users from using it in a perfectly reasonable way without doing things which are even more likely to confuse them and potentially risk breaking their system completely. |
|
OK, this advice won't fix the routing issues (which IMHO are the bigger issue here), but I've got a list of what PA settings to change to get better quality. All of these are found in the Pulseaudio daemon configuration file. On Gentoo systems this is
|
|
Until recently I was able to circumvent this regression in 1.3.1 by manually editing .config/Clementine/Clementine.conf and editing these lines: [GstEngine] (where 3 was the SPDIF in my case) The other day there was an update to 1.3.1-228 and since then all my 192Khz is being sent out as 96Khz. All other rates are untouched, i.e. 44100, 48000, 88200 and 96000 reach the receiver "unharmed". Using pulse is not really an option due to the large variety of samplerates my files have, so there would be a lot of really unnecessary up- and downsampling whenever the player moves to a new file. Anyone with a similar issue, or any thoughts? |
Somewhat surprising to read this and the following discussion. Sounds to me like reading on a Gimp bugtracker "I don't think we care about graphist designers things". And reading then a debate that explains how color spaces are not perceived by 99% of the population. And that you can tweak things around to still have decent results. Well, graphic designers still do care, independently of your own assessment. Sure they can use another famous commercial product. But why removing a feature they liked ? Some users do care. Some users invest in good quality sound cards that are able to read files with no resampling. Some users do download flac files for lossless. Some download highquality sound files. Some others invest in DAC that have the same capability. Some people do invest thousands in their sound system and trust the quality of the sound source does matter. Some people trust that resampling leads to losses - wait, isnt that sampling theory ? It's not my role to judge whether they are right or wrong - it is yours ? What is the next step in this case ? Why even offering the option to display the bitrate and bandwidth in Clementine ? There are concluding studies that show mp3 with right parameters lead to no perceiveable loss - them remove support for flac, what for ? To conclude: Clemetine was a great player that I recommended to lots of people. Thanks for maintaining it ! I'll probably reuse it if you do care about sound quality. |
|
Yeah, the whole thing did get rather off track. TBH, the thing that bugs me the most about this is that the default for this option worked for 99% of people. That means that only 1% of users ever had to touch it. Such an option is something that would be perfectly fine to hide in the config file or in some 'Advanced' section in the regular UI, but instead of trying to find a way to make it so that it wouldn't confuse regular users while still being usable, the devs decided to change it in a way that actually makes it more confusing for the people who used it in the first place. Based on looking at it further, it should be possible to set it to output via ALSA, then use the regular ALSAlib environment variables to specify what device to use, but that's insanely more complicated to set up and beyond that, to change, and IMNSHO, it's just as confusing as is for normal users who don't need it. |
|
As a long time Clementine user and retired QC member of the PCLinuxOS dev team I would just like to add my request for continued support of "audiophile" things. |
|
@Sal1950: why exactly would you want to listen to media at 24/192? You can't tell the difference after 16/44 in any real world setup: 16-vs-24 bit can in theory be told apart in a specially quiet room, with volume set near the pain threshold, on very quiet (lowest bits) samples, and even that only if the 16 bit file was truncated rather than dithered. 44KHz can't be told from anything higher, period, unless someone made a dumb mistake (like naive resampling). That "sizable $ investment in reproduction gear"? You got scammed, sorry. Higher sample sizes and resolutions are useful only if that audio is used for further processing, but Clementine is pretty useless for that. Higher sampling rate being undistinguishable for human ear is like global warming or tobacco causing cancer: despite the science being thoroughly settled, there's money in claiming otherwise. You can often find 24/192 media that indeed sounds better than what the company sells at 16/44, but the secret is: these are not really the same. The version for "normals" is serfed (I won't grace them by using the word "mastered") with less than 4 bits of dynamic range because it appears to sound better when placed next to non-cheating competition; it takes countermeasures like ReplayGain to defeat such tricks. But if you take that "audiophile" 24/192 file, sanely downsample it to 16/44 (this is easy to get wrong!), you won't be able to ABX them apart. And if you can't ABX, all you paid for is placebo. This said, PulseAudio doesn't work for everyone, and is rife with bugs (like those two I described above), so being able to configure non-PulseAudio sinks is important, no matter whether someone's reasons for such configuration are sound or not. |
|
I see no reason to debate the value and audibility of HDA (High Definition Audio) files here, that is better left elsewhere. I would point out the large market for a media player capable of handling these files and providing the best possible sound quality playback. Higher sampling rate music files are the future of media delivery is the bottom line here. The labels are going to sell product on the "more is better" claim, whatever the truth. |
|
@kilobyte Had you considered that the output may be going to other audio processing equipment? In that case, you want to match the input rate it expects, and have the highest quality possible. On top of that, many people actually can tell the difference when dealing with low quality encoding algorithms (a minimal quality MP3 will sound noticeably different to many people at 24/96k versus 16/44.1k). What people can differentiate may surprise you. I can more than 80% of the time differentiate between FLAC and 320VBR MP3 with identical sampling derived from an original uncompressed copy, and can hear enough of the encoding artifacts in standard quality MP3 and similar codecs that I often cringe when I hear someone playing music off of YouTube. 24/192 audio is a bit like a HDR image. There are numerous valid uses for both, but home audio/home pictures are not one of them. That said, there's nothing that says that Clementine is only for home audio usage. I know at least 3 professional DJ's who used to use it before the audio routing abilities were neutered, and have used it myself for similar things. |
|
Another request to please consider returning this function to Clementine. |
|
Sadly have had to add this CON to the Best Linux Music Servers list. "Bit perfect output no longer configurable |
|
@tari01: and what are that card's subdevices (aplay -L|grep -A1 ^hw:)? aplay -L shows CARD=id instead of numbers these days but they're aliases. |
|
I'm on a netbook right now, so nothing fancy here, but the subdevices are shown with aplay -L|grep -A1 ^hw: hw:CARD=Intel,DEV=0 hw:CARD=Intel,DEV=3 The device is Intel, and it exposes two subdevices: ALC269VB Analog and HDMI 0 |
|
[sal@localhost ~]$ aplay -L |
|
[sal@localhost ~]$ aplay -l |
|
First 2 posts were my main tower/media server These 2 are from my laptop just for more data, [sal@localhost ~]$ aplay -L [sal@localhost ~]$ aplay -l |
|
Use a comma not a period and you are good.
…On Jul 10, 2017 6:38 PM, "Adam Borowski" ***@***.***> wrote:
Could someone from the audiophile crowd quote some ALSA device strings
you'd want to use? Are these just plain device:subdevice (hw:3.0) or
something more?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#5344 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AI2x-wBVCxq90khRYZgzIJNUDK2neJyBks5sMqfjgaJpZM4IKzZz>
.
|
|
Any chance of progress on this issue? |
|
@Sal1950: unless your use case involves multiple sinks (so Clementine's output doesn't go to the default), anything that would be settable can already be done via As for me, on the desktop I bought a 1€ USB sound card which works with PulseAudio (so I have no less than 4 cards: built-in (unused), HDMI (neither monitor has speakers), PCI (connected to speakers) and the USB dongle (headphones)), while on laptops and SoCs where PulseAudio breaks I don't have the multiple sinks problem. Thus, fixing the issue isn't a priority for me (doesn't scratch a personal itch anymore), but it sounds like #6079 should be good enough for you in most cases. You can setup the sinks in |
|
etc/asound.conf does not exist in my PCLinuxOS build. There is a etc/asound.state which symlinks to var/lib/alsa/asound.state? |
|
@treebeard81, This relates to repairing Clementine how? |
|
"I don't think we care about "audiophile" things." Great comment, shows brains and an open mind. Clementine is a great player which needs support for modern music formats. My question is this: Why are you deliberately making life difficult for audiophiles from using Clementine? is it some kind of prejudice? |
|
Yes it is unfortunate what has happened to Clementine, I'm not sure if it is currently being maintained by anyone? I still love it's UI and ability to sound good in a High Fidelity system. I don't have the knowledge to code myself or I would join the dev team. BUMMER |
|
Nothing's lost: http://www.strawbs.org/ |
|
@tari01 |
|
Thank you Sal1950 and tari01!!! |
|
Update: I recommend Strawberry in preference to Clementine. Binaries are available, but I compiled from source on two systems, no issues. High resolution formats work by ALSA - and the sound is excellent. Although I haven't tried it, there is support for Tidal and Deezer - I am waiting for Qobuz support. My final advice, if anyone falls on this thread in future, is to move to Strawberry, and, and I recommend repos managers to include it in preference to Clementine, or offer both. |
|
There is now a Strawberry package in the PCLinuxOS repository. I've installed it to a couple of my boxes and it's running perfectly in all. Getting high res streams to my Emotiva DAC up to 192 kbps. Kudos to the coder for the ability to recognized the device automagically. The user no longer has to know the needed commands, etc. |
|
Just a quick note: Disclaimer: To all new users of Strawberry: To the Clementine team, as well as the rest of you: And finally: Thank you Amarok, Clementine and @jonaski |
|
It seems wasteful to me to have two nearly-identical music players. There's a massive difference between Amarok and Clementine, but patches between Clementine and Strawberry look mergeable. |
|
@dumbassrevealer, yes for 2 years we begged the developers to reintroduce the code that allowed configuration of Clementine to direct the datastream directly to alsa. Without it the awesome application became useless to Linux audiophiles that had spent large amounts of money on high resolution recordings and the custom DAC's they used to replay them. We were told by @hatstand that our "audiophile things" didn't matter and that a very easily reintroduced bit of functionality would not be forthcoming. :( |
|
I can't take away from all the great work that has been done on Clementine, but I also can't tell you how sad this is (as an audiophile) and on an emotional level to have been so (I'm going to say) naively dismissed. I get the reasoning, but I do believe it's flawed, and as such I have moved to strawberry |
|
Ah thanks a bundle, I will checkout Strawberry! |
|
Just switched fully to Linux, but have used Clementine for many years on Windows before i then used Musicbee for the last years. Thought Clementine was the way to go on Linux too. I am not a super duper Hifi guy, just someone with lossless music and normal quality gear wanting to have control over the playback chain. |
|
Wow yeah Strawberry FTW! Default config just worked with ALSA! :) I'm building a minimal embedded system and wanted a decent player without all the bloat of pulse audio and its dependencies. |
Yes sad that hatstand chose to take that path and shoot Clementine in the head like that. |
|
@hatstand are you just an UBER troll or are you actually such a big asshole? |
Hello,
with the new Clementine v1.3 , I sadly discovered that we are not able to configure ALSA output card parameters anymore.
I fortunately own an audiophile DAC and I used to output streams to "hw:2,0" to avoid resampling.
Now this option is gone, while two new options are added ("Sample Rate" and "Minimal Buffer fill").
To me this is a regression. Before it worked well, now high resolution files are downsampled in any case, sounding worse than 44.1KHz ones.
This is a pity, since Clementine is by far the best Linux audio player.
Kind Regards
Alex
The text was updated successfully, but these errors were encountered: