Le son du vin est joué trop vite et grésille horriblement

14

Les sons de mes applications sont lus à une vitesse super et grésillent horriblement. Dans Spotify, les chansons sont lues à une vitesse d'environ 3x. J'ai googlé cela un peu et tout ce que je peux trouver est un rapport de bogue de janvier 2012 qui est marqué comme fermé.

J'ai testé Spotify et Hearthstone en utilisant PlayOnLinux avec les versions Wine 1.5.0, 1.6, 1.6.0, 1.7.0, 1.7.8 ainsi que le système Wine qui est la version 1.4.1. Ils ont tous exactement le même problème de craquement terrible. Cela m'amène à supposer que ce n'est pas un bug avec Wine.

Les étapes à reproduire à partir du rapport de bogue:

Étapes à reproduire:
1. winecfg
2. allez dans l'onglet Audio
3. Test du son

Résultats actuels:
sons crépitants produits

Résultats attendus:
sortie normale

Produisent également des bruits de crépitement pour moi. Ce faisant, winecfg a imprimé ce qui suit sur le terminal:

p11-kit: impossible de charger le module: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: / usr / lib / i386-linux-gnu / pkcs11 / p11-kit-trust. donc: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type
err: ole: CoInitializeEx Tentative de changer le modèle de thread de cet appartement de multi-thread à appartement threadé
ALSA lib pcm.c: 7843: (snd_pcm_recover) sous-exécution s'est produite
ALSA lib pcm.c: 7843: (snd_pcm_recover) sous-exécution s'est produite
ALSA lib pcm.c: 7843: (snd_pcm_recover) sous-exécution s'est produite
ALSA lib pcm.c: 7843: (snd_pcm_recover) sous-exécution s'est produite

(La première ligne est apparue lorsque j'ai ouvert winecfg, les 5 dernières sont apparues lorsque j'ai cliqué sur Test Sound)

Des indices qui pourraient être faux? Faites-moi savoir si je peux fournir plus d'informations.


pulseaudio 1: 4.0-0ubuntu6 amd64
Hubro
la source
Peut-être lié ou en double: askubuntu.com/questions/124602/…
donquixote

Réponses:

24

Étant donné qu'il s'agit du premier résultat renvoyé par Google, je pensais partager mon expérience ici. Pour ceux qui recherchent une solution rapide, mettez ce qui suit dans votre profil ~ / .bashrc ou / etc / pour un changement à l'échelle du système:

alias wine='PULSE_LATENCY_MSEC=60 wine'

Il s'agit du même correctif utilisé pour Skype et PulseAudio 4.0 et supérieur, qui se comporte de la même manière que Wine. J'espère que cela t'aides!

Modifier (12.01.2016) :

Vous pouvez activer cette variable globalement en ajoutant cette ligne à ~ / .bashrc et en vous déconnectant / redémarrant

export PULSE_LATENCY_MSEC=60

Si vous rencontrez des problèmes audio dans d'autres applications après cela, supprimez simplement la ligne et déconnectez-vous ou redémarrez. Si vous souhaitez le tester temporairement, ouvrez un nouveau terminal et collez cette ligne. Maintenant, chaque application que vous invoquez à partir de ce terminal aura la variable définie et PulseAudio définira la latence.

Plus d'informations sur ce problème et le «correctif»: http://arunraghavan.net/2013/08/pulseaudio-4-0-and-skype/

Iskren
la source
Cela fonctionne-t-il également lors du démarrage de wine depuis PlayOnLinux et des applications similaires? Je testerais, mais je ne sais pas comment confirmer les résultats ...
Hubro
1
Aucune idée, jamais exécuté PlayOnLinux. Vous pouvez le tester en tapant la commande ci-dessus dans un terminal et exécuter quelque chose à partir de PlayOnLinux. Si votre son est bon, alors ça marche. Si ce n'est pas le cas, vous pouvez essayer de définir la variable directement en exécutant "export PULSE_LATENCY_MSEC = 60" dans un terminal, puis en exécutant PlayOnLinux à partir du même terminal. Il "héritera" de la variable et cela devrait fonctionner.
Iskren
J'ai sauvé mon bacon. J'avais ce problème depuis des années, c'est la seule chose qui fonctionnait. Je suis curieux cependant, vous souvenez-vous d'où vous avez obtenu cette solution? Savons-nous pourquoi ça marche?
dr Hannibal Lecter
J'ai eu des problèmes avec PA4 et Skype il y a quelque temps et je cherchais une solution. Un peu plus tard, Wine a commencé à faire de même, alors j'ai juste essayé le correctif skype et cela a fonctionné. Ce message explique assez bien quel est le problème et comment cette variable le résout: arunraghavan.net/2013/08/pulseaudio-4-0-and-skype
Iskren
Je crains que cette solution ne fonctionne pas dans POL. Même si, au début, cela semblait.
Tamsyn Michael
7

Exécutez un terminal (Ctrl + Alt + T)

Émettre une commande pulseaudio -k

Essayez de recréer le problème. Ne devrait plus jouer en avance rapide.

En ce qui concerne le crépitement du journal vous dit clairement et simplement, vous avez un buffer underrun. Changez la qualité de votre échantillonnage ... sacrifiez de la qualité pour la vitesse et voyez si cela résout votre sous-dépassement.

DeeJayh
la source
Je me suis levé ce matin et n'ai pas pu recréer le problème. Les sons jouent parfaitement maintenant. La seule chose que j'ai faite depuis hier est de basculer la sortie audio de mon casque sur HDMI. Aujourd'hui, je suis revenu et le crépitement a disparu. Cela va probablement se reproduire bientôt, j'essaierai alors de tuer pulseaudio.
Hubro
Le problème est revenu. J'ai essayé pulseaudio -ket tout son a disparu. Le curseur de son sur Ubuntu est grisé et il n'y a pas de périphériques audio dans les options sonores. J'ai dû redémarrer pour récupérer le son.
Hubro
Le son Pulse devrait redémarrer de lui-même, la prochaine fois que vous rencontrez un problème, essayez sudo alsa force-reload
DeeJayh
De plus, le simple fait de lancer la commande pulseaudiodevrait la redémarrer pour vous lorsqu'elle ne l'est pas d'elle-même.
DeeJayh
Ce n'est pas un goulot d'étranglement du processeur. J'ai le même problème sur un 4790k avec World of Warcraft, je ne dépasse jamais 30% CPU et j'ai le nicesur WoW et Pulseaudio réglé à -20. Quelque chose dans le logiciel empêche pulseaudio de réellement remplir les tampons.
Jonathan Baldwin
3

Avec certains jeux, si vous utilisez PlayOnLinux, vous pouvez ouvrir le lanceur avec votre éditeur de texte et modifier la Exec=ligne comme suit:

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

Essayez cette solution . Cela avait principalement à voir avec PulseAudio, personnellement, je l'ai supprimé et réessayé et le sous-ensemble a disparu, mais j'ai perdu la possibilité de déplacer la sortie audio vers différents récepteurs. Ce mode d'emploi maintient pulseaudio et ALSA jouent bien ensemble sans laisser pulseaudio monopoliser le matériel directement.

allenskd
la source
3
Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
Stormvirux
Ce n'est pas une solution pour quiconque a besoin d'enregistrer du son provenant d'une application Wine, ou qui accorde le moindre soin à la latence que ce soit (Pulse joue assez vite et assez lâche avec la latence telle qu'elle est, mais en y ajoutant dmix aussi ...)
Jonathan Baldwin
0

Ajout d'une solution mise à jour comme ci-dessus pour

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

Aaron Williams
la source
2
Bienvenue sur Ask Ubuntu! Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
Stormvirux
1
D'accord, mais ce n'est qu'un petit ajustement que j'ai ajouté (voir le commentaire en bas) à un correctif assez bien décrit sur l'url fournie
Aaron Williams
0

Après avoir très bien fonctionné, une application portaudio a commencé à sonner de manière erratique lors des erreurs de prise de vue

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

SOLUTION - vous devez d'abord tuer le processus existant ... émettez ces cmds

    pulseaudio --kill

    jack_control start

Une fois que vous avez terminé avec ce qui précède, lancez ces commandes:

    jack_control exit

    pulseaudio --start

Maintenant, la même application a ensuite lu l'audio via portaudio très 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
la source
0

J'ai eu un problème similaire avec Skyrim sur Linux via. Jeu Steam. J'ai essayé toutes sortes de choses; ce sont les seules choses qui ont réellement fonctionné, elles doivent donc être importantes.


Pour que la musique et les voix fonctionnent, voici ce qui a fonctionné pour moi:

  1. activer le client Steam Beta, redémarrer
  2. Paramètres> Steam Play> Activer Steam Play pour tous les titres
  3. installer Skyrim via Steam
  4. installer winetricks(ie apt install winetricks)
  5. recherchez le répertoire steamapps/compatdata/489830et assurez-vous qu'il a un pfxrépertoire. cddans ça.
  6. exécuter WINEPREFIX=$PWD/pfx winetricks --force xact
  7. exécuter WINEPREFIX=$PWD/pfx winecfg
  8. dans l'onglet Bibliothèques créer des remplacements pour les propriétés xaudio2_6et xaudio2_7, en définissant les deux surnative

Vous saurez que cela fonctionne, si vous entendez la musique d'introduction sur l'écran de titre.

Source: https://www.reddit.com/r/linux_gaming/comments/99i4se/skyrim_on_linux_steam_play_no_voiceno_music_audio/

-------------------------------------------------- --------------------------------------------------

J'ai également eu une sorte de claquement, de craquement ou de distorsion de l'audio après que la musique et les voix aient fonctionné. C'est ce qui a fonctionné pour moi:

Son Laggy

Ce problème est dû à des tailles de mémoire tampon incorrectes. Vérifiez d'abord que les variables default-fragmentset default-fragment-size-msecne sont pas définies sur des valeurs non par défaut dans le fichier /etc/pulse/daemon.conf. Si le problème persiste, essayez de leur attribuer les valeurs suivantes:

/etc/pulse/daemon.conf

default-fragments = 5

default-fragment-size-msec = 2

-------------------------------------------------- --------------------------------------------------

Son saccadé / déformé

Cela peut résulter d'un taux d'échantillonnage mal réglé. Essayez le paramètre suivant:

/etc/pulse/daemon.conf

avoid-resampling = yes #(Needs PA11 or higher)

default-sample-rate = 48000

et redémarrez le serveur PulseAudio.


Si vous rencontrez un son saccadé dans les applications utilisant OpenAL, modifiez la fréquence d'échantillonnage dans /etc/openal/alsoft.conf:

/etc/openal/alsoft.conf

frequency = 48000


Régler le volume PCM au-dessus de 0 dB peut provoquer un écrêtage. L'exécution alsamixervous permettra de voir si c'est le problème et si c'est le cas, de le résoudre. Notez qu'ALSA peut ne pas exporter correctement les informations dB vers PulseAudio. Essayez ce qui suit:

/etc/pulse/default.pa

load-module module-udev-detect ignore_dB=1

et redémarrez le serveur PulseAudio.

Source: https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Laggy_sound

Andrew
la source