home audio system

Lennart Sorensen lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at public.gmane.org
Wed Dec 18 17:13:47 UTC 2013


On Fri, Dec 13, 2013 at 06:47:43PM -0500, Stewart C. Russell wrote:
> On 13-12-13 11:26 AM, Lennart Sorensen wrote:
> > 
> > But the pi has hardware floating point.  Is it that bad or are you
> > running the wrong kind of arm linux on it?
> 
> I just re-ran a test using lame 3.99.5 on two machines:
> 
> * encoding a wav file to mp3 using 'lame -V2' on a Raspberry Pi
> (Raspbian armv6l) encoded at 2.2× real time
> 
> * the same file on my i7 laptop: 51× real time. And that was only using
> one of its cores.
> 
> While it would be nice to have the GPU as a general media encoder, we're
> not there yet. If you must encode mp3s quickly on a Raspberry Pi, there
> are a couple of options:
> 
> * Comprec - http://unimut.fsk.uni-heidelberg.de/demi/comprec/index.html
>   This uses ARM assembly language. The code is a little fiddly to
> compile, but can encode to a 128 kbit/s mp3 in ~ 6× real time
> 
> * Shine - https://github.com/savonet/shine
>   This is actually being maintained, and is portable between
> architectures. Not quite as fast as comprec, at 2.7× real time. It's
> screamingly fast on x86_64, btw.
> 
> Please note that both of these are based on the old '8hz' mp3 encoder,
> which was a fairly literal interpretation of the original Fraunhofer
> code. They only start producing okay sounding files at high bitrates.
> 
> If you need to decode mp3s quickly, MAD is pretty good:
> http://www.underbit.com/products/mad

Cortex-A15 1.5GHz (running Debian Wheezy armhf):
# lame -V 2 04-Apologize.wav 
LAME 3.99.5 32bits (http://lame.sf.net)
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding 04-Apologize.wav to 04-Apologize.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA 
  7981/7981  (100%)|    0:15/    0:15|    0:15/    0:15|   13.373x|    0:00 
 32 [  34] %*
 40 [   2] %
 48 [   4] %
 56 [   4] %
 64 [   1] %
 80 [   2] %
 96 [   4] %
112 [   2] %
128 [ 319] %*************
160 [4169] %%%%%%%%%%************************************************************************************************************************************************************************
192 [2736] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************************************************************************
224 [ 430] %%%%%%*************
256 [ 194] %%*******
320 [  80] %***
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   kbps        LR    MS  %     long switch short %
  176.3       18.7  81.3        95.4   2.4   2.2
Writing LAME Tag...done
ReplayGain: -8.6dB

Athlon64 3500+ (single core 2.2GHz) (Running Debian Sid amd64):
# lame -V 2 04-Apologize.wav 
LAME 3.99.5 64bits (http://lame.sf.net)
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding 04-Apologize.wav to 04-Apologize.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA 
  7981/7981  (100%)|    0:11/    0:11|    0:17/    0:17|   18.434x|    0:00 
 32 [  34] %*
 40 [   2] %
 48 [   3] %
 56 [   5] %
 64 [   1] %
 80 [   2] %
 96 [   4] %
112 [   3] %
128 [ 298] %*********
160 [4202] %%%%%%%%******************************************************************************************************************************
192 [2722] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*****************************************************
224 [ 443] %%%%***********
256 [ 180] %%****
320 [  82] %**
-------------------------------------------------------------------------------------------------------------------------------------------------
   kbps        LR    MS  %     long switch short %
  176.3       18.7  81.3        95.4   2.4   2.2
Writing LAME Tag...done
ReplayGain: -8.6dB

So that's not bad.  I would say the 1.5GHz arm keeps up quite well with
the 2.2GHz x86_64.  Sure it's an OLD x86_64, but still.

Maybe the ARMv6 in the Pi just is that shitty or VFPv2 versus VFPv3
makes that big a difference. :)

-- 
Len Sorensen
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list