Announcements

Help Wizard

Step 1

NEXT STEP

Audio interface audio output in Debian Linux not as good as windows

Audio interface audio output in Debian Linux not as good as windows

See my post: https://superuser.com/questions/1574114/audio-interface-audio-output-in-debian-linux-not-as-good-as-...

I use the Behringer Uphoria UMC404HD audio interface headphone output to listen to Spotify on my high-end headphones.


The interface is capable of 192000Hz.


After a Debian installation and tweaking some pulse audio settings I can't seem to get audio detail comparable to on Windows.


The audio sounds grainy, harsh, and unbalanced, and as though I am wearing cheap headphones, not high-end.

I am also experiencing crackling during audio playback, but more notably, when notification sound plays, or rather, at the beginning and end of audio playback.

Reply
9 Replies

Hey @Roberto_ 

 

This issue could be caused by the driver for all I know.

However I would turn off the notification sounds to see if this helps. They might disturb other audio anyway.

Another thing you should check: open Pulseaudio settings and ensure the volume bar for Spotify and other audio does not exceed 100%. It will clip and sound otherwise terrible if it does.

 

Other things you might find helpful is tweaking ALSA volume levels by running

 

alsamixer

 

in Terminal.
Choose the audio interface you're using and make sure your audio chipset is correctly recognised.
Set PCM to 100 and Master to somewhere up to 96.

(that is, if your USB device has available controls. Mine doesn't.)

 

You can also install PulseEffects, that will give you a graphical equalizer and lots of other audio tweaking stuff. Windows might sound better because of sound enhancements.

 

Let me know how you get on!
Linux Audio is a world on its own.. 🙂

SebastySpotify Star
Help others find this answer and click "Accept as Solution".
If you appreciate my answer, maybe give me a Like.
Note: I'm not a Spotify employee.

@Roberto_ 

 

Reading your SuperUser post and I see you also have Jack : )

 

Anyway, I feel it's better to create the PulseAudio's daemon.conf file in ~/.config/pulse
That's where PulseAudio checks for user-created config files and if it doesn't find anything there, it will then go use the configuration set in /etc/...

It's not because of it ruining the sound, but that way you won't accidentally break something in that systemside config file 🙂

 

Regarding resample methods - did you check what resample methods you can use?
I for one didn't have the 'src-sinc-best-quality' available.
Run this:

pulseaudio --dump-resample-methods

and use one of these things it puts out.

 

You can also check what configuration PulseAudio is currently using:

pulseaudio --dump-conf

 

How is your other audio sounding like? Does any of that happen when you listen to your local music files in some other media player such as Audacious or whatever you have installed?

 

🙂

SebastySpotify Star
Help others find this answer and click "Accept as Solution".
If you appreciate my answer, maybe give me a Like.
Note: I'm not a Spotify employee.

I updated my superuser post based on your information if you would like to take a look. I will test the difference with a FLAC file with an application other than Spotify when I get around to it, though for now, the audio seems about the same. 

Cheers. 🙂

@Roberto_ 

 

You should try setting your VLC to talk to ALSA or use aplay after killing pulseaudio's process and then try listening if there are still differences.

ALSA is a part of the kernel that has drivers for audio interfaces and it can also talk to programs through its API. PulseAudio is a soundserver that is one more element between ALSA and you and it's job is redirecting sounds from ALSA to various outputs.

Doing the aforementioned should give a clue if it's a problem with PulseAudio settings or there is something else going on. : )

 

Anyway, one possible thing I found is that newer PulseAudio servers use timer-based scheduling instead of the usual interrupt-driven one. This might cause issues with some ALSA drivers, resulting in glitches, skips or crackling.
To disable timer-based scheduling, you need to do the following:

sudo nano /etc/pulse/default.pa

Search for the following line and put tsched=0 at the end of it so it looks like this:

load-module module-udev-detect tsched=0

Then, after saving changes and exiting, restart PulseAudio

pulseaudio -k
pulseaudio --start

 

It might be the cause or it might not.

 

Let me know how it goes!

SebastySpotify Star
Help others find this answer and click "Accept as Solution".
If you appreciate my answer, maybe give me a Like.
Note: I'm not a Spotify employee.

I was analysing your command outputs in SuperUser.

Spoilered it since it's a bit long : )

 

Spoiler

Seeing you have a large number of available sinks, you should probably look what devices PulseAudio uses for output/input.
Thus: click on the speaker icon on the panel, select Sound settings.

Go to Configuration. There you can set what PulseAudio will do with your available audio devices. Maybe disable devices you don't use at all.
(Duplex means both input and output)
If you can't see anything there, it's because you have JACK running. Stop JACK, then you can access these settings.

JACK itself has settings as well which should probably be changed to fit the USB audio. I don't know what you have, is it qJackCtl?

Jack periods for USB devices should be 3.  Interface should be the USB device (obviously). Buffer size is something you may keep at a higher setting (avoiding any and all xruns as a result), because you probably don't need low latency.

A big part of Windows sound experience are audio enhancements, both Windows-side and settings coming with drivers for the audio device you're using.
You should walk through all sound settings and disable any enhancements. This should allow you to compare the two operating systems better.

 

My audio interface came with only ASIO drivers for Windows, no enhancements or anything. I have disabled all enhancements for Windows as well, and I heard practically no difference between Windows and Ubuntu, at least where ALSA was in use.
I did notice Spotify (PulseAudio) sounding a bit dry, so I wrote the config file for PulseAudio in my ~/.config/pulse folder and it seems to work well.

 

Also: sorry for a large amount of posts from me, I just get excited when it comes to audio settings 😅😅

 

SebastySpotify Star
Help others find this answer and click "Accept as Solution".
If you appreciate my answer, maybe give me a Like.
Note: I'm not a Spotify employee.

I had similar problems and the solution that worked for me was to stop PulseAudio and ensure that ALSA sends direct to the DAC hardware by having this simple  .asoundrc:

 

pcm.!default {
type hw
card 1
}

ctl.!default {
type hw
card 1
}

 

Change card number to reflect your setting.

 

Start Spotify client after PulseAudio is stopped to default to ALSA. It will of course send 16bits/44.1KHz as this is what Spotify can do, but you have no conversion in between. In my ears it still sounds better than using PulseAudio with  soxr-vhq upsampling. Note that this works with Spotify Client 1.1.10.546.ge08ef575 adn breaks with latest release. I also messes audio output from most browsers etc. but for me it is worth starting and stopping PulseAudio when I listen to music. For local playback I use the wonderful MPD with appropriate  direct output to ALSA. This does not require stopping PulseAudio as it knows how to talk (and hog) ALSA.

 

Let me know if this gives you better results.

@Sebasty

I played my reference FLAC file via aplay with the command `flac -d -c file.flac | aplay`. There seems to be no crackling, though the quality is only slightly improved, if at all, and is still inferior to my audio on windows. I have disabled all audio enhancements and have the windows driver for the audio interface, which is not required on Linux since the device is supposedly class-compliant.


I have no problem with your enthusiasm, this is a persisting issue, and I'll take all the help I can get. Post on. It is much appreciated. Sorry for the four weeks of absence, I have been quite busy as of late.

@atzan

There is no change with client '1.1.42.622.gbd112320', likely the newest release. In what way does it break with the newest release? How can I roll back to a previous release?

 

Suggested posts