I recently tried the optical spdif output of my laptop, and found that it takes a small ammount of time (about 0.5s) before it actualy outputs the signal. This means that the first sec of so of any sound is simply cut off, for example, when i pling the windows volume control, the sound is too short to ever appear. Its not an issue with the device thats recieveing the signal, its simply that the soundcard sees fit to simply stop the optical out as soon as thers no sound to output.
I have been searching around for a fix on this for ages with no luck, its seems to be a problem that a good ammount of people are having. If its of any use il post the exact details of sound card and driver versions etc on request.
Any help would be much appreciated, its an extreemly frustrating problem
Just to clarify, as soon as the recieveing device locks on to the signal it works brilliantly, thers absolutely no audiable delay between it and the analogue output. The problem as far as i can tell is that the sound card sees fit to "unlock" the spdif stream (stop clocking it), which means that next time some sound id output, it takes a moment for the recieveing device to "lock" back on the the stream again, anyway... onto the exact details:
This is a laptop were dealing with here so the soundcard is integrated (onto the southbridge), as follows:
South Bridge: VT8237
Codec type: VT1618
Driver Version: 22.214.171.12430 (latest available from system mtfr)
The S/PDIF out is optical (mini toslink)
$ Recieveing Device
Im using a Technics SJ-MD150 minidisk deck to recieve the signal, via a standard 5M optical cable. I have ruled out the possibility of this being faulty in any way. Its able to recieve streams from other devices (CD players, consoles, etc) via optical in without problems. Im using its "Monitor" function to take in the signal, and and ouptut it to my amp via its standard analogue out (What im basicaly tryin to do here is use my minidisk deck's DAC instead of the one in my laptop)
I have done lots of experimentation, and it seems to be a case of "tricking" the soundcard to keep the spdif output active.. So, for example if i play a video in WMP, and mute the sound, this keeps the spdif output active (even though no sounds coming out) and playing any other sounds, like music thru itunes, the windows volume control plinger all work fine. I have also found that simply running quicktime, and keeping that open for some reason keeps the spdif output active and everything works fine.
The mindisk deck displays a message that tells you if it has locked onto the spdif signal, or not, and when i play a sound (from silence before) i see it briefly flicker to "unlocked" and back to /working corectly/ as it re-locks on to the stream. Its this delay thats causing the problem. I just need to find a proper way to keep the spdif output active.
Well, since this is onboard VIA audio we're talking about, and it's done mostly in software (there are some hardware functions, but the audio output algorithms are done nearly completely in software), I would expect sync to take as long as it does, unfortunately.
All of your other devices (CD Players, etc..) will have a higher quality/dedicated audio chipset (typically) to implement the signal purely in hardware, and are cabable of syncing faster.
In most cases, I would recommend to upgrade the sound device (high-end or professional cards offer much better cards, with much lower latency), but in your case, it's nearly impossible... So, in your case, I would recommend to, if at all possible, to stay with the analog output.
One more question, however: are there any other devices on the chain that could assert a clock on the line? Or are you using the laptop as the master? This could make a difference...
Other than that suggestion, there's not much else I can think of without having the hardware in front of me.
I imagine that would be insanely difficult... Id have to make my own device that would accept the spdif signal, synthesize a clock from it, so that when the laptop stops output it could keep clocking.. and then when the spdif on the laptop becomes active it will likely be out of synch with the clock running in the theoretical device!
Thers one other point tho which i didint make clear. The delay isnt cuased by the computer. The spdif signal becomes active instantly as a sound starts, no delay at all. Its just that the minidisk deck needs a half sec or so to lock onto a new signal (since the spdif has been inactive until a sound starts) If i could keep the spdif output active, the minidisk deck would never unlock from the signal (appart from, obviously when it was first turned on), and thus there would never be any delays. Im sure this is the kinda thing that could be done by a new driver.. but thers simply not a newer version available! and unfortunately i wouldnt have the first idea about how to modify the driver to achieve that functionality
As far as the theoretical device goes, I was inquiring as to any devices that are default as master, asserting a signal on the line, not to construct your own (although, it may be fun, however, insanely difficult indeed).
So, the computer is not causing a delay... it's the MiniDisc jobbie that needs to synchronize.
Yes, indeed, that would require a driver modifuckation, but I wouldn't have a clue where to start either... As I understand it, it shouldn't take much data/clock frames for synchronization to happen, so that may not be it either.
Hmm. i did some experimentation. I connected my CD players optical out to the minidisk deck, and found it will synch almost instantaneously as i plug it it in. Like the guy in the link above, i can hold the connector and simply point it in out out and the sound comes on or off *almost* instantaneously. So, maybe there is something going on with the soundcard delaying output. Although its odd because the spdif becomes active (i see the minidisk deck start to lock on the instant i play a sound) iy just takes longer to synch from the comp than from other sources. Verry odd! I wonder if maybe its outputting a nonstandard stream... According to the fairly uninformative soundcard options its outputing standard PCM... so it should be fine.. but somethings clearly amiss!. I wish there were more options to experiment with, but thers none available. I even had a peek in the ol' registry, but thers no usufull looking keys there.
I definitely agree tho, it should'nt take more than a few frames to synch, and ecven if it took tens of frames that would stilll only correspond to a minute fraction of a second of audio when were dealing with 16bit 44.1KHz.. its almost like its requiring hundreds of frames, or for some reasons having a hard time synching.
I've had similar problems, actually both good working solutions and worse ones.
Initially, when I built my computer, I recieved a small delay, I only noticed it in the first second.
However, due to many kinds of problems, I had to reinstall my copy of Windows XP and it then worked perfectly for almost two years, I don't know exactly what did this, but I believe that there could be a "power-save"-mode built-in with normal drivers, which my XP didn't have when I installed it. I only used drivers that were included in XP this time.
But now lately, I have upgraded to Vista, and my problems have reappeard.
I can't provide any solution, but my understanding is that there is nothing wrong with your hardware, since my hardware has faced both solution and problem. I strongly believe that there is a power-save function. The question is how to always let the optical light shine...
here is a little trick I use with iTunes to help with the delay.
I enable the Crossfader option and set it to 1 sec. The first song you play will still have a delay but once its over it will cross into the next song. This is ideal if you are playing a playlist but not if you are just browsing songs in your library.
in iTunes the crossfader is under Edit > Preferences > Playback then check the box and select the length of time you wish the crossfade to begin.
*Note: If you enable this on your system and have your ipod syncing auto with iTunes then you may inadvertently enable it on your ipod as well.
I think its unavoidable really. I have the same problem myself, so all windows sounds get messed up (I just turned them off eventually).
There might be a 'monitering' option avaliable (like for mic inputs) that you can use to force the channel open. In fact, if you configure a microphone to always stay on, and then assign that signal to play back into your speakers, and then mute the microphone, that might have the intended effect...
Hi all, I would like to ask if anyone had encountered the solution for this, maybe we can develop a windows service that permanently outputs some frecuency to the spdif interface (in shared mode) so it keeps the channel opened and doesn't interfere with other sounds...
Hopefully this helps. First of all, I have had this problem since day one trying to make beats in FL Studio. I always wanted a pure, digital signal @ 96Khz and could NEVER achieve this due to this annoying problem talked about here. I always resorted to analog wires, which is ok to be honest. But I never realized until JUST NOW, after reading in here.. I always had the answer to the problem, albeit a band-aid. Just turn on the monitor in your playback options for your line-in. It has no hiss (atleast on my x-fi card) which was why I ALWAYS muted everything. (I am a FREAK about noise just like any other audiophile!) Well, that supplies enough feed to keep the digital signal streaming and no more clipped sound. Just thought I would share!
Hi. I have the same problem and after reading your comments I found a solution: run a program which plays back a silence sound file all the time. The SPDIF channel stays open and Windows will mix the silence with the stuff you want to play back. I think Microsoft should add something like this by default...