Частота, бит на семпл, каналы и длительность полностью определяют несжатый PCM payload. Сжатие добавляет отдельный процесс. Lossy-кодеры используют постоянный, средний или переменный битрейт, а lossless-кодеры используют закономерности реальных семплов. Одинаковые PCM-параметры могут дать разные сжатые размеры.
PCM имеет фиксированную скорость
Каждый целый PCM-кадр хранит известное число байтов, и каждую секунду записывается известное число кадров. Поэтому payload можно точно спланировать до записи. Заголовки и метаданные считаются отдельно, но семплы не зависят от тишины, речи, музыки или шума.
Lossy-размер следует потоку кодера
Для настоящего постоянного битрейта произведение битрейта и времени даёт оценку payload. Переменный и средний режимы распределяют данные по-разному, а теги, frames, padding и контейнер добавляют overhead. AudioSize не придумывает пресет кодека и не утверждает равное качество при равном битрейте.
Lossless-сжатие зависит от семплов
FLAC и похожие кодеки сохраняют декодированные семплы, удаляя предсказуемую избыточность. Коэффициент зависит от сложности сигнала, шума, разрядности, связи каналов, настроек и метаданных. Фиксированный процент WAV может быть диапазоном, но не точным результатом из одних PCM-параметров.
Используйте подходящие данные
Используйте AudioSize для несжатого master payload или верхнего ориентира до сжатия. Для compressed deliverable берите настроенный битрейт кодера при фиксированном контракте или проверяйте репрезентативный закодированный файл при переменном или зависимом от контента размере. Операционный запас храните отдельно.