Skip to main content

deepgram-dotnet-conversational-stt

Use when evaluating, extending, or writing C# code for conversational speech-to-text, Flux-style real-time transcription, or turn-taking streaming in the Deepgram .NET SDK. Identifies missing Flux request parameters (language_hint, eot_threshold), maps existing WebSocket response types, provides the closest supported LiveSchema code path, and guides adding TurnInfo models and Flux examples. Use `deepgram-dotnet-speech-to-text` for standard streaming transcription without turn awareness.

소스 정보

저장소
deepgram/deepgram-dotnet-sdk
최근 소스 활동
2026년 5월 7일 06:41
감지된 SKILL.md 언어
영어
스타
55
포크
46

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
deepgram-dotnet-conversational-stt
description
Use when evaluating, extending, or writing C# code for conversational speech-to-text, Flux-style real-time transcription, or turn-taking streaming in the Deepgram .NET SDK. Identifies missing Flux request parameters (language_hint, eot_threshold), maps existing WebSocket response types, provides the closest supported LiveSchema code path, and guides adding TurnInfo models and Flux examples. Use `deepgram-dotnet-speech-to-text` for standard streaming transcription without turn awareness.
# Using Deepgram Conversational STT / Flux (.NET SDK) This repo does **not** currently expose a dedicated Flux / conversational STT API surface comparable to the Python SDK's `listen.v2.connect(...)` + `TurnInfo` flow. **Use a different skill when:** - You only need standard streaming transcription without turn awareness → `deepgram-dotnet-speech-to-text`. - You need a full voice assistant (STT + LLM + TTS) → `deepgram-dotnet-voice-agent`. ## Current repo status What exists: - `ClientFactory.CreateListenWebSocketClient()` returns the latest WebSocket listen client. - Request model: `Deepgram.Models.Listen.v2.WebSocket.LiveSchema`. - Event models: `OpenResponse`, `MetadataResponse`, `ResultResponse`, `SpeechStartedResponse`, `UtteranceEndResponse`, `CloseResponse`, `ErrorResponse`, `UnhandledResponse`. - Control helpers: `SendKeepAlive()`, `SendFinalize()`, `SendClose()`, `Send(...)`. What is **not** present in the current repo search: - No `flux` model constants or examples. - No `TurnInfo` / turn-aware event models. - No `language_hint`, `eager_eot_threshold`, `eot_threshold`, or similar Flux request properties. - No README/examples that mention conversational STT explicitly. ## Closest supported code path today ```csharp using Deepgram; using Deepgram.Models.Listen.v2.WebSocket; Library.Initialize(); // reads DEEPGRAM_API_KEY env var var liveClient = ClientFactory.CreateListenWebSocketClient(); await liveClient.Subscribe(new EventHandler<ResultResponse>((sender, e) => { var transcript = e.Channel.Alternatives[0].Transcript; if (!string.IsNullOrWhiteSpace(transcript)) { Console.WriteLine(transcript); } })); await liveClient.Subscribe(new EventHandler<UtteranceEndResponse>((sender, e) => { Console.WriteLine(e.Type); })); await liveClient.Connect(new LiveSchema() { Model = "nova-3", Encoding = "linear16", SampleRate = 16000, InterimResults = true, UtteranceEnd = "1000", VadEvents = true, }); ``` Treat this as **standard live STT**, not true Flux parity. ## Key params currently available On `LiveSchema`: `Model`, `Encoding`, `SampleRate`, `InterimResults`, `UtteranceEnd`, `VadEvents`, `Endpointing`, `NoDelay`, `Punctuate`, `SmartFormat`, `Keywords`, `Keyterm`, `Diarize`, `Redact`. ## Workflow: adding Flux support to the SDK If the task requires real Flux parity, follow these steps in order: 1. **Add request params** — extend `Deepgram/Models/Listen/v2/WebSocket/LiveSchema.cs` with `LanguageHint`, `EagerEotThreshold`, `EotThreshold`, and other Flux-specific fields. Validate against the AsyncAPI spec. 2. **Add response models** — create `TurnInfo` and any turn-aware event types under `Deepgram/Models/Listen/v2/WebSocket/`. Verify field names match the AsyncAPI spec. 3. **Wire events in the client** — update `Deepgram/Clients/Listen/v2/WebSocket/Client.cs` to deserialize and dispatch new event types. 4. **Write tests** — add unit tests covering serialization of new request params and deserialization of new response types. 5. **Add an example** — create `examples/speech-to-text/websocket/flux/Program.cs` demonstrating a Flux session with turn-taking. ## Gotchas 1. **Flux is not first-class here yet.** Do not invent `TurnInfo`-style .NET models or `ConnectFluxAsync(...)` helpers that are not backed by real implementation. 2. **`Listen.v2.WebSocket` naming is misleading for Python-parity expectations.** It is the newest streaming client, but not a full conversational surface. 3. **`DeepgramWsClientOptions` defaults `APIVersion` to `v1`.** Inspect connection URIs before assuming `/v2/listen` behavior. ## Example files in this repo - `examples/speech-to-text/websocket/file/Program.cs` - `examples/speech-to-text/websocket/http/Program.cs` - `examples/speech-to-text/websocket/microphone/Program.cs` ## References - In-repo: `Deepgram/Clients/Listen/v2/WebSocket/Client.cs`, `Deepgram/Models/Listen/v2/WebSocket/*.cs` - AsyncAPI (target spec): https://developers.deepgram.com/asyncapi.yaml - Product docs: https://developers.deepgram.com/reference/speech-to-text/listen-flux
GitHub에서 보기