Đầu ra âm thanh bắt đầu bị trì hoãn


10

Qua SPDIF, âm thanh có thể phát ra bắt đầu muộn, ví dụ như trong hộp thoại Kiểm tra âm thanh, tôi có thể nghe "Trái" tối đa khi giọng nói sẽ nói "Phía trước bên trái".

Khi tôi pavucontrolmở (ở chế độ nền) trong khi nhấp vào Âm thanh thử, nó sẽ bắt đầu ngay lập tức.

Nói chung, bắt đầu bất kỳ tập tin âm thanh / phương tiện, bắt đầu không phải là đầu ra / chịu được. Kết nối quang hoặc đồng trục. Điều này dường như chỉ ảnh hưởng đến Ubuntu 12.10, không phải là trường hợp trong 12.04, dường như không phải là trường hợp trong 13.04!

Từ ubfoxusers.de một chút trợ giúp - chơi một xoang không thể chịu được để giữ cho spdif sống:

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

Phần cứng trên ASRock 970 Extreme3 ​​(và 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

Một số pulseaudio -vđầu ra được dán vào http://paste.ubfox.com/5629082/

Tôi có thể nâng cấp từ pulseaudio 2.1 bằng cách nào đó không?

Đầu ra Ubuntu 13.04 trực tiếp được dán vào http://paste.ubfox.com/5630475/ - thực sự ở đây chỉ có lần gọi đầu tiên của âm thanh (hoặc sau khi một số người dùng tạm dừng lâu?) Bắt đầu bị trì hoãn, tức là sau "... Còn lại", "Front Right" được nghe trong khi 12.10 luôn luôn là "... Left", "... Right".


1
Bạn có thể cung cấp thêm thông tin về card âm thanh và về những gì nó được kết nối? Bạn có thể thử với jackd nếu trường hợp này quá? bởi vì nó có thể liên quan đến Pulse Audio và không liên quan đến card âm thanh.
ttoine

Realtek ALC892 dường như cung cấp rất nhiều lượt truy cập trong google để khai thác: /

cài đặt trình điều khiển từ nhà sản xuất như trong cộng đồng.linuxmint.com / tutorial / view / 1236 cũng không giúp được gì. một dòng đọc: {.id = 0x10ec0892, .name = "ALC892", .patch = patch_alc662},
nhập

Câu trả lời:


26

Tôi biết tôi sắp sửa hồi sinh một chủ đề cũ, nhưng tôi đã tìm thấy một giải pháp làm việc dễ dàng để khắc phục vấn đề.

Từ: https://wiki.archlinux.org/index.php/PulseAudio

Để vô hiệu hóa việc tải mô-đun tạm dừng mô-đun, hãy nhận xét dòng sau trong tệp cấu hình đang sử dụng (~ / .config / Pulse / default.pa hoặc /etc/pulse/default.pa):

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

Cuối cùng khởi động lại PulseAudio để áp dụng các thay đổi.


Đây cũng là câu trả lời cho tôi, nhưng nó có một nhược điểm. Tôi có một số chương trình âm thanh sử dụng ALSA để truyền trực tiếp một định dạng cụ thể đến máy thu tại nhà để giải mã thay vì sử dụng công cụ chỉnh sửa đôi khi của PA. Điều này hoạt động dễ dàng vì chức năng đình chỉ rất giống nhau này.
Moilleadóir

3

Có vẻ như quản lý năng lượng đang ngăn không cho soundcard xuất ra đoạn âm thanh đầu tiên. Từ http://wiki.gentoo.org/wiki/Power_manler/Soundcard , các bit quan trọng như sau:

Điều chỉnh thời gian chạy

Bạn có thể điều chỉnh trình điều khiển trong hệ thống tập tin sysfs dưới / sys / module / snd_hda_intel / tham số

Các nút điều khiển power_save_controll, nếu chế độ tiết kiệm năng lượng được bật. Nó được cài sẵn bởi tùy chọn kernel ... tiết kiệm năng lượng ....

Núm power_save đặt thời gian chờ tính bằng giây. Nó được cài sẵn bởi tùy chọn kernel Hết thời gian mặc định ...

dụng cụ chiều

pm-utils chứa tập lệnh để bật chế độ tiết kiệm năng lượng khi sử dụng pin và tắt khi bật AC. Nó ghi đè các giá trị mặc định của kernel.

Nếu bạn sử dụng pm-utils, nhưng không muốn loại quy định này, hãy tắt tập lệnh: root # touch /etc/pm/power.d/intel-audio-powersave

Từ văn bản trên, những điều cần thử là:

  1. trong thiết bị đầu cuối, chạy phần sau và thử phát lại âm thanh:

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

    Nếu âm thanh vẫn ổn, thì bạn cần phải làm cho nó vĩnh viễn bằng cách thêm một tệp mới vào /etc/modprobe.d/ với nội dung sau:

    options snd_hda_intel power-saving=N
    
  2. chạy sudo touch /etc/pm/power.d/intel-audio-powersavevà khởi động lại

    Nếu sửa lỗi hoạt động thì âm thanh sẽ phát bình thường, nếu không thì xóa tệp lại:

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

Nếu cả hai đều không hoạt động, thì tôi không có ý tưởng :-).


Câu trả lời tuyệt vời, cảm ơn rất nhiều! Thật không may, không có thay đổi nào.

Tôi nên tạo loại "tập tin mới" nào trong vv / modprobe.d /?
Tỳ kheo Subhuti

1

Đây là một vấn đề chung với SPDIF / đầu ra kỹ thuật số và bộ thu xử lý tín hiệu, v.v ... Nếu không có tín hiệu, bộ thu sẽ chuyển sang chế độ không tải. Phải mất từ ​​vài đến vài trăm mili giây để bắt đầu phát tín hiệu. Cách duy nhất để khắc phục nó là làm cho đầu ra SPDIF của bạn liên tục gửi tín hiệu MỘT SỐ, do đó giữ cho bộ thu xử lý luôn tồn tại. Hiện tại, tôi vừa giải quyết vấn đề này trong Windows bằng một tiện ích nhỏ mà một người nào đó đã viết bằng .NET phát ra tín hiệu null mọi lúc. Ông gọi nó là SPDIF Keep-Alive. Điều này giữ cho tín hiệu chảy và máy thu của tôi liên tục lắng nghe. Tôi chưa thấy một cách nào để làm điều này cho Linux, nhưng tôi sẽ tưởng tượng sự hỗ trợ để tạo ra một thứ như vậy là MỌI NƠI. Hy vọng rằng, điều này đã cho ai đó một ý tưởng về những gì cần tìm kiếm hoặc nơi để tìm tiếp theo! -K9SPY

Âm thanh kỹ thuật số duy trì sự sống còn SPDIF Keep-Alive giữ cho cuộc sống ToshLINK tiếp tục duy trì thời gian sống để chuyển sang chế độ ngủ làm giảm độ trễ âm thanh SPDIF


1
  1. Tìm tập tin cấu hình PulseAudio có chứa load-module module-suspend-on-idlecác dòng:

    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. Nhận xét những dòng đó.

  3. Khởi động lại PulseAudio để áp dụng các thay đổi:

    pulseaudio -k

Chỉ cần thử nghiệm trên Ubuntu 17.04 và nó hoạt động tốt.


Điều này làm việc cho tôi vào ngày 19.04, ngoại trừ phần khởi động lại. Tôi đã phải khởi động lại để khởi động lại pulseaudio vì pulseaudio -kđã cho tôi một số lỗi.
muclux

0

Các câu trả lời được chấp nhận về việc không tảimodule-suspend-on-idle không khắc phục vấn đề đối với tôi. Để "khắc phục" điều này, tôi phải để một lệnh im lặng liên tục chạy trong nền, xem CẬP NHẬT 2 của câu hỏi sau:

Và tôi đã tái tạo vấn đề này cả ở loa trong và PC của máy tính xách tay thông qua HDMI và tai nghe, không cần SPDIF, trên ArchLinux và Ubuntu mới nhất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.