SuperAPI AI 工具集

deepgram-go-speech-to-text

写作与研究

查看项目

更新于 10-15 20:35

技能介绍

用途:该技能面向 Deepgram Go SDK 中 pkg/client/listen 相关开发,用于预录音频转写(FromURL、FromFile、FromStream)和实时音频转写(pkg/client/listen/v1/websocket),支持基于 channel 或 callback 的流式流程。若需 TTS、文本分析、音频智能叠加或对话式 STT v2,应使用其他对应技能。

认证:构造客户端前设置环境变量 DEEPGRAM_API_KEY,例如 export DEEPGRAM_API_KEY="your_api_key"。SDK 通过客户端选项层读取环境默认值,优先使用 API key 或 token 认证,不要硬编码凭据。

主要能力:预录转写使用 interfaces.PreRecordedTranscriptionOptions,常见字段有 Model、Language、Punctuate、SmartFormat、Diarize、DiarizeModel、Redact、Utterances,配合 api.New(client).FromURL/FromFile/FromStream 调用。实时转写使用 interfaces.LiveTranscriptionOptions,常见字段有 Model、Language、Encoding、SampleRate、Channels、InterimResults、Endpointing。构造函数分为 REST(NewRESTWithDefaults、NewREST)、WS 回调(NewWSUsingCallback...)和 WS channel(NewWSUsingChan...)三类。

使用方式:WebSocket 生命周期为 Connect() 返回 bool,调用 Start(),写入音频,按需 KeepAlive(),Finalize(),并用 defer conn.Stop() 清理。需传入 handler 给 NewWSUsingChan...,在构造附近保留 defer conn.Stop(),关闭前先 finalize。代码应使用 context.Context 并返回 error,不要改成异常式控制流。

限制与注意:本仓库 STT v1 使用 listen 包名而非 transcription;流式代码分为 callback 与 channel 两种变体,需与所在包风格一致;实时与预录选项结构不同,不要假设仅分析类预录字段存在于实时模式。仓库示例见 examples/speech-to-text/rest/url/main.go、rest/file/main.go、websocket/microphone_channel/main.go、websocket/microphone_callback/main.go 等。跨语言产品知识可安装 npx skills add deepgram/skills。