El sonido del vino se reproduce demasiado rápido y cruje horriblemente

13

Los sonidos en mis aplicaciones se reproducen a gran velocidad y crepitan horriblemente. En Spotify, las canciones se reproducen a una velocidad de aproximadamente 3x. He buscado en Google esto bastante y todo lo que puedo encontrar es un informe de error de enero de 2012 que está marcado como cerrado.

He probado Spotify y Hearthstone usando PlayOnLinux con Wine versiones 1.5.0, 1.6, 1.6.0, 1.7.0, 1.7.8, así como el sistema Wine que es la versión 1.4.1. Todos tienen exactamente el mismo problema terrible de crujidos. Esto me lleva a suponer que esto no es un error con Wine.

Los pasos para reproducir desde el informe de error:

Pasos para reproducir:
1. winecfg
2. vaya a la pestaña Audio
3. Prueba de sonido

Resultados actuales:
sonidos crepitantes producidos

Resultados previstos:
salida normal

También me producen ruidos crepitantes. Mientras lo hacía, winecfg imprimió lo siguiente en la terminal:

p11-kit: no se pudo cargar el módulo: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: / usr / lib / i386-linux-gnu / pkcs11 / p11-kit-trust. entonces: no se puede abrir el archivo de objeto compartido: No existe tal archivo o directorio
err: ole: CoInitializeEx Intenta cambiar el modelo de subprocesamiento de este departamento de subprocesos múltiples a subprocesos de departamento
ALSA lib pcm.c: 7843: ocurrió (snd_pcm_recover) underrun
ALSA lib pcm.c: 7843: ocurrió (snd_pcm_recover) underrun
ALSA lib pcm.c: 7843: ocurrió (snd_pcm_recover) underrun
ALSA lib pcm.c: 7843: ocurrió (snd_pcm_recover) underrun

(La primera línea apareció cuando abrí winecfg, las últimas 5 aparecieron cuando hice clic en Probar sonido)

Alguna pista de lo que podría estar mal? Avíseme si puedo proporcionar más información.


pulseaudio 1: 4.0-0ubuntu6 amd64
Hubro
fuente
Quizás relacionado o duplicado: askubuntu.com/questions/124602/…
donquixote

Respuestas:

23

Como este es el primer resultado devuelto por Google, pensé compartir mi experiencia aquí. Para aquellos que buscan una solución rápida, coloque lo siguiente en su perfil ~ / .bashrc o / etc / para un cambio en todo el sistema:

alias wine='PULSE_LATENCY_MSEC=60 wine'

Esta es la misma solución que se usa para Skype y PulseAudio 4.0 y superior, que se comporta de la misma manera que el vino. ¡Espero que esto ayude!

Editar (12.01.2016) :

Puede habilitar esta variable globalmente agregando esta línea a ~ / .bashrc y cerrando sesión / reiniciando

export PULSE_LATENCY_MSEC=60

Si tiene problemas de audio en otras aplicaciones después de esto, simplemente elimine la línea y cierre la sesión o reinicie. Si desea probarlo temporalmente, abra una nueva terminal y pegue esa línea. Ahora cada aplicación que invoque desde este terminal tendrá la variable establecida y PulseAudio establecerá la latencia.

Más información sobre este problema y la 'solución': http://arunraghavan.net/2013/08/pulseaudio-4-0-and-skype/

Iskren
fuente
¿Esto también funciona cuando se inicia el vino desde PlayOnLinux y aplicaciones similares? Lo probaría, pero no sé cómo confirmar los resultados ...
Hubro
1
Ni idea, nunca ejecuté PlayOnLinux. Puede probarlo escribiendo el comando anterior en un terminal y ejecutar algo desde PlayOnLinux. Si tu sonido está bien, entonces está funcionando. Si no es así, puede intentar configurar la variable directamente ejecutando "export PULSE_LATENCY_MSEC = 60" en un terminal y luego ejecutando PlayOnLinux desde el mismo terminal. "Heredará" la variable y debería funcionar.
Iskren
Salvé mi tocino. Tuve este problema durante años, esto es lo único que funcionó. Sin embargo, tengo curiosidad, ¿recuerdas de dónde obtuviste esta solución? ¿Sabemos por qué funciona?
Dr. Hannibal Lecter
Tuve problemas con PA4 y Skype hace un tiempo y estaba buscando una solución. Un poco más tarde, wine comenzó a hacer lo mismo, así que solo probé el skype y funcionó. Esta publicación explica muy bien cuál es el problema y cómo lo soluciona esta variable: arunraghavan.net/2013/08/pulseaudio-4-0-and-skype
Iskren
Me temo que esta solución no funciona en POL. Aunque, al principio, parecía.
Tamsyn Michael
7

Ejecute un terminal (Ctrl + Alt + T)

Emitir comando pulseaudio -k

Intenta recrear el problema. Ya no debería jugar en avance rápido.

En cuanto al crujido, el registro te dice simple y llanamente, tienes un buffer insuficiente. Cambie su calidad de muestreo ... Sacrifique un poco de calidad por la velocidad y vea si eso resuelve su escasez.

DeeJayh
fuente
Me levanté esta mañana y no pude recrear el problema. Suena jugar perfectamente ahora. Lo único que he hecho desde ayer es cambiar la salida de sonido de mis auriculares a HDMI. Hoy volví y el crujido se fue. Sin embargo, es probable que vuelva a suceder pronto, entonces intentaré matar a pulseaudio.
HUBRO
El problema regresó. Lo intenté pulseaudio -ky todo el sonido desapareció. El control deslizante de sonido en Ubuntu está atenuado y no hay dispositivos de sonido en las opciones de sonido. Tuve que reiniciar para recuperar el sonido.
Hubro
El audio de pulso debe reiniciarse solo, la próxima vez que tenga un problema, intente sudo alsa force-reload
DeeJayh
Además, solo emitir el comando pulseaudiodebería iniciarlo nuevamente cuando no lo haga por sí solo.
DeeJayh
No es un cuello de botella de CPU. Tengo el mismo problema en un 4790k con World of Warcraft, nunca supero el 30% de CPU y tengo el niceWoW y Pulseaudio en -20. Algo en el software está impidiendo que pulseaudio llene los búferes.
Jonathan Baldwin
3

Con ciertos juegos, si usa PlayOnLinux, puede abrir el iniciador con su editor de texto y cambiar la Exec=línea de la siguiente manera:

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

Prueba esta solución . Principalmente tenía que ver con PulseAudio, personalmente lo eliminé y lo intenté de nuevo y la subestimación desapareció, pero perdí la capacidad de mover la salida de audio a diferentes sumideros. Este procedimiento mantiene que pulseaudio y ALSA funcionan bien entre sí sin dejar que pulseaudio acapare el hardware directamente.

Allenskd
fuente
3
Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
Stormvirux
No es una solución para cualquier persona que necesite grabar audio proveniente de una aplicación Wine, o que le da el más mínimo cuidado a la latencia (Pulse se reproduce lo suficientemente rápido y suelto con la latencia tal como es, pero arrojando dmix allí también ...)
Jonathan Baldwin
0

Se agregó una solución actualizada como la anterior para

http://tux-is-gaming.blogspot.com.au/2014/02/fixing-alsa-lib-pcmc7843sndpcmrecover.html?showComment=1394964710443#c3501258764752400662

Aaron Williams
fuente
2
Bienvenido a Ask Ubuntu! Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
Stormvirux
1
De acuerdo, pero es solo una pequeña modificación que agregué (ver comentario en la parte inferior) a una solución bastante bien descrita en la url proporcionada
Aaron Williams
0

Después de ejecutarse bien, una aplicación de portaudio comenzó a sonar errática al disparar errores

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

SOLUCIÓN: primero debe eliminar el proceso existente ... emita estos cmds

    pulseaudio --kill

    jack_control start

Una vez que haya terminado con lo anterior, emita estos comandos:

    jack_control exit

    pulseaudio --start

Ahora la misma aplicación reprodujo audio a través de portaudio bien

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
Scott Stensland
fuente