Hi Biju --
I was mainly asking whether Benny had a proof of concept for his
suggested approach. I understand about resamplers.
The thought in my mind, though I don't know if I have the skills to
implement it, is a block placed immediately before the audio sink that
provides a buffer and measures whether it is filling or emptying over
time. That information drives a feedback loop that adjusts a rational
resampler on the input side of the buffer to keep the buffer level
constant, thus correcting for clock errors. As shown in terrible ASCII art:
Nominal 1:1
Audio-rate samples --> Rational Resampler --> Buffer --> Audio Sink
^ v
| |
^----------------<
(Adjust Int/Dec values to
maintain buffer at 50% full)
I know that block doesn't currently exist, but might be an awfully
useful thing to have.
John
----
On 06/07/2017 12:23 PM, Biju Ravindran wrote:
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
<mailto: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
<mailto:outlook....@gnu.org>> on behalf of
Moritz Luca Schmid <luca.moritz.sch...@gmail.com
<mailto: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/
<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 <mailto:Discuss-gnuradio@gnu.org>
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
<https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
<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