16 lines
430 B
TypeScript
16 lines
430 B
TypeScript
// Metro module 4638 (f4639).
|
|
export function perceptualToAmplitude(a0, r7 = 100) {
|
|
if (a0 === 0) {
|
|
return 0;
|
|
}
|
|
const r10 = a0 / r7;
|
|
return (r10 < 1 ? Math.pow(r10, 2.8) : Math.pow(10, 6 * (r10 - 1) / 20)) * r7;
|
|
}
|
|
export function amplitudeToPerceptual(a0, r6 = 100) {
|
|
if (a0 === 0) {
|
|
return 0;
|
|
}
|
|
const r9 = a0 / r6;
|
|
return (r9 < 1 ? Math.pow(r9, 0.35714285714285715) : 20 * Math.log10(r9) / 6 + 1) * r6;
|
|
}
|