PulseAudio alternate-sample-rate

Há um tempo escrevi PulseAudio e reamostragem dos fluxos de áudio.

O texto continua valendo. Porém no PulseAudio 2.0 surgiu um recurso novo no que diz respeito à reamostragem: alternate-sample-rate. Antes, a taxa de amostragem era fixa de acordo com a opção default-sample-rate.

Considere que seu hardware de som suporte 44 kHz e 48 kHz e o PulseAudio esteja usando 44,1 kHz. Uma configuração bem comum. Então você coloca a tocar apenas um fluxo de 48 kHz. Será feita reamostragem. Precisaria? Não.

Com alternate-sample-rate, que por padrão é 48 kHz, a taxa é alterada entre default e alternate de acordo com os fluxos. A partir do PA 2.0, não será feita reamostragem no exemplo acima, pois ele colocará o hardware em 48 kHz. Se, simultanemente com o fluxo de 48 kHz, você adicionar outro de 44,1 kHz, este será reamostrado.

A troca também é feita quando a taxa não é exatamente 48 kHz, mas é múltipla[1]. Um fluxo de 32 kHz faz o PA chavear para 48 kHz.

Não só quando o PA está em repouso que ocorre a troca: se os fluxos que precisarem ser alterados (passarem a ser reamostrados ou deixarem de) estiverem pausados.

Evitar reamostragem resulta em menor uso de processamento (maior autonomia de bateria), melhor qualidade e menor latência.

Para desativar, alternate-sample-rate = 0 em /etc/pulse/daemon.conf.


[1] Arun Raghavan diz que reamostrar de 8, 16, 32 kHz, para 48 kHz é mais rápido do que para 44,1 kHz.

Comentários