607

If music isn't loud enough, how do I get the best quality (even if the difference is in fact so small it's negligible)?

  • By making the music louder in my music player, game or other sound-producing software program?
  • By raising the volume at the operating system level (for instance, by clicking the speaker icon in the Windows notification area and turning the volume up)?
  • By turning the volume up on the amplifier or speakers that are attached to your computer, and thus changing the volume on the hardware?

Does programs vs. OS matter? Does software vs. hardware matter?

6
  • 20
    Generally you will want to avoid 100% on anything, but in particular on any analog controls. As your get close to the 100% you may run into audio clipping. I generally set my speakers volume to be ~60%, then adjust the computer until I get a comfortably loud sound. Then I always the speakers.
    – Zoredache
    Oct 25, 2012 at 7:16
  • 2
    I get best sound by turning up the S/W volume to 99% then slowly up the volume on the speakers till perfect. The quality of the speakers counts for most of the quality. I am using Ubuntu 12.04 Oct 26, 2012 at 12:03
  • Example from my car AUX input: when i am turning the volume on my device to 100% and then regulate the volume on my radio the sound is not quite excellent. To make the quality better i turned the Volume on my device to 50% and then made it just louder in radio.
    – ekussberg
    Oct 26, 2012 at 14:11
  • 5
    @Zoredache Actually, 100% digital level is no problem at all unless there is some kind of audio processing going on in the signal path. In fact, most digital sound cards are set to a fix volume of 100% with no option to change it.
    – bastibe
    Oct 26, 2012 at 15:19
  • 1
    Simple question gets a simple answer. Software 70-85% hardware can max out. Used with single or double amps. Loudness dependent in that order.
    – user168165
    Oct 27, 2012 at 9:42

11 Answers 11

470

Program vs. OS generally doesn't matter. What matters is whether you're adjusting volume in software or in hardware.

Reducing volume in software is basically equivalent to reducing the bit depth. In digital audio, the signal is split up into distinct samples (taken thousands of times per second), and bit depth is the number of bits that are used to describe each sample. Attenuating a signal is done by multiplying each sample by a number less than one, with the result being that you're no longer using the full resolution to describe the audio, resulting in reduced dynamic range and signal-to-noise ratio. Specifically, every 6 dB of attenuation is equivalent to reducing the bit depth by one. If you started with, say, 16-bit audio (standard for audio CDs) and reduced the volume by 12 dB, you'd effectively be listening to 14-bit audio instead. Turn the volume down too much and quality will start to suffer noticeably.

Another issue is that these calculations will often result in rounding errors, due to the original value of the sample not being a multiple of the factor by which you're dividing the samples. This further degrades the audio quality by introducing what's basically quantisation noise. Again, this mostly happens at lower volume levels. Different programs might use slightly different algorithms for attenuating the signal and resolving those rounding errors, which means there might be some difference in the resulting audible signal between, say, an audio player and the OS, but that doesn't change the fact that in all cases you're still reducing bit depth and essentially wasting a portion of the bandwidth on transmitting zeroes instead of useful information.

This PDF has more information and some excellent illustrations if you're interested in learning more.

The result of reducing the volume in hardware depends on how the volume control is implemented. If it's digital, then the effect is much the same as reducing the volume in software, so there's probably little to no difference in which one you use, in terms of audio quality.

Ideally, you should output audio from your computer at full volume, so as to get the highest resolution (bit depth) possible, and then have an analogue volume control as one of the last things in front of the speakers. Assuming all the devices in your signal path are of more or less comparable quality (i.e. you're not pairing a cheap low-end amplifier with a high-end digital source and DAC), that should give the best audio quality.


@Joren posted a good question in the comments:

So if I want to set software volume control to max, how do I deal with my analog controls suddenly having a super tiny usable range? (Because even turning the analog volume to half is way too loud.)

This can be a problem when the volume control is part of an amplifier, which is probably the case with most computer setups. Since an amplifier's job is to, as the name suggests, amplify, this means that the volume control's gain ranges from 0 to more than 1 (often much more), and by the time you've turned the volume control to the halfway point, you're probably no longer attenuating, but actually amplifying the signal beyond the levels you set in software.

There's a couple of solutions to this:

  • Get a passive attenuator. Since it doesn't amplify the signal, its gain ranges from 0 to 1, which gives you a much larger usable range.

  • Have two analogue volume controls. If your power amplifier or speakers have a volume or input trim control, that will work great. Use that to set a master volume level so that your regular volume control's usable range is maximised.

  • If the previous two aren't possible or feasible, simply turn down the volume at the OS level, until you've reached the best compromise between the usable range on the analogue volume control and audio quality. Keep individual programs at 100% so as to avoid several bit depth reductions in a row. Hopefully there won't be a noticeable loss in audio quality. Or if there is, then I'd probably start looking at getting a new amplifier that doesn't have as sensitive inputs, or better yet, has a way to adjust input gain.


@Lyman Enders Knowles pointed out in the comments that the issue of bit depth reduction does not apply to modern operating systems. Specifically, starting with Vista, Windows automatically upsamples all audio streams to 32-bit floating point before doing any attenuation. This means that, however low you turn the volume, there should be no effective loss of resolution. Still, eventually the audio has to be downconverted (to 16-bit, or 24-bit if the DAC supports that), which will introduce some quantisation errors. Also, attenuating first and amplifying later will increase the noise floor, so the advice to keep software levels at 100% and attenuate in hardware, as close to the end of your audio chain as possible, still stands.

27
  • 32
    Some software allows increasing volume beyond "100%", or moving all the sliders in the equalizer to the top, what about that? It generally sounds a lot worse...
    – Daniel Beck
    Oct 24, 2012 at 17:21
  • 15
    @DanielBeck: In general, it's not recommended increasing volume above 100% unless you know the sound won't saturate (waveform won't clip, but that's hard to tell without a program to show the waveform, such as Audacity) or don't care about it (some sounds e.g. explosions and gunfire in games/movies when clipped don't actually sound worse to me).
    – Gnubie
    Oct 24, 2012 at 17:35
  • 4
    First, great answer Indrek. Spot on. But I should also mention that I've noticed even worse audio quality when I have several levels of volume sliders (the app itself, the system (software mixer) volume, and the hardware) and all of them are at less than max. volume. So if possible, start out with the application and start turning volumes up at the "lowest" level possible (closest to the application) and work your way "outward" turning volumes down on the higher level devices. So your volumes should go 100% (app) -> 100% or nearly 100% (operating system) -> much lower (for the amplifier). Oct 24, 2012 at 17:37
  • 5
    @DanielBeck That's basically just multiplying the quieter samples by a number greater than 1, or multiplying all samples by > 1 and then capping each one at the maximum bit depth. It generally sounds worse due to the reduced dynamic range, as well as clipping (distortion) introduced during the process.
    – Indrek
    Oct 24, 2012 at 17:38
  • 8
    Modern PC operating systems (Windows Vista and newer, OSX) up-convert all audio to 32-bit floating point before doing volume adjustments. It's no longer true that using the software volume control destroys resolution or effective bit depth. More info here: blog.szynalski.com/2009/11/17/… Oct 26, 2012 at 16:22
38

Basically, in sound, the closer to the physical source the better, to have a clear signal. Each physical stage will add noise. Earlier, stronger.

When a signal is amplified, any noise in the signal will also be amplified. A stronger signal means less noise compared to the signal. Therefore as it gets passed down the chain there will be less noise.

3
  • 12
    Quite true in the general case, but Qqwy's question asks more about software vs hardware volume control.
    – Gnubie
    Oct 24, 2012 at 17:38
  • 3
    So does this mean speaker or software? Oct 26, 2012 at 19:02
  • But sometimes early stages can suffer from increased nonlinear distortions when amplifying too much. And this is worse than just random noise. Feb 17, 2014 at 8:44
16

Typically, I like to have my software levels and OS levels as loud as possible. Since these sources are generally not amplified, their decibel ceiling should be 0dB; Essentially, they can't clip.

I then make sure that this sound goes directly to a single amplified destination, such as digital headphones (via USB), speakers with a volume knob and power supply, or an amp. I try to avoid chaining amplified devices because they can start to overdrive each other and cause clipping. Even individually, the amplification can result in clipping if the volume is turned up too high.

Since these can clip, I tend to keep these sources around the 50% volume range since that's normally where they're comfortable. It also affords the flexibility of increasing or decreasing the volume if the software/OS level is lower than usual.

13

From a purely empirical standpoint, when I turn up my speakers all the way, I hear static.

I hear this static even if there is otherwise no sound coming out of my speakers.

So, I always max out the volume on the computer by maxing it in both the program and os, and then I try to keep the volume dial as low as possible on my speakers to minimize the static noise.

This might be a by product of my #@#!@%* speakers, but I assume many have speakers just like mine.

1
  • That static is literal noise, most of it internal to the electronics, but external RF signals are also picked up. I was once able to pick up a local radio station on my sub-woofer, with nothing but the power connected.
    – Baldrickk
    Apr 9, 2018 at 15:11
13

This definitely depends on what hard and software you are using. I am using a computer connected by this audio cable with two 3.5 jack plugs with a receiver, and if I put the sound on low on my computer (software) and high on the receiver, I hear a lot of noise. This probably has to do with amplifying not just the sound but also the noise that is being picked up by different components. Whenever I do this, I also hear noise when I'm not playing music.

It's different with my laptop tho, this is connected to the same receiver with an optical S/PDIF cable (digital) here I can put my volume on 100% on the receiver (my neighbors hate this!) It is really really loud and I can just turn the volume down on my laptop without any noticeable loss in sound quality. I do this because I have volume buttons on my keyboard and the receiver is quite far away.

2
  • 1
    +1, the accepted answer doesn't mention this, but this kind of amplified noise is, in my opinion, much more noticeable than the reduced resolution caused by reducing the volume in software. The amount of noise is very dependent on the quality of your hardware though.
    – yngvedh
    Oct 26, 2012 at 14:34
  • And of course the technique to transfer the audio! Quality sometimes just doesn't matter(in hdmi cables for example) Oct 29, 2012 at 22:35
11

One error which I continue to see is end-users adjusting the volume via the particular program in use, only to later increase or decrease the volume via the soundcard (OS mixer, if you will).

Obviously, this creates confusion and does not allow for a predictable level of volume when launching other programs.

A simple solution--and the one I've employed for numerous years--is to establish a base level at both the hardware and OS level. By setting a permanent volume level in hardware and a permanent output level in software, you establish a standard to which you can compare the output of any program you use, adjusting the volume IN the specific program as desired (the advantage being that you will know what level volume you will receive from the specific program in the future).

Of course, to derive optimal benefit from both your amplifier and soundcard (OS), you must first set the volume of your amplifier to the maximum level afforded by the topology, but below unacceptable or undesirable levels of distortion. (Unfortunately, many low-powered 'class-D' audio amplifiers perform acceptably to a degree, but anything beyond that point [often, anything beyond 33 or 50 percent beyond its rated maximum output], often results in audible levels of distortion [as well as compression of dynamics and other undesirable effetc]. If you happen to have an audio amplifier with very low distortion at its maximum rating [provided the rating is of a weighted standard and not useless, like unweighted and measured only at 1kHz], you may have the liberty to set the output of your audio amp at maximum [under clipping range, of course; 'maximum' being contingent on the voltage of the input'. I remember being able to do this with amplifiers from Denon, Adcom, Hafler, and Nikon, in times past.)

The output of audio circuitry in some motherboards leave a lot to desire. In dedicated soundcards, the selection of high-quality soundcards is limited. For integrated audio circuitry, I advise selecting a volume level of no more than 2/3rds of the total range--and leaving it at that volume. (I know that is not scientific in its method, but from testing integrated outputs in many motherboards, I've noticed that distortion and other undesirable effects increase considerably as the output of the circuit approaches its maximum. Limiting the 'OS' level to 2/3rds (or 66%, or for the benefit of brevity and an easy to remember number, 70 [on a scale of 1 to 100; closer to 66% would be 66 on a scale of 1 to 100]) has served me well (while foregoing the need to perform exhaustive tests).

P.S. For the benefit of the initiated (or obsessive-compulsive)--and before an audiophile or engineer goes on a diatribe--I am well aware of the fact that setting the slider at 2/3rds level or the approximate 66 on a scale of 1 to 100 does NOT represent an actual output level of 66% of the total [the actual output will be lower], but it is a quick approach to obtaining an approximation of the cleanest output available from a motherboard's integral audio circuitry. P.P.S. The information provided assumes analog circuitry. If you are using digital circuity (SPDIF, Optical, other similar), you may set the soundcard ('OS') level to maximum with little risk of noticing a difference in the quality of the output from the audio circuity.

1
  • 2
    Having controls for each audio source as well as for overall volume is good, if one adopts the principle that one should adjust the volume of an audio-source if most of one's audio sources are playing at a reasonable volume but there's one that's too loud or too soft; one should adjust the overall volume if there's a change to how loud one wants sound to be (e.g. because someone is vacuuming or sleeping nearby). In most situations, one would probably want to change the overall volume more often than the individual-source volume, though ironically many programs facilitate the latter.
    – supercat
    Oct 27, 2012 at 17:18
8

I currently turn up the volume in software/OS to 100% and turn it down on the hardware side, but for a much simpler reason:

In my previous PC, the sound card generated noticeable white noise with a constant volume, no matter what i set the volume in the OS to. Regulating the sound on the hardware side helped reducing that noise.

7

I would say hardware, but there's such thing as a standard volume for most applications.

However, DTS seems to be one of the exceptions based on the experience that if I play DTS movies I don't adjust the receiver volume level when I go from movie to movie and still find it comfortable.

If it is possible, I would rather have something that would output at the same level as DTS in order to remain comfortable.

That being said, for each OS they also have default system sounds. I would say you set your level against that volume level and let the OS deal with the volumes.

5

This question is too varied, but if you must get an answer it depends on several situations...

  1. Hardware, is it internal speakers, external speakers, headset, etc?
  2. How loud are we talking? Level 1 to level 10? or just a nudge?

Hardware, it depends if you have good speakers to begin with, a nudge with the speakers either via software or hardware may be noticeable if they are external, and a specific name brand, but if they are cheap, you may need to increase more than a nudge.

As for software, adjusting the software is always preferred before adjusting the hardware if it's external, because software adjusting today is sometimes easier... and hardware although still easy, it depends if you have it connected to an external equalizer, or something all together different.

Some audiophiles will tell you that once you get the hardware you want to have it, you will never need to touch it again, except to adjust the volume... others will say that software adjustments are better...

Again, you leave out a lot of variables, and this really is too broad, and may want to re-adjust the question by putting more details into it.

5

When you send an audio signal through a chain of volume knobs (of any kind: analog, digital, physical, software), set each one as loud as you can without clipping or distorting. Otherwise, you needlessly decrease the signal's dynamic range (aka number of bits, aka quietness of hiss). Use only the last knob to adjust the volume of the signal exiting the chain. That optimizes quality, for anything from a laptop videogame to a live transatlantic symphony orchestra broadcast.

2

Other answers talk about quantization and noise. HiFiBerry did a test with software vs hardware and found noise levels ranging between -88 to -98dB, which would be inaudible (lower than 0 dB) even if there was no music to accompany the noise unless your music is as loud as a food blender.

There is another issue at play: modern audio codecs use floating-point samples. If you look at an mp3 file with a program like ffprobe, using ffprobe music.mp3, you'll see it uses 's16p' samples. AAC, found in mp4 files, and Opus and Vorbis, found in webm or other container formats like mkv, use 'fltp'. (ffmpeg -sample_fmts also lists 'flt' as distinct from 'fltp', but I don't know what the difference is other than that it's sometimes responsible for audio encoding being slower due to extra format conversions.)

This has resulted in a sort of arms race, or perhaps a better analogy would be plants competing for sunlight. People react positively to loud music, but music that's too loud is painful, so they set their volume low because they prefer to sometimes have to turn the volume up than to sometimes experience pain. Result, music has gotten louder. On YouTube, this effect is moderated by the player limiting loud music, though this isn't always effective.

As a result of this volume competition, you can find songs on YouTube where over 10% of samples clip, being higher than 1 or lower than -1, and the loudest samples are over twice the nominal maximum volume. (Have seen extreme cases from recorded videos where RMS volume was around +1dB, about four times the amplitude or 16 times the power of a typical loud song.)

How software deals with samples that exceed 1 varies. From my tests, ffplay clips samples regardless of changes to volume during playback with hotkeys, though it would be easy to specify a volume filter (or other filters like dynaudnorm=40:5:m=2 or a traditional compressor) to prevent this clipping. Totem, the default video player for Gnome, clips even with a low volume. Vlc stops clipping if the volume is turned down.

So if you're able to discern the slight change in audio quality from a mere 1% or 0.1% of samples clipping as found in a typical loud audio stream, and your software does clipping after applying its volume control instead of before, then you may want to leave your software application's volume at a moderate level and increase the OS or hardware volume. But if you're only concerned with one particular song being too quiet, and you don't mind adjusting the volume for each song, then all the evidence says it doesn't matter at all, unless your hardware is amplifying noise to an audible level.

If you have or install ffmpeg, you can easily test how your software handles clipping by creating a loud file: ffmpeg -i loudmusic.mp4 -vn -af volume=10dB,ebur128,astats -t 10 superloud.mp4. This should use AAC audio with fltp, astats should report peak level of around 10dB, and ebur128 should report an integrated loudness of around 0 (typical music is -8 to -15). If they don't, increase the volume boost. The volumedetect filter will tell you exactly how many samples clip, but it converts to a non-floating point format so you would avoid it during encoding or use the asplit filter and make sure the automatic conversions don't get messed up: ffmpeg -i video.webm -vn -af volume=10dB,ebur128,astats,asplit[tmp],volumedetect,anullsink,[tmp]acopy -t 10 loud.webm

If a software layer's volume control can boost volume instead of just reducing it, potentially leading to clipping, this would be a reason to avoid using software to increase volume. But this is probably obvious. My environment, Gnome on Ubuntu, used to have a sound option to "allow volume to go above 100%" in the OS controls, though it has since disappeared, and I had to use it when I first got this computer since the maximum volume was too quiet for some reason. Vlc also lets you increase volume above 100%, making it obvious what is happening.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .