# WAV Volume Adjuster

> Multiplies every sample in an uncompressed PCM or IEEE-float WAV by one amplitude factor, with an optional peak scan that reduces a positive boost to available headroom. The original container is copied and only bytes in its audio data chunk are rewritten locally.

Use it: https://tessalor.com/en/audio/wav-volume-adjuster

This tool runs entirely in the browser. Nothing entered into it is uploaded.

## How it is done

1. Check that the file is a little-endian RIFF or RF64 WAVE container, then walk its padded chunk list to find exactly one fmt block and one data block. Read RF64's 64-bit data length from ds64 when required.
2. Read the channel count, sample rate, block alignment, bit depth and format tag. Unwrap WAVE_FORMAT_EXTENSIBLE only when its valid precision fills the sample container; refuse compressed codecs, big-endian RIFX and inconsistent frame widths.
3. Decode each 8-, 16-, 24- or 32-bit PCM sample, or each 32- or 64-bit IEEE-float sample, and measure the largest positive and negative amplitude. Reject non-finite float values rather than propagating NaN or infinity.
4. Convert the requested decibel change to an amplitude multiplier with multiplier = 10 raised to gain dB divided by 20. When clipping prevention is on for a boost, reduce that multiplier to the smaller signed headroom limit.
5. Copy the complete source file in bounded pieces. In the copy's data chunk, multiply each channel sample by the same factor, round integer PCM symmetrically to the nearest code, and clamp any over-range result at digital full scale.
6. Report the actual gain, measured peaks, number of samples that required limiting and unchanged duration. Offer the copied container as a separate WAV download; the source file remains untouched.

## Assumptions

- Supported audio is little-endian integer PCM at 8, 16, 24 or 32 bits, or IEEE float at 32 or 64 bits. Compressed WAV codecs and big-endian RIFX require a decoder or byte-order conversion and are refused.
- WAVE_FORMAT_EXTENSIBLE is supported when its valid-bit count is zero or equals the container width. Reduced-precision samples such as 24 valid bits left-aligned in 32-bit containers are refused rather than interpreted by guesswork.
- The same constant factor is applied to every sample in every channel, preserving channel balance and relative dynamics. This is peak gain adjustment, not LUFS loudness normalisation, compression, limiting over time, resampling or dithering.
- Peak prevention caps only a requested positive gain. If an IEEE-float source is already outside the nominal -1 to +1 range, the applied boost becomes 0 dB and those existing over-range samples are still clamped and counted; the tool does not silently turn a boost into attenuation.
- Integer PCM is rounded to its nearest representable sample code after multiplication. At half-way cases, equal positive and negative magnitudes round away from zero so the operation does not introduce sign-dependent rounding.
- RIFF chunks and their positions remain byte-for-byte unchanged outside the data payload. That keeps cues and channel metadata in place, but any embedded peak, loudness, checksum or analysis metadata can describe the old samples and is not recalculated.
- Input is capped at 100 MB. The browser holds the source and copied output at once, while the scan, copy and rewrite loops yield in bounded pieces so progress and Cancel remain responsive.

## Inputs

| Name | Label | Type | Default | Range |
| --- | --- | --- | --- | --- |
| `source` | WAV audio | file | chosen on your device | audio/wav, audio/x-wav, audio/wave, audio/vnd.wave, up to 100 MB |
| `gainDb` | Volume change (dB) | number | -3 | -60 to 24 |
| `preventClipping` | Reduce positive gain to prevent new clipping | toggle | true |  |

## Outputs

- `gainApplied` — Gain applied (dB) (number), primary
- `peakBefore` — Peak before (percent)
- `peakAfter` — Peak after (percent)
- `clippedSamples` — Samples limited at full scale (integer)
- `durationSeconds` — Duration (seconds) (number)

## Questions

### Does changing WAV volume upload or compress the recording?

No. The browser reads and rewrites uncompressed sample values locally, then offers a separate WAV download. It does not use a lossy codec, resample the audio or send the file to a server.

### What does minus 6 dB do to a WAV waveform?

A change of -6.0206 dB multiplies every sample amplitude by exactly one half. Perceived loudness does not necessarily sound exactly half as loud; this tool changes sample amplitude, not psychoacoustic loudness in LUFS.

### How does the tool prevent clipping when I make a WAV louder?

It first measures the largest positive and negative sample, calculates the constant multiplier each side can accept before full scale, and caps the requested boost at the smaller limit. It does not use a time-varying limiter or change the waveform's relative dynamics.

### Why does the applied gain differ from the gain I requested?

The source peak left less digital headroom than the requested boost needed and clipping prevention was enabled. The result shows the actual constant gain, while disabling protection applies the request and counts samples that had to be clamped.

### Does WAV gain adjustment change stereo balance or duration?

No. The same multiplier is used for every channel, and the sample count, sample rate and channel layout do not change. The duration and positions of existing cue markers therefore stay fixed.

### Is all WAV metadata still accurate after the volume change?

Every non-audio byte is preserved, which keeps structural and positional metadata in place. However, stored peak, loudness, checksum or analysis figures can describe the old waveform; recalculate those in a metadata- aware audio editor when they are part of a delivery specification.

## Sources

- [Resource Interchange File Format (RIFF)](https://learn.microsoft.com/en-us/windows/win32/xaudio2/resource-interchange-file-format--riff-) — Microsoft, applies to Windows audio file containers. Retrieved 2026-08-01.
- [RFC 2361: WAVE and AVI Codec Registries](https://www.rfc-editor.org/info/rfc2361/) — RFC Editor / Internet Engineering Task Force, applies to Informational RFC, June 1998. Retrieved 2026-08-01.
- [Extensible Wave-Format Descriptors](https://learn.microsoft.com/en-us/windows-hardware/drivers/audio/extensible-wave-format-descriptors) — Microsoft, applies to WAVE_FORMAT_EXTENSIBLE. Retrieved 2026-08-01.
- [NIST Guide to the SI, Chapter 8](https://www.nist.gov/pml/special-publication-811/nist-guide-si-chapter-8) — National Institute of Standards and Technology, applies to Logarithmic amplitude ratios. Retrieved 2026-08-01.

## Variants

- [How do I make a WAV file quieter without uploading it?](https://tessalor.com/en/audio/wav-volume-adjuster/make-wav-file-quieter-without-uploading)
- [How do I increase WAV volume without clipping?](https://tessalor.com/en/audio/wav-volume-adjuster/increase-wav-volume-without-clipping)

---

Estimate, not advice. See https://tessalor.com/en/disclaimer.
Machine-readable catalogue: https://tessalor.com/api/tools.json
