[speex-dev] Speex 1.1.2 - Try it on ARM

MAL mal at komcept.com
Tue Nov 11 02:00:06 PST 2003



Jean-Marc Valin wrote:
> Hi,
> 
> I just released unstable version 1.1.2 that contains more fixed-point
> work. Though it's still not 100% complete, enough have been done to make
> it run in real-time on ARM. In order to do that, compile with
> --enable-fixed-point --enable-arm-asm. All narrowband modes work in
> real-time with complexity 1 (some work with higher complexity) and some
> wideband modes also work (up to ~20 kbps) at complexity 1. One thing
> that doesn't work in real-time yet though is perceptual enhancement, so
> you must turn it off for now.

Is this an option I must specify in order for it to be off, or is it off 
by default.  speexenc --help doesn't make it obvious.

> As usual, please test it and see if it breaks. I'm especially interested
> in feedback about how it behaves when decoding files that were encoded
> with a floating point version or vice versa.

Encoding on an XScale-PXA255 @ 400MHz:

First I tried narrowband, at 24kbps, with verbose output:

# time speexenc -n --bitrate 24000 --comp 1 -V test-8kHz-60sec.wav 
test-8kHz-60sec.spx
Encoding 8000 Hz audio using narrowband mode (mono)
Bitrate is use: 18200 bps
real    1m8.042s
user    0m48.240s
sys     0m11.220s

I guessed the verbose output was slowing it down, so:

# time speexenc -n --bitrate 24000 --comp 1 test-8kHz-60sec.wav 
test-8kHz-60sec.spx
Encoding 8000 Hz audio using narrowband mode (mono)
real    0m56.951s
user    0m47.190s
sys     0m9.750s

Good!  Now, to try my target bps:

# time speexenc -n --bitrate 28800 --comp 1 test-8kHz-60sec.wav 
test-8kHz-60sec.spx
real    0m57.826s
user    0m40.100s
sys     0m17.720s

Also good, though I don't really understand to shift to more system 
time, and less user time.  Also, I suspect this isn't encoding to 
exactly 28.8kbps, and by using -V I get:

I am aiming for maximum dynamic range in my recordings, so 8kHz should 
be ok, (may even increase dynamic range over 16kHz in the same 
bitrate?), but I tried it anyway:

# time speexenc -w --bitrate 28800 --comp 1 test-16kHz-60sec.wav 
test-16kHz-60sec.spx
Encoding 16000 Hz audio using wideband (sub-band CELP) mode (mono)
real    1m46.154s
user    1m22.030s
sys     0m24.120s

Nope, but reducing the bitrate to 20kbps as you said, almost cuts it:

# time speexenc -w --bitrate 20000 --comp 1 test-16kHz-60sec.wav 
test-16kHz-60sec.spx
Encoding 16000 Hz audio using wideband (sub-band CELP) mode (mono)
real    1m2.206s
user    0m41.250s
sys     0m20.960s

<p>I am going to do some acoustic tests of the 8kHz mode against the 16kHz, 
then make a decision as to whether 8kHz is sufficient.

Do you think 16kHz @ 28.8kbps will ever be possible realtime?

Many thanks for your work, it is _greatly_ appreciated here.

Regards,
MAL

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Speex-dev mailing list