L'uscita audio inizia in ritardo


10

Tramite SPDIF il suono udibile inizia in ritardo, ad es. Nella finestra di dialogo Test audio posso ascoltare "Sinistra" al massimo quando la voce dovrebbe dire "Sinistra anteriore".

Quando ho pavucontrolaperto (in background) mentre faccio clic su Test Sound, questo si avvia immediatamente.

Generalmente, avviando qualsiasi file audio / multimediale, l'inizio non è output / hearable. Collegamento ottico o coassiale. Questo sembra influenzare solo Ubuntu 12.10, non era il caso in 12.04, non sembra essere il caso in 13.04!

Da ubuntuusers.de un po 'di aiuto - suonare un seno non sopportabile per mantenere vivo spdif:

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

Hardware su un ASRock 970 Extreme3 ​​(e 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

Alcuni pulseaudio -voutput incollati su http://paste.ubuntu.com/5629082/

Posso aggiornare da pulseaudio 2.1 in qualche modo?

L'output di Ubuntu Live 13.04 incollato su http://paste.ubuntu.com/5630475/ - in realtà qui solo la prima invocazione del suono (o dopo una lunga pausa dell'utente?) Inizia in ritardo, cioè dopo "... Sinistra", Si sente "Front Right" mentre in 12.10 è sempre "... Left", "... Right".


1
Potete fornire ulteriori informazioni sulla scheda audio e su ciò che è collegato? Puoi provare con Jackd anche in questo caso? perché potrebbe essere correlato a Pulse Audio e non alla scheda audio.
Ttoine,

Realtek ALC892 sembra offrire molti successi su Google per il mio: /
digitare

neanche l'installazione del driver dal produttore come in community.linuxmint.com/tutorial/view/1236 . una riga riporta: {.id = 0x10ec0892, .name = "ALC892", .patch = patch_alc662},
digita il

Risposte:


27

So che sto per far rivivere un vecchio thread, ma ho trovato una soluzione semplice che risolve il problema.

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

Per disabilitare il caricamento del modulo module-suspend-on-idle, commentare la seguente riga nel file di configurazione in uso (~ / .config / pulse / default.pa o /etc/pulse/default.pa):

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

Riavvia infine PulseAudio per applicare le modifiche.


Questa è stata la risposta anche per me, ma ha un aspetto negativo. Ho alcuni programmi audio che usano ALSA per passare direttamente un particolare formato a un ricevitore home theater per la decodifica piuttosto che usare il ricampionamento a volte discutibile di PA. Funziona facilmente grazie a questa stessa funzione di sospensione.
Moilleadóir,

3

Sembra che la gestione dell'alimentazione stia impedendo alla scheda audio di emettere il primo frammento di audio. Da http://wiki.gentoo.org/wiki/Power_management/Soundcard , i bit importanti sono i seguenti:

Ottimizzazione del runtime

È possibile ottimizzare il driver nel filesystem sysfs in / sys / module / snd_hda_intel / parametri

La manopola power_save_controller controlla, se la modalità di risparmio energetico è abilitata. È preimpostato dall'opzione del kernel ... risparmio energetico ....

La manopola power_save imposta il timeout in secondi. È preimpostato dall'opzione kernel Timeout predefinito ...

pm-utils

pm-utils contiene uno script per abilitare la modalità di risparmio energetico quando sulla batteria e disabilitarla su AC. Sostituisce i valori predefiniti del kernel.

Se usi pm-utils, ma non vuoi questo tipo di regolamento, disabilita lo script: root # touch /etc/pm/power.d/intel-audio-powersave

Dal testo sopra, le cose da provare sono:

  1. nel terminale, esegui quanto segue e prova a riprodurre nuovamente l'audio:

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

    Se l'audio va bene, allora devi renderlo permanente aggiungendo un nuovo file in /etc/modprobe.d/ con il seguente contenuto:

    options snd_hda_intel power-saving=N
    
  2. eseguire sudo touch /etc/pm/power.d/intel-audio-powersavee riavviare

    se la correzione ha funzionato, l'audio dovrebbe essere riprodotto normalmente, in caso contrario rimuovere nuovamente il file:

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

Se nessuno di questi funziona, allora sono senza idee :-).


Risposta fantastica, grazie mille! Purtroppo nessun cambiamento ancora.
digitare

che tipo di "nuovo file" dovrei creare in etc / modprobe.d /?
Bhikkhu Subhuti,

1

Questo è un problema generale con SPDIF / uscita digitale e il ricevitore che elabora il segnale, ecc. Se non è presente alcun segnale, il ricevitore passa in modalità inattiva. Occorrono alcune centinaia di millisecondi per iniziare a riprodurre il segnale. L'UNICO modo per risolverlo è far sì che l'uscita SPDIF invii costantemente QUALUNQUE segnale, mantenendo in vita l'elaborazione del ricevitore in ogni momento. Al momento, ho appena risolto questo problema in Windows usando una piccola utility che un ragazzo ha scritto in .NET che emette sempre un segnale nullo. Lo chiama SPDIF Keep-Alive. Ciò mantiene il segnale che scorre e il mio ricevitore costantemente in ascolto. Non ho ancora visto un modo per farlo per Linux, ma immagino che il supporto per creare una cosa del genere sia OVUNQUE. Spero che questo abbia dato a qualcuno un'idea su cosa cercare o dove guardare dopo! -K9SPY

Audio digitale keep-alive keep alive SPDIF Keep-Alive keep alive TOSLINK keep-alive keep alive time out va in stop power down SPDIF sound delay


1
  1. Trova i file di configurazione PulseAudio che contiene load-module module-suspend-on-idlelinee:

    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. Commenta quelle righe.

  3. Riavvia PulseAudio per applicare le modifiche:

    pulseaudio -k

Appena testato su Ubuntu 17.04 e funziona benissimo.


Questo ha funzionato per me nel 19.04, ad eccezione della parte di riavvio. Ho dovuto riavviare per riavviare pulseaudio perché pulseaudio -kmi ha dato alcuni errori.
muclux,

0

La risposta accettata sul non caricamentomodule-suspend-on-idle non risolve il problema per me. Per "risolvere" questo ho dovuto lasciare un comando di silenzio continuo in esecuzione in background, vedere AGGIORNAMENTO 2 della seguente domanda:

E ho riprodotto questo problema sia negli altoparlanti interni che nei PC portatili tramite HDMI e cuffie, senza bisogno di SPDIF, su ArchLinux e Ubuntu più recenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.