happytails.ai

Audiobook mastering checker

Open Audiobook mastering checker on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.

Tool capabilities

{
  "id": "audiobook-mastering-checker",
  "category": "media-tools",
  "built": true,
  "requirements": "Up to 8 files at once, each up to 256 MiB, 10 minutes, 8 channels and 60 million samples, with at most 512 MiB and 120 million samples in total. Each file needs at least 500 milliseconds of audio. RMS limits from -60 to 0 dBFS, peak limit from -30 to 0, noise floor limit from -120 to -20 dBFS, silence limits from 0 to 30 seconds and a silence threshold from -90 to -30 dBFS. WAV is read directly with every channel and sample intact. MP3, M4A, AAC, FLAC, OGG, Opus and WebM are decoded by your browser and resampled to 48 kHz first, so decoding support depends on the browser. Files are decoded and measured on your device and are never uploaded. Downloads: JSON report per file and a CSV of every check with measured value, unit, limits and result.",
  "implementation": {
    "fields": [
      {
        "key": "rmsMin",
        "label": "Lowest RMS level (dBFS)",
        "value": "-23",
        "type": "number",
        "min": -60,
        "max": 0,
        "step": 0.1
      },
      {
        "key": "rmsMax",
        "label": "Highest RMS level (dBFS)",
        "value": "-18",
        "type": "number",
        "min": -60,
        "max": 0,
        "step": 0.1
      },
      {
        "key": "peakMax",
        "label": "Highest peak (dBFS or dBTP)",
        "value": "-3",
        "type": "number",
        "min": -30,
        "max": 0,
        "step": 0.1
      },
      {
        "key": "peakMode",
        "label": "Peak measurement",
        "value": "sample",
        "type": "select",
        "values": [
          "sample",
          "true"
        ],
        "labels": {
          "sample": "Sample peak",
          "true": "True peak"
        }
      },
      {
        "key": "noiseFloorMax",
        "label": "Highest noise floor (dBFS)",
        "value": "-60",
        "type": "number",
        "min": -120,
        "max": -20,
        "step": 0.1
      },
      {
        "key": "headSilenceMin",
        "label": "Shortest opening silence (seconds)",
        "value": "0.5",
        "type": "number",
        "min": 0,
        "max": 30,
        "step": 0.01
      },
      {
        "key": "headSilenceMax",
        "label": "Longest opening silence (seconds)",
        "value": "1",
        "type": "number",
        "min": 0,
        "max": 30,
        "step": 0.01
      },
      {
        "key": "tailSilenceMin",
        "label": "Shortest closing silence (seconds)",
        "value": "1",
        "type": "number",
        "min": 0,
        "max": 30,
        "step": 0.01
      },
      {
        "key": "tailSilenceMax",
        "label": "Longest closing silence (seconds)",
        "value": "5",
        "type": "number",
        "min": 0,
        "max": 30,
        "step": 0.01
      },
      {
        "key": "silenceThreshold",
        "label": "Silence threshold (dBFS)",
        "value": "-60",
        "type": "number",
        "min": -90,
        "max": -30,
        "step": 1
      },
      {
        "key": "sampleRate",
        "label": "Required sample rate (Hz)",
        "value": "44100",
        "type": "select",
        "values": [
          "44100",
          "48000",
          "22050",
          "96000",
          "any"
        ]
      },
      {
        "key": "channels",
        "label": "Required channels",
        "value": "any",
        "type": "select",
        "values": [
          "any",
          "mono",
          "stereo"
        ]
      }
    ],
    "registrationFamily": "audio-pcm-measurement",
    "presentation": "metrics",
    "files": true,
    "input": false,
    "accept": ".wav,.mp3,.m4a,.aac,.flac,.ogg,.oga,.opus,.webm,audio/*",
    "maxFileBytes": 268435456,
    "inputErrorCode": "AUDIO_PCM_MEASUREMENT_TOO_LONG",
    "multiple": true,
    "note": "Runs locally in your browser. Checks up to 8 recordings, each up to 10 minutes and 256 MiB, against the specification you enter.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Audio files",
      "placeholder": "Choose up to 8 WAV, MP3, M4A, FLAC or OGG chapter files",
      "help": "Enter your specification in the settings below. Up to 1,000,000 characters. Review the settings before running.",
      "helpParts": [
        "Enter your specification in the settings below.",
        "Up to 1,000,000 characters.",
        "Review the settings before running."
      ],
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}

Page guide

Check audiobook chapters against the delivery specification you enter, with RMS level, peak, noise floor, opening and closing silence, sample rate and channels for every file.

How to use Audiobook mastering checker
  1. Choose up to 8 chapter files from your device.
  2. Enter the limits from your publisher or retailer specification.
  3. Run the check and read which files and measurements pass or fail.
  4. Download the JSON report and the CSV with one row per file and check.

Useful next steps

What each check measures

RMS is the average level of all samples in all channels. Sample peak is the largest sample; true peak uses 4 times oversampling below 96 kHz as in ITU-R BS.1770-4. The noise floor is the quietest 500 millisecond window, read every 100 milliseconds, as an estimate of room tone. Opening and closing silence are measured in 10 millisecond windows against your silence threshold. The report also lists integrated loudness in LUFS for reference.

Your specification

No retailer preset is built in, because delivery rules change. The defaults are only a starting point: copy each limit from the current specification you were given. Each minimum must not exceed its maximum, and the lowest RMS must be below the highest.

Limits of the check

The tool measures levels and timing only. It does not listen for edits, clicks, breaths, mouth noise or reading errors, and digital silence measures as -200 dBFS. A file the browser decoded and resampled to 48 kHz reports 48,000 Hz, so check sample rate on WAV files.