Hi John, I'm not aware of any gnu radio blocks available for audio synchronization.
However, you're asking about resampling: Well, resamplers do exist :) ! We've got a totally different problem, though: To resample properly, you'd need to know (or better: estimate) the clock error. On Wed, Jun 7, 2017 at 2:47 AM, John Ackermann N8UR <j...@febo.com> wrote: > Hi Benny -- > > As I mentioned in another message, I'm struggling with the RF-audio > interface now. Do you have any example code for your suggestion that I > might play with (in my mind, the idea would be an "audio synchronizer" > block that would take input at the nominal audio rate and output at the > actual rate, correcting for clock error to keep the stream flowing > smoothly). > > If a prototype exists, I'd be happy to plug it into my current app to see > what happens. > > John > ---- > > > On 06/06/2017 12:02 PM, Benny Alexandar wrote: > >> Hi Luca, >> >> >> Nice to see your progress so far. Once you have the >> DAB receiver audio listening in place, I would >> suggest to have an audio synchronization for continuous >> playback without any buffer overflow or under-runs. >> >> DAB+ audio super frame length is 120ms according to DAB+ >> standard (ETSI TS 102 563). Each audio super frame is >> carried in five consecutive logical DAB frames. >> Which means 120ms of audio is mapped to 5 DAB frames. >> >> If I add a timestamp at the receiver when the first DAB frame >> sample arrives, I can check the max latency when it comes to >> audio renderer, I mean after buffering to adjust the variable >> decoding time of compressed audio. >> >> t_D = t_A - t_B , >> where, >> t_A = time at audio out >> t_B = time at input baseband sample. >> t_D = maximum system delay. >> >> The difficulty is to estimate the slow clock drift correctly >> and separate it from the short-time channel/decoding jitter. >> >> Add a delay to buffer audio at audio out, say D, which is larger >> than max system delay. Whenever the audio reaches audio out, check the >> delay to separate the clock drift. >> >> drift = t_D - D >> >> Please let me know if you need any more details. >> >> -ben >> >> >> >> >> >> >> >> >> >> >> >> ------------------------------------------------------------------------ >> *From:* Discuss-gnuradio >> <discuss-gnuradio-bounces+ben.alex=outlook....@gnu.org> on behalf of >> Moritz Luca Schmid <luca.moritz.sch...@gmail.com> >> *Sent:* Friday, May 26, 2017 6:19:31 PM >> *To:* GNURadio Discussion List >> *Subject:* [Discuss-gnuradio] [GSoC 17] DAB: updates of the week >> >> >> Hi everyone, >> >> I just published my latest updates of my DAB project in a new blog post >> <https://dabtransceiver.wordpress.com/>. >> >> This week, I created a source block for the Fast Information Channel and >> started to build a reception chain for the Main Service Channel (where >> the audio data is transmitted). >> >> Read more about it in my post. >> >> >> Cheers >> >> Luca >> >> >> >> _______________________________________________ >> Discuss-gnuradio mailing list >> Discuss-gnuradio@gnu.org >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> >> > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > -- Regards, Biju Ravindran
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio