node-audio-mixer
Version:
PCM audio mixer with customizable parameters
21 lines (20 loc) • 817 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getScaledSample = getScaledSample;
const GetValueRange_1 = require("./GetValueRange");
function getScaledSample(value, scalingFactor, inputParams, mixerParams) {
if (inputParams.float ?? mixerParams.float) {
if (inputParams.float && mixerParams.float) {
return value;
}
if (mixerParams.float) {
const valueRange = (0, GetValueRange_1.getValueRange)(inputParams.bitDepth, false);
return value / (valueRange.max + 1);
}
if (inputParams.float) {
const valueRange = (0, GetValueRange_1.getValueRange)(mixerParams.bitDepth, false);
return value * (valueRange.max + 1);
}
}
return Math.floor(value * scalingFactor);
}