Output suara mulai tertunda

10

Melalui SPDIF suara yang terdengar mulai terlambat, misalnya dalam dialog Tes Suara saya maksimal dapat mendengar "Kiri" ketika suara harus mengatakan "Kiri Depan".

Ketika saya telah pavucontrolmembuka (di latar belakang) sambil mengklik Tes Suara itu dimulai segera.

Secara umum, memulai file audio / media apa pun, awalnya tidak menghasilkan / mendengar. Menghubungkan baik optik atau koaksial. Ini sepertinya hanya mempengaruhi Ubuntu 12.10, bukan itu yang terjadi di 12.04, sepertinya bukan yang terjadi di 13.04!

Dari ubuntuusers.de sedikit bantuan - memainkan sinus yang tidak dapat didengar untuk menjaga agar SPDIF tetap hidup:

apt-get install sox
play -n -c2 synth sin gain -100   # -c2 for two channels

Perangkat keras pada ASRock 970 Extreme3 ​​(dan GeForce 210):

$ cat /proc/asound/cards
 0 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfe200000 irq 16
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xfe080000 irq 25

$ cat /proc/asound/card0/codec* | grep Codec
Codec: Realtek ALC892

Beberapa pulseaudio -voutput disisipkan ke http://paste.ubuntu.com/5629082/

Bisakah saya memutakhirkan dari pulseaudio 2.1 entah bagaimana?

Keluaran langsung Ubuntu 13.04 disisipkan ke http://paste.ubuntu.com/5630475/ - sebenarnya di sini hanya permohonan suara pertama (atau setelah jeda pengguna yang lama?) Mulai tertunda, yaitu setelah "... Kiri", "Front Right" terdengar sedangkan di 12.10 selalu "... Left", "... Right".

Tipe
sumber
1
Bisakah Anda memberikan informasi lebih lanjut tentang kartu suara dan apa yang terhubung? Dapatkah Anda mencoba dengan Jackd jika ini juga terjadi? karena mungkin terkait dengan Audio Pulsa dan bukan dengan kartu suara.
ttoine
Realtek ALC892 tampaknya menawarkan banyak hits di google untuk ditambang melalui: /
ketik
menginstal driver dari pabrikan seperti pada community.linuxmint.com/tutorial/view/1236 juga tidak membantu. satu baris berbunyi: {.id = 0x10ec0892, .name = "ALC892", .patch = patch_alc662},
ketik

Jawaban:

26

Saya tahu saya akan menghidupkan kembali utas lama, tetapi saya telah menemukan solusi mudah yang memperbaiki masalah.

Dari: https://wiki.archlinux.org/index.php/PulseAudio

Untuk menonaktifkan pemuatan modul module-suspend-on-idle, beri komentar pada baris berikut dalam file konfigurasi yang digunakan (~ / .config / pulsa / default.pa atau /etc/pulse/default.pa):

### Automatically suspend sinks/sources that become idle for too long
# load-module module-suspend-on-idle

Terakhir restart PulseAudio untuk menerapkan perubahan.

Dr_Evil
sumber
Ini adalah jawaban untuk saya juga, tetapi memiliki kelemahan. Saya punya beberapa program audio yang menggunakan ALSA untuk secara langsung meneruskan format tertentu ke penerima home theater untuk decoding daripada menggunakan resampling PA yang kadang-kadang cerdik. Ini bekerja dengan mudah karena fungsi penangguhan yang sama.
Moilleadóir
3

Kedengarannya seperti manajemen daya mencegah kartu suara mengeluarkan potongan audio pertama. Dari http://wiki.gentoo.org/wiki/Power_management/Soundcard , bit-bit penting adalah sebagai berikut:

Penalaan runtime

Anda dapat menyetel driver di sistem file sysfs di / sys / module / snd_hda_intel / parameter

Tombol kenop power_save_controller mengontrol, jika mode hemat daya diaktifkan. Sudah ditentukan oleh opsi kernel ... hemat daya ....

Tombol power_save menetapkan batas waktu dalam detik. Sudah ditentukan oleh opsi kernel Time-out default ...

siang-utils

pm-utils berisi skrip untuk mengaktifkan mode hemat daya saat menggunakan baterai dan menonaktifkan saat menggunakan AC. Itu menimpa nilai default dari kernel.

Jika Anda menggunakan pm-utils, tetapi tidak menginginkan peraturan seperti ini, nonaktifkan skrip: root # touch /etc/pm/power.d/intel-audio-powersave

Dari teks di atas, hal-hal yang harus dicoba adalah:

  1. di terminal, jalankan yang berikut dan coba putar audio lagi:

    echo N | sudo tee /sys/module/snd_hda_intel/parameters/power_save_controller
    

    Jika audio baik-baik saja, maka Anda harus membuatnya permanen dengan menambahkan file baru di /etc/modprobe.d/ dengan konten berikut:

    options snd_hda_intel power-saving=N
    
  2. jalankan sudo touch /etc/pm/power.d/intel-audio-powersavedan reboot

    jika perbaikan berhasil maka audio harus diputar secara normal, jika tidak maka hapus file lagi:

    sudo rm /etc/pm/power.d/intel-audio-powersave
    

Jika tidak satu pun dari ini bekerja, maka saya kehabisan ide :-).

Daniel Llewellyn
sumber
Jawaban yang luar biasa, terima kasih banyak! Sayangnya belum ada perubahan.
ketik
jenis "file baru" apa yang seharusnya saya buat di etc / modprobe.d /?
Bhikkhu Subhuti
1

Ini adalah masalah umum dengan SPDIF / digital out dan penerima memproses sinyal, dll. Jika tidak ada sinyal, penerima masuk ke mode siaga. Dibutuhkan dari beberapa hingga beberapa ratus milidetik untuk mulai memutar sinyal. Cara HANYA untuk memperbaikinya adalah dengan menyebabkan output SPDIF Anda terus-menerus mengirim sinyal BEBERAPA, sehingga menjaga pemrosesan penerima hidup setiap saat. Saat ini, saya baru saja menyelesaikan masalah ini di Windows menggunakan utilitas kecil yang ditulis oleh beberapa pria di .NET yang menghasilkan sinyal nol setiap saat. Dia menyebutnya SPDIF Keep-Alive. Ini membuat sinyal mengalir dan penerima saya terus mendengarkan. Saya belum melihat cara untuk melakukan ini untuk Linux, tetapi saya akan membayangkan dukungan untuk membuat hal seperti itu adalah DI MANA SAJA. Semoga ini memberi seseorang ide tentang apa yang harus dicari atau ke mana harus mencari selanjutnya! -K9SPY

Audio digital tetap-hidup tetap hidup SPDIF Keep-Alive tetap hidup TOSLINK keep-hidup tetap hidup kali keluar berarti sleep power down SPDIF suara tertunda

K9SPY
sumber
1
  1. Temukan file konfigurasi PulseAudio yang berisi load-module module-suspend-on-idlebaris:

    neatsoft@desktop:~$ grep module-suspend-on-idle /etc/pulse/*
    /etc/pulse/default.pa:load-module module-suspend-on-idle
    /etc/pulse/system.pa:load-module module-suspend-on-idle
    
  2. Komentari kalimat itu.

  3. Mulai ulang PulseAudio untuk menerapkan perubahan:

    pulseaudio -k

Baru diuji pada Ubuntu 17.04 dan berfungsi dengan baik.

neatsoft
sumber
Ini bekerja untuk saya di 19,04, kecuali untuk bagian restart. Saya harus reboot untuk me-restart pulseaudio karena pulseaudio -kmemberi saya beberapa kesalahan.
muclux
0

The jawaban yang diterima tentang tidak memuatmodule-suspend-on-idle tidak memperbaiki masalah bagi saya. Untuk "memperbaiki" ini, saya harus membiarkan perintah diam terus menerus berjalan di latar belakang, lihat PEMBARUAN 2 dari pertanyaan berikut:

Dan saya telah mereproduksi masalah ini baik di speaker internal laptop dan PC melalui HDMI dan headphone, tidak perlu untuk SPDIF, di ArchLinux terbaru dan Ubuntu.

pepper_chico
sumber