Ashhar Farhan
2008-May-23 01:11 UTC
[Speex-dev] Speex realtime encoding/decoding "Real world" usage for Windows Mobile / Symbian device
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 On 5/23/08, Jean-Marc Valin <jean-marc.valin at usherbrooke.ca> wrote:> Fabio Pietrosanti (naif) a ?crit : >> However, AMR it's not royalty free and if i need to use it on Windows >> Mobile i will need to pay a quite expensive royalty for each peace of >> software distributed (not sold, distributed!!!). > > This is exactly why I wrote Speex! > >> So, i am evaluating other codes and the only real alternative capable of >> running on a 9.6kb/s link seems to be speex. > > Correct. > >> Now, i discussed with several embedded VoIP implementators and some said >> that Speex simply does not work on mobile devices. > > There's nothing magic about "mobile devices". Either the CPU is powerful > enough or it isn't. > >> I got the feedback that Speex require too much computation power to run >> on Symbian OS and Windows Mobile devices doing encoding/decoding in >> realtime with all the Narrowband-enabled features. >> >> I crawled the mailing list archive and the internet and i was not able >> to find out a precise answer to my doubt. > > I remember several mentions on the mailing list of Speex running on > Symbian and WinCE. > >> I would like to ask for REAL WORLD experience in using Speex for >> encoding/decoding in realtime voice streams on mobile devices. > > ...as opposed to people with FAKE WORLD experience? ;-) > >> Does exists a Symbian OS product doing encoding/decoding in realtime >> with speex? >> Does exists a Windows Mobile product doing encoding/decoding in realtime >> with speex? >> Does anyone had real world experience with such kind of codec? > > Well, I know people who've used it on Symbian/ARM, TI C5X/C6X and I've > personally ported it to the Blackfin DSP. It even runs on music players > now with Rockbox and I've seen wifi phones that support it. > >> If not i understand that the speex code it's still not mature enough for >> Mobile environment VoIP and audio streaming. > > You are free to understand what you like. > > Jean-Marc > > _______________________________________________ > Speex-dev mailing list > Speex-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev >
Fabio Pietrosanti (naif)
2008-May-23 07:24 UTC
[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...) Regards, 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 >
Jean-Marc Valin
2008-May-23 07:56 UTC
[Speex-dev] Speex realtime encoding/decoding "Real world" usage for Windows Mobile / Symbian device
Fabio Pietrosanti (naif) wrote:> 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".http://www.speex.org/docs/manual/speex-manual/node5.html> 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?So there's a website that tell you whether each "mobile CPU" will be able to encode AMR-NB, AMR-WB, G.72x, ...? But mostly what I fails to understand is why you want to know about all these devices simultaneously. I mean, usually people ask either "will Speex run on my CPU X running at Y MHz?" or "what's the minimum speed to get Speex on CPU X?". Considering that the requirements for Speex vary a *lot* depending on what you're doing (narrowband vs wideband, bit-rate), there's just no way to provide the entire data for all combinations.> 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.I thought you were complaining about the cost of AMR licenses...> 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" .What number do you want??> 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".You're willing to contribute to the effort?> 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.And what is your exact question in the first place? Having a precise question will certainly reduce the cost of fining an answer.> I would suggest to : > > - create sample application doing benchmarking for > - playing speex > - recording speex > - recording/playing simultaneously > by using different complexity parameters.the testenc application mostly does that, so do speexenc/speexdec> - 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 typeHow will binaries help you? I don't have access to most platforms Speex runs on and even if I did, some have dozens of incompatible ways you can compile software on them. I've posted some binaries generated by others before, but that's the best I can do.> 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.Just created a wiki page: http://wiki.xiph.org/index.php/Speex_hardware That's probably the best place to centralise knowledge of Speex running on all kinds of hardware. If anyone does benchmarking on any CPU, please put results there. Cheers, Jean-Marc
Dennis Liu
2008-May-23 16:56 UTC
[Speex-dev] Speex realtime encoding/decoding "Real world" usage for Windows Mobile / Symbian device
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. --Dennis -----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...) Regards, 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 http://lists.xiph.org/mailman/listinfo/speex-dev
Apparently Analagous Threads
- Speex realtime encoding/decoding "Real world" usage for Windows Mobile / Symbian device
- Speex realtime encoding/decoding "Real world" usage for Windows Mobile / Symbian device
- Speex realtime encoding/decoding "Real world" usage for Windows Mobile / Symbian device
- Speex realtime encoding/decoding "Real world" usage for Windows Mobile / Symbian device
- Speex realtime encoding/decoding "Real world" usage for Windows Mobile / Symbian device