voice calls on N900 working (off-line) was Re: N900 modem support in 3.18-rc1
pavel at ucw.cz
Thu Nov 20 02:13:21 PST 2014
> > REed pulseaudio modules that use cmtspeech will be ready sooner than later
> > (I believe in 2-3 monts from now), see on gitorious how fast we progressed
> > with -record and -music modules. Sure, -voice module is way more
> > complicated, but lots of it is already opensourced, we just need to figure
> > out a couple of DSP algorithms(drc, agc, aec, etc) related to call quality.
> > But I don't think the driver should wait for those modules to be REed, they
> > can be used as is even now, in their closed form for testing.
> It seems there is already cmtspeech code for pulseaudio?
Yes, and it works; but see below.
> > Unfortunately all my spare time is dedicated to that PA stuff, so
> > I simply can't cleanup cmtspeech driver and send a patch for
> > upstreaming. (Pavel, what about you?)
> If somebody gets audio working with your driver and documents the
> steps needed in userland I will take care of upstreaming the driver.
I got it to work.
Ok, so realtime audio does not work due to some pulseaudio problems,
but I was able to record a (silent) call and then replay it with
pacat --rate 4000 ../../../pulseaudio2.raw
on my PC. I have yet to do some testing on the microphone side.
I'm using Debian 7 as a a base, and I suggest nfsroot.
It seems that libcmtspeechdata + pulseaudio-module-cmtspeech-n9xx is
enough to get calls to work. Now. I could not get configure on these
packages to work, so I hard-coded build scripts (mkit). You'll need to
symlink resulting .so to pulseaudio directory (see
/my/pulseaudio-module-cmtspeech-n9xx/src/cmtspeech/mkit). I leave binaries in,
since this is non-trivial to compile. Some memory allocation stuff was
missing. I faked it; it seems it is not needed in the first call.
untar in the root directory of n900. Reset n900, no need to log in
into console, connect using ssh -X root at n900.
Then go to /my/tui/ofone. Run "./run" -- that should start
pulseaudio. Run "./ofone", hit "lowlevel: online", hit "contacts",
enter phone number you want to call, hit the number, it should start
Wait a while, hit "lowlevel: hangup".
Now you should have:
you can play with pacat above, and /my/pulseaudio.log.*, which
contains stuff that needs to be fixed.
I've put the archive at
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
More information about the linux-arm-kernel