Unified · Split
| @@ -0,0 +1,21 @@ | ||
| 1 | +#+TITLE: Normalized Range | |
| 2 | +In =sndkit=, a =normalized range= is any real number within | |
| 3 | +the inclusive range 0 and 1. | |
| 4 | + | |
| 5 | +Normalized ranges are ideal ways to abstract away units when | |
| 6 | +you don't want to think about them. | |
| 7 | + | |
| 8 | +Usually, values in a normalized range are destined to be | |
| 9 | +@!(ref "scale" "rescaled later")!@, such as @!(ref "oscf" | |
| 10 | +"table lookup oscillators")!@. | |
| 11 | + | |
| 12 | +In IEEE floating point, there are sometimes some numerical | |
| 13 | +advantages to keeping things in a smaller range, as values | |
| 14 | +in this range have more equidistance spacing compared to | |
| 15 | +using relatively larger values. This spacing is referred | |
| 16 | +to as the magnitude of a | |
| 17 | +[[https://en.wikipedia.org/wiki/Unit_in_the_last_place][unit in last place, or "ulp"]]. | |
| 18 | +More information about the nuances of floating point | |
| 19 | +precision can be found in =Physically Based Rendering= by | |
| 20 | +Pharr, Jakob, and Humphreys in Chapter 3.9 (Managing | |
| 21 | +Rounding Error). | |
| @@ -43,6 +43,7 @@ · 42 unmodified lines | ||
| 43 | 43 | (ww-add-link "expon" "dsp/expon.org") |
| 44 | 44 | (ww-add-link "chorus" "dsp/chorus.org") |
| 45 | 45 | (ww-add-link "bitosc" "dsp/bitosc.org") |
| 46 | +(ww-add-link "normalized_range" "doc/normalized_range.org") | |
| 46 | 47 | |
| 47 | 48 | # sync and close |
| 48 | 49 | |