marzullo maio
2007-Jun-05 10:06 UTC
[Speex-dev] Output sampling rate slightly increased. Will speex complain?
I noticed my latency is gradually increasing in my audio loopback test application. I just hear what i say, encoding and decoding on the fly. I suppose 8000 Hz for the output device is not 8000 Hz for the input one, they differs since they could refer to different time generators (i suppose...). To solve the problem i rised the output sampling rate from 8000 to 8200 Hz, and now i'm not accumulating latency anymore. The quality remains practically the same. The input sampling rate is still 8000 Hz. That's it, i just need a faster consumer (audio output) than producer (audio input). Actually i'm telling the encoder/decoder i'm sampling at 8000 Hz either for input and output. Should i tell speex i'm using this trick? Please give me some suggestions, should the speex be involved in some way? I'm not experiencing any noticeable difference through except the latency which is now constant. Could be another solution to the latency rising issue? Thanks. --------------------------------- --------------------------------- L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20070605/023cd696/attachment.html
John Miles
2007-Jun-05 13:45 UTC
[Speex-dev] Output sampling rate slightly increased. Will speexcomplain?
It is a good idea not to use sample rates other than 44100 or 48000 Hz for your final audio I/O. The chipset people just do not give a crap about rates other than that. They don't see a problem with giving you 11100 Hz when you ask for 11025, for instance, even though that's a huge problem for VoIP. Ultimately you need to be prepared to resample to one of the de-facto 'standard' rates if timing is important. -- john -----Original Message----- From: speex-dev-bounces@xiph.org [mailto:speex-dev-bounces@xiph.org]On Behalf Of marzullo maio Sent: Tuesday, June 05, 2007 10:06 AM To: speex-dev@xiph.org Subject: [Speex-dev] Output sampling rate slightly increased. Will speexcomplain? I noticed my latency is gradually increasing in my audio loopback test application. I just hear what i say, encoding and decoding on the fly. I suppose 8000 Hz for the output device is not 8000 Hz for the input one, they differs since they could refer to different time generators (i suppose...). To solve the problem i rised the output sampling rate from 8000 to 8200 Hz, and now i'm not accumulating latency anymore. The quality remains practically the same. The input sampling rate is still 8000 Hz. That's it, i just need a faster consumer (audio output) than producer (audio input). Actually i'm telling the encoder/decoder i'm sampling at 8000 Hz either for input and output. Should i tell speex i'm using this trick? Please give me some suggestions, should the speex be involved in some way? I'm not experiencing any noticeable difference through except the latency which is now constant. Could be another solution to the latency rising issue? Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20070605/a1d80e35/attachment.html
marzullo maio
2007-Jun-06 14:11 UTC
[Speex-dev] Output sampling rate slightly increased. Will speexcomplain?
Yes, i'll keep constant and egual the sampling rate on both receiver and trasmitter to avoid problems. Instead i'll play on the playback rate as Skype actually seems to do. Sometimes while talking with Skype i hear my pair audio played back very fast for some ms of time. Skype engineers may have thought: "when we've accumulated too much data in the receiver buffer, let's playback it very fast for some ms, the human brain will almost not notice it though, and if there is silence let's discard something...". Those "" above are suppositions. Anyway silence sometimes is needed, it is part of a so it's not that easy. I imagine another approach, since i realized the receiver and trasmitter will not have the same clock reference, to keep the receiver buffer level constant (and with less latency possible) i may rise and reduce the playbackrate slightly during runtime. This approach is actually working in my loopback test, but i've not tried it yet with voice over the net. I'm not noticing quality differences if i just vary the playback rate slightly (no more than 2% - 3%). This approach would just need a control on the receiver part buffer which continuously check how much it is full/empty and vary the playback rate accordingly to keep it constant. Though i maybe wrong on this approach, there could be something better out there in papers. Thanks. John Miles <jmiles@pop.net> ha scritto: It is a good idea not to use sample rates other than 44100 or 48000 Hz for your final audio I/O. The chipset people just do not give a crap about rates other than that. They don't see a problem with giving you 11100 Hz when you ask for 11025, for instance, even though that's a huge problem for VoIP. Ultimately you need to be prepared to resample to one of the de-facto 'standard' rates if timing is important. -- john -----Original Message----- From: speex-dev-bounces@xiph.org [mailto:speex-dev-bounces@xiph.org]On Behalf Of marzullo maio Sent: Tuesday, June 05, 2007 10:06 AM To: speex-dev@xiph.org Subject: [Speex-dev] Output sampling rate slightly increased. Will speexcomplain? I noticed my latency is gradually increasing in my audio loopback test application. I just hear what i say, encoding and decoding on the fly. I suppose 8000 Hz for the output device is not 8000 Hz for the input one, they differs since they could refer to different time generators (i suppose...). To solve the problem i rised the output sampling rate from 8000 to 8200 Hz, and now i'm not accumulating latency anymore. The quality remains practically the same. The input sampling rate is still 8000 Hz. That's it, i just need a faster consumer (audio output) than producer (audio input). Actually i'm telling the encoder/decoder i'm sampling at 8000 Hz either for input and output. Should i tell speex i'm using this trick? Please give me some suggestions, should the speex be involved in some way? I'm not experiencing any noticeable difference through except the latency which is now constant. Could be another solution to the latency rising issue? Thanks. _______________________________________________ Speex-dev mailing list Speex-dev@xiph.org http://lists.xiph.org/mailman/listinfo/speex-dev --------------------------------- --------------------------------- L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20070606/71361997/attachment.htm