Zitat von
xaromz:
Aber es ist normalerweise immer einfacher, den Wert erst in ein Word umzuwandeln (32768 addieren), dann geht vieles einfacher, z. B. die Faktorberechnung.
Hui, das ist aber nicht ungefährlich, weil du dann bei jeder Skalierung den 0-Punkt verschiebst
.
Beispiel: du willst N Samples auf die halbe Lautstärke reduzieren, die sind aber alle 0 (also Stille). Dann kriegst du danach N Samples mit dem Wert -16384.
Code:
Y := ((X + 32768) / 2) - 32768;
((0 + 32768) / 2) - 32768 =
32768 / 2 - 32768 =
16483 - 32768 = -16384