{"submission_id":"d6f5f813-672a-4249-a011-c9e8d1f4392d","submission_revision_id":"a49d8d9c-bed0-47cc-a5f4-26fca55dd091","revision_version":2,"submission_status":"under_review","submitted_at":"2026-08-24T07:38:06.784966Z","submitter_name":"Hyunjun Kim","submitter_email":"mnb9227@gmail.com","task":{"status":"submitted","version":2,"extra_fields":{},"submitted_at":"2026-08-24T07:38:06.784966+00:00","industry_domain":"Broadcast & Post-Production (Audio Downmix & Loudness)","task_short_name":"broadcast_audio_conform","operating_system":"Linux","task_description":"Goal: Produce a spec-compliant stereo audio deliverable (WAV master + MP3) from 5.1 surround sources, a mix memo and a delivery specification.\n\nRemote workspace:\n- Task folder: broadcast_audio_conform\n- Read ALL of `input/spec_sheet.md` and `input/mix_memo.txt` first — every requirement there is enforced by QC.\n\nInputs (under `input/`):\n- `sources/A_51.wav`, `sources/B_51.wav`, `sources/C_51.wav` — 5.1 (FL FR FC LFE BL BR), 48 kHz, 24-bit, 30 s each. Program order A|B|C, hard concat (90 s total).\n- `mix_memo.txt` — re-recording mixer's notes: source B has its surround pair wired backwards in the file; source C has a hot LFE that is not part of the stereo delivery.\n- `spec_sheet.md` — mandatory delivery spec.\n\nWhat to do:\n- Correct source B's swapped surround channels before downmixing (Ls belongs to L).\n- Lo/Ro downmix: L = FL + 0.707*FC + 0.707*SL, R = FR + 0.707*FC + 0.707*SR, LFE excluded entirely.\n- Conform the 90 s program to EBU R128 over its whole duration: integrated -23.0 LUFS (±0.5 LU), true peak ≤ -1.0 dBTP, LRA ≤ 7.0. Measure first, then apply (2-pass).\n- Deliver `output/master_stereo.wav` (PCM 24-bit, 48 kHz, stereo, no clipping) and `output/master_stereo.mp3` (libmp3lame 192 kbps CBR, 48 kHz) derived from the SAME conformed master.\n\nOutput:\n- `output/master_stereo.wav`\n- `output/master_stereo.mp3`\n","software_licensing":"Free/Open Source","evaluation_criteria":null,"verification_method":"Deterministic QC evaluation (ffmpeg/ffprobe; see evaluation/evaluate.py — self-contained, subprocess only). Malformed deliverables (a mono file, an unreadable stream) degrade to failed probes and a 0.0 rather than raising.\n\nMaterials provenance: the three 5.1 sources are synthesized in-house for this benchmark — deterministic pilot-tone program beds (per-channel sine pilots with tremolo/vibrato envelopes over a pink-noise floor). No third-party recordings or sampled content are used, so the package carries no third-party rights and is publishable under CC BY 4.0. The beds are engineered so every channel-routing decision is objectively measurable in narrow bands; the delivered sources were verified channel-by-channel at build time (each pilot dominates its declared 5.1 slot by >= 17 dB, logged in build_log.txt), and the reference deliverables were produced by a real downmix + 2-pass loudness-conform ffmpeg pipeline whose stage-by-stage execution record — stream diagnostics, wall time, artifact sizes and sha256 hashes — is in the same log.\n\nEvery routing rule below is measured spectrally on BOTH deliverables (decoded WAV and MP3) in narrow bands around the known per-channel pilot frequencies of each 30 s source segment.\n\nHard gates (any failure => score 0):\n- WAV is 24-bit 48 kHz stereo PCM, ~90 s, no sample at full scale\n- Integrated loudness -23.0 LUFS +/-0.5, true peak <= -1.0 dBTP, LRA <= 7.0 (EBU R128, whole program) on the WAV — and the MP3's integrated loudness is held to the same +/-0.5 LU window, so a differently-normalized encode fails delivery instead of keeping credit\n- MP3 is 48 kHz stereo AND 192 kbps CBR (bitrate tag plus uniform frame sizes) with ~90 s duration\n- Center attenuation: the FC pilot must sit -3.01 dB below unity relative to the FL/FR pilots of the same segment, in the same output channel, on both deliverables. The gate margin (2.2 dB) sits well above measurement noise and well below the 3.01 dB unity error, so a unity center fails — proven by a re-conformed unity-center negative that passes every loudness gate and is still rejected at 0.0 by this gate alone\n- Surround not crossed: each left-surround pilot >= 12 dB down in the opposite channel and vice versa, all segments, both deliverables (wrong-side duplication fails — this catches an uncorrected source-B swap)\n- LFE excluded: the 60 Hz band of the hot-LFE segment stays below -44 dB absolute on both channels of both deliverables (a correct exclusion measures near -53 dB; even a half-level fold of the hot pilot lands near -43 dB and fails)\n\nScored components (weighted sum after gates, clamped to <= 1.0):\n- Integrated loudness within +/-0.1 LU of -23.0 (weight 0.1)\n- Channel routing: six band probes vs the hidden reference — BL->L, BR->R, source-B un-swapped Ls->L / Rs->R, LFE excluded from L, center -3 dB -> R (weight 0.3)\n- Center attenuation exactness across all 3 segments x 2 channels x 2 deliverables (weight 0.15)\n- Surround isolation >= 20 dB (weight 0.15)\n- LFE absence below the tighter scored ceiling of -45 dB (weight 0.1)\n- MP3 decoded-content correspondence: the full probe set re-measured on the decoded MP3 must match the reference (weight 0.2)\n\nSanity checks run by the contributor (logs in this package: build_log.txt, naive_log.txt, selftest_review_log.txt): the reference scores 1.0; a default -ac 2 downmix without normalization scores 0.0; a naive pan with center at full level and LFE folded in scores 0.0; targeted negatives — the source-B swap left uncorrected, a realistically hot LFE leaked into both channels, a 128 kbps MP3, a unity-gain center without re-conform, and a unity-gain center re-conformed to -23 LUFS (which passes every loudness gate and is rejected by the center gate alone) — are each rejected at 0.0, with the failing gate names recorded per test in the log.\n","software_and_version":"FFmpeg 9.0 (ffmpeg/ffprobe — pan, 2-pass loudnorm, ebur128, libmp3lame)","specific_requirements":null,"expected_completion_time":null},"files":[{"file_id":"2074b57a-cdb0-4c02-8637-808573b19209","filename":"01_upload_reference.zip","category":"reference_output","content_type":"application/x-zip-compressed","size_bytes":50834610},{"file_id":"03667971-492d-4aae-a0fa-5903428cccb7","filename":"01_upload_inputs.zip","category":"input_materials","content_type":"application/x-zip-compressed","size_bytes":67255039}],"deep_review":{"overall_verdict":"Strong Accept","review_text":"**Overall Verdict:** Strong Accept — The submission is complete, internally consistent, professionally representative, safely reachable, and backed by objective evaluation with validated positive and negative cases.\n\n**Completeness Check:**\n- Instruction: Complete — The source order, channel correction, Lo/Ro coefficients, LFE exclusion, whole-program loudness targets, and deliverable formats are unambiguous.\n- Inputs: Complete — The specification, mix memo, and three distinct 5.1 PCM sources are readable and consistent with their declared roles.\n- Toolchain: Complete — FFmpeg/FFprobe with standard filters and libmp3lame provide a legally obtainable, single-machine workflow.\n- Reference output: Complete — The stereo 24-bit WAV and 192 kbps MP3 are readable, match logged hashes, and have compatible format, duration, routing, and loudness evidence.\n- Rubric: Complete — The static evaluator defines deterministic format, loudness, routing, center attenuation, surround isolation, LFE, and MP3-content checks, with hard gates and weighted partial scoring.\n\n**File and Task Reachability:**\nThe attachment set is `reachable`, and the end-to-end task is `reachable`. Both ZIP attachments matched their manifested sizes, passed container integrity checks, and contained only regular, unencrypted files with safe relative paths and modest expansion. Inspected content included `spec_sheet.md`, `mix_memo.txt`, all three source WAVs, both reference deliverables, both naive deliverables, `evaluate.py`, `task_card.json`, `build_log.txt`, `naive_log.txt`, and `selftest_review_log.txt`; no attachment content remained unreviewed. Static media inspection confirmed 5.1/48 kHz/24-bit source WAVs, a stereo/48 kHz/24-bit reference WAV without full-scale samples, and fixed-size MPEG-1 Layer III 192 kbps/48 kHz stereo reference frames. The submitted hashes matched the build record. Direct FFmpeg decoding and evaluator rerunning were unavailable in the review environment, but this is a reviewer-tooling limitation; media structures, evaluator logic, logged measurements, and positive and targeted-negative results were independently cross-checked. Solver-visible inputs and hidden reference/evaluation assets are cleanly separated. The completion path is source correction, Lo/Ro downmix, hard concatenation, two-pass whole-program loudness conformance, WAV mastering, and MP3 derivation; evaluation directly covers the required outputs. License keys, accounts, tokens, and other credentials are not required from the contributor. Confidential, proprietary, or internal material may be evaluated as submitted evidence without requiring additional disclosure.\n\n**Special Screening:**\nNone\n\n**Recommended Changes:**\nThe submission provides unusually thorough routing evidence, reproducible reference artifacts, and targeted negative tests. No changes are required.","reviewed_at":"2026-08-24T07:46:22.400970Z"},"claim":null}