Виведення звуку починається відкладено


10

Через SPDIF чутний звук починається пізно, наприклад, у діалоговому вікні «Тест звуку» я максимально чую «Ліворуч», коли голос повинен сказати «Передній лівий».

Коли я pavucontrolвідкриваю (на задньому плані), натискаючи на тестовий звук, він починається негайно.

Як правило, запускаючи будь-який аудіо / медіа-файл, початок не є вивідним / важким. Підключення або оптичного, або коаксіального. Це, мабуть, впливає на Ubuntu 12.10, не було в 12.04, схоже, не так у 13.04!

Від ubuntuusers.de трохи допомоги - відтворення непосильного синуса для збереження spdif в живих:

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

Обладнання для ASRock 970 Extreme3 ​​(та 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

Деякі pulseaudio -vвихідні дані вставлені на http://paste.ubuntu.com/5629082/

Чи можу я якось оновити з pulseaudio 2.1?

Вихід Live Ubuntu 13.04, вставлений на http://paste.ubuntu.com/5630475/ - насправді тут починається затримка лише першого виклику звуку (або після деякої тривалої паузи користувача?), Тобто після "... Зліва", "Передній правий" чути, тоді як у 12.10 це завжди "... Ліворуч", "... Праворуч".


1
Чи можете ви надати більше інформації про звукову карту та про те, що вона підключена? Ви можете спробувати з jackd, якщо це теж справа? тому що це може бути пов'язано з Pulse Audio, а не зі звуковою карткою.
ttoine

Realtek ALC892, здається, пропонує багато звернень у google до мого: /
введіть

встановлення драйвера від виробника як у community.linuxmint.com/tutorial/view/1236 також не допомогло. один рядок звучить так: {.id = 0x10ec0892, .name = "ALC892", .patch = patch_alc662},
введіть

Відповіді:


27

Я знаю, що збираюся відродити стару нитку, але я знайшов просте робоче рішення, яке вирішує проблему.

Від: https://wiki.archlinux.org/index.php/PulseAudio

Щоб вимкнути завантаження модуля призупинення роботи в режимі очікування, прокоментуйте наступний рядок у файлі конфігурації, який використовується (~ / .config / pulse / default.pa або /etc/pulse/default.pa):

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

Нарешті перезапустіть PulseAudio, щоб застосувати зміни.


Це було і для мене відповіддю, але це має і зворотний бік. У мене є кілька аудіопрограм, які використовують ALSA, щоб безпосередньо передавати певний формат у приймач домашнього кінотеатру для декодування, а не використовувати іноді химерну перестановку ПА. Це легко працює через цю саму функцію призупинення.
Moilleadóir

3

Здається, що управління живленням перешкоджає звуковій картці виводити перший фрагмент аудіо. З http://wiki.gentoo.org/wiki/Power_management/Soundcard важливими бітами є:

Налаштування часу виконання

Ви можете налаштувати драйвер у файловій системі sysfs під / sys / module / snd_hda_intel / параметрами

Ручка регулятора power_save_controller контролює режим енергозбереження. Це встановлено за допомогою параметра ядра ... економія енергії ....

Ручка power_save встановлює час очікування в секундах. Попередньо встановлено опцію ядра за замовчуванням ...

pm-утиліти

pm-utils містить сценарій, щоб увімкнути енергозберігаючий режим, коли він працює від батареї, і відключити, коли він змінено. Він переосмислює значення за замовчуванням ядра.

Якщо ви використовуєте pm-utils, але не хочете такого регулювання, відключіть скрипт: root # touch /etc/pm/power.d/intel-audio-powersave

З вищенаведеного тексту слід спробувати наступне:

  1. у терміналі запустіть наступне та спробуйте відтворити звук ще раз:

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

    Якщо звук нормальний, вам потрібно зробити його постійним, додавши новий файл у /etc/modprobe.d/ із таким вмістом:

    options snd_hda_intel power-saving=N
    
  2. запустіть sudo touch /etc/pm/power.d/intel-audio-powersaveі перезавантажте

    якщо виправлення спрацювало, то аудіо повинно нормально відтворюватись, якщо ні, то видаліть файл ще раз:

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

Якщо жодне з цих не працює, то я не маю ідеї :-).


Дивовижна відповідь, велике спасибі! На жаль, змін ще немає.
тип

який тип "нового файлу" я повинен створити в etc / modprobe.d /?
Bhikkhu Subhuti

1

Це загальна проблема із SPDIF / цифровим виходом та приймачем, що обробляє сигнал тощо. Якщо сигналу немає, приймач переходить у режим очікування. Для відтворення сигналу потрібно від кількох до декількох сотень мілісекунд. ТІЛЬКИ спосіб її виправити - це змусити ваш вихід SPDIF постійно надсилати ДЕЯКІЙ сигнал, тим самим підтримуючи обробку приймача живим весь час. На даний момент я просто вирішив цю проблему в Windows за допомогою крихітної утиліти, яку деякі хлопці написали в .NET, яка виводить нульовий сигнал у всі часи. Він називає це SPDIF Keep-Alive. Це тримає сигнал, що протікає, і мій приймач постійно слухає. Я ще не бачив способу зробити це для Linux, але я б уявив, що підтримка для створення такого поняття є ВСЕ. Сподіваємось, це дало комусь уявлення про те, що шукати або де шукати далі! -K9SPY

Цифрове аудіо "живим" залишайте в живих SPDIF "Keep-Alive" зберігайте живі


1
  1. Знайдіть конфігураційні файли PulseAudio, які містять load-module module-suspend-on-idleрядки:

    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. Прокоментуйте ці рядки.

  3. Перезапустіть PulseAudio, щоб застосувати зміни:

    pulseaudio -k

Щойно перевірена на Ubuntu 17.04, і вона працює чудово.


Це працювало для мене в 19.04, за винятком частини перезапуску. Мені довелося перезавантажуватися, щоб перезапустити pulseaudio, тому що pulseaudio -kдав мені деякі помилки.
muclux

0

Загальноприйнятий відповідь про не завантаженняmodule-suspend-on-idle не вирішити проблему для мене. Щоб "виправити" це, мені довелося залишити команду безперервної тиші, що працює у фоновому режимі, див. ОНОВЛЕННЯ 2 наступного питання:

І я відтворив цю проблему як у внутрішніх динаміках ноутбука, так і на ПК через HDMI та навушники, не потрібно SPDIF, на останніх ArchLinux та Ubuntu.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.