Source: https://guthlabs.ai/docs/instruments/bit-rate-file-size-for-audio-codecs-mp3-aac-flac-estimate/

instrument / verified-clean

# Bit Rate ↔ File Size for Audio Codecs (MP3/AAC/FLAC estimate)

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/bit-rate-file-size-for-audio-codecs-mp3-aac-flac-estimate/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/bit-rate-file-size-for-audio-codecs-mp3-aac-flac-estimate/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/bit-rate-file-size-for-audio-codecs-mp3-aac-flac-estimate/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/bit-rate-file-size-for-audio-codecs-mp3-aac-flac-estimate/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Audio, Music, Photography & Color

**Tranche**: tranche-5

**Evidence ID**: t5-115

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The base bitrate-duration arithmetic is standard, but the specification needs explicit input and output units, validation rules, and a separate PCM-size formula for the FLAC ratio estimate. The honest-label warning is appropriate but should state that the FLAC range is empirical and content-dependent.

### Formula and scope findings

- size = bitrate × duration ÷ 8 is correct only when bitrate is in bits per second, duration is in seconds, and the result is bytes.

- The FLAC estimate is incomplete: it needs an explicit PCM-size formula and a selected compression ratio or an output range. The stated 50–60% ratio is empirical and content-dependent, not a universal FLAC formula.

- If FLAC is selected without either a measured bitrate or PCM parameters such as sample rate, bit depth, and channel count, the file size cannot be computed from the listed inputs alone.

### Unit assumptions

- Bitrate is assumed to be measured in bits per second; values displayed as kbps must be converted using 1 kbps = 1,000 bits per second.

- Duration is assumed to be in seconds.

- The base formula outputs bytes because 8 bits = 1 byte.

- Displayed decimal file sizes use 1 MB = 1,000,000 bytes; binary sizes use 1 MiB = 1,048,576 bytes.

- The FLAC 50–60% estimate is assumed to be relative to uncompressed PCM size.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

An extreme but numerically representable input overflows ordinary JavaScript floating-point arithmetic and produces Infinity instead of a finite size. The convention probe also exposes materially different displayed values if decimal and binary bitrate or storage units are mixed.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "codec": "MP3",
    "bitrate_bps": 128000,
    "duration_seconds": 180
  },
  "expected_outputs": {
    "estimated_size_bytes": 2880000,
    "estimated_size_MB_decimal": 2.88,
    "estimated_size_MiB": 2.74658203125
  },
  "working": "size = bitrate × duration ÷ 8\n= 128,000 bits/s × 180 s ÷ 8\n= 23,040,000 bits ÷ 8\n= 2,880,000 bytes\n= 2.88 MB decimal\n= 2,880,000 ÷ 1,048,576\n= 2.74658203125 MiB"
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
