Re: [LAD] A small article about tools for electronic musicians

From: David Olofson <david@email-addr-hidden>
Date: Sat May 01 2010 - 23:18:48 EEST

On Saturday 01 May 2010, at 20.57.36, "Tim E. Real" <termtech@email-addr-hidden>
wrote:
[...]
> I used to be fanatical about floating point (remember the co-processor
> days?) But I've grown to dislike it.
> Bankers won't use it for calculations.
> (Have you ever been stung by extra or missing pennies using a 'NUMBER'
> database field instead of a 'BCD' field? I have.)
>
> So why do we use floating point for scientific and audio work?

Dynamic range, performance and ease of use. (However, as most FPUs - apart
from SIMD implementations that generally don't have denormals at all - lack a
simple switch to disable denormals, the last point is pretty much eliminated,
I think...)

> Considering audio can have really small values, does it not lead to errors
> upon summation of signals?

Yes, and no. If you add values in the same general order of magnitude, it's
pretty much like adding integers. If you add a very small value to a very
large one, and the difference is so large that the mantissas don't overlap,
nothing happens! >:-)

> Why do we not use some sort of fixed-point computations?

I do, sometimes. ;-) However, it's a PITA, and I do it only when the code is
supposed to scale to hardware with slow FPUs or no FPUs at all. I suspect
floating point implementations would run faster on current PC/workstation CPUs
- but then again, *correct* (ie denormal handling) code may not...! I'm not
sure.

-- 
//David Olofson - Developer, Artist, Open Source Advocate
.--- Games, examples, libraries, scripting, sound, music, graphics ---.
|  http://olofson.net   http://kobodeluxe.com   http://audiality.org  |
|  http://eel.olofson.net  http://zeespace.net   http://reologica.se  |
'---------------------------------------------------------------------'
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Sun May 2 00:15:02 2010

This archive was generated by hypermail 2.1.8 : Sun May 02 2010 - 00:15:02 EEST