Conversão de taxa de amostra e GStreamer

2

Eu tenho uma placa de som que é suportada apenas parcialmente no Alsa, ou seja, a reprodução só funciona em 48 kHz. A maioria dos meus arquivos de áudio está em 44,1 kHz, e eu gostaria de usar o Exaile como meu player de áudio, já que tem todas as funcionalidades que eu preciso.

O problema é que o gstreamer - o backend para o exaile - não converte a taxa de amostragem com minhas configurações atuais, então reproduzir os arquivos de áudio resultará em uma aceleração, enquanto os arquivos do mplayer funcionam bem, mplayer faz a conversão da taxa de amostragem na reprodução.

Existe uma maneira de fazer com que o gstreamer converta a taxa de amostragem?

EDIT: A placa de som em questão é um E-MU 0404 PCI express, veja e link

    
por Residuum 23.11.2013 / 13:42

1 resposta

0

Eu adquiri recentemente um E-MU 0404 USB, então talvez minha experiência com ele possa ajudá-lo.

Após algumas lutas, parece capaz de reproduzir 44100Hz e 48000Hz (e, provavelmente - mas eu não verifiquei - várias freqüências de até 192kHz ...)

GStreamer é capaz de fazer conversão de taxa de amostra, mas provavelmente não é o lugar correto para configurar isso. Como você, sem dúvida, notou, como alguém o configuraria é incrivelmente ofuscado e provavelmente envolveria o gconf. No entanto, há vários outros locais que devem funcionar. Eu os listei em ordem decrescente de preferência.

O truque com esses dispositivos parece ser definir o controle deslizante "Taxa de clock" no mixer (o alsamixer baseado em terminal deve apenas mostrá-lo, acho que outros exigem que você mostre o controle deslizante). Configurar para 0 fornece 44100Hz, 1 dá 48000Hz e assim por diante. Irritante - mas viável.

Nota; Se você quiser usar a saída SPDIF, você precisa configurar seu media player para a saída do dispositivo 1. Se alguém está tentando obter passagem (AC3 / DTS), isso não funcionará, a menos que sua taxa de amostragem esteja definida corretamente (geralmente, o ajuste de 48000kHz aka '1').

Neste ponto, deve estar funcionando, abaixo conversas sobre como fazer as coisas sem mexer no controle:

Se você realmente quiser fazer a conversão da taxa de amostragem, você deve ser capaz de obter o efeito desejado criando o ~ / .asoundrc apropriado (isso pressupõe que o E-MU é o segundo dispositivo de som - você pode verificar com aplay - eu). O seguinte não foi testado porque não tenho cabos analógicos à mão para os meus:

pcm.!default {
         card 1
         device 0
         rate 48000
}

ctl.!default {
         type hw           
         card 1
}

Configurar o ALSA deve ter feito as coisas funcionarem, no entanto, se você preferir configurá-lo via PulseAudio, edite o /etc/pulse/daemon.conf e certifique-se de que a linha de taxa de amostragem padrão seja lida (certifique-se de que não esteja comentado com um ';' e o número esteja correto):

default-sample-rate = 48000

(de link )

    
por 03.03.2014 / 20:46

Tags