[Gta04-owner] Speex echo cancelation now working?
Radek Polak
psonek2 at seznam.cz
Sun Apr 22 00:38:12 CEST 2012
Hi Neil,
i finally got some time to look at this again.
> > I though i am reading from both of the cards in the beginning:
> > while (!terminating) {
> >
> > if (route_stream_read(&r0)) { <==== internal
>
> This read request (the first time through the loop) tells the sound device
> to
> start recording. It will collect samples for 32ms and then return the
> buffer with 256 frames it in.
>
> > blink_aux();
> > continue;
> >
> > }
> >
> > rc = route_stream_read(&r1); <==== umts
>
> Now we tell the other sound device to start recording (When the first one
> has
> already been recording for 32ms). It will collect samples for 32ms and
> then
> return a buffer with 256 frames in it.
> During this time the internal sound device was still recording and has
> another 32ms of sound buffered. But we don't look at that yet.
>
> So the time-of-recording of the two buffers we have at this point differ by
> 32ms.
i think the confusion here is how we are using the program. I guess you start
it during the call but i am starting it before the call. Could it be?
You can try run it before the call is estabilished. Both recording stream
should be started (red/green blinking AUX should indicate it) and the ages of
both streams should be then the same age. Something like this:
delay r0=5 r1=22
delay r0=256 r1=260
delay r0=6 r1=23
delay r0=256 r1=260
Btw i think i already had it the same way as you suggest in some older version
and i tried to use the while (route_stream_read(&r1)); before starting the
loop. But there is a problem that you sometimes hear some sounds (from
previous calls or music?) at the beginning of phone call.
Regards
Radek
More information about the Gta04-owner
mailing list