Как рассчитать БД УЗД с учетом БД ФС - PullRequest
2 голосов
/ 16 мая 2019

Я работаю над созданием фейдера громкости с использованием веб-аудио 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 = // ???

Любой отзывбыло бы полезно.

...