В файле WAV значения представлены в виде 0-1 (или от -1 до 1) в зависимости от вашего подписанного / неподписанного представления.Каждое слово (два байта), которое вы читаете, является непосредственно образцом, поэтому никакой другой обработки не требуется.В случае 8-битного представления 1 будет 256, а в случае 16-битного представления 1 будет 65536.
Если вы умножите все выборки на число, громкость увеличится.Это так просто!Чтобы преобразовать громкость до максимально возможного уровня, пропустите весь файл, чтобы узнать максимальное значение.а затем умножьте числа так, чтобы максимальное значение достигло максимального значения без переполнения.
Вы можете использовать libsndfile для обработки всех ваших семплов.WAV-файлы очень просты в использовании, но есть много комбинаций, о которых вам нужно знать.