사운드 출력이 지연되기 시작합니다


10

SPDIF를 통해들을 수있는 소리가 늦게 시작됩니다. 예를 들어 Test Sound 대화 상자에서 음성이 "Front Left"라고 말하면 "Left"를 최대한들을 수 있습니다.

내가있을 때 pavucontrol테스트 사운드에 클릭 동안 (배경) 개방 즉시 시작됩니다.

일반적으로 오디오 / 미디어 파일을 시작하면 시작 / 출력이되지 않습니다. 광학 또는 동축 연결. 이것은 우분투 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에서 업그레이드 할 수 있습니까?

라이브 우분투 13.04 출력은 http://paste.ubuntu.com/5630475/에 붙여 넣습니다 . 실제로 여기에서 첫 번째 사운드 호출 (또는 일부 사용자 일시 중지 후) 만 지연되기 시작합니다 (예 : "... Left"후). 12.10에서는 "Front Right"가 들리는 반면 항상 "... Left", "... Right"입니다.


1
사운드 카드 및 연결된 사운드 카드에 대한 자세한 정보를 제공 할 수 있습니까? 이 경우에도 jackd로 시도 할 수 있습니까? 사운드 카드가 아닌 펄스 오디오와 관련이있을 수 있기 때문입니다.
ttoine

/ : 리얼텍 ALC892를 통해 광산에 구글의 히트 제안을 많이 보인다
유형

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를 사용하여 PA의 때로는 엉뚱한 리샘플링을 사용하는 대신 디코딩을 위해 특정 형식을 홈 시어터 수신기로 직접 전달합니다. 이것은 매우 동일한 일시 중단 기능 때문에 쉽게 작동합니다.
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에는 배터리 사용시 절전 모드를 활성화하고 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

1

이것은 SPDIF / 디지털 출력 및 수신기가 신호를 처리하는 등의 일반적인 문제입니다. 신호가 없으면 수신기가 유휴 모드로 전환됩니다. 신호 재생을 시작하는 데 몇 ~ 수백 밀리 초가 걸립니다. 이를 해결하는 유일한 방법은 SPDIF 출력이 지속적으로 SOME 신호를 보내도록하여 수신기 처리를 항상 활성 상태로 유지하는 것입니다. 현재 방금 null 신호를 출력하는 .NET에서 작성한 작은 유틸리티를 사용하여 Windows 에서이 문제를 해결했습니다. 그는 그것을 SPDIF Keep-Alive라고 부릅니다. 이렇게하면 신호가 계속 흐르고 수신기가 계속 듣습니다. 나는 리눅스에서 이것을 할 수있는 방법을 아직 보지 못했지만 그런 것을 창조하는 지원은 어디에서나 상상할 것이다. 바라건대, 이것은 무엇을 찾을 지 또는 다음에 볼지에 대한 아이디어를 누군가에게 제공했습니다! -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

우분투 17.04에서 방금 테스트되었으며 정상적으로 작동합니다.


이것은 재시작 부분을 제외하고 19.04에서 나를 위해 일했습니다. 펄스 오디오를 다시 시작하기 위해 재부팅해야했기 때문에 pulseaudio -k오류가 발생했습니다.
muclux

0

하지 로딩에 대한 허용 대답은module-suspend-on-idle 나를 위해 문제가 해결되지 않습니다. 이를 "수정"하려면 백그라운드에서 연속 무음 명령을 실행해야 합니다. 다음 질문의 업데이트 2 를 참조하십시오 .

그리고 최신 ArchLinux 및 Ubuntu에서 SPDIF가 필요없는 HDMI 및 헤드폰을 통해 랩톱의 내부 스피커와 PC 모두 에서이 문제를 재현했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.