{"slug":"listen","domain":"media","title":"An audio file as timed words and voice measures","summary":"Any audio or video file on a mount, or a link: every word timed to the millisecond with its speaker and confidence, pauses, and the voice measured over time (loudness, pitch, brightness, harshness, jitter, shimmer, learned quality scores). Time series, never a summary.","help":"listen: an audio file as measured time series.\n\nUSAGE\n  listen FILE|URL [--speakers N] [--language CODE] [--hop MS] [--print TABLE]\n  listen wait JOB_ID [--print TABLE]\n  listen compare JOB_A JOB_B [--print words|voice|file|changed|json]\n\nLISTEN\n  FILE is an audio or video file on a mount (/attachments/\u003cworkbook\u003e/…,\n  /googledrive/…, /dropbox/…, /tmp/…) up to 200 MB, or a public http(s) link.\n  Nothing is summarised or reworded: the answer is numbers to check.\n\n  words     every word: start_ms, end_ms, speaker, the recogniser's\n            confidence (0 to 1), duration, median pitch, peak level and peak\n            sibilance over the word. Words it could not place in time\n            (numerals, symbols) keep their text with null times, and a note\n            says how many.\n  turns     who speaks from when to when.\n  gaps      every pause of 150 ms or more, and how loud the room is in it.\n  frames    the voice every --hop ms (50 unless said): level (dBFS),\n            momentary loudness (LUFS, every 100 ms), pitch (Hz, empty when\n            unvoiced), voiced, spectral centroid (brightness), sibilance\n            (share of energy 4 to 10 kHz: harshness), alpha ratio (1 to 5 kHz\n            against 50 Hz to 1 kHz, in dB) and spectral flatness (noisiness).\n  segments  each turn measured as a voice: median pitch, pitch range in\n            semitones (monotone is small), jitter and shimmer (roughness),\n            harmonics-to-noise ratio (breathiness or hoarseness is low),\n            words per minute, loudness, and learned scores: naturalness MOS\n            (1 to 5) and signal, background and overall MOS (1 to 5).\n  mos       the learned scores per 10 s window, as a series.\n  file      sample rate, channels, codec, duration, integrated loudness,\n            sample peak, clipped fraction, noise floor, speech level, MOS.\n\n  --print picks the table printed, tab-separated with a header; words is\n  the default and json the whole answer. The whole answer is always written\n  to /tmp/listen/\u003cjob\u003e.json, to cut with jq, csv or awk.\n\n  --speakers N when the number of speakers is known; --language CODE (en,\n  hi, …) when the language is; both are found from the audio otherwise.\n\n  Listening takes a while: about a minute for the first file, then a\n  fraction of the audio's length. A command waits up to 80 seconds, then\n  prints `listen wait JOB_ID`; run that until the answer comes. Nothing is\n  listened to or billed twice.\n\nCOMPARE\n  Two finished jobs of the same words (two takes, two voices, two settings),\n  lined up word by word. Every delta is B minus A: each matched word's\n  duration, pitch, peak level, sibilance and confidence; the voice measures\n  (pitch, range, jitter, shimmer, HNR, pace, loudness) and the file's\n  (loudness, peak, clipping, noise floor, MOS). Words that differ between\n  the two are listed apart (--print changed). Free.\n\nCOSTS\n  1.5 cents a minute of audio, to the second, and at least five minutes a\n  file (7.5 cents): starting the listener costs about that much however short\n  the file. The same file with the same settings again is a cached answer,\n  free; so is compare.","example_command":"listen /attachments/wb1/take-2.mp3 | head -4","example_output":"start_ms\tend_ms\tspeaker\tconfidence\tduration_ms\tf0_median_hz\tlevel_peak_dbfs\tsibilance_peak\ttext\n31\t192\t\t0.588\t161\t107.6\t-11.6\t0.002\tA\n212\t493\t\t0.9\t281\t136.2\t-7.7\t0.5163\tmodel\n533\t855\t\t0.748\t322\t154.1\t-8.9\t0.0878\tchecker","cost_class":"upstream-fetch","tier":"metered","billing_items":["listen_minute"],"price_per_1k_calls":null,"price_is_from":true,"status":"available","commands":["listen"],"default_enabled":false,"first_seen":"2026-11-09T04:50:47.971234Z","enabled":false}
