O som do vinho é tocado muito rápido e estala horrivelmente


13

Os sons em meus aplicativos são reproduzidos em super velocidade e estão crepitando horrivelmente. No Spotify, as músicas estão tocando na velocidade de 3x. Eu pesquisei bastante no Google e tudo o que posso apresentar é um relatório de bug de janeiro de 2012 marcado como fechado.

Testei o Spotify e o Hearthstone usando o PlayOnLinux com as versões 1.5.0, 1.6, 1.6.0, 1.7.0, 1.7.8 e Wine, bem como o sistema Wine, versão 1.4.1. Todos eles têm exatamente o mesmo problema terrível de estalo. Isso me leva a supor que isso não é um bug do Wine.

As etapas para reproduzir a partir do relatório de erros:

Passos para reproduzir:
1. winecfg
2. vá para a guia Áudio
3. Teste de som

Resultados reais:
sons crepitantes produzidos

Resultados esperados:
saída normal

Também estão produzindo ruídos crepitantes para mim. Enquanto isso, o winecfg imprimiu o seguinte no terminal:

p11-kit: não foi possível carregar o módulo: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: / usr / lib / i386-linux-gnu / pkcs11 / p11-kit-trust. so: não é possível abrir o arquivo de objeto compartilhado: esse arquivo ou diretório não existe
err: ole: CoInitializeEx Tentativa de alterar o modelo de encadeamento deste apartamento de multiencadeado para apartamento encadeado
ALSA lib pcm.c: 7843: ocorreu um erro de saturação (snd_pcm_recover)
ALSA lib pcm.c: 7843: ocorreu um erro de saturação (snd_pcm_recover)
ALSA lib pcm.c: 7843: ocorreu um erro de saturação (snd_pcm_recover)
ALSA lib pcm.c: 7843: ocorreu um erro de saturação (snd_pcm_recover)

(A primeira linha apareceu quando eu abri o winecfg, as últimas 5 apareceram quando eu cliquei em Test Sound)

Alguma pista do que poderia estar errado? Deixe-me saber se posso fornecer mais informações.


Clique no botão `` Iniciar ''.

Talvez relacionado ou duplicar: askubuntu.com/questions/124602/...
Donquixote

Respostas:


23

Como este é o primeiro resultado retornado pelo Google, pensei em compartilhar minha experiência aqui. Para quem procura uma solução rápida, coloque o seguinte no seu perfil ~ / .bashrc ou / etc / para alterações em todo o sistema:

alias wine='PULSE_LATENCY_MSEC=60 wine'

Essa é a mesma correção usada para o Skype e o PulseAudio 4.0 e superior, que se comportam da mesma maneira que o vinho. Espero que isto ajude!

Editar (01.12.2016) :

Você pode ativar esta variável globalmente adicionando esta linha a ~ / .bashrc e efetuando logout / reinicialização

export PULSE_LATENCY_MSEC=60

Se você estiver com problemas de áudio em outros aplicativos, exclua a linha e faça logout ou reinicialização. Se você quiser testá-lo temporariamente, abra um novo terminal e cole essa linha. Agora, todos os aplicativos que você chamar deste terminal terão a variável definida e o PulseAudio definirá a latência.

Mais informações sobre esse problema e a 'correção': http://arunraghavan.net/2013/08/pulseaudio-4-0-and-skype/


Isso também funciona ao iniciar o vinho a partir do PlayOnLinux e aplicativos similares? Eu testaria, mas não sei como confirmar os resultados ...
Hubro 06/06

1
Não faço ideia, nunca executei o PlayOnLinux. Você pode testá-lo digitando o comando acima em um terminal e executar algo no PlayOnLinux. Se o seu som estiver bom, está funcionando. Caso contrário, você pode tentar definir a variável diretamente executando "export PULSE_LATENCY_MSEC = 60" em um terminal e, em seguida, executando o PlayOnLinux a partir do mesmo terminal. Ele "herdará" a variável e deve funcionar.
Iskren

Salvei meu bacon. Eu estava tendo esse problema há anos, essa é a única coisa que funcionou. Estou curioso, você se lembra de onde conseguiu esta solução? Sabemos por que isso funciona?
dr Hannibal Lecter

Há algum tempo, tive problemas com o PA4 e o Skype e estava procurando uma solução. Um pouco mais tarde, o vinho começou a fazer o mesmo, então tentei o reparo do skype e funcionou. Este post explica muito bem qual é o problema e como esses correções variáveis de TI: arunraghavan.net/2013/08/pulseaudio-4-0-and-skype
Iskren

Receio que esta solução não funcione no POL. Embora, a princípio, parecesse.
Tamsyn Michael

7

Executar um terminal (Ctrl + Alt + T)

Comando de emissão pulseaudio -k

Tente recriar o problema. Não deveria mais jogar em avanço rápido.

Quanto ao crepitar, o log diz a você que é puro e simples, você tem um buffer insuficiente. Mude sua qualidade de amostragem ... Sacrifique um pouco de qualidade por velocidade e veja se isso resolve sua falha.


Levantei-me esta manhã e não consegui recriar o problema. Os sons tocam perfeitamente agora. A única coisa que fiz desde ontem é mudar a saída de som do meu fone de ouvido para HDMI. Hoje voltei e o crepitar se foi. Provavelmente acontecerá novamente em breve, então tentarei matar o pulseaudio.
Hubro 19/12/2013

O problema retornou. Eu tentei pulseaudio -ke todo o som desapareceu. O controle deslizante de som no Ubuntu está acinzentado e não há dispositivos de som nas opções de som. Teve que reiniciar para recuperar o som.
Hubro 19/12/2013

Pulseaudio deve reiniciar, por si própria, da próxima vez que você tem uma chance questão sudo alsa force-reload
DeeJayh

Além disso, basta emitir o comando pulseaudiopara iniciá-lo quando você não o fizer sozinho.
DeeJayh

Não é um gargalo de CPU. Eu tenho o mesmo problema em um 4790k com World of Warcraft, nunca supero os 30% da CPU e tenho o niceno WoW e Pulseaudio definido como -20. Algo no software está impedindo que o pulseaudio realmente preencha os buffers.
Jonathan Baldwin

3

Em alguns jogos, se você usa o PlayOnLinux, pode abrir o iniciador com o seu editor de texto e alterar a Exec=linha da seguinte maneira:

Exec=env PULSE_LATENCY_MSEC=60 /usr/share/playonlinux/playonlinux --run "GameName" %F

1

Experimente esta solução . Principalmente tinha a ver com o PulseAudio, pessoalmente eu o removi e tentei novamente, e o desempenho não havia atingido, mas perdi a capacidade de mover a saída de áudio para diferentes pias. Este manual de instruções mantém o pulseaudio e o ALSA muito bem, sem permitir que o pulseaudio monopolize o hardware diretamente.


3
Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Stormvirux

Não é uma solução para quem precisa gravar áudio proveniente de um aplicativo Wine ou que dá o menor cuidado à latência (o Pulse toca rápido e solta o suficiente com a latência, mas lança o dmix também ...)
Jonathan Baldwin

0

2
Bem-vindo ao Ask Ubuntu! Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Stormvirux 16/03/19

1
Concordou, mas é apenas um pequeno puxão eu adicionei (ver comentário na parte inferior) para uma correção muito bem descrito no URL fornecido
Aaron Williams

0

Depois de executar muito bem, um aplicativo portaudio começou a parecer irregular ao disparar erros

ALSA lib pcm.c:7963:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7963:(snd_pcm_recover) underrun occurred

SOLUÇÃO - primeiro você precisa matar o processo existente ... emitir esses cmds

    pulseaudio --kill

    jack_control start

Depois de concluir o procedimento acima, emita estes comandos:

    jack_control exit

    pulseaudio --start

Agora, o mesmo aplicativo reproduziu o áudio via portaudio muito bem

cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"

dpkg -l|grep portaudio
ii  libportaudio2:amd64                         19+svn20140130-1build1                               amd64        Portable audio I/O - shared library
ii  libportaudiocpp0:amd64                      19+svn20140130-1build1                               amd64        Portable audio I/O C++ bindings - shared library
ii  portaudio19-dev                             19+svn20140130-1build1                               amd64        Portable audio I/O - development files
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.