音の出力が遅れる


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からアップグレードできますか?

http://paste.ubuntu.com/5630475/に貼り付けられたライブUbuntu 13.04の出力-実際にはここでは、サウンドの最初の呼び出しのみ(または、長いユーザーの一時停止の後)が遅れて開始されます。 「フロント右」が聞こえますが、12.10では常に「...左」、「...右」です。


1
サウンドカードとその接続先について詳しく教えてください。これもそうなら、あなたはjackdで試すことができますか?サウンドカードではなくPulse Audioに関連している可能性があるためです。
ttoine 2013年

Realtek ALC892はグーグルで多くのヒットを提供しているようです:/
タイプ

community.linuxmint.com/tutorial/view/1236のように、製造元からドライバーをインストールしても、効果はありませんでした。1行読み出し:{.ID = 0x10ec0892、.nameの= "ALC892"、.patchファイル= patch_alc662}
タイプ

回答:


26

古いスレッドを復活させようとしているのはわかっていますが、問題を修正する簡単で実用的な解決策を見つけました。

差出人:https : //wiki.archlinux.org/index.php/PulseAudio

module-suspend-on-idleモジュールのロードを無効にするには、使用中の構成ファイル(〜/ .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を再起動して変更を適用します。


これも私の答えでしたが、マイナス面もあります。一部のオーディオプログラムでは、PAのときどき怪しげなリサンプリングを使用するのではなく、ALSAを使用して特定のフォーマットをホームシアターレシーバーに直接渡し、デコードします。この非常に同じサスペンド機能のため、これは簡単に機能します。
Moilleadóir

3

電源管理がサウンドカードによるオーディオの最初のスニペットの出力を妨げているようです。http://wiki.gentoo.org/wiki/Power_management/Soundcard次のように、重要なビットは、次のとおりです。

ランタイム調整

/ sys / module / snd_hda_intel / parametersの下のsysfsファイルシステムでドライバーを調整できます

power_save_controllerノブは、省電力モードが有効かどうかを制御します。これは、カーネルオプション...省電力...によって事前設定されています。

power_saveノブは、タイムアウトを秒単位で設定します。これは、カーネルオプションの既定のタイムアウト...

pm-utils

pm-utilsには、バッテリー使用時に省電力モードを有効にし、AC使用時に無効にするスクリプトが含まれています。カーネルのデフォルト値を上書きします。

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 2016年

1

これは、SPDIF /デジタル出力および受信機が信号を処理するなどの一般的な問題です。信号がない場合、受信機はアイドルモードになります。信号の再生を開始するには、数ミリ秒から数百ミリ秒かかります。これを修正する唯一の方法は、SPDIF出力が常にSOME信号を送信するようにすることです。これにより、レシーバーの処理を常に維持します。現時点では、私はWindowsでこの問題を解決しました。常にヌル信号を出力する.NETで書いた小さなユーティリティを使用しています。彼はそれをSPDIFキープアライブと呼んでいます。これにより、信号が流れ続け、受信機は常にリスニングします。Linuxでこれを行う方法はまだ見ていませんが、そのようなものを作成するためのサポートはどこにでもあると思います。うまくいけば、これは誰かに何を検索するべきか、次にどこを見るべきかについてのアイデアを与えてくれました!-K9SPY

デジタルオーディオキープアライブキープアライブSPDIFキープアライブキープアライブTOSLINKキープアライブキープアライブタイムアウトがスリープ状態になると、SPDIFサウンド遅延がパワーダウンします。


1
  1. 次のload-module module-suspend-on-idle行を含むPulseAudio設定ファイルを見つけます。

    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 -kエラーが発生したため、pulseaudioを再起動するには再起動する必要がありました。
muclux

0

読み込まmodule-suspend-on-idleれないという承認された回答では、問題は解決しません。これを「修正」するには、バックグラウンドで実行中の無音コマンドを継続する必要がありました。次の質問の更新2を参照してください。

また、ラップトップの内蔵スピーカーとPCの両方で、最新のArchLinuxとUbuntuで、SPDIFを必要とせず、HDMIとヘッドフォンを介してこの問題を再現しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.