Suara anggur dimainkan terlalu cepat dan berderak mengerikan

13

Suara dalam aplikasi saya diputar dalam kecepatan super dan berderak mengerikan. Di Spotify, lagu-lagu tersebut sebenarnya diputar pada kecepatan 3x. Saya sudah sedikit meng-Google-Google-nya dan yang saya dapat hanyalah laporan bug dari Januari 2012 yang ditandai sebagai ditutup.

Saya telah menguji Spotify dan Hearthstone menggunakan PlayOnLinux dengan versi Wine 1.5.0, 1.6, 1.6.0, 1.7.0, 1.7.8 serta sistem Wine yang merupakan versi 1.4.1. Mereka semua memiliki masalah suara berderak mengerikan yang sama persis. Ini membuat saya berasumsi bahwa ini bukan bug dengan Wine.

Langkah-langkah untuk mereproduksi dari laporan bug:

Langkah-langkah untuk Mereproduksi:
1. winecfg
2. buka tab Audio
3. Uji Suara

Hasil nyata:
suara berderak dihasilkan

Hasil yang diharapkan:
output normal

Juga menghasilkan suara berderak untukku. Saat melakukannya, winecfg mencetak yang berikut ke terminal:

p11-kit: tidak dapat memuat modul: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: / usr / lib / i386-linux-gnu / pkcs11 / p11-kit-trust. jadi: tidak bisa membuka file objek bersama: Tidak ada file atau direktori tersebut
err: ole: CoInitializeEx Mencoba mengubah model threading apartemen ini dari multi-threaded menjadi apartment threaded
ALSA lib pcm.c: 7843: (snd_pcm_recover) mengalami underrun
ALSA lib pcm.c: 7843: (snd_pcm_recover) mengalami underrun
ALSA lib pcm.c: 7843: (snd_pcm_recover) mengalami underrun
ALSA lib pcm.c: 7843: (snd_pcm_recover) mengalami underrun

(Baris pertama muncul ketika saya membuka winecfg, 5 terakhir muncul ketika saya mengklik Test Sound)

Ada petunjuk apa yang bisa salah? Beri tahu saya jika saya dapat memberikan informasi lebih lanjut.


pulseaudio 1: 4.0-0ubuntu6 amd64
Hubro
sumber
Mungkin terkait atau duplikat: askubuntu.com/questions/124602/…
donquixote

Jawaban:

23

Karena ini adalah hasil pertama yang dikembalikan oleh Google, saya pikir saya akan membagikan pengalaman saya di sini. Bagi mereka yang mencari perbaikan cepat, letakkan yang berikut ini di profil ~ / .bashrc atau / etc / Anda untuk perubahan di seluruh sistem:

alias wine='PULSE_LATENCY_MSEC=60 wine'

Ini adalah perbaikan yang sama yang digunakan untuk Skype dan PulseAudio 4.0 dan di atasnya, yang berperilaku seperti anggur. Semoga ini membantu!

Edit (12.01.2016) :

Anda dapat mengaktifkan variabel ini secara global dengan menambahkan baris ini ke ~ / .bashrc dan logout / reboot

export PULSE_LATENCY_MSEC=60

Jika Anda mengalami masalah audio di aplikasi lain setelah ini, cukup hapus baris dan logout atau reboot. Jika Anda ingin mengujinya sementara, buka terminal baru dan rekatkan baris itu. Sekarang setiap aplikasi yang Anda panggil dari terminal ini akan memiliki set variabel dan PulseAudio akan mengatur latensi.

Informasi lebih lanjut tentang masalah ini dan 'perbaikan': http://arunraghavan.net/2013/08/pulseaudio-4-0-and-skype/

Iskren
sumber
Apakah ini juga berfungsi saat memulai anggur dari PlayOnLinux dan aplikasi serupa? Saya akan menguji, tapi saya tidak tahu bagaimana cara mengkonfirmasi hasilnya ...
Hubro
1
Tidak tahu, tidak pernah menjalankan PlayOnLinux. Anda dapat mengujinya dengan mengetikkan perintah di atas di terminal dan menjalankan sesuatu dari PlayOnLinux. Jika suara Anda baik-baik saja, maka itu berfungsi. Jika tidak, Anda dapat mencoba mengatur variabel secara langsung dengan menjalankan "ekspor PULSE_LATENCY_MSEC = 60" di terminal dan kemudian menjalankan PlayOnLinux dari terminal yang sama. Ini akan "mewarisi" variabel dan itu akan berfungsi.
Iskren
Disimpan bacon saya. Saya mengalami masalah ini selama bertahun-tahun, ini adalah satu-satunya hal yang berhasil. Saya penasaran, apakah Anda ingat dari mana Anda mendapatkan solusi ini? Apakah kita tahu mengapa ini bekerja?
dr Hannibal Lecter
Saya punya masalah dengan PA4 dan Skype beberapa waktu lalu dan sedang mencari solusi. Beberapa saat kemudian anggur mulai melakukan hal yang sama jadi saya baru saja mencoba skype fix dan berhasil. Posting ini menjelaskan dengan baik apa masalahnya dan bagaimana variabel ini memperbaikinya: arunraghavan.net/2013/08/pulseaudio-4-0-and-skype
Iskren
Saya khawatir solusi ini tidak berfungsi di POL. Padahal, pada awalnya, tampaknya.
Tamsyn Michael
7

Jalankan terminal (Ctrl + Alt + T)

Perintah masalah pulseaudio -k

Coba buat ulang masalah. Seharusnya tidak bermain maju cepat lagi.

Mengenai crackling, log memberi tahu Anda secara sederhana dan sederhana, Anda memiliki buffer underrun. Ubah kualitas pengambilan sampel Anda ... Korbankan beberapa kualitas untuk kecepatan dan lihat apakah itu menyelesaikan underrun Anda.

DeeJayh
sumber
Saya bangun pagi ini dan tidak dapat membuat ulang masalah. Kedengarannya bermain dengan sempurna sekarang. Satu-satunya hal yang saya lakukan sejak kemarin adalah mengalihkan output suara dari headset saya ke HDMI. Hari ini saya beralih kembali dan keretakan hilang. Mungkin akan terjadi lagi segera, saya akan mencoba untuk membunuh pulseaudio kemudian.
Hubro
Masalahnya kembali. Saya mencoba pulseaudio -kdan semua suara menghilang. Penggeser suara di Ubuntu berwarna abu-abu dan tidak ada perangkat suara dalam opsi suara. Harus reboot untuk mendapatkan suara kembali.
Hubro
Audio pulsa harus dimulai ulang sendiri, kali berikutnya Anda memiliki masalah coba sudo alsa force-reload
DeeJayh
Juga hanya mengeluarkan perintah yang pulseaudioharus memulai itu kembali untuk Anda ketika tidak pada itu sendiri.
DeeJayh
Ini bukan hambatan CPU. Saya memiliki masalah yang sama pada 4790k dengan World of Warcraft, saya tidak pernah naik di atas 30% CPU dan saya memiliki nicepada WoW dan Pulseaudio diatur ke -20. Sesuatu dalam perangkat lunak mencegah pulseaudio dari benar-benar mengisi buffer.
Jonathan Baldwin
3

Dengan game tertentu jika Anda menggunakan PlayOnLinux Anda dapat membuka peluncur dengan editor teks Anda dan mengubah Exec=baris sebagai berikut:

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

Coba solusi ini . Sebagian besar ada hubungannya dengan PulseAudio, secara pribadi saya menghapusnya dan mencobanya lagi dan underrun hilang, tetapi saya kehilangan kemampuan untuk memindahkan output audio ke sink yang berbeda. Ini cara mempertahankan pulseaudio dan ALSA bermain dengan baik satu sama lain tanpa membiarkan pulseaudio menggerogoti perangkat keras secara langsung.

allenskd
sumber
3
Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Stormvirux
Ini bukan solusi bagi siapa pun yang perlu merekam audio yang berasal dari aplikasi Wine, atau yang memberikan sedikit pun perhatian terhadap latensi (Pulse memutar dengan cepat dan longgar dengan latensi apa adanya, tetapi melempar dmix ke sana juga ...)
Jonathan Baldwin
0

Menambahkan solusi yang diperbarui seperti di atas ke

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

Aaron Williams
sumber
2
Selamat Datang di Tanya Ubuntu! Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Stormvirux
1
Setuju tapi itu hanya tweak kecil saya menambahkan (lihat komentar di bawah) untuk memperbaiki url yang disediakan dengan cukup baik
Aaron Williams
0

Setelah berjalan dengan baik, aplikasi portaudio mulai terdengar tidak menentu saat memotret kesalahan

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

SOLUSI - pertama Anda harus membunuh proses yang ada ... keluarkan cmds ini

    pulseaudio --kill

    jack_control start

Setelah Anda selesai dengan hal di atas, maka jalankan perintah berikut:

    jack_control exit

    pulseaudio --start

Sekarang aplikasi yang sama kemudian memutar audio melalui portaudio dengan baik

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
sumber