[{"data":1,"prerenderedAt":463},["ShallowReactive",2],{"navigation":3,"\u002Fconcepts":224,"\u002Fconcepts-surround":458},[4,24,60,88,120,152,196],{"title":5,"path":6,"stem":7,"children":8,"icon":23},"Start","\u002Fstart","1.start\u002F1.index",[9,11,15,19],{"title":10,"path":6,"stem":7},"Overview",{"title":12,"path":13,"stem":14},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F2.quickstart",{"title":16,"path":17,"stem":18},"Authentication","\u002Fstart\u002Fauthentication","1.start\u002F3.authentication",{"title":20,"path":21,"stem":22},"Choose an API","\u002Fstart\u002Fchoose-an-api","1.start\u002F5.choose-an-api","i-lucide-rocket",{"title":25,"path":26,"stem":27,"children":28,"icon":59},"Realtime","\u002Frealtime","2.realtime\u002F1.index",[29,31,35,39,43,47,51,55],{"title":30,"path":26,"stem":27},"Realtime Overview",{"title":32,"path":33,"stem":34},"Realtime Quickstart","\u002Frealtime\u002Fquickstart","2.realtime\u002F2.quickstart",{"title":36,"path":37,"stem":38},"Connection Lifecycle","\u002Frealtime\u002Fconnection-lifecycle","2.realtime\u002F3.connection-lifecycle",{"title":40,"path":41,"stem":42},"Audio Input","\u002Frealtime\u002Faudio-input","2.realtime\u002F4.audio-input",{"title":44,"path":45,"stem":46},"Transcript Lifecycle","\u002Frealtime\u002Ftranscript-lifecycle","2.realtime\u002F5.transcript-lifecycle",{"title":48,"path":49,"stem":50},"Realtime Translation","\u002Frealtime\u002Frealtime-translation","2.realtime\u002F6.realtime-translation",{"title":52,"path":53,"stem":54},"Session Configuration","\u002Frealtime\u002Fsession-configuration","2.realtime\u002F7.session-configuration",{"title":56,"path":57,"stem":58},"Handling Interruptions & Silence","\u002Frealtime\u002Finterruptions-silence","2.realtime\u002F8.interruptions-silence","i-lucide-radio",{"title":61,"path":62,"stem":63,"children":64,"icon":87},"Recorded","\u002Frecorded","3.recorded\u002F1.index",[65,67,71,75,79,83],{"title":66,"path":62,"stem":63},"Recorded Overview",{"title":68,"path":69,"stem":70},"Transcribe Audio","\u002Frecorded\u002Ftranscribe-audio","3.recorded\u002F2.transcribe-audio",{"title":72,"path":73,"stem":74},"Timestamps & Speakers","\u002Frecorded\u002Ftimestamps-speakers","3.recorded\u002F3.timestamps-speakers",{"title":76,"path":77,"stem":78},"Subtitles","\u002Frecorded\u002Fsubtitles","3.recorded\u002F4.subtitles",{"title":80,"path":81,"stem":82},"Recorded Translation","\u002Frecorded\u002Ftranslation","3.recorded\u002F5.translation",{"title":84,"path":85,"stem":86},"Structured Results","\u002Frecorded\u002Fstructured-results","3.recorded\u002F6.structured-results","i-lucide-file-audio",{"title":89,"path":90,"stem":91,"children":92,"icon":119},"Concepts","\u002Fconcepts","4.concepts\u002F1.index",[93,95,99,103,107,111,115],{"title":94,"path":90,"stem":91},"Voice Context Layer",{"title":96,"path":97,"stem":98},"Stable vs. Partial Text","\u002Fconcepts\u002Fstable-vs-partial-text","4.concepts\u002F2.stable-vs-partial-text",{"title":100,"path":101,"stem":102},"StableStream","\u002Fconcepts\u002Fstablestream","4.concepts\u002F3.stablestream",{"title":104,"path":105,"stem":106},"Context-Aware Processing","\u002Fconcepts\u002Fcontext-aware-processing","4.concepts\u002F4.context-aware-processing",{"title":108,"path":109,"stem":110},"Understanding Latency","\u002Fconcepts\u002Flatency","4.concepts\u002F5.latency",{"title":112,"path":113,"stem":114},"Live Translation","\u002Fconcepts\u002Flive-translation","4.concepts\u002F6.live-translation",{"title":116,"path":117,"stem":118},"Trinity Engine","\u002Fconcepts\u002Ftrinity-engine","4.concepts\u002F7.trinity-engine","i-lucide-brain",{"title":121,"path":122,"stem":123,"children":124,"icon":151},"Guides","\u002Fguides","5.guides\u002F1.index",[125,127,131,135,139,143,147],{"title":126,"path":122,"stem":123},"Browser Live Captions",{"title":128,"path":129,"stem":130},"Server-side Streaming","\u002Fguides\u002Fserver-side-streaming","5.guides\u002F2.server-side-streaming",{"title":132,"path":133,"stem":134},"Build a Stable Caption UI","\u002Fguides\u002Fstable-caption-ui","5.guides\u002F3.stable-caption-ui",{"title":136,"path":137,"stem":138},"Build Live Translation","\u002Fguides\u002Flive-translation","5.guides\u002F4.live-translation",{"title":140,"path":141,"stem":142},"Save a Transcript","\u002Fguides\u002Fsave-transcript","5.guides\u002F5.save-transcript",{"title":144,"path":145,"stem":146},"Reconnect a Live Session","\u002Fguides\u002Freconnection","5.guides\u002F6.reconnection",{"title":148,"path":149,"stem":150},"Client-VAD speech segments","\u002Fguides\u002Fclient-vad-segments","5.guides\u002F7.client-vad-segments","i-lucide-book-open",{"title":153,"path":154,"stem":155,"children":156,"icon":195},"Reference","\u002Fapi-reference","6.api-reference\u002F1.index",[157,159,163,167,171,175,179,183,187,191],{"title":158,"path":154,"stem":155},"API Reference Overview",{"title":160,"path":161,"stem":162},"Admin API","\u002Fapi-reference\u002Fadmin","6.api-reference\u002F10.admin",{"title":164,"path":165,"stem":166},"Realtime API","\u002Fapi-reference\u002Frealtime-api","6.api-reference\u002F2.realtime-api",{"title":168,"path":169,"stem":170},"Client Messages","\u002Fapi-reference\u002Fclient-messages","6.api-reference\u002F3.client-messages",{"title":172,"path":173,"stem":174},"Server Events","\u002Fapi-reference\u002Fserver-events","6.api-reference\u002F4.server-events",{"title":176,"path":177,"stem":178},"Segment Transcription API","\u002Fapi-reference\u002Fsegment-transcription","6.api-reference\u002F5.segment-transcription",{"title":180,"path":181,"stem":182},"Batch Transcription Jobs","\u002Fapi-reference\u002Fbatch-jobs","6.api-reference\u002F6.batch-jobs",{"title":184,"path":185,"stem":186},"Languages & Models","\u002Fapi-reference\u002Flanguages","6.api-reference\u002F7.languages",{"title":188,"path":189,"stem":190},"Errors","\u002Fapi-reference\u002Ferrors","6.api-reference\u002F8.errors",{"title":192,"path":193,"stem":194},"Rate Limits","\u002Fapi-reference\u002Frate-limits","6.api-reference\u002F9.rate-limits","i-lucide-code",{"title":197,"path":198,"stem":199,"children":200,"icon":223},"Production","\u002Fproduction","7.production\u002F1.index",[201,203,207,211,215,219],{"title":202,"path":198,"stem":199},"Production Checklist",{"title":204,"path":205,"stem":206},"Reconnection & Retries","\u002Fproduction\u002Freconnection-retries","7.production\u002F2.reconnection-retries",{"title":208,"path":209,"stem":210},"Latency Best Practices","\u002Fproduction\u002Flatency-best-practices","7.production\u002F3.latency-best-practices",{"title":212,"path":213,"stem":214},"Security & Privacy","\u002Fproduction\u002Fsecurity-privacy","7.production\u002F4.security-privacy",{"title":216,"path":217,"stem":218},"Data Retention","\u002Fproduction\u002Fdata-retention","7.production\u002F5.data-retention",{"title":220,"path":221,"stem":222},"Changelog","\u002Fproduction\u002Fchangelog","7.production\u002F6.changelog","i-lucide-server",{"id":225,"title":94,"body":226,"description":236,"draft":451,"extension":452,"links":453,"meta":454,"navigation":455,"path":90,"seo":456,"status":453,"stem":91,"__hash__":457},"docs\u002F4.concepts\u002F1.index.md",{"type":227,"value":228,"toc":444},"minimark",[229,233,237,251,302,305,312,317,320,330,333,336,355,358,361,365,368,374,377,380,383,403,407,410,413,416,421,424,429,432,435,438],[230,231,94],"h1",{"id":232},"voice-context-layer",[234,235,236],"p",{},"A Voice Context Layer sits between live speech recognition and the application that consumes it.",[234,238,239,242,243,246,247,250],{},[240,241,25],"strong",{},", ",[240,244,245],{},"Segment",", and ",[240,248,249],{},"Batch jobs"," are three HTTP\u002FWS planes of this layer:",[252,253,254,267],"table",{},[255,256,257],"thead",{},[258,259,260,264],"tr",{},[261,262,263],"th",{},"Plane",[261,265,266],{},"Who segments speech",[268,269,270,279,290],"tbody",{},[258,271,272,276],{},[273,274,275],"td",{},"Realtime WS",[273,277,278],{},"Server (VAD on PCM stream)",[258,280,281,284],{},[273,282,283],{},"Segment HTTP",[273,285,286,289],{},[240,287,288],{},"Client"," (you POST each utterance clip)",[258,291,292,294],{},[273,293,249],{},[273,295,296,297,301],{},"Server (time-based slicing of ",[298,299,300],"code",{},"audio_url",")",[234,303,304],{},"Its job is not simply to produce words.",[234,306,307,308,311],{},"Its job is to turn continuously changing speech into ",[240,309,310],{},"usable context",".",[313,314,316],"h2",{"id":315},"speech-recognition-is-only-the-first-layer","Speech recognition is only the first layer",[234,318,319],{},"A speech recognition system may produce something like:",[321,322,328],"pre",{"className":323,"code":325,"language":326,"meta":327},[324],"language-text","I think we should meet on\nI think we should meet on Thursday\nI think we should meet on Thursday afternoon\nI think we should meet Thursday afternoon instead\n","text","",[298,329,325],{"__ignoreMap":327},[234,331,332],{},"Each output may be reasonable at the moment it was generated.",[234,334,335],{},"But an application has different questions:",[337,338,339,343,346,349,352],"ul",{},[340,341,342],"li",{},"Which text should already be visible?",[340,344,345],{},"Which text may still change?",[340,347,348],{},"When is a thought complete enough to translate?",[340,350,351],{},"When should downstream logic act on it?",[340,353,354],{},"How should corrections appear without disrupting the reader?",[234,356,357],{},"Those questions exist above recognition itself.",[234,359,360],{},"That is the problem addressed by the Voice Context Layer.",[313,362,364],{"id":363},"from-audio-to-usable-context","From audio to usable context",[234,366,367],{},"Conceptually, a live speech system can be viewed as:",[321,369,372],{"className":370,"code":371,"language":326,"meta":327},[324],"Audio\n  ↓\nSpeech recognition\n  ↓\nVoice Context Layer\n  ↓\nApplication\n",[298,373,371],{"__ignoreMap":327},[234,375,376],{},"The recognition layer determines what was likely spoken.",[234,378,379],{},"The Voice Context Layer determines how that evolving information should become usable by the application.",[234,381,382],{},"This may include:",[337,384,385,388,391,394,397,400],{},[340,386,387],{},"stabilization",[340,389,390],{},"contextual correction",[340,392,393],{},"segmentation",[340,395,396],{},"translation readiness",[340,398,399],{},"presentation continuity",[340,401,402],{},"lifecycle state",[313,404,406],{"id":405},"why-this-matters","Why this matters",[234,408,409],{},"For offline transcription, the system can wait until the audio has finished before producing the final result.",[234,411,412],{},"Live applications cannot.",[234,414,415],{},"They must continuously balance two competing goals:",[234,417,418],{},[240,419,420],{},"Responsiveness",[234,422,423],{},"Show useful information as soon as possible.",[234,425,426],{},[240,427,428],{},"Stability",[234,430,431],{},"Avoid repeatedly changing information the user has already read.",[234,433,434],{},"LansonAI is designed around that tradeoff.",[234,436,437],{},"The objective is not simply to make text appear faster.",[234,439,440,441,311],{},"It is to make live speech ",[240,442,443],{},"ready to use while it is still happening",{"title":327,"searchDepth":445,"depth":446,"links":447},1,2,[448,449,450],{"id":315,"depth":446,"text":316},{"id":363,"depth":446,"text":364},{"id":405,"depth":446,"text":406},false,"md",null,{},true,{"title":94,"description":236},"ykPtTCGkbOJCAxL3Vr9XEf7Xaa8q6vqPfQJ-Y9d2z7A",[459,461],{"title":84,"path":85,"stem":86,"description":460,"children":-1},"Recorded Speech can return structured outputs alongside the transcript.",{"title":96,"path":97,"stem":98,"description":462,"children":-1},"Live transcription is inherently provisional. Understanding the distinction between partial and stable text is essential for building live speech interfaces.",1789433608271]