Я работаю над созданием фейдера громкости с использованием веб-аудио API, который обеспечивает усиление + 12 дБ.До сих пор я рассчитывал значение dbFS
для пикового измерителя.
Как мне получить dbSPL
значение с учетом dbFS
?Насколько я понимаю, объемные фейдеры в daw используют dbSPL
, а пиковые метры используют dbFS
.Каким-то образом преобразование должно иметь место.Как мне реализовать преобразование?
что у меня пока есть:
//create random amplitude values ranging 0 to 1
let amplitudes = Array.from({ length: 16 }, (_,i) => Math.random() * 1);
//calculate average amplitude
let average = amplitudes.reduce((a, b) => a + b) / 16;
// derive dbFS of given average amplitude value
let dbFS = 20 * Math.log10(average)
//update input element value
peakMeter.value = dbFS;
Теперь я бы хотел сделать то же самое для громкости фейдера
let dbSPL = //?????
fader.value = spl
//Translate dbSPL back to dbFS then update gain value
audioNode.gain.value = // ???
Любой отзывбыло бы полезно.