SuperAPI AI 工具集

deepgram-dotnet-conversational-stt

编程与开发

查看项目

更新于 10-16 05:42

技能介绍

用途:该资料用于评估、扩展或编写 C# 代码,实现对话式语音转文字、Flux 风格实时转写或轮次(turn-taking)流式识别。

现状与能力:当前仓库未暴露与 Python SDK 的 listen.v2.connect(...) + TurnInfo 相当的专用 Flux / 对话式 STT API。已存在 ClientFactory.CreateListenWebSocketClient()、请求模型 Deepgram.Models.Listen.v2.WebSocket.LiveSchema,以及 OpenResponse、MetadataResponse、ResultResponse、SpeechStartedResponse、UtteranceEndResponse、CloseResponse、ErrorResponse、UnhandledResponse 等事件模型,并有 SendKeepAlive()、SendFinalize()、SendClose()、Send(...) 等控制方法。仓库中暂未提供 flux 模型常量或示例、TurnInfo 等轮次感知事件模型,也没有 language_hint、eager_eot_threshold、eot_threshold 等 Flux 请求属性或明确提及对话式 STT 的 README/示例。

最接近的用法:先用 Library.Initialize()(读取 DEEPGRAM_API_KEY 环境变量)初始化,通过 ClientFactory.CreateListenWebSocketClient() 创建客户端,订阅 ResultResponse 读取 e.Channel.Alternatives[0].Transcript,订阅 UtteranceEndResponse 获取轮次结束事件,再以 LiveSchema 连接,设置 Model="nova-3"、Encoding="linear16"、SampleRate=16000、InterimResults=true、UtteranceEnd="1000"、VadEvents=true。这属于标准实时转写,不等同真正的 Flux。

可用参数(LiveSchema):Model、Encoding、SampleRate、InterimResults、UtteranceEnd、VadEvents、Endpointing、NoDelay、Punctuate、SmartFormat、Keywords、Keyterm、Diarize、Redact。

如需为 SDK 增加 Flux 支持,资料给出的顺序是:扩展 LiveSchema 加入 Flux 字段并对照 AsyncAPI 校验;在 WebSocket 模型目录新增 TurnInfo 等响应类型;在客户端中反序列化并分发新事件;补充序列化与反序列化单元测试;新增示例 examples/speech-to-text/websocket/flux/Program.cs。

限制与注意:Flux 尚未成为一等支持,不应虚构 TurnInfo 类型或 ConnectFluxAsync 辅助方法;Listen.v2.WebSocket 命名易被误解为具备 Python 同等对话能力;DeepgramWsClientOptions 默认 APIVersion 为 v1,使用前应检查连接 URI。参考仓库内 Client.cs 与模型文件、AsyncAPI 规范及 Listen Flux 产品文档。仓库现有示例包括 websocket/file、websocket/http、websocket/microphone 下的 Program.cs。