May I still try to sync them using some kind of DPLL (digital phase locked loop) mechanism? Something like matching clocks and interpolating samples to try to sync them together? Do the interpolated samples get to be eligible for an aec in your opinion? Thanks, Dario> To everyone on the list: do *NOT* attempt to do echo cancellation with > signals sampled using different clocks. This will *NOT* work. Just a > 0.1% difference between the two sampling rates (it's sometimes worse > than that) means that the impulse response drifts by 8 samples every > second. There's just no way to efficiently track this. Or at least no > way that doesn't involve something 100x more complex than what I have > now. So if you want to use two different soundcards, you should either: > 1) Have professionals cards connected with a clock sync > 2) Have an atomic clock in both cards > 3) Forget about echo cancellation > > Jean-Marc
OK, I'm tired of arguing. All those who think they're going to do AEC on different un-synced cards, just go for it. However, please do not complain and/or ask questions about that on this list. AEC is already a hard enough problem when you have a sane sound setup that I see no point in trying to do anything with drifting clocks. As for soundcards with different clocks for in and out, I don't buy this. It would cost the manufacturer an extra clock *just* to make capture and playback out of sync? Now maybe Windows (or the card itself) cannot start playback and capture at the same time. That actually doesn't matter at all because it only introduces a *constant* delay between the signals. Jean-Marc Le vendredi 11 novembre 2005 ? 15:00 -0300, Dario Andrade a ?crit :> > May I still try to sync them using some kind of DPLL (digital phase locked > loop) mechanism? Something like > matching clocks and interpolating samples to try to sync them together? > Do the interpolated samples get to be eligible for an aec in your opinion? > > Thanks, > Dario > > > To everyone on the list: do *NOT* attempt to do echo cancellation with > > signals sampled using different clocks. This will *NOT* work. Just a > > 0.1% difference between the two sampling rates (it's sometimes worse > > than that) means that the impulse response drifts by 8 samples every > > second. There's just no way to efficiently track this. Or at least no > > way that doesn't involve something 100x more complex than what I have > > now. So if you want to use two different soundcards, you should either: > > 1) Have professionals cards connected with a clock sync > > 2) Have an atomic clock in both cards > > 3) Forget about echo cancellation > > > > Jean-Marc > > > _______________________________________________ > Speex-dev mailing list > Speex-dev@xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev >
Hi Jean-Marc, Jean-Marc Valin wrote:>OK, I'm tired of arguing. All those who think they're going to do AEC on >different un-synced cards, just go for it. However, please do not >complain and/or ask questions about that on this list. AEC is already a >hard enough problem when you have a sane sound setup that I see no point >in trying to do anything with drifting clocks. > >As for soundcards with different clocks for in and out, I don't buy >this. It would cost the manufacturer an extra clock *just* to make >capture and playback out of sync? Now maybe Windows (or the card itself) >cannot start playback and capture at the same time. That actually >doesn't matter at all because it only introduces a *constant* delay >between the signals. > >The multiple clocks things sounds weird at first sight. However, it does appear to be the case, and for a genuine reason. Most chips now have a SP/DIF input (whether the card exposes this or not) which needs to be in sync with the local A/D sampling. Because the card must slave to the SP/DIF for digital audio, all the analogue audio slaves too. When the digital input is not present the local PLL just free runs. It would make sense for logic on the card to say "no digital input, so lets lock to the local D/A clock" but it seems like they don't. The rest of what you said is perfectly true. Nobody has devised a form of EC that will work with free running clocks, and I cannot imagine how such a thing would ever work. Trying to re-sample the received data to a rate identified by a software PLL, while not impossible, sounds like a path to pain and misery. Regards, Steve
> > OK, I'm tired of arguing. All those who think they're going to do AEC on > different un-synced cards, just go for it. However, please do not > complain and/or ask questions about that on this list. AEC is already a > hard enough problem when you have a sane sound setup that I see no point > in trying to do anything with drifting clocks.I agree. Unfortunatelly we're stuck with PC and Microsoft.> > As for soundcards with different clocks for in and out, I don't buy > this. It would cost the manufacturer an extra clock *just* to make > capture and playback out of sync? Now maybe Windows (or the card itself) > cannot start playback and capture at the same time. That actually > doesn't matter at all because it only introduces a *constant* delay > between the signals.The thing is that in lots of cases we have different sound boards for in/out. USB microphones are very common nowadays, not to mention DV audio. I wouldn't doubt if the same soundboard had different clock for in/out, though. That would be a weird design, but what's not weird in computer design these days? Keep up with good work, Cheers, Dario Andrade> > Jean-Marc > > Le vendredi 11 novembre 2005 ? 15:00 -0300, Dario Andrade a ?crit : > > > > May I still try to sync them using some kind of DPLL (digital phase > locked > > loop) mechanism? Something like > > matching clocks and interpolating samples to try to sync them together? > > Do the interpolated samples get to be eligible for an aec in your > opinion? > > > > Thanks, > > Dario > > > > > To everyone on the list: do *NOT* attempt to do echo cancellation with > > > signals sampled using different clocks. This will *NOT* work. Just a > > > 0.1% difference between the two sampling rates (it's sometimes worse > > > than that) means that the impulse response drifts by 8 samples every > > > second. There's just no way to efficiently track this. Or at least no > > > way that doesn't involve something 100x more complex than what I have > > > now. So if you want to use two different soundcards, you should > either: > > > 1) Have professionals cards connected with a clock sync > > > 2) Have an atomic clock in both cards > > > 3) Forget about echo cancellation > > > > > > Jean-Marc > > > > > > _______________________________________________ > > Speex-dev mailing list > > Speex-dev@xiph.org > > http://lists.xiph.org/mailman/listinfo/speex-dev > >