QtMoko audio state work

Radek Polak psonek2 at seznam.cz
Sat Dec 1 20:23:25 CET 2012

On Saturday, December 01, 2012 06:15:04 PM Neil Jerram wrote:

> Given that, I think it's worth me writing a bit more about where/how my
> work is going, and there's one bugfix below that you should cherry-pick:
> please look for "While doing that I noticed a bug".  Apart from that
> bugfix I don't want to make any assumptions about what time you have to
> consider this, so please feel free to leave the rest of this hanging for
> now.  But if you do have time and thoughts I'm sure those would be
> useful, and in any case it's helpful for me to lay out my thoughts.

Hmm i plan some relaxing now ;-)

> But after that, the integrated pulseaudio in-call audio routing seems to
> work.  Of course I'll be more confident about it if I can have a week of
> it working every time...

Very nice.

> While doing that I noticed a bug in my previous "Rework ALSA state /
> QAudioState handling" commit: it will call gsmVoiceStart() and
> gsmVoiceStop() even for A4 devices.  That's fixed by
> https://github.com/neiljerram/qtmoko/commit/a362c431531d6b75fcb1894c60e0215
> 88ea50d44
> so that's one commit that you _should_ cherry-pick.


> Next what I'd like to do is to make everything louder!

yup, that would be nice

> There are 3
> things that aren't loud enough at the moment:
> a) the ringtone
> b) the in-call audio that I hear from the other person
> c) the in-call audio that the other person hears from me.
> (b) and (c) depend on good echo cancellation, and I'm hoping
> pulseaudio's module-echo-cancel will do that for me.  I think I can test
> that, without needing lots of phone calls, simply by playing something
> (from file) through the earpiece or speaker and simultaneously recording
> from the microphone.  If that works well, we can then just increase all
> the volumes in the state files.
> (BTW I think that the Speex echo cancellation in gta04-gsm-voice-routing
> was less effective because of the playback buffer being 4 times the
> frame size.  This means that when the code sends frame X to ALSA for
> playback, frame X doesn't actually start playing until 3 cycles later.
> Therefore we can't immediately use frame X to cancel echo in the
> microphone sound that we're capturing _now_.  I wonder if there was a
> time when the code had buffer size = frame size, and the buffer size was
> later increased?)

Hmm it was long time ago. IIRC with small buffer size it was not working - but 
i cant recall the details. :(

> Finally, if all of the above works, we can look at whether it all
> _still_ works with the squeeze version of pulseaudio.
> Hopefully eventually the software audio routing can be good enough for
> A3 audio quality to be on a par with A4.

Yes that would be nice. And even A4 could benefit this - e.g. for recording 
phone calls.



More information about the community mailing list