Programa vs. OS geralmente não importa. O que importa é se está a ajustar o volume em software ou em hardware.
Reduzir o volume em software é basicamente equivalente a reduzir a profundidade do bit. No áudio digital, o sinal é dividido em amostras distintas (tiradas milhares de vezes por segundo), e a profundidade de bits é o número de bits que são utilizados para descrever cada amostra. A atenuação de um sinal é feita multiplicando cada amostra por um número inferior a um, com o resultado de já não se utilizar a resolução completa para descrever o áudio, resultando numa redução do alcance dinâmico e da relação sinal/ruído. Especificamente, cada 6 dB de atenuação é equivalente a reduzir a profundidade do bit por um. Se começasse com, digamos, áudio de 16 bits (padrão para CDs de áudio) e reduzisse o volume em 12 dB, estaria efectivamente a ouvir áudio de 14 bits em vez disso. Reduza demasiado o volume e a qualidade começará a sofrer notavelmente.
Outra questão é que estes cálculos resultarão frequentemente em erros de arredondamento, devido ao facto de o valor original da amostra não ser um múltiplo do factor pelo qual está a dividir as amostras. Isto degrada ainda mais a qualidade do áudio ao introduzir o que é basicamente ruído de quantificação. Mais uma vez, isto acontece sobretudo a níveis de volume mais baixos. Programas diferentes podem usar algoritmos ligeiramente diferentes para atenuar o sinal e resolver esses erros de arredondamento, o que significa que pode haver alguma diferença no sinal audível resultante entre, digamos, um leitor de áudio e o SO, mas isso não altera o facto de que em todos os casos ainda se está a reduzir a profundidade do bit e essencialmente a desperdiçar uma parte da largura de banda na transmissão de zeros em vez de informação útil.
Este PDF tem mais informação e algumas excelentes ilustrações, se estiver interessado em aprender mais.
O resultado da redução do volume no hardware depende de como o controlo do volume é implementado. Se for digital, então o efeito é muito igual ao de reduzir o volume no software, por isso provavelmente não há muita ou nenhuma diferença em qual se utiliza, em termos de qualidade de áudio.
Idealmente, deve produzir áudio do seu computador em volume total, de modo a obter a maior resolução (profundidade de bits) possível, e depois ter um controlo de volume analógico como uma das últimas coisas em frente dos altifalantes. Assumindo que todos os dispositivos no seu caminho de sinal são de qualidade mais ou menos comparável (ou seja, não está a emparelhar um amplificador barato de gama baixa com uma fonte digital de gama alta e DAC), isso deve dar a melhor qualidade de áudio.
@Joren postou uma boa pergunta nos comentários:
& > Então, se eu quiser definir o controlo de volume do software ao máximo, como é que lido com os meus controlos analógicos tendo de repente um alcance super pequeno utilizável? (Porque mesmo rodar o volume analógico para metade é demasiado alto.)
Isto pode ser um problema quando o controlo de volume faz parte de um amplificador, o que é provavelmente o caso da maioria das configurações do computador. Uma vez que o trabalho de um amplificador é, como o nome sugere, amplificar, isto significa que o ganho do controlo de volume varia de 0 a mais de 1 (muitas vezes muito mais), e quando se vira o controlo de volume para metade, provavelmente já não se está a atenuar, mas sim a amplificar o sinal para além dos níveis que se estabelece no software.
Há um par de soluções para isto:
Obter um atenuador passivo. Uma vez que não amplifica o sinal, o seu ganho varia de 0 a 1, o que lhe dá um alcance de utilização muito maior.
Tenha dois controlos de volume analógicos. Se o seu amplificador de potência ou altifalantes tiverem um controlo de volume ou de guarnição de entrada, isso funcionará muito bem. Use isso para definir um nível de volume principal de modo a maximizar o alcance utilizável do seu controlo de volume regular.
Se os dois anteriores não forem possíveis ou viáveis, basta baixar o volume ao nível do SO, até que tenha alcançado o melhor compromisso entre a gama utilizável no controlo de volume analógico e a qualidade de áudio. Mantenha programas individuais a 100%, de modo a evitar várias reduções de profundidade de bits em fila. Esperemos que não haja uma perda notável na qualidade de áudio. Ou se houver, então provavelmente começaria a procurar obter um novo amplificador que não tenha como entradas sensíveis, ou melhor ainda, que tenha uma forma de ajustar o ganho de entrada.
@Lyman Enders Knowles assinalou nos comentários que a questão da redução da profundidade de bits não se aplica aos sistemas operativos modernos. Especificamente, começando com o Vista, o Windows faz automaticamente subir todos os fluxos de áudio para o ponto flutuante de 32 bits antes de fazer qualquer atenuação. Isto significa que, por muito baixo que seja o volume, não deve haver perda efectiva de resolução. Ainda assim, eventualmente o áudio tem de ser convertido para baixo (para 16 bits, ou 24 bits se o DAC suportar isso), o que introduzirá alguns erros de quantificação. Além disso, atenuar primeiro e amplificar depois aumentará o nível de ruído, pelo que os conselhos para manter os níveis de software a 100% e atenuar em hardware, o mais próximo possível do fim da sua cadeia de áudio, continua de pé.