拓冰建站拓冰建站
首页 / 资讯中心 / 正文

speech-to-speech 如何用 Parakeet TDT 开启实时流式转录?

speech-to-speech 如何用 Parakeet TDT 开启实时流式转录【免费下载链接】speech-to-speechBuild voice agents with open-source models项目地址: https://gitcode.com/GitHub_Trending/sp/speech-to-speechspeech-to-speech 是一条 VAD - STT - LLM - TTS 的实时语音管线其中 Parakeet TDT 是默认的本地 STT 后端支持 25 种欧洲语言并能在用户说话过程中持续输出逐句的部分转录live transcription而不必等到整句说完。本文的目标很明确安装项目、启动一个以 Parakeet TDT 做 STT 的 Realtime 服务并让实时流式转录按你指定的节奏更新。前提条件来自 READMEPython 3.10Parakeet TDT 后端按平台自动选择macOSMPS走 MLX加载mlx-community/parakeet-tdt-0.6b-v3CUDA / CPU 走 nano-parakeet纯 PyTorch加载nvidia/parakeet-tdt-0.6b-v3两者都包含在默认安装里默认 LLM 走 OpenAI Responses API需要先有一个可用的 API Key或改指其他 OpenAI 兼容端点见下文。安装pip install speech-to-speech默认安装已覆盖标准 Realtime 路径Parakeet TDTSTT、OpenAI 兼容 APILLM、Qwen3-TTSTTS以及 local audio 和 realtime server 两种模式。macOS 与非 macOS 的依赖会通过pyproject.toml里的平台标记自动解析不需要单独安装 Parakeet 相关组件。启动服务并开启实时流式转录先在环境变量里备好 LLM 的 Key然后启动服务export OPENAI_API_KEY... speech-to-speech serve --stt parakeet-tdt --enable_live_transcription各参数的作用与取值依据 Parakeet TDT 参数类--stt parakeet-tdt选择 Parakeet TDT 作为 STT。这本来就是serve的默认选择README 给出的完整默认等价命令中 STT 项就是--stt parakeet-tdt--enable_live_transcription用户说话时持续显示/输出部分转录帮助文本注明它works with parakeet-tdt默认值即为true——显式写出是为了确认配置也方便按下一节调整节奏设备与精度--parakeet_tdt_device取auto/cuda/mps/cpu默认automacOS 用 MPS否则 CUDA 可用则用 CUDA否则回退 CPU--parakeet_tdt_compute_type取float16默认或float32。不指定模型名时按设备选默认模型也可以用--parakeet_tdt_model_name显式指定。如果想控制部分转录的更新频率按 STT 文档 的示例把刷新间隔从默认 0.5 秒调成 0.25 秒speech-to-speech serve --stt parakeet-tdt \ --enable_live_transcription \ --live_transcription_update_interval 0.25--live_transcription_update_interval的单位是秒默认 0.5。还有一个相关开关--live_transcription_min_silence_ms默认 500 ms它定义开启 live transcription 时判定停止说话所需的最短静音时长。服务启动后监听ws://localhost:8765/v1/realtime默认绑定127.0.0.1要对外暴露需显式传--host 0.0.0.0。没有 OPENAI_API_KEY 时怎么连 LLMSTT 本地运行不依赖远程服务但管线默认 LLM 走远程 API。文档给出的替代连法都可以搭配--stt parakeet-tdt使用例如指向 HF Inference Providersspeech-to-speech serve \ --stt parakeet-tdt \ --llm_backend responses-api \ --tts qwen3 \ --model_name Qwen/Qwen3.5-9B:together \ --responses_api_base_url https://router.huggingface.co/v1 \ --responses_api_api_key $HF_TOKEN \ --responses_api_stream \ --enable_live_transcription也可以指到本机 llama.cpp / vLLM 服务器或使用 Apple Silicon 上的--llm_backend mlx-lm具体组合见 README 的 LLM Backends 一节。验证转录是否真的在流式输出三条由文档给出的验证路径由轻到重连通性冒烟测试demo 文档websocat ws://localhost:8765/v1/realtime # - you should get a session.created event back immediately连接后立即收到session.created事件说明服务在监听且协议握手正常。这一步只验证链路不验证转录内容。直接对话在第二个终端运行打包好的麦克风/扬声器客户端speech-to-speech talk --url ws://127.0.0.1:8765/v1/realtime或者一条命令把服务和客户端合在一起跑speech-to-speech local。说话时服务终端会逐行刷出部分转录——Parakeet handler 在终端上以Live: ...前缀渲染固定部分与正在生成的活动部分一句说完后最终文本以USER: 文本打印并附Language: 语言代码。客户端侧事件Realtime 协议的下行事件集中包含 streaming transcription——Realtime API 文档 的事件矩阵把streaming transcription列为服务端向客户端推送的事件之一官方 OpenAI SDK 的realtime.connect()客户端见 README 的 Python 示例即可逐事件接收。语言选择与已知限制固定语言用--parakeet_tdt_language指定目标语言例如德语speech-to-speech serve --stt parakeet-tdt --parakeet_tdt_language de自动检测不指定语言时模型逐句自动检测。检测逻辑在 handler 源码 中有明确边界过短语句少于 20 个字符不做语言判定且检测结果若不在支持列表内会沿用上一句的语言避免误判。支持范围Parakeet TDT v3 只覆盖 25 种欧洲语言en、de、fr、es、it、pt、nl、pl、ru、uk、cs、sk、hu、ro、bg、hr、sl、sr、da、no、sv、fi、et、lv、lt。需要中文、日语、韩语等更宽覆盖时STT 文档 列出的是whisper、faster-whisper等后端或走 OpenAI 兼容/v1/audio/transcriptions端点这已超出本文的 Parakeet 场景。CUDA 回退显式要求--parakeet_tdt_device cuda但环境里没有可用 CUDA 时handler 会打印告警并回退到 CPU。离线运行先把目标配置在线跑一遍让模型与管线资源缓存到本地之后可以用HF_HUB_OFFLINE1启动服务防止访问 Hugging Face Hub见 README 的 Offline Operation 一节。服务跑起来、talk里说话能在终端看到Live:前缀的部分转录逐段刷新、说完后收到USER:最终文本就说明 Parakeet TDT 的实时流式转录已经按预期工作。【免费下载链接】speech-to-speechBuild voice agents with open-source models项目地址: https://gitcode.com/GitHub_Trending/sp/speech-to-speech创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门