GPT Image 2.5 Flare & Sunburst are live on EvoLinkTry GPT Image 2.5
Two distinct metal waveforms separating into parallel tracks
Use Cases

Long Audio Transcription: Keep Speaker Labels Across Chunks

EvoLink Team
EvoLink Team
Product Team
October 16, 2026
7 min read

A long interview is transcribed in several chunks. Speaker 1 becomes Speaker 2 in the next file, the same sentence appears twice at a boundary, and each chunk restarts at zero. The words may be useful, but the combined transcript is hard to trust.

Transcribe with a speech tool, then merge around stable source positions and verified speaker mappings. Use a text model to organize the result and flag uncertainty, while acoustic decisions return to the recording.

Separate speech recognition from transcript assembly

Choose a transcription tool that reads your audio format and supports the language and speaker labeling you need. Amazon Transcribe documents speaker partitioning; its numbered speaker labels are useful output fields, not verified real-world names.
This guide concentrates on the long-audio handoff and merge. The EvoLink Gemini 4 route lists text and image input, so submit transcript text for this stage rather than treating that route as an audio transcription endpoint.

Keep the original recording, speech-tool settings, raw output, chunk register, and corrected transcript. If the speech tool can process the entire file reliably, splitting it unnecessarily adds boundary and identity problems.

Register chunk offsets before transcribing

For a fictional recording, suppose your selected tool or process needs overlapping chunks:

ChunkSource range in secondsLocal time originReview need
A0–600Local 0 equals source 0First speaker references
B590–1190Local 0 equals source 59010-second overlap with A
C1180–1500Local 0 equals source 118010-second overlap with B

These are illustrative chunk sizes, not model limits or universally good settings. Put boundaries near pauses when possible. The overlap helps inspect a cut, but repeating audio does not guarantee that a word or speaker is recognized consistently.

Store integer milliseconds if your pipeline permits it. A segment in B at local 12–15 seconds maps to source 602–605 seconds. The conversion is addition, not a new timing estimate.

Map speaker labels with evidence

Use global IDs such as G1 and G2. Do not assume each chunk's speaker_0 means G1. Local labels may be assigned independently.
ObservationDecisionEvidence to retain
A speaker_0 says the host introduction; identity checked against audioMap to G1Source reference and reviewer decision
B speaker_1 matches a verified overlap passage spoken by G1Map this label to G1 after listeningOverlap source span and acoustic check
C speaker_0 has no usable overlap and several plausible candidatesLeave unmappedList the reference audio needed
A phrase such as “I manage operations” can suggest a candidate but does not establish identity. Two people may discuss the same job. If you cannot listen or obtain independent evidence, keep unresolved_C_speaker_0 instead of inventing a name.

During overlapping speech, do not force one speaker onto an interval that contains two voices. Preserve the ambiguity and inspect the speech tool's underlying segments.

Merge overlaps without deleting repeated conversation

Two chunks can transcribe the same source sentence differently. Compare their global source intervals and listen at the boundary. Keep one accepted rendering, retaining both raw records for audit.

The same sentence at different source times can be intentional repetition. Text similarity alone must not delete it. Deduplication needs shared source coverage as well as matching speech.

A merge record might look like this:

The following fictional records make the overlap decision explicit. Times are seconds; A begins at source 0, B at 590, and C at 1180. The mapping for B:speaker_1 comes from the reviewed common passage at source 594–598, not from the later B-04 segment.

Raw recordLocal intervalGlobal source intervalSpeaker and text
A-19594–598594–598A:speaker_0 → G1; “Check the date field before importing.”
B-024–8594–598B:speaker_1 → G1; same words, same audio span
B-0412–15602–605B:speaker_1 → G1; “Check the date field before importing.” repeated later
C-036–91186–1189C:speaker_0; “Who approves this version?”; identity unresolved
After listening confirms A-19/B-02 are two transcriptions of the same speech, keep one text record with both raw IDs. Keep B-04 because the source position differs, even though its words match. Keep C-03 with unresolved_C_speaker_0. The deliverable therefore contains three source intervals, not two; only one duplicate representation is removed.
{
  "segment_id": "B-04",
  "source_start_ms": 602000,
  "source_end_ms": 605000,
  "raw_speaker": "B:speaker_1",
  "global_speaker": "G1",
  "speaker_basis": "reviewed overlap reference A-19",
  "text": "Check the date field before importing.",
  "review_status": "accepted"
}

This is a reference format with a fictional accepted decision. In your data, set the basis to an actual review record; do not copy the acceptance status before making that check.

Use AI to propose a merge, then check the boundaries

Organize the supplied long-audio transcript records.
Use the chunk register to convert local times to global source time.
Use only the supplied approved speaker mappings; do not infer a real name.
Keep local label, source ID, raw text, and global speaker separately.

For overlapping source intervals, propose duplicates with both IDs and reasons.
Do not delete similar words at distinct source times.
Preserve uncertain or overlapping speech as unresolved.
Return merged proposals, speaker questions, overlap conflicts,
and intervals requiring audio review. Do not invent unheard words or timings.

Inputs: chunk register, raw transcript records, approved mapping and references.

Use the Agent or API instructions on the EvoLink model page for this text-organization step. For a large job, submit adjacent chunks with a stable mapping record, then check every chunk boundary. A final combined summary is not a substitute for the transcript.

Send the chunk register, four worked raw records and approved G1 mapping with the prompt through EvoLink Gemini 4. The first review target is three retained source intervals: combine A-19/B-02, preserve the later repetition B-04, and keep C-03 anonymous.

Check completeness and hand off a usable transcript

Compare the source coverage register with the delivered segments. Gaps during silence can be legitimate; gaps across known speech require listening. Check the start and end of every chunk, speaker changes, overlapping speech, numbers, and ambiguous names.

FailureCorrect next step
A global speaker changes after a splitRecheck the local-to-global mapping against audio
A sentence appears twice at one source positionReview overlap candidates and accept one text record
A repeated phrase disappears at another positionRestore it unless source evidence shows duplication
B's times restart at zero in the combined fileApply the recorded chunk origin
A name looks plausible but is not establishedRetain an anonymous ID and an unresolved item
Deliver stable segment IDs, global positions, accepted speaker labels, and open questions with the original audio references. Apply glossary correction as a separate controlled pass; use paper-edit selection only when the next job is editing a story.

FAQ

Does speaker diarization identify people's names?

It separates speaker turns or labels. A real-world identity needs additional verified evidence.

Do long recordings always need chunking?

No. Use the selected speech tool's limits and observed quality. Unnecessary splits create extra merge work.

Can the same speaker number be reused globally?

Only after establishing the mapping. Treat each chunk's label as local by default.

Can identical text be removed automatically?

Check source coverage too. People can repeat identical words at different times.

What if speaker overlap is unclear?

Retain an unresolved interval and listen to the source rather than forcing a single identity.

What should the combined transcript preserve?

Source file, segment IDs, global times, raw labels, accepted speaker mapping, text, and unresolved questions.

Sources

Connect AI models through one API

Compare models and current pricing, then follow the API documentation to integrate your chosen model.