Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Via SPDIF hearable sound starts late, e. g. in the Test Sound dialog I maximally can hear "Left" when the voice should say "Front Left".

When I have pavucontrol open (in the background) whilst clicking on the Test Sound it starts immediately.

Generally, starting any audio/media file, the beginning is not output/hearable. Connecting either optical or coaxial. This only seems to affect Ubuntu 12.10, wasn't the case in 12.04, doesn't seem to be the case in 13.04!

From ubuntuusers.de a bit of help -- playing a non hearable sinus to keep spdif alive:

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

Hardware on an ASRock 970 Extreme3 (and 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

Some pulseaudio -v output pasted to http://paste.ubuntu.com/5629082/

Can I upgrade from pulseaudio 2.1 somehow?

Live Ubuntu 13.04 output pasted to http://paste.ubuntu.com/5630475/ -- actually here only the very first invocation of sound (or after some long user pause?) starts delayed, ie after "... Left", "Front Right" is heard whereas in 12.10 it's always "... Left", " ... Right".

share|improve this question
1  
Can you give more information about the sound card and on what it is connected? Can you try with jackd if this the case too ? because it may be related to Pulse Audio and not to the sound card. –  ttoine Mar 19 '13 at 11:22
    
Realtek ALC892 seems to offer lots of hits in google to mine thru :/ –  type Mar 19 '13 at 22:31
    
installing the driver from the manufacturer as in community.linuxmint.com/tutorial/view/1236 didn't help either. one line reads: { .id = 0x10ec0892, .name = "ALC892", .patch = patch_alc662 }, –  type Mar 19 '13 at 23:17

3 Answers 3

up vote 2 down vote accepted

I know I'm about to revive an old thread, but I have found a easy working solution that fixes the problem.

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

To disable loading of the module-suspend-on-idle module, comment out the following line in the configuration file in use (~/.config/pulse/default.pa or /etc/pulse/default.pa):

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

Finally restart PulseAudio to apply the changes.

share|improve this answer

It sounds like power management is preventing the soundcard from outputting the first snippet of audio. From http://wiki.gentoo.org/wiki/Power_management/Soundcard, the important bits are as follows:

Runtime tuning

You can tune the driver in the sysfs filesystem under /sys/module/snd_hda_intel/parameters

The power_save_controller knob controls, if power-saving mode is enabled. It's preset by the kernel option ... power-saving ....

The power_save knob sets the time-out in seconds. It's preset by the kernel option Default time-out ...

pm-utils

pm-utils contains a script to enable the power-saving mode when on battery and disable when on AC. It overrides the default values of the kernel.

If you use pm-utils, but don't want this kind of regulation, disable the script: root # touch /etc/pm/power.d/intel-audio-powersave

From the above text, the things to try are:

  1. in the terminal, run the following and try playing audio again:

    sudo echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
    

    If audio is fine, then you need to make it permanent by adding a new file in /etc/modprobe.d/ with the following content:

    options snd_hda_intel power-saving=N
    
  2. run sudo touch /etc/pm/power.d/intel-audio-powersave and reboot

    if the fix worked then audio should play normally, if not then remove the file again:

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

If neither of these work, then I'm out of ideas :-).

share|improve this answer
    
Awesome answer, thanks a lot! Unfortunately no change yet. –  type Mar 19 '13 at 22:30

This is a general issue with SPDIF/digital out and the receiver processing the signal, etc. If there is no signal, the receiver go into an idle mode. It takes from a few to a few hundred milliseconds to begin to play the signal. The ONLY way to fix it is to cause your SPDIF output to constantly send SOME signal, thus keeping the receiver processing alive at all times. At the moment, I just solved this problem in Windows using a tiny utility some guy wrote in .NET that outputs a null signal at all times. He calls it SPDIF Keep-Alive. This keeps the signal flowing and my receiver constantly listening. I have not yet seen a way to do this for Linux, but I would imagine the support to create such a thing is EVERYWHERE. Hopefully, this has given someone an idea on what to search for or where to look next! -K9SPY

Digital audio keep-alive keep alive SPDIF Keep-Alive keep alive TOSLINK keep-alive keep alive times out goes to sleep powers down SPDIF sound delay

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.