Все предыдущие ответы верны, если вы хотите технически точный или научно ценный ответ. Но если вам просто нужна общая оценка сравнительной громкости, например, если вы хотите проверить, лает ли собака или плачет ли ребенок, и хотите ли вы указать пороговое значение в дБ, тогда это сравнительно простой расчет.
Многие редакторы волновых файлов имеют вертикальный масштаб в децибелах. Там нет калибровки или эталонных измерений, просто простой расчет:
dB = 20 * log10(amplitude)
Амплитуда в этом случае выражается числом от 0 до 1, где 1 представляет максимальную амплитуду в звуковом файле. Например, если у вас есть 16-битный звуковой файл, амплитуда может доходить до 32767. Таким образом, вы просто делите семпл на 32767. (Мы работаем с абсолютными значениями, только с положительными числами.) Так что если у вас есть волна с пиками на 14731, затем:
amplitude = 14731 / 32767
= 0.44
dB = 20 * log10(0.44)
= -7.13
Но есть очень важные вещи, которые нужно учитывать, в частности, ответы других.
1) Как говорит Йорг В. Миттаг, дБ является относительным измерением. Поскольку у нас нет калибровок и эталонов, это измерение относится только к самому себе. Под этим я подразумеваю, что вы сможете увидеть, что звук в звуковом файле в этот момент на 3 дБ громче, чем в этот момент, или что этот всплеск на 5 децибел громче, чем фон. Но вы не можете знать, насколько это громко в реальной жизни, не без калибровок, на которые ссылаются другие.
2) Это также было упомянуто PaulR и user545125: поскольку вы оцениваете в соответствии с записанным звуком, вы измеряете звук только в определенном месте, где находится микрофон, смещенным в направлении, куда указывает микрофон, и фильтруется по частотной характеристике вашего оборудования. В нескольких футах человек, слушающий человеческими ушами, получит совершенно другой уровень звука и разные частоты.
3) Без калиброванного оборудования нельзя сказать, что звук составляет 60 дБ или 89 дБ или что-то еще. Все, что могут дать вам эти вычисления, - это сравнение пиков в звуковом файле с другими пиками в том же звуковом файле.
Если это все, что вы хотите, тогда все в порядке, но если вы хотите сделать что-то серьезное, например, определить, является ли уровень шума на фабрике безопасным для работников, тогда послушайте Пола, user545125 и Jörg.