pfarrell;495433 Wrote: 
> Making 16/48 out of 24/96 is trivial, any embedded processor can do
> that, just throw away every other sample, and truncate them all to 16
> bits using a shift-right by eight instruction.
I see you've already responded to the issue that dither should be added
when truncating.

There's another issue that makes 24/96 -> 16/48 difficult for an
embedded processor (far more difficult than the dithering requirement).
You need to lowpass filter the signal before resampling, and that
requires more CPU power than a typical embedded system can provide. You
can't just throw away every other sample - if the 96kHz data has
anything above 24kHz, you'll get aliasing.

The SB3 used to do exactly this - throw away every other sample. It got
away with it because the overwhelming majority of 96kHz audio files
contain little if anything above 24kHz anyway, so the aliasing artefacts
were at a very low level. In the context of SqueezeCenter running on a
low power CPU (eg. a NAS), I think it was a sensible pragmatic
compromise. At some point Sean seems to have decided it wasn't
acceptable, and later SB3 firmwares removed the capability, relying
instead on SOX on the server.


-- 
cliveb

Transporter -> ATC SCM100A
------------------------------------------------------------------------
cliveb's Profile: http://forums.slimdevices.com/member.php?userid=348
View this thread: http://forums.slimdevices.com/showthread.php?t=72414

_______________________________________________
discuss mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/discuss

Reply via email to