[Speex-dev] Speex realtime encoding/decoding "Real world" usage for Windows Mobile / Symbian device

Dennis Liu dennis.liu at mobidia.com
Fri May 23 09:56:22 PDT 2008

Hi all,

I'd like to share my experience here about Speex application, although I've
posted before.

I've ported Speex Codec to our mobile application as an option successfully.
The platform is HTC dash, OS is WM5/6. Since it does take a lot CPU load,
you need put the effort to do code optimization. Also you need to compromise
audio quality, bitrate and CPU time.

As the result, I'm able to run realtime audio encoding/decoding on mobile
device. As the same quality level as GSM (encoded data size will be half of
GSM, so you can save your bandwidth), the CPU time increased about 20%.

As a free audio codec, Speex is a good option for mobile application.

Hopefully that helps.


-----Original Message-----
From: speex-dev-bounces at xiph.org [mailto:speex-dev-bounces at xiph.org] On
Behalf Of Fabio Pietrosanti (naif)
Sent: Friday, May 23, 2008 12:24 AM
To: speex-dev at xiph.org
Subject: Re: [Speex-dev] Speex realtime encoding/decoding "Real world" usage
for Windows Mobile / Symbian device

Hi all,

i am not criticizing the technology itself, but the fact that from the 
point of view of the implementator that need to make a technological 
choice while selecting a codec to be used for a mobile multimedia 
application, speex does not provide affordable informations on 
"supported platform".

Without arranging a test bed with a lot of devices and spending a lot of 
money i would not be able to know:

If i get on www.s60.com the list of Symbian 9 S60 3rd edition devices, 
which have enough powerful cpu to do realtime encoding/decoding?
If i go on www.htc.com and get the list of their Windows Mobile based 
devices, which have enough powerful cpu do do realtime encoding/decoding?

I know that speex can compile on Symbian and Windows Mobile but i am not 
able to know on which "hardware platform" (running the 85% of mobile 
device operating systems) it will work.

At the end of this most application developer for Symbian will choose to 
use AMR because they are sure that "it work".

The only method i have to make such decision would be to spend a lot of 
money in order to test it on several cpu/hardware platform.

While choosing the technology i am not able to take the "risk" of 
selecting a technology that "run on symbian" but "run on ??? number of 
device" and "run on Windows mobile" but "run on ??? number of device" .

That's my main concern while selecting speex and i think that the 
community itself should make some effort (organized) in order to gather 
data and test cases (in a distributed way) about "on which platform 
speex run".

After my post i received some email privately stating about custom ARM 
assembly enhancements  that give 25% less cpu power, while others are 
providing suggestion to use the RVCT ARM compiler 
(http://www.arm.com/products/DevTools/RVCT.html) .

Still, i am not able to answer my question and i am not sure whether 
it's best to pay AMR royalties or invest and risk on free speex codec.

I would suggest to :

- create sample application doing benchmarking for
  - playing speex
  - recording speex
  - recording/playing simultaneously
  by using different complexity parameters.

- release binaries of the sample applications for Windows Mobile and 
Symbian OS
  - compiled with GCC
    - for different cpu type
  - compiled with RVCT
    - for different cpu type

Then startup a community oriented project where people are able to 
contribute by "uploading" log files of the benchmarking application.
We can leaverage community oriented website of Symbian development and 
Windows development in order to have a lot of people testing the sample 
application on different devices and uploading their log files.

What do you think about this approach? (it's just an idea eh...)

Fabio Pietrosanti

Ashhar Farhan wrote:
> hi all,
> I can claim that our hotfoon service has run millions of mobile voip
> minutes using speex on mobile and desktops. it works!
> earlier you needed more powerful cpus (until the integer port),
> however now the cpus are much faster and the code complexity is much
> lower.
> my only regret is of not being able to write some demo apps for speex
> on win mob. I will surely deliver it in june to settle this debate.
> - farhan

Speex-dev mailing list
Speex-dev at xiph.org

More information about the Speex-dev mailing list