Improve Speaker Identification docs: clearer overview, decision guide, and page split#778
Merged
dylan-duan-aai merged 12 commits intomainfrom Mar 18, 2026
Merged
Conversation
…allout, decision guide - Rewrite overview to lead with the value prop (replace generic labels with real names/roles, no voice enrollment needed) - Upgrade Speaker Diarization prerequisite from Note to Warning with explicit speaker_labels: true instruction - Add 'Choosing how to identify speakers' section surfacing known_values vs speakers choice earlier - Add decision guide for name vs role identification and when to use speakers with descriptions Co-Authored-By: Lee Vaughn <dlvprogramming@gmail.com>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
… existing transcript page (Method 2) Co-Authored-By: Lee Vaughn <dlvprogramming@gmail.com>
…ls, slim Advanced Usage Co-Authored-By: Lee Vaughn <dlvprogramming@gmail.com>
…aker metadata' Co-Authored-By: Lee Vaughn <dlvprogramming@gmail.com>
…lout Co-Authored-By: Lee Vaughn <dlvprogramming@gmail.com>
Co-Authored-By: Lee Vaughn <dlvprogramming@gmail.com>
…lit Warning/Note, simplify intro Co-Authored-By: Lee Vaughn <dlvprogramming@gmail.com>
Co-Authored-By: Lee Vaughn <dlvprogramming@gmail.com>
…o sub page, remove redundant Note Co-Authored-By: Lee Vaughn <dlvprogramming@gmail.com>
…tification slug segment)
dylan-duan-aai
approved these changes
Mar 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Documentation-only changes to the Speaker Identification page (
fern/pages/speech-understanding/speech-understanding.mdx) to improve clarity and scannability, plus a structural refactor to reduce code duplication by splitting Method 1 and Method 2 into separate pages.Clarity improvements (commit 1)
<Note>to a<Warning>with an explicitspeaker_labels: trueinstruction, making it harder to miss.known_valuesvsspeakerssurfaced earlier: Added a new "Choosing how to identify speakers" subsection in the Overview that explains the two approaches upfront, rather than burying the distinction in the Advanced Usage section.speakerswith descriptions" guide so users can pick the right approach at a glance.Page split (commit 2)
speaker-identification-existing-transcript.mdx— "Using Speaker Identification on an existing transcript" — contains the Method 2 full examples (Python + JS), its own Advanced Usage section, and the Method 2 API reference (curl).<Note>callout in the "How to use" section. The new page links back to the main page for the shared request parameters and response reference tables.docs.ymlupdated: Speaker Identification changed from apageto asectionwith the new page as a child, registered at slugspeaker-identification-existing-transcript.Content refinements (commits 3–5)
##heading, with the former###sub-heading ("Adding speaker metadata withspeakers") removed. The#### Simple usageand#### Advanced usagesub-headings within are also flattened into flowing prose, making the section more scannable.known_valuesvsspeakersintro paragraph and bullet points. The section now leads directly with the name/role decision bullets, each with a "Click here to learn more." anchor link to the corresponding#identify-by-name/#identify-by-role/#adding-speaker-metadatasection.<Note>linking to the existing-transcript page from the API reference section was removed (the cross-link in the "How to use" section remains).Polish pass (commits 6–7)
<Warning>box previously combined the hard prerequisite (speaker_labels: truerequired) with an audio quality tip. These are now separated —<Warning>for the requirement,<Note>for the quality guidance — so the critical prerequisite stands out.namewithrolein each speaker object." — eliminates a low-value code snippet that only demonstrated a narrow point.// ... more utterancescomment. The response fields table still documents every field.speakerfield inutterancesandwordscontains the identified name or role instead of generic labels like"A","B","C"." The two-row table was redundant given how little information it conveyed.Final polish (commit 8)
speech_understanding,.request,.speaker_identification) and dropped thespeaker_identification.prefix from the remaining keys. An introductory sentence ("The following parameters are nested underspeech_understanding.request.speaker_identification:") replaces them. This gives the Description column substantially more horizontal space.speakersvsknown_values<Note>removed from both pages — this distinction was already covered in the "Choosing" decision guide, the "Adding speaker metadata" intro paragraph, and the request parameters table descriptions.Speaker A→Interviewer, reinforcing that roles are a first-class option.speaker_type: "name"is a default parameter value (the parameter is required).Review & Testing Checklist for Human
#identify-by-name,#identify-by-role, and#adding-speaker-metadata. These anchors now exist on both the main page and the sub page. Confirm Fern generates matching slugs from the headings on each page — if Fern slugifies differently, these links will be broken.speaker_type,known_values,speakers[].<custom>. Confirm the table renders with better proportions (wider Description column) and that the introductory sentence about the nesting path is visible.sectionchange indocs.yml: Speaker Identification changed frompagetosection. Confirm sidebar navigation, URL routing (/docs/speech-understanding/speaker-identification), and TOC still work as expected./docs/speech-understanding/speaker-identification-existing-transcript; sub page →/docs/speech-understanding/speaker-identification#request-parametersand#response.Recommended test plan: Open the deploy preview → navigate to Speaker Identification → verify the Before/After shows both name and role examples → verify
<Warning>and<Note>render as separate boxes → click all three "Click here to learn more." anchor links → scroll to the Request parameters table and confirm the shorter keys render with a wider Description column → scroll to the Response JSON and confirm the truncated example renders cleanly → click the "existing transcript" link → on the sub page, verify the "Choosing how to identify speakers" section exists with working anchor links → verify "most common approach" wording in "Identify by name" → verify thespeakersvsknown_values<Note>is gone from both pages.Notes
hidden: truein frontmatter, consistent with the existing pattern.#advanced-usageanchor is replaced by#adding-speaker-metadata— this is a breaking change for any existing external links targeting that anchor.Link to Devin session: https://app.devin.ai/sessions/73e913af2ee5457797441017325f14d7
Requested by: @LeeVaughn