Review workflow
Schematic values show the workflow shape, not a client screenshot.
Recording
.mp3 · 10–15 min
Speaker segments
boundary candidates
Transcript
中文 + English
Human review
edit labels · check timing
Export
.mp3 clips + metadata
The pipeline separated mechanical work from judgement. Signal processing found likely boundaries; diarization proposed speaker labels; transcription supplied bilingual text; an LLM checked role and script alignment; the browser review kept the person in the loop.
A recording still needed a reviewer
A language education client had bilingual exam recordings with multiple speakers. A typical file ran 10–15 minutes, with an examiner, a candidate and sometimes a narrator. Beep signals marked boundaries, and a single utterance could move between Chinese and English. Manual processing took 2+ hours per file and left the reviewer to find each boundary, identify roles, check the pairing and export the result.
The useful outcome was a reviewable working set: segments with speaker labels, transcript text and timestamps that a person could correct before export.
Finding boundaries, then checking roles
For boundaries, the system used a known beep signal and frequency analysis with cross-correlation. This gave the pipeline a concrete signal to match before it asked models to reason about roles.
The transcription path used cloud speech recognition with a local Whisper fallback. Language detection happened per segment because file-level detection cannot describe a sentence that moves between Chinese and English. The diarization model proposed anonymous speaker IDs; structured LLM validation then mapped those IDs to roles and flagged missing translations, ordering problems or weak matches against the script.
In this workflow the model acted as a validator. Boundaries, timestamps and transcript text stayed visible to a reviewer who could correct them before export.
Reviewing and correcting the segments
The review UI used a five-step wizard with local state persistence, so an interrupted session could be restored without starting over. A waveform view exposed the start and end of each region. The Web Audio API handled local clipping after a reviewer adjusted a boundary, keeping a simple edit out of the server round trip.
The main review view paired examiner and candidate segments so the comparison stayed in one place. The candidate side could be edited, while the source side remained available for reference. Batch export produced the clips and their metadata together. The waveform editor appendix covers the browser-side decisions in more detail.
Evidence and limits
Historical project notes describe a documented sample with 33 beep signals and 28 segments, with 33 of 33 beeps detected. They also report a change from more than two hours of manual work to under three minutes of processing. These are reported project results, not a new benchmark run; the sample, environment and provider settings are not reproduced here.
Cost figures from the original notes depended on provider prices and usage assumptions, so this page leaves current pricing out. The useful claim is architectural: deterministic work was kept deterministic, model judgement was bounded, and a person stayed responsible for the final export.
Technical appendices
- Speaker diarization Identify speaker turns before role mapping.
- Audio segmentation Detect boundaries from the signal rather than from silence alone.
- Multilingual transcription Preserve mixed-language text segment by segment.
- Waveform editor Inspect, adjust and clip regions in the browser.